Welcome to the JMP Development Update for July 19, 2024!
JMP 19 EA2 will be freezing at the end of the day next Friday, July 26! Please remember that your feature pages should be updated by 9 am Monday July 29th, and videos should be to Mia by EOD Tuesday, July 30. (If the feature page is not updated for EA2, the feature will not be highlighted for EA members. Please let Mia know if you have any questions or need anything related to feature pages or videos.)
QA is wrapping up installer testing for JMP Live 18.0.2. While we did not need to release an 18.0.2 for JMP since no serious showstoppers or critical security fixes were needed in that timeframe, the door is still open for security fixes to be made in the 18.1 track with Security Freeze planned for 8/9/24. JMP 18.1 Final Installer Candidates will be created soon after. With other JMP 18.1 source code changes complete, 18.1 unit tests continue to run on one Mac and one Win configuration with more configurations running on the 18.2 track.
In support of our many release tracks, the DevOps team continues to move more of our processes to AWS and optimize their performance. Earlier this week, Nick Ruva reconfigured a Perforce proxy in AWS to help with sync performance issues Myron Chandler encountered while working on a new iteration of our Stringbot process which will run in AWS.
Nick notes that a few people were using the proxy previously, but he would strongly recommend anyone who has builds or processes that sync from Perforce in AWS to update their Perforce settings to use the AWS proxy for their P4PORT at jmpci-p4-proxy.build.jmp.com:1777. Here are some performance results after two days of getting files to the proxy from our worst offender in CI, the 19.0 Windows Analysis build that runs JMP source code analysis overnight. This process does a force sync of many files with every run, so the process was averaging over two hours merely syncing before moving to the proxy. Here is the time data for the Perforce sync:
Without the proxy: duration: 127m 49s
First run through the proxy: 73m 43s
Second run through proxy: 14m 33s
The process is now consistently syncing in < 15mins for a Windows 19.0 Analysis build and running in two hours less time by changing nothing more than the P4PORT. Nick says that if you would like more information, or if you need help getting the proxy set up for your AWS projects, please let him know and he would be happy to help get things going. (Also, he notes that this change was not related to the Perforce update issue encountered this morning.)
Thanks very much to Tonya Mauldin for sharing this week’s beta/crash tracks with crashes selected!

JMP Beta Report for the week of 7/19/2024 | JMP Live
Also, thanks to JMP L0N team member Krzysztof Jozefowicz for sharing the following teambuilding news and pictures. Looks like great fun!
On Tuesday, the JMP Nordics team based in Copenhagen (4 people: sales, marketing, a system engineer, and me from R&D) had a team-building day. Our office is right by the harbor, and we have a shed with kayaks that can be used any time. The four of us dressed appropriately for the occasion and went kayaking for two and a half hours. We followed it with a nice dinner. It was cloudy, but it didn’t rain, and it wasn’t too hot. A perfect day for kayaking and bonding the team :smiling_face_with_smiling_eyes:




General Announcements
Important Upcoming Dates
- JMP 19 EA2 Code Freeze – 7/26/24
- JMP 18.1 Security Freeze – 8/9/24
- JMP 18.1 Final Installer Candidates – 8/19/24
- Please visit Confluence for a full list of JMP 18 and JMP 19 dates.
JMP Development Updates
Core
- Xan: Adding smoother shape constraints, such non-decreasing.

- Dave B: Fixed a few more image test issues related to the aws file storate change, fixed a verbose scripting issue, fixed mfi import when a variable is used as a file list, and adding a copyData() function to marker seg so it can own a copy of all the data it uses.
- Morgan: Getting plans set in stone for Model Center, implementing some features for Notebooks for EA2, and assessing Scintilla features that could be made accessible to developers for a richer text display experience.
- Evan: Prototyping changes to Data Table side panels.
DOE and Reliability
- Caleb: Finishing up work on a draft of a tutorial Ryan and I will be giving jointly at RAMS 2025 early next year. I’ve also been continuing updates to CSALT for JMP 19.
- Ryan L: Preparing a variety of upcoming presentations (JSM, Statistically Speaking, Discovery, and starting on RAMS today).
- Irene: Investigated some bugs with Ryan, had a discussion with Joseph on BayesFLo in C++, writing research paper.
Hosting and Interfaces
- Will Morgan: JMP-21519:: Fixing several bugs reported by Beijing testers, mostly small user experience improvements and improvements with error handling in the Python add-in code. (JMP-22213, JMP-22215, JMP-22247). Also finished my presentation and practiced my demo for the S3 connector, it will be around 12 minutes total, and I am the last presenter for all of the interns. Hopefully this demo will showcase how the S3 connector can be used so you can demonstrate it to customers. Finally, I am coming up to my SAS certification exam, so I have been preparing for that as well.
- John Schroedl: Have been working with Chris Humphrey on changes to our upload servers (Crashes, Telemetry, etc.). We moved source from Perforce into Git, updated packanges, and are configuring a dedicated test environment for more robust updates. Additions to accept Usability Study result uploads are nearly complete. Thanks to Bryan Boone for tips using HTTP requests from JSL. Crash investigations and icon updates.
- Daniel: AWS Authorization has recently finished up infrastructure changes to reduce duplicate code between JMP Desktop and JMP Live as well as a new endpoint to simplify the Manual Authorization process!
- Michael H: Pushing bug fixes to 18.2. Researching access to AspenTech IP21 data historian server.
Interactive HTML
- Paul Spychala: Support Graph Builder reports to be resized locally in HTML without needed to go back to JMPLive (JMPHTML-13885). Support Life Distribution CDF (with optional Survival Curve support) (JMPHTML-13924), PDF (JMPHTML-13928), Quantile (JMPHTML-13929), Hazard (JMPHTML-13930) Prediction Profilers in HTML/JMPLive. Support OpParameter in HTML/JMPLive by creating a method to patch and replace the operation with its expression (JMPHTML-13936). Support Bivariate Poly Profilers in HTML/JMPLive (JMPHTML-13916). Support Bivariate Mean Profilers in HTML/JMPLive (JMPHTML-13945). Support Bivariate Orthogonal Profilers in HTML/JMPLive (JMPHTML-13946). Support Normal Density Operation in HTML/JMPLive (JMPHTML-13944).
- John Powell: Started the process to seek approval to use the three.js library in our web-based 3D graphics (JMPHTML-13939). Continued working on supporting Scatterplot3D in Interactive HTML (JMPHTML-13491). Met with Dieter, Eric, Peng, Michael Goff, and Justin to discuss supporting Time Series Forecast in JMP Live (JMPPRODMGMT-1090). Met with Praveena and Annie, then Mia and Dieter to talk about Control Charts and Process Screening on JMP Live (JMPHTML-1033).
JMP Live
- Aurora: Control chart warning improvements. Along with other developers, improved patent documentation. Fixed several bugs. In progress: modernize code for this feature (API layer, ESM modules, TypeScript).
Statistics
- Elizabeth: Continued work on a shelf life calculator for mixed models to implement a few different methods suggested in the literature. The first two methods are working along with an initial and very bare-bones: reporting of the results.
- John Sall: More Categorical work, including new requests after demo with P&G (JMP-21878, JMP-21908, JMP-21941, JMP-21942, JMP-22196, JMP-22199, JMP-22201, JMP-22202, JMP-22205, JMP-22206, JMP-22212, JMP-22225).
- Laura C-S: Researched missing data with polychoric correlations. Started writing a PolychoricCor class (thanks to Clay for pointing me to a simple example using Optimizable)! Familiarizing myself with Term and TermCombo classes (thanks to Laura L. for telling me about the latter)! Built a list of resources on SEM for the academic team to address some users’ requests for supporting documentation. Fixed a crash with right-click Bootstrap in SEM and met with Haley to discuss verification of the bug and testing of MIIV-2SLS.
Stat Testing
- Jacob: Testing Categorical new features and fixes for JMP 19. Verifying Jira tickets and adding unit tests. Testing DOE updates for JMP 19. Updating CSALT tests and adding tests for new ‘Load and Edit’ table scripts for Save Factors/Responses tables. Performance testing, getting the performance suite running again and investigating a potential time increase in Control Chart Builder. Updating scripts to re-run my failing unit tests.
- Tonya: Working on an xpath presentation with Mark Bailey and unit test clean up.
Life Sciences Updates
- Wrapping up UNC student intern summer projects for forest plot and upset plot add-ins.
- Final touches for a manuscript on adverse event aggregation with Geoffrey “Isle of” Mann and Rebecca “District of Columbia” Lyzinski. Will submit to Drug Safety early next week.
- Final touches for adverse event recurrence report prototype.
- Finished an internal JSL function to produce forest plots, dual-forests, and dot-forests for JMP Clinical. May convert to an add-in down the road.



- Drew: Continued replacing Java implementation of AE Narrative with Python implementation. Fix various bugs at 18.2 and 19.0. Code-reviews for final 18.1 build.
Product Management and Product Marketing
- Bryan F: Reviewed strings in JMP Live with Michael Goff and Landra Cunningham. Discussed Aaron Andersen’s editable script box changes with the JMP Live team. Met Michael Goff and Justin Chilton to decide on toggle switch usage; became clear we have a need to to document style decisions. Progressed in the DOET book club with CORE team by exploring UI design best practices and prototyping. Brainstormed with the PM team on attracting target users to participate in usability studies. Discussed pausing JMP theme development with developers and next steps. Created a form for PM team input on dashboard metrics.
Technical Support and Engagement
- Duane: Cases have been steady this week, and we are managing them! Will Corley (an SE on Mary’s team) shadowed several on the team to better understand our responsibilities and our role in the company. Learning how valuable this is will let us know if we should develop a more formal process for folks to understand the Enablement and Support teams.
- Here are the TS JMP Live reports and the link to the Jira filter showing the tickets reported by TS for the last 14 days.
Technical Support Case Volume by week:

Engagement Support Case Volume by week:

Case Topics for Engagement queue, total:

Case Topics for Engagement queue, last week:

Development Operations
- Perforce proxy work – see full details in the top section of the update.
- Maintenance and Windows Updates for all DailyUT machines
- Maintenance and service packs for several JMP development servers
- This includes Swarm, which unfortunately caused an outage early Friday morning and was rolled back to a version before the update. We're still investigating what happened and how to keep it from happening in the future when this update is applied again. Sorry for the downtime for those who were struggling with Perforce check-ins today.
- JAVA 17 update is complete over our infrastructure, and all Jenkins agents and the Jenkins server have been updated.
- Shannon L: Assisting with 18.1 Jira open issues clean-up - all Bugs updated, this is now complete! Review of SAS 3WM outages; kicked off twice-weekly scrums for Oxygen migration project with Doc team; assisted with investigating JMP crash reports.
- Shannon C: Worked with Myron and Lisa on telemetry reports and database size issues. A few users submitted millions of rows of telemetry and that caused JMP based processing of telemetry data tables to slow down so that Jenkins jobs timed out. Attended performance management training by JMP HR. Investigated various JMP crashes and attended several weekly group meetings.
Localization
- Sandy: Finished up work on testing file comparison program that validates file population for all projects. Updated new Jenkins Job with current code for further testing. Verified new project dashboard functionality and rest call functionality. Began work on test framework project. Began work on source code populate job changes to automate copy of source files to stage area.
- Allison: Validated localized JA 18.0 Documentation pdfs and pushed to P4; validated localized images for 18.0 DOE book; updated JMP Marketplace translations to ensure consistency; updated jiras and pretranslation of title page for 18.1 DJ book for upcoming localized 18.1 JMP Doc Add-ins for all languages; investigated permission issue for vendor in our memoQ CAT tool.
- Krzysztof: Processing 18.0 Book translation deliveries from the vendors. Discussed with the dev team internationalization and localizability problems in JMP Clinical and showed them a demo of a localization workflow for continuing Chinese translations. Cleaning up translation memories.
- Trish: Localized JMP Documentation Add-in project setup for 18.1. Planning for JMP Marketplace translation update and review. Resource planning for 19.
- Sohail: Continued adding features and enhancements to TM Search Interface and worked on speeding up search times.
Documentation
- Qiana: Met with Shannon C and Mia to discuss adding the doc add-in to the Marketplace; we also discussed limiting the number of releases on JMP Documentation | JMP and Doc Add-in pages. Created Learning Oxygen - Resources page. Project planning for JMP 19.0 and Oxygen.
- Khawar: Explored Styles Basket and generated PDF based on a template for oXygen migration. Researched on the need for chunking topics. Set up Visual Studio and went through the Sample Index code. Started learning HTML on Codeacademy and LinkedIn Learning. Presented the report from Data Story Challenge at the VAUG meeting.
- Devon: Removed errors from XML version of a chapter of Discovering JMP book for Khawar, labelled 18.1 documentation files for handoff, Jira planning for 19, finished Compliance Training, and finished transitioning to new hardware.
- Susan C: Creating and planning Jiras for 19.0. Working on a productivity course and some Oxygen training. Reset all books for 19.0.
- ChrisB: Fixed errors in the 18.1 help release candidate. Built the 18.1 doc add-in. Completed July string reviews. Seeing if PDFs from Oxygen can solve any of our current PDF issues. Building 18.0 help to capture updates.
System/Host Testing-Cary
- Adnane El Hachami: Worked on the testing dashboard, fixed a bug, and still working on a feature request. I completed some verifications, and I tested Notebook a little bit as well.
- Mandy: Answered a fair number of TS tracks (from Holger) on the data table features (group cols, new left side of Data table, Forced Values, Column Tags) – and he even wrote back twice on several issues – logged these as Jira issues to fix or as feedback. Worked a bit on setting the preference to run the New Table Grid that David W. is working on and ran a fair amount of tests – reported a few Jiras and trying to work through the UI some to see what things still function the way they did before. There were some performance issues on the Mac only from a fix Daniel Powell was trying to insert - worked with him some on that to ensure that JMP would continue to run efficiently. Next week, speaking with a group of High School students in the SAS Reach program about my career path and also will do a quick demo of JMP to show them what it is – so working a bit on that.
- Audrey: Working on a proposal for our scheduled release dates going forward, Jira/Confluence admin tasks, tweaking some JSL unit tests. I was reading about the global tech outage and listening to the interview from the CrowdStrike CEO. They’re not saying yet exactly what happened, but alluded to the quality assurance teams needing to figure out what was missed among all the different levels and patches available for Windows operating systems. For me it underscores that no matter how comfortable we get with our release process, it is really important to do a final installer check on machines that are as customer-like, on as many operating systems as possible!
- Hunter: Spent much of the week testing authorization items….tested a fix from Daniel reported in a JMP Pro 19 EA 1 on Windows case where air-gapped authorization attempts would crash when opening an invalid response file, tested another potential fix to prevent JMP from opening files prior to authorization on Mac, and verification for JMP-22105 on different Mac configurations to confirm JMP 19 telemetry results include more detailed data about the Mac OS and hardware configuration.
System/Host Testing-Beijing
Note from Shannon
After an excellent presentation on JMP mapping improvements by JMP intern Parker Dingman the other week, I thought I would share something from the far other end of the map usefulness spectrum. :smiling_face_with_smiling_eyes: Someone recently introduced me to the Terrible maps account – below are a few silly examples posted there, but there are so many more. There’s even a book!
(Sometimes you just need a laugh after a week of misbehaving hardware and software. Hope you all have a great weekend!!)

