
Welcome to the JMP Development Update for February 11, 2022!
Despite the many challenges of 2021, JMP had a lot to celebrate when we gathered yesterday morning at our Virtual Awards ceremony to hear about sales successes around the world. It was great to see our sales and technical teams recognized for getting customers on board and working with them to get the most out of their JMP investment! We also recognized team members outside the JMP company for their dedication to helping us achieve our goals. Audrey and I were happy to nominate now-retired software quality specialist Beth Langston for a JMP Cheers award for all her help with our JMP retrospectives over the years.
We are quickly approaching our JMP 17 Feature Freeze milestone on 2/18/22. Please continue to update your Feature pages with any new and improved items and pay particular attention to the Feature Readiness checklist at the end of each page. We added this checklist for JMP 17 to help track major milestones for features, including inclusion in EAs, dev demos, scriptability and other important considerations.
Soon after Feature Freeze, we will have our first UI String Consistency Evaluation on 2/28/22. This evaluation is only done for the XX.0 release of JMP and involves a pass though all new UI strings to ensure consistency and adherence to JMP UI string standards. I added an Outlook reminder to call your attention to strings on Monday, February 21st so that you can review the Stringbot results from the previous weekend, triage and rescue any UI strings in need of attention before then. Recall that the Scanbot webpage can provide feedback on string edits made between weekend Stringbot runs. Strings extracted after March 4 will be included in the final handoff of JMP 17 portable UI strings.
Thanks to Tonya Mauldin for sharing this week’s details about Beta/Crash/Telemetry files with crashes selected!
Company

Topic

Subtopic

Platform

JIRA

Beta/Crash/Telemetry files for the week of 2/11/2022 | JMP Live (sas.com)
General Announcements
- 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 17.0 Feature Freeze - 2/18/22
- JMP 17.0 EA7 – 3/11/22
- JMP 17.0 EA8 – 5/3/22
- JMP 17.0 EA9 – 7/8/22
- JMP 17 Code Freeze – 7/20/22
- Please visit Confluence for a full list of JMP 16 and JMP 17 dates.
JMP Development Updates
Data Discovery
- Evan: Fixed derivative for Power(x) with implicit exponent. Fixed Snapshot Action script and Make Combined Data Table Source script when using a report with multiple instances of a platform (like Partition with two Ys). Added search feedback GUI for internal builds to help with tuning search results.
- For *internal* builds, when you search using Help > Search you can annotate the search results as No-Feedback, Relevant (most useful to me), and Very-Not-Relevant using the icons on the left of the results. You can also add free text feedback at the bottom. As you continue to search, this feedback is stored until you close the dialog and it is, hopefully silently, submitted to me for analysis. I will go through this in more detail during the dev talk on the search feature, but any feedback submitted this way is appreciated and will help improve the search feature. I am especially looking for feedback concerning your favorite platforms/features or feedback obtaining while trying to do typical JMP tasks by searching at each step. Please reach out if you have any questions.

- Dave B: Fixed a slider control bug when scrolled in a tablebox, fixed problems with hist seg tips wrong when rows are hidden/excluded or if the seg rebins, and working on an import option to adjust which column is the first named column when importing from csv.
- Andrew: Changed the graph builder sampling property to also accept proportions, fixed a bug with label orientation in non-english localizations, fixed using Treemap as a selection filter and added drag-selection, and finally submitted an old fix for power axis scaling.
- Dan S: Updates to session files to work better in Projects. Fixed <
- Xan: Working on axis settings dialog and axis bugs.
DOE
- Brad: Reviewing a paper on adding axial points to definitive screening designs for the Journal of Quality Technology.
- Joseph: Continued work on Easy DOE, refining the Guided Analyze and Predict tab functionality and starting the Report tab implementation. Also, fixed several reported Easy DOE bugs.
Host
- Paul N:
- Updated JSL script Encryption/Decryption Key (JMP-3501). Craige wanted this update implemented in JMP 17, but the time of the defect S1167824, //main was still JMP 16. This updates the key used by script encryption to the new value that has been in the code since JMP 12.1, so all version 12.1 and newer will be able to read scripts encrypted with JMP 17. The update was necessary as 12.0 had a security hole and the existing key should be considered compromised. It wasn’t updated until now to allow sufficient versions to be shipped with the new key, so that they would be forward compatible when the key was changed.
- Asked for a re-test of JMP-6770 involving Anaconda Python and Tensorflow since it may have been before the work I did to dynamically update the Library Load path on windows to account for Anaconda directories.
- Ran BlackDuck security scans on JMP 16.2 in case a 16.2.1 or 16.3 is decided on. There are a couple of issues to address due to SAS jar files that are blocking a clean scan (over and above log4j 2.15.0 ).
- Michael H: JMP Statistical Discovery LLC is now enrolled in Apple’s Developer Program. Thanks Jon Weisz and Rachel Smith for all the help with this. Worked on adding efficient get/set pixels/channels methods to GPicture, for Portable. Worked on host label control’s Mac word wrapping.
HTML5
- John Powell: Held a full interview for our Software Developer position and reviewed and rejected unqualified applicants for this position. Updated HTML Treemap support to match recent changes to label font sizes. Updated JMP Live Best Practices page. Commented on a JMP Community Post on how to tell what will work on JMP Live. Reviewed and commented on updates to Interactive HTML Help documentation.
- Praveena: Worked on JMPHTML-732, where the drawing doesn’t match JMP and JMPHTML-1491, when tick offset is set, the axis values are not displayed.
JMP Live
- Michael G: Merged Space Reports and Space Files views so you can retain context when navigating folders within a space. Surfaced downloads prohibited site-wide into the UI. Fixed issue when creating a new folder in the root of a space.
- Aurora: For Publish on Client, added an edge case to validation of publish JSON, also stop complaining about "extra" keys. Discussed how best to support Data Options in UI and JSL. Added a new setting for prohibiting data downloads site-wide. Started the work to add the new access type "data administrator". UX Workstream meetings.
Statistics
- Jianfeng: Chris asked me to implement Passing-Bablock test based on a request from a user (JMP-5568). I have made some progress so far and will push the changes soon.

- Chris G: Had a presentation for Regeneron yesterday on spectral analysis with Functional Data Explorer that went very well. I did a recently updated version of my basic Functional Data Explorer talk and a demonstration on some real spectral data they had shared with me. The talk was very well received. There were at least 150 people on the presentation. My understanding is that a lot of requests for JMP Pro evals came in immediately. I will share the updated version of my FDE intro with the SEs. I changed the intro examples to better reflect interest in FDE in analytical chemistry and biotech/pharma and incorporated a lot of suggestions (largely from SEs Andrea Coombs and Mike Anderson who work with Regeneron) for simplified language to talk about FDE concepts. This was using terms like “Shape Components” instead of “Eigenfunctions” and “Weights” instead of “FPCA Scores”. It was a fun and productive project.
- Elizabeth: Did a high level overview presentation of machine learning in JMP for a customer internal user group; “that was AWESOME!!!” was the feedback. Worked on a new SOM visualization within KMeans clustering (JMP-348).
- Laura C-S: Nearly finished with the new code for Modification Indices in SEM. Started cleaning all MGA code in preparation for the big push to main next week. Attended a couple UI/UX meetings.
- Peng: Continued testing and polishing Repeated Measures Degradation. Worked with Di Michaelsen and Leo Wright on training materials.
- Annie: Worked on misc. Jira issues related to recent new features in Cusum and EWMA control charts.
Stat Documentation
- Colleen: Finished and submitted all Scripting Index edits for Distribution, reviewed Life Distribution SI edits for Michael, and working on updating Hierarchical Clustering documentation.
- Michael C: Updated the Life Distribution and Life Distribution - Compare Groups platform entries in the Scripting Index; reviewed SI updates in Distribution for Colleen.
- Karen: Working on DOE updates, on the oneway chapter rewrite, attending UX/UI meetings, and had a meeting with Mark and Jacob to talk Easy DOE documentation.
Stat Testing
- Mark: Working with Brad and Joseph on design of Easy DOE. Working with Jacob on testing DOE. Met with Karen and Jacob to co-develop testing and documentation examples. Preparing background for method comparison with Passing-Bablok regression for Jianfeng. Identified four more chapters in ASQ Handbook for JMP examples.
- Jacob: Updating Explore Outliers unit tests, and starting a unit test for Robust PCA Outliers with Randomized SVD. Writing tests for MSA Designs with nested factors, as this is now scriptable (JMP-10144). Testing ADI and Robust PCA Outliers with Blas enabled, and updating Blas unit tests.
- Tonya: Testing Laura’s recent Bias and Linearity changes in MSA and VarChart, limit of detection in distribution, and the new save and get limits options for CUSUM charts. Bug verification.
Life Sciences Updates
- Wenjun: Attended CDISC board meeting last Tuesday and got re-elected to the board of directors for a second term (2023-2025). Congratulations, Wenjun!
Product Management
- Dieter: Worked with Regeneron and Bundesdruckerei to get some login and licensing issue resolved. Helped CEA to get started with their publishing to JMP Live. Work with Alan O’Neal on a security assessment for Microsoft und prepared for our upcoming JMP in/for the cloud training.
- Bryan F:
- Developed icons for Genetic Marker Statistics platform. Met with Luciano Siva to discuss how we could approach a prototype for the Genetic Marker Simulation feature using a wireframing tool.
- Developed prototype for tabular output in Graph Builder to provide usability feedback. Processing feedback from some usability tests for discussion with Xan. Working on a usability script for the Workflow Builder Ernest is developing, which is another awesome capability. Met with Evan McCorkle to discuss the UX for the search functionality which I think could become a game changer for JMP in terms of usability.
- Solicited feedback and met separately with the style and function UX groups to further specify a particular problem that we want to address with a UX process. The goal is to define metrics for improvement once we have a defined problem so that we can move to the develop stage. Also met with developer UX group to discuss a defined UX approach to seed ideas for how we might introduce the UX process into the development process.
- Interviewed job candidate for HTML5 group and provided written and verbal feedback. Participated in the Coffee with Product Management meeting on Tuesday.
Technical Support

Development Operations
- Myron: Resolved issues with the memoQ server running out of space due to trace logs. Updating stringbot exclusions (a temp solution until JMPTOOL-270 is resolved). Starting to plan for the crash system’s move from Sirius to Salesforce Service Cloud after meeting with Jeff, Stan and Neuraflash this week. Continued tweaking of mac symbolizer Jenkins job. Minor updates to Jenkins client on doc machine.
- Jim: Continued working on JMP Clinical EA installer for macOS. Verified fixed and reported new ASAN and Assertion Failure Jira tickets. Set up new mac and executed LEAKS UT run. Perforce support.
- Bob: Possible jar file security issue with shipping Genomics. Continued process of version 17 product in SAS release engineering. Packaging overview updates for current JMP Live.
Documentation
- Susan C: Manually reset all books from EA6 help. Troubleshooting Jenkins reset script, over to Nick. Working on understanding/documenting Workflow Builder feature. Sent Help menu tooltip updates to stat writers for review and incorporated/replied to feedback. Scoped impacts of updates to text inset content in DJ. Updated procedure to save reports in JMP as interactive HTML and sent to John P and Michael G for review. This content is in a text inset used in the DJ, which will go for early handoff. Troubleshooting x-ref issue Michael brought up. Met with Rick to make updates to template paths which hopefully will fix the issue. Met with Trish, Mel and Qiana to discuss the handoff of the DJ for 17.
- Qiana: Attended JMP Academy sessions. Met with Roger, Aaron, and Trish to discuss the challenges that exist with posting the doc online and identified a plan for a more seamless transition for 17.0. Met with Trish, Melanie, and Susan to discuss the handoff of doc deliverables to L10N. Met with Landra to discuss finding one or more copyeditor contractors and identified a few candidates. Met with JMP Academy group to finish assignment. Met with Rick to go over FrameScript questions. Began planning the onboarding plan for Chris Barrett. Created the job description for the intern position. Working on two 16.2 Help issues.
System/Host Testing-Cary
- Mandy: Added Workflow builder tests. Reviewed TS tracks and reported issues. Dave White pushed out Semantic Formatting changes and additions, so spent some time figuring out how to test that, adding preferences tests, and involved Mike M. to do Sikuli tests. Worked on DF changes Dan made and added tests. Met with Ernest, Dan, Mia, etc. to discuss Workflow builder and what to fix in JMP 17.
- Hui: Met with John and Steve to clarify the structure and priority for the interactive HTML5 testing automation. Continued investigation on HTML5 treemap regressions. Thank to John for noticing those. Reported HTML5 issues, JMP desktop issues, and added testing projects in JIRA.
- Nick H: Converting C++ unit tests (particularly those that do a topSubmit followed by an assertion) to the JSL Unit test framework where failures are easier to dissect. Some of the tests have been easier to translate than others, but I have been trying to automate the process using regex and other string parsing approaches when possible. Had a very helpful meeting with Aaron to get additional background on the new JSL Promises API and close out testing this new 17 feature. As it hooks into more and more JMP platforms it should prove useful. Reviewing inconsistences in Table Box behavior brought to my attention by Jasean. Part of this work included testing a new option to get and set columns in a table box in a presorted order.
- Hunter: Investigated EA tracks, tested build for Aaron containing session script updates affecting projects, and submitted searches and feedback on results that Evan is collecting for tuning the search window.
- Mike M: Large image test review uncovering several tests to fix. Opened CCB regression defect and added several new Sikuli tests (Tabulate crash, Semantic Formatting, Parameter Editing).
- Lisa: Verifying bug tickets, tested addition of histogram color preferences, and tested sampling proportion in graph builder.
- Audrey: Matlab testing, looking at some JSL test failures and tooling Jiras that have landed in my queue.
System/Host Testing-Beijing
- Eric Wang: (1) Testing PublishOnClient. Open a few bugs for UI. (2) JSL unit tests have many failure due to PublishOnClient. Investigating the failures, several bugs are entered. (3) Tested the change about ‘includeChildrenForeignFolder’. This option has been removed now. Updated related jest tests, including: renamed variables which name contain 'group', renamed tests which decription contain 'group', removed duplicate groups and tests, added new tests for hierarchical folders and data posts.
- Da Li: (1) Test JMP Desktop bugs/stories and added UTs for EUC-KR support in Text import, XPT import, table preview in text import and the new ability of changing column type in Excel Wizard. (2) Tested JMP Live Jira items about JMP Live UI, folder, space. (3) Learn JMP Live new features.
- Mike Wu: (1) Testing AWS migration of JMP Admin Tool against a new server. (2) Investigated TS report 7613511229. (3) Tested other Jira bugs.
- Kimi: (1) Tested data refresh related Jira items. (2) Design scenarios for Data Refresh testing, see WEBJMP-4562. (3) Prepare the I18N testing for JMP Genetics platforms. (4) Migrated Beijing team's Jenkins to Beijing team's VM and created "How to" pages, see How to install and manage docker on CentOS and How to migrate docker to another host. (5) Investigated how to uninstall Oracle driver. (6) Prepare a new Windows 11 VM image for Formula Depot testing.
- Nala: (1) Investigated publish issues that Tonya and Dan V reported, see WEBJMP-4610 and WEBJMP-4609. (2) Testing the support of Korean in Text Explorer. (3) Migrated JMP related items from Jira project BRDSTG to JMPTESTBJ.
Note from Shannon
Thanks to Josh LoPresti for sharing the news that his daughter Livy Grey is now officially in her last year of single digits! Happy birthday to her, and to all our February birthday people in the JMP family! Hope you all have a great weekend!
