All information is SAS company confidential. Do not disclose.
Welcome to the JMP Development Update for June 4, 2021!
It was great to see so many of you on campus at our first Welcome Back Wednesday! Don’t forget, JMP division employees who visit Building T on Wednesdays in June can get a free lunch, and only vaccinated employees are allowed in buildings on campus.
A reminder that Jim will create the JMP 17 EA1 branch to match this evening’s build. If you find a showstopper issue after that point, please let us know ASAP so that it can be selectively integrated into the EA branch. JMP 17 EA2 is planned for 8/3/21, and we will have EA cuts about ever 5 weeks or so after that. For the full list of JMP 17 draft dates, please see this page in Confluence. If you have features you’d like to highlight for the EA, please add a New Feature page in Confluence using this template.
Congratulations go out this week to Ruth Hummel, Elizabeth Claassen, and Russ Wolfinger on the publication of their book JMP for Mixed Models! SAS Press released the e-book version today. Russ is checking into the best way to get copies to people who want them-please let him and Amy know if you are interested!

Congratulations also to Laura Castro-Schilo, James Koepfler, and Chris Gotwalt, whose patent titled Graphical Interactive Model Specification Guidelines for Structural Equation Modeling Designs was issued on 2021-05-25 as U.S. Patent No. 11,017,308. A copy of the patent has been uploaded to the Sharepoint site: Issued Patents.
Thanks very much to Audrey Shull for doing a Jira workflow demo at this Thursday’s JMP dev meeting! Now that so many of us are working in Jira on a daily basis, it’s especially important to get to know how to move items through the workflow. If you missed the meeting, you can see a recording here.
Please also don’t forget to visit our Jira How-To section in Confluence where you can find pages on a number of topics-from entering issues to creating and subscribing to issue filters, to searching Defects and Jira with TESSA and more. If you have an idea for a new page, please add it or let Shannon and Audrey know what would be helpful for us to create.
Thanks to Tonya for sharing this week’s details on Telemetry and crash tracks with version 17 selected.

Telemetry and crash tracks for the week of 6/4/2021 | JMP Live (sas.com)
General Announcements
- Thanks to Nala Sun for sharing new hire news from JMP Testing in Beijing, “Welcome to Kimi (Yu) Wang! Kimi will be a Test Engineer in JMP Testing Beijing team. Kimi joins us from Red Hat Software (Beijing) where she was a Software Quality Engineer for virtual network testing. Kimi has rich experience in software testing, virtual network, Linux Operating System and Cloud technology. Kimi graduated at Northeastern University in China and got her Bachelor degree in Measurement and control technology and instruments and Master degree in Control Engineering. Kimi has a lovely baby girl who is 11-month-old. In spare time, Kimi likes playing badminton, swimming and running. Welcome, Kimi!”
- Thanks to Brian C for sharing news of a new hire in the host development group: “I am excited to announce that Daniel Powell has agreed to join our group in the licensing position. Daniel already has experience with SAS licensing and working with John Jones’ group on our new subscription models. I have not worked out a transition date for Daniel yet, and will let everyone know when we have that. Welcome Daniel!”
- Thanks to Arati Mejdal for posting an article on Inside JMP highlighting what JMP is doing for Pride month! You can check it out and add your comments here.
Important Upcoming Dates
- JMP 17.0 EA1 – 6/4/21
- JMP 16.1 Final Installer Candidate – 6/30/21
- JMP 17.0 EA2 – 8/3/21
- Please visit Confluence for a full list of JMP 16 and JMP 17 dates.
JMP Development Updates
Interns
- Sara Earl: Primarily working on a small GUI to help streamline the process of the early install check. Checking the sample data table script fixes that I worked on last week.
- Katherine Li: Working on tracing back the communication between the JMP Pool and JMP Live licensing and fix the connection to report and expired license.
Data Discovery
- Evan: Investigating issues from new uses of With Window Handler. Changes to return Data Table references from messages that produce Data Tables. Performance improvements for opening SAMPLE_DATA tables with large formulas. Working to simplify EvalContext ownership.
- Dan S: More work on new options to <
- Xan: Published the charts from my Graph Builder presentation to the dev jmplive server: https://devlive16.jmp.com/users/278/posts.
- Chung-Wei: Going thru bug list. Looking into packing multiple statistics in one column for tabulate.
DOE
- Brad: More work on split-plot DSDs plus a possible actual experiment as an example.
- Joseph: Continued discussion and design work on the Easy DOE UI plus refinement of the prototype and infrastructure work.
- Ryan L: Preliminary work on Design Explorer in Custom Design.
Host
- John Schroedl: Language switching fix when switching from other language back to English (JMP-855). Final 16.1 icon update. Worked with Bob on enabling Repair to reinstall the WebView runtime if the user uninstalled. Thanks Bob!
- Michael H: Enable launching of embedded Java via Run Program() for JMP Clinical on Mac. Continued work on testbot-mac.
HTML5
- Josh M: Gave a demo of the things I worked on in Sprint 2 on Wednesday:
- JMPHTML-825 – Working on investigating the categorical response axis for profilers and implementing it in JavaScript
- JMPHTML-869 – Investigate categorical response behavior in standalone Profiler
- Running through tests Rajneesh gave me
- This uncovered JMP-2022 - Axis alignment is off for categorical response in standalone Profiler
- Mayowa: Removed proportional highlighting from box plots in interactive html to match JMP (JMPHTML-899). Working on fixing font size bug with axis labels for non graphbuilder diagrams in interactive html (JMPHTML-892)
- John Powell: Held a sprint review meeting. Removed proportional highlighting from bubble plots and heatmaps.
- Bryan F: Removed hidden proportional highlighting from Treemaps and Map segments. Created batch files to run benchmark automation. Completed work to draw Treemaps from drawing information exported from JMP. This is part of an effort to optimize how quickly Treemaps can be loaded and drawn when exported from JMP or published to JMP Live. Participated in Sprint demo where I showed benchmark automation and the dark theme for exported/published reports. Corrected a defect where white separators showed up in a scrollable table when show in the dark theme.
JMP Live
- Justin: Added routes to get column info and row data from package data tables via JMP Pool (WEBJMP-3112). Created the default “All Users” group which implicitly includes all users and anonymous users if allowed (WEBJMP-3285).
- Aurora: Weaving our new access control mechanism into existing logic (allow_replace and allow_create). Reviewing "first class" data post design & code. Helping Katherine get started on JMP license expiration warning feature.
Statistics
- John Sall:
- There is a new routine in term.cpp called scoreScaleWide, which will multithread calling Term::doScale and Term::scoreLevels over many columns. This is only suggested for extremely wide problems, since these routines, if not threaded from above, will thread over rows (if the data is tall). So far it is implemented only for 'Response Screening' and a new platform. I experimented with using it for Partition, but it only resulted in an improvement if the number of regressors was in the thousands, so it will not be used there. For the most extreme improvement, with chr10_emaize_wide_num2.jmp over 135,608 X's switched to nominal, the change resulted in a performance boost of 25x, from 28 seconds to 1.1 second (on a machine with 32 virtual cores). (S1589277)
- The framework for two new platforms for Genetics were added for Luciano Silva to begin work on. "Marker Statistics" will be like "PROC ALLELE" in SAS. "Marker Association" will be like "PROC CASECONTROL" in SAS. The menus are in the new Genetrics submenu of Analyze, hidden unless you access a hidden preference: Preferences(Genetics menus( 1 ) ); Luciano had already completed a experimental version inside Response Screening, which will now be moved into the new platforms. (S1589275)
- Jianfeng: The loading plot improvement has been done and is ready for EA.1. I am working on the equivalence tests presentation. I have moved on to new feature implementation as well.
- Laura C-S: Investigated how to pass new starting values for loadings to the SEMOptimizer and pushed a test build so we can quantify the improvements and make sure I didn’t break anything. Met with James to discuss starting value implementation to facilitate his testing. I also met with SAS Intern, Diana Garcia, as part of the United in STEM mentor program.
- Peng: Working on repeated degradation, working with Bill Meeker on his questions, responding to questions from the field.
Stat Testing
- Mark: Support testing of DOE changes while Jacob is away. Studying prototype of Easy DOE. Writing an introduction to dissolution curve analysis.
- Tonya: Unit test and defect cleanup.
Product Management
- Stephanie: I am planning to use the JMP User Experience Jira project to track UX reviews. I already have an epic created for it – JMPUX-3.
- Mia: Compiling details on features to highlight for JMP 17 EA1.
Technical Support
- Duane: The JMP TS team will begin using Jira for our bug/feature request reporting. Last week Bobby and Dahlia provided internal training to the JMP SEs on the subject of installing, licensing, upgrades, etc. From the feedback I have heard, the training was well received.
- Here are the TS JMP Live reports. (JMP Live 16) Here is information regarding Customer Reported Defects filed by TS.

Development Operations
- Jim B: Installed current versions of Python and additional modules (then removing Anaconda) on all the Mac and Win testing machines. This has led to some issues with the unit test script results that I will work with Beijing to get resolved. Reported new assertion failures resulting from last week’s JMP Pro 17 Debug UT run. Perforce support.
- Myron: Completed work on Jira filtering for tester emails.
- Angelita: Sent out JMP Live/Public and Shared text insets. Processed returns for books and Builtins.
- Shannon: Converted Defects to Jira issues for Xan, Annie, and Evan (~1200 items in total). Triaged crashes. Jira and Confluence support. Please don’t hesitate to ping me if you have a question or need a quick review of an issue you have entered!
Documentation
- Sheila: Troubleshot cut off equations and met with Adobe to find a solution. Cleaned up defects and Jira issues. Met with the web team to discuss how to make the top Google result for help match the language of the searcher. Met with the l10n team to prepare for FrameMaker 2020 and FrameScript 7 testing. Worked on release notes. Prepared the 17.0 help for the EA. (Because few changes have been made to the 17.0 help, I made a copy of the 16.1 help and changed the JMP version number on the home page.)
System/Host Testing
- Josh L: JMP Live 16.1 installation testing, Jira Stories and bug verification. Working with the network team to see why we still don’t have access to our machines is Azure after the network changes were complete.
- Cary / Beijing JMP Live Testing Jira Status
- 05 Stories in Testing
- 14 Stories in Test Ready
- 05 Bug Created in the last 7 days
- 05 Stories / Bugs Closed in the last 7 days
- Audrey: Changes to sample data and tools that test sample data, experimenting with With Window Handler(), Jira demo.
- Lisa: Verifying defects & Jira issues, submitted a few image tests for old defects without tests listed, and found an issue with new image output changes using hover label graphlets in light/dark mode.
- Hui: Learned how HTML5 performance testing works. Worked with Bryan Fricke to run his HTML5 performance testing suite on my machine and explore issues. Reported issues from exploration testing on HTML5. Entered two Jira items (JMPHTML-922, JMPHTML-919).
- Mandy: Verifying JIRA and defects as they are available. Worked on EA videos for Data Table Subset, Tables Preview and Tabulate. Edited the Confluence page for Mia for Tables Preview.
- Hunter: JMP 16.2 and 17.0 defect verification, replication attempts with several reported problems, and updating the status of open defects.
- Eric Wang: (1) Testing Jira items about Access Control. (2) Preparing knowledge sharing JMP Live Introduction.
- Da Li: (1) Verifying defects for I18N and installer. (2) Testing the JMP Live new changes "Remove references to groups". (3) Investigated JSL unit tests failures and enter Jira bugs.
- Mike Wu: (1) Testing the JMP Live new changes "space permission" (2) JIRA/defects verification.
- Nala: (1) Updated the unit tests for Formula Depot. Updated Python tests to run them on all OS platforms. Refactored all FD tests to define all common variables one file. Now the tests are easier to manage and it is easy to turn on/off tests. (2) Created Confluence pages for new tester Kimi (Yu) Wang in Beijing team. (3) Testing JMP NF 'NF:add way to save preferences from a platform' for Text Explorer (BRDSTG-3130).
Note from Shannon
Thanks to Anna Kushner for sharing this chuckle. Hope you all have a wonderful weekend!
