All information is SAS company confidential. Do not disclose.
Welcome to the JMP Development Update for April 30, 2021!
A special congratulations to Mandy Chambers on her 35-year anniversary with SAS! And thanks to Audrey for sharing the following!
Mandy has many accomplishments throughout her career at SAS, and we’ve been lucky to work with her in JMP the last 6+ years. Mandy supports “data table” but she seems to get into everything in some form or other. She’s tenacious in chasing down bugs and crashes and has a customer-service mindset regarding both her developers and our actual customers whom she interacts with at Discovery and through EA feedback. She’s fun to work with, and gets things done. Please join me in congratulating Mandy on an impressive 35 years at SAS!
We met yesterday as a group to hear from the JMP product management team. If you were not able to join the meeting, you can find the recording here. Thanks very much to Dan V, Mia, and Sara for sharing details about our Product Management team roles and responsibilities, the JMP 16 launch, feedback on and improvements for the JMP 17 EA program, and sales enablement/outreach. I think it’s very helpful for everyone in development to get a better understanding of the JMP product commercialization process, EA recruitment and program implementation, and the field enablement activities that are still ongoing to educate sales and marketing teams about exciting JMP 16 features even while we develop our next version.
I am looking for other volunteers for future dev meetings. Next week is open, or you can let me know when would be a good time for you to present in the future! We are quickly moving towards JMP 16.1 Code Freeze, planned for 5/14/21, and moving towards cutting our first JMP 17 EA on 6/4/21. I know that there are already quite a few features that could be demo-able now or in the near future.
I appreciate the PM team giving me the chance at the meeting to talk about the Feature Readiness Checklist found on the current version of the JMP 17 Feature Template. Mia and I created this list based on feedback from the last several retrospectives to capture various important milestones along the way to feature maturity.
We all want to do our best to plan ahead, keep track of major steps throughout the cycle, evaluate where we are on an ongoing basis, and also avoid causing headaches for teams that come later in the process. Please make sure that when you create a feature page for items that you want early adopter feedback on, you use the JMP 17 feature template that includes the Feature readiness checklist. If you moved a page ahead from an earlier version, please update your page with the new template.
And as I mentioned in the meeting-wrapping up features on time for a main release always feeds forward in a good way. When features are more fully baked at feature freeze, we have more time for testing to shake out the bugs, for doc teams to add complete details, and the ability to translate UI content for our international customers. This can reduce time needed to be spent fixing issues during maintenance cycles and permits an early start to feature work in the following cycle.
Thanks to Tonya for sharing this week’s crashes and telemetry files with version 16.1 selected!
Product Release

Topic

Subtopic

Platform

Company

Crash and Telemetry files for the Week of 4/30/21 | JMP Live (sas.com)
General Announcements
Thanks to John Schroedl for mentioning that O’Reilly has made available a free PDF version of “The Flamingo Book”. He noted, “Google is a very large C++ shop and this book is about a lot of their successful practices managing that including CI, testing, etc. Not really a code book, more a process/mindset book. May be a few nuggets in there for us to consider.” You can download it here as a PDF: Software Engineering at Google, Lessons Learned from Programming Over Time. I’ve been reading it and it’s very good!
If you’re willing to be a featured employee on Inside JMP, please download a copy of the Get to Know form. Simply fill out the questions and when you’re done, upload it, along with 3 photos of you to the folder. Thank you for helping to make our JMP family a little more familiar!
Important Upcoming Dates
JMP 16.1 Code Approval Mode Begins – 4/27/21
JMP 16.1 Code Freeze – 5/14/21
JMP 17.0 EA1 – 6/4/21
Please visit Confluence for a full list of JMP 16 and JMP 17 dates.
JMP Development Updates
Data Discovery
- Xan: Working on ideas for showing partial selections with a "badge".

- Dave B: Looked into noisy jmprunner image tests, debugged adaptive selection highlighting, integrated fixes into 16.1, fixed MFI defects.
- Dan S: Continue working on updates to thumbnail / boxToPicture code for 17. Fixed a LocalDataFilter/AutoRecalc crash in Model Screening 16.1/17.
- Evan: Fixed log issue causing flaky image test. Assisted in fixing flaky With Window Handler tests. Reviews for With Window Handler improvements and nested Platforms issues. JSL Hamcrest fixes and new features (mock functions and skipped tests/assertions).
DOE
- Caleb: Wrapping up my 16.1 development work and starting the transition to 16.2 work. Began organizing issues in JIRA in preparation for JMP 17.
- Joseph: Completed integration of JMP17 changelists into JMP16.1.
- Brad: Still working on a paper adapting DSDs to create split-plot designs.
Host
- John Schroedl: Fix bug where drag hover over the main window icon in status bar would rapidly toggle main window visibility. Work with Dan on boxToPicture performance and painting. Starting work on supporting F1 to launch window help (S1095328).
- Paul N: JMP activation updates made on the PROD servers to support JMP 16.1 subscription products. (Corporate & Student). Looking at the blackduck output for 16.1. Updating libcurl to the latest 7.76.1 to fix multiple CVE vulnerabilities.
Continuing work with Metal.
Michael H: Improving run-unit-tests leak reporting, and better capturing of diagnostic reports – to be eventually migrated to the daily Testbot run.
HTML5
- Josh M: Wrapped up JMPHTML-505 by refactoring our test framework to keep lists of images in one place. This will make us more efficient when creating new tests and make tests easier to maintain. Main focus this week has been preparing tools and best practices for the HTML5/JMP Live teams to use capturing performance benchmarks going forward (JMPHTML-824). Checked in some tools in Perforce at /test/HTML5Tests/Performance and documented in Confluence here. Triaging future defects (JMPHTML-832).
- John Powell: Gave Tommy O. an overview of HTML5 functionality, code, tools, practices, and learning resources to prepare him for working with us part time. Held a sprint retrospective and a sprint planning meeting. Triaged and NOFIX’ed Future track defects to help prioritize and prevent populating our JIRA backlog with non-priority items. Converted priority defects from the future track to Jira and rearranged items in our backlog to prepare for our next sprint. Reviewed resumes for our open JavaScript developer position. Tried Xan’s visualization of proportion of rows selected and provided feedback. Prepared a list of HTML5 log message strings for Dan V. with help from Shannon and virtual join.
- Bryan F: Worked on modifying the treemap code so that treemaps can be drawn from information passed from JMP about treemap groups. In addition, I exported the row indices associated with each treemap group. The purpose of this work is to demonstrate that our reports can be created without column data. So, our reports can potentially be much more performant for larger data sets. Also, I started working on specifying a dark mode using the color system created to support the HTML5 light and gray themes.
- Mayowa: Started working on adding new number formats to interactive html (JMPHTML-808).
JMP Live
- Aurora: Fixed issues found by ZAP security scanning for 16.1. Added a REST API route to support a new JMP 17 JSL command. Continued designing new access control mechanism. Continue wiring in database transactions more broadly. Also: Preparing for onboarding with Justin!
Statistics
- John Sall: Response Screening's 2-by-2 saved table now have embedded scripts to do Odds Ratios, Risk Ratios, and Risk Difference plots (S1588396).

- Jianfeng: Pushed two new features (S1585387 and S1584976) into JMP16.1 in response to requests from customer Isaac Himanga (ADM). Wrapping up JMP 17 Equivalence tests improvement project.
- Laura C-S: Continued working on instrumental variable two-stage least squares estimator, investigated performance issue with factor scores, shifted gears back to multiple group analysis in SEM so I can get Eric’s support with remaining diagram features in the next few days he’s still with us (we’ll miss you Eric!).
- Peng: Gave a talk at University of Arkansas in their industrial practitioner speaker seminar series, mainly about my work at JMP and data science in general. Worked out a response for Laura Archer about a customer inquiry on a calculation details in reliability, and continued working on repeated degradation.
- Annie: Pushed a few last changes for Control Charts to v16.1.
Stat Testing
- Tonya: Answered user community questions about set control limits, coloring out of spec values, and how CCB calculates limits with an LDF. Testing the subgroup and sorting features in Process Screening to make sure Process Screening, Process Capability and CCB match. Cleaning up unit tests. Bug verification.
- Jacob: Testing DOE updates in 16.1. Verifying DOE defects and adding unit tests. Revising performance analysis scripts in an effort to reduce the number of false positive performance issues.
Life Sciences Updates
- Rebecca: Finished first version of the DILI Addin for FDA. Started scanning through our SAS Macros for data prep work that needs to be carried over to the JSL version of JMP Clinical.
Product Management
- Dan V: Met with Gina and Stephanie to discuss JMP Lab plans for Discovery China. Participated in a P&G JMP Live demo/discussion. It was great to be involved in the HTML5 sprint planning process and discussion. I see a lot of good process improvements coming from their adoption of Jira for development planning efforts. Meeting with Russ, Mia and Wenjun to discuss JMP Genomics roadmap.
- Mia: Working on setting up the campaign and compiling invitation lists for the JMP 17 EA program. Working with Brady and Field Enablement to understand pains and the user experience around data preparation in JMP. Attended the HTML team sprint. Working with Field Enablement and Ryan Gilmore on revamping the JSL Cookbook in the JMP Community to be more of a useful “JSL Snippet” library.
Technical Support
- Duane
- Bobby and Dahlia met with Sara and Josh to come up with a plan to educate our sales teams on JMP installation and licensing processes to better assist our customers.
- TS has been in communication with Roger and Aaron Kennedy about a problem with the display of all of our JMP Notes. Thanks to Aaron and Roger for resolving it!
- Thanks to Duane for sharing the following, “I’ve recently heard from several folks in TS that kudos should be given to Ryan Lekivetz. He has been exceptionally helpful and great to work with. This has been especially true while Sarah has been out of the office. So, a big ‘Thank you’ to him!”
- Here are the TS JMP Live reports. (JMP Live 16). Here is information regarding Customer Reported Defects filed by TS.

Development Operations
Jim B: Worked with QA to investigate UT failures. Coordinated with ISD for Windows Server 2012 R2, 2016 and 2019, especially to migrate them to our cluster; configuring all three VMs. Reported LEAKS and Assertion Failure Jiras. Applied many software updates to test and build Mac machines; planning on more OS updates this weekend. Perforce support.
Documentation
Sheila: Finished the Discovering JMP (DJ) book and Automation Guide for L10N. Regenerated 15.1 and 15.2 help with banners that point to the current help. Generated the 16.1 and 17.0 help. I had fixed a bug in the English help template, so I synced the changes with the ZH and JA help templates. Updated the Quality white paper, which will soon be linked here. In preparation for generating the localized DJ web pages for jmp.com, I finalized the DJ help templates and told Melanie which template files need to be localized. Met with Ian Kleinfeld and the help vendor about creating a 404 not found page for the help. (This page appears when the user clicks the ? tool on a report and the help key isn’t in the help, or they click a link and the page can’t be found for some reason.) Modified PDF conversion script to create all doc PDF files if the FrameMaker files changed overnight. (Previously, only the English PDF files in product/doc were generated.) Spent a bunch of time sorting through defects, Jiras, Confluence pages that contained action items.
- Michael C: Added 2 examples to the SEM doc for 16.1; continued working on Jira queries for doc team reports.
System/Host Testing
- Eric Wang: Tried to deploy JMP Live on Azure and wrote JMP Live on Azure Confluence page. Added a cleanup script for JMPLiveJSL tests (BRDSTG-3121). Tested JMP Live Jira items. Verify defects.
- Da Li: Tested Google Sheets NF (BRDSTG-3084). Test JMP Live Jira items. Checked 3rd party software for JMP 16.1 (BRDSTG-3078).
- Mike Wu: Tested JMP 16.1 Activation against Test server and Prod server for Student Subscription, Subscription, Trial and Pro-Trial on both Windows and Mac. Testing JMP Live Jira items. Verify defects.
- Nala: Updating run Python tool to fix the initializing Python in JMP issue and allow the tool to work for Anaconda 3.8.5. Investigating how to make the tool works for different versions of Anaconda. Test JMP Live Jira items. Verify defects. Updating/fixing JSL UT failures. Migrating documents from old SharePoint to Beijing team's Confluence page.
- Audrey: Jira and Confluence coordination, testing changes to the test framework tools.
- Josh L: Working on the Openstack to Azure migration of our test systems. Currently have a space for JMP Test. I am waiting for GIS to approve the firewall access to SAS via a virtual private network. Helped Hui with getting the Samsung tablet connected to SAS. JMP Live story testing and bug verification.
- Cary / Beijing JMP Live Testing Jira Status
- 3 Stories in Testing
- 3 Stories in Test Ready
- 1 Bug Created in the last 7 days
- 24 Stories / Bugs Closed in the last 7 days
- Mandy: Worked on Tabulate, Data table random subset and Tables Preview – finished confluence pages, and will work on EA 1 videos with Mia. Verified defects and JIRA tickets(mostly these were scripting index fixes by Justin) – and set up new JIRA filter to show me what is open vs. what all has my name on it. Working on Action Recorder log defects now, for 16.1 and 17.0 – taking that component for now, as I have worked on it some with developers, and it helps out while we transition a new tester.
- Mike M: Great review session with Annie of my interactive tests; added 2 Process Screening and 1 Control Chart builder Sikuli tests. Found a new defect for 15.2 Help containing startrelease=15.1 in the HTML, working on Help verifications for 16.0, completed doc string updates for several Sikuli tests. And ironically found a PIE chart defect in the Help content to match this morning’s comic.
- Justin: Finished up fixing or re-assigning open Scripting Index Jira issues. Added button to image test results in dashboard to view any image on Mac or Windows.
- Hunter: Tested the updated SAS Download Manager 2.6.4 for Mac for SDWIT-185. JMP 16.1 and 17.0 defect verification. Opened several project related defects.
- Hui: Mobile Testing for JMP16.1. Thank Josh’s Help to setup android mobile device for me. Verify the development work done by developers. Reported issues in JIRA on HTML5 (JMPHTML-793)
Note from Shannon
Apple’s Air Tags go on sale today-$29 for one or a 4 pack for $99. I found this Axios article to be particularly interesting. It highlights not just the coolness factor of these new gadgets, but their potential usefulness for individuals with visual impairments.
Thanks for sending your updates, and I hope you all have a wonderful spring weekend!
