The cover of the second edition of the JSL Companion was created using with JSL openGL. (See the attached file.)
Prior to committing to a second edition of JSL Companion, my co-authors, Kevin Anderson and Theresa Utlaut and I discussed what we wanted to accomplish and whether a second edition would provide value given the vast improvements in the:
- JMP Scripting Guide
- Scripting Index
- JMP User Community and blogs that provide online assistance.
Also, with new JMP releases every two years, a JSL book is dated by the time it gets through technical review, and final edits.
The first edition of JSL Companion coincided with JMP 9.3. At the time of our second edition discussion, JMP 13 was soon to be released. Since JSL Companion never ascribed to cover everything, maybe just a revised edition with syntax updates, revised scripts and fixed errata was all that was warranted. Then we compiled our list of potential additions useful to scripters:
- The JMP debugger which we did not recommend for JMP 9.3 was useful for JMP 12 and later.
- Xpath() and Find() which are immensely useful only got a mention in the first edition because they were a last minute discovery in 2011.
- Scripting Graph Builder. Drag-and-drop methods were well-documented; however, very little was written about the importance of X column and Y column ordering, Element and Legend syntax.
- Numerous new features such as Application Builder, Query Builder, methods to read and write Excel files, Save Presentation and more.
We decided to do it, and due to the expanded scope, it would be a second edition. Our scope was so large, we moved more esoteric discussions to the scripts or supplementary docs. For example, we build an interactive application using the Application Builder in six steps. The first three steps, Step 1: Lay Out the Modules and Displays, Step 2: Add the Functions and Test the UI, and Step 3: Test for Scale. Will it break? Does the UI need to be redesigned?, can be applied to most applications, so it is documented in the book. However, the details for the remaining steps are specific to this application’s logic and analyses, so the details are provided in a readme doc and included with the scripts.
The writing in earnest began in January 2017 and was completed in late August 2017. Technical reviews and editing take time and iterations. We even spent a week on the cover, which was created with JSL openGL. This was completed in March 2018. And wouldn’t you know it, JMP 14 was released a few weeks after the publish date!
Whether the second edition will be well-received is yet to be determined. The intent of both editions of JSL Companion was to serve as a travel companion, a guide, for the reader’s journey to learn JSL with applied tasks (customizing, building and automating analyses). We hope the expanded itinerary isn’t too arduous.
By the way, I have answered my personal existential question, "Was it worth it?": While writing and testing, and with the help of JMP Support, I learned much more than I ever expected. Also, now that I have retired, it provided me the opportunity to collaborate with my longtime, valued friends, Kevin and Teri. Yes, it was worth it!
P.S. JMP 14 has many new useful and long-awaited features. Look for future blog posts. We will likely publish an addendum, a reading list of our favorite new JSL features and a set of script modifications, if any are needed.