Welcome to the JMP Development Update for June 2, 2023!
Development continues to work on wrapping up integrations of important fixes into the 17.2 track. JMP 17.2 Code Approval mode will begin on June 13, and JMP 17.2 Code Freeze will be coming up in about a month on June 30. Please continue to triage your items with Planned Version = 17.2, test items fixed in 18.0 to determine if they also impact 17.2, and give special consideration to Customer Reported Problems (CRP) items.
Last week, JMP 18 Pro and Clinical EA3 installers for Windows became available on My JMP and Landra and Mia updated the EA page with new details. This week, JMP QA signed off on the rebuilt JMP Pro and Clinical EA3 Mac installers and JMP 18 EA3 and JMP Clinical 18 EA3 on Macintosh have been added to My JMP. Product management has notified EA customers of their availability and we hope we’ll get lots of feedback on this latest iteration! Thanks so much to Paul, Michael and Jim for the teamwork on resolving signing/notarization issues with the Mac installers.
Just a reminder that JMP 18 EA4 is planned to freeze on June 23. That will be our last EA before we get to our JMP 18 Development and Marketing Feature Freeze milestone on July 21. Thank you for all the work on feature pages and Jira issue triage this week!
Hopefully you all saw Qiana Eaglin’s email earlier this week about JMP sample data. As she noted, all requests for new JMP 18 sample data or changes to existing data tables must be submitted by Wednesday, October 4. If you plan to create or change sample data, please consult the Create a new sample data table page in Confluence for information and instructions. The process to use simulated data is much simpler (from a legal perspective) than real data that you obtain from somewhere. SAS Legal must carefully vet real data sets to resolve any licensing and ownership questions before JMP can obtain permission to ship them with our software. Please contact Qiana with any questions!
Thanks to Tonya Mauldin for sharing these reports for all EA1 and EA2 data that we have gathered so far. Please use this JMP live link to view all of the reports.
For any Graph Builder report that includes a multiple response column, Tonya cautions you to investigate the results closely. There are a lot of open Jiras for multiple responses and Graph Builder that may impact these reports:
Also, here is this week’s report of beta/crash feedback with crashes selected.
JMP Beta Report 2 - Distribution | JMP Live (sas.com)
Thanks to Audrey Shull for sharing this week’s Jira Tip of the Week!
Label cleanup is underway. Defects keywords were all uppercase, but Jira allows us to use customized casing which is much friendlier to read. Since our move to Jira, we now have a mix of casing for essentially identical labels. We are working to consolidate and minimize. In the meantime, Jira is smart enough to ignore casing when you select to look at items with a specific label. For example, if you look at items with the label of ‘Crash’, you will also see ‘CRASH’ and ‘crash’ items. After consolidation is done, we will only have one spelling/casing for Crash, though. Another example: ‘P&G’, ‘PG’, ‘P & G’, ‘PROCTER&GAMBLE’, ‘PROCTER_GAMBLE’, ‘PROCTOR GAMBLE’ are all used many times, and we want to choose a consistent value to use throughout. Check out the link if you’re interested in helping with this project for your own favorite labels!
General Announcements
- Make sure to visit Inside JMP this week to learn more about our interns, new hires, and JMP anniversaries! Congratulations this week to System and Host Testing director Audrey Shull, who celebrates 25 years at SAs, and to Documentation manager Qiana Eaglin who celebrates her 10 year anniversary! I am truly grateful for their steady leadership of groups within my DevOps organization. They both go above and beyond on a regular basis and have remarkable focus, organization, and such collaborative spirits. The article also features congratulations for Jeff Perkinson who celebrates 35 (!!!) years all with JMP! Also , there is a feature story on the JMP Store 2.0 launch. Be sure to check it out!
Important Upcoming Dates
- JMP 17.2 Code Approval Begins – 6/13/23
- JMP 18 EA4 and JMP Clinical EA2 Freeze – 6/23/23
- JMP 17.2 Code Freeze – 6/30/23
- JMP 18 Feature Freeze – 7/21/23
- JMP 18 EA5 and JMP Clinical EA3, JMP Live 18 EA1 – 8/11/23
- JMP 18 EA6 and JMP Clinical EA4 – 10/3/23
- JMP 18 EA7 and JMP Clinical EA5 – 12/8/23
- Please visit Confluence for a full list of JMP 17 and JMP 18 dates.
JMP Development Updates
Interns
- Trevor Rathje (Digital Operations): Working on the abandoned carts project. I have been gathering data from both Adobe Commerce and Salesforce to look for trends and data points. After gathering the data, I put it all into a JMP data table and started building charts and graphs that will go into reports that I build. Here are some initial results showing whether customers with abandoned carts eventually ended up with JMP.
- Brad Norris (JMP Education): Continued work on a text-analysis project covering the last 5 years of data from the user-community discussions page. The analysis is starting to provide some encouraging results, so I'm excited about where it goes next. Besides the analysis project, I've also been finishing up some STiPS modules and researching potential implementations for a chat-bot within the community.
- Momena Monwar (SEs): Learned and practiced regression and workflow builder. Used my tensile and Raman spectroscopic data as practice data tables in JMP and learned how to analyze and represent it better. Attended customer training sessions (Hitachi, NVIDIA, Novoloop, Neumora Tx). Reviewed examples from Technical reference library, discussed search challenges and plans for future improvements. Working through STIPS and case studies. Co-hosted Getting Started with JMP webcast with Maanasa and assisted with Q&A.
- Irene Ji (DOE): Learned to use the XGBoost Add-in in JMP and explored the differences between JMP and Python outputs under the same hyperparameter settings. This is to prepare for the next step of our project: to generate case study data to test our methodology. I also watched intern training recordings on Source Control and R&D technical training, as I was not able to attend them last week.
- Sohail Lokhandwala (L10N): Worked on aggregating more statistics on the training dataset to better inform our model development decisions and resolved issues with conflicting translations and cleaning out HTML tags within translations. I am looking forward to beginning model training and testing next week!
- Anusha Bellapu (Life Sciences): This week has been great. I have learnt to run the unit tests on the studies that were assigned to me. All my team members were very patient and of a great help during my learning process.
- Michael Lee (Sales): Currently working on company investigations with the global premier team. I’m also working with the Southwest sales team to research opportunities for expansion through local biotech associations.
- Emily Cohen (Documentation): Working on creating short videos for 12 tips of the day to put into a slidedeck themed Working Smarter in JMP. The slidedeck is being created through reveal.js.
- Hayley Yaremych (Statistics): Continued my training on testing tools and conventions. I also started writing simple unit tests for the Response Screening platform with genomics data.
- Parker (JMP Live): Got to meet with some UI/UX team members for JMP Live testing and feedback.
Data Discovery
- Julian: Hired one new developer, Morgan Gribbins, starting June 16th. Search continues for the remaining open position. Working through issue backlog – apologies for all the Jira notifications! “First 5” work continues; team is exploring an enhancement to the home window to show common, quick actions that a new user may need to take, like making a new data table, opening a table of their own, opening sample data, etc. Received an overview of the community wish list Jira Triage Process from Product Management (thanks Sarah Sylvestre!) Discussions around implications for supporting Platform Templates on sub-objects (necessary in some cases, like distribution).
- Dave B: Added an option to iconStrCol to place the icons right next to the string (request from Laura Castro-Schilo), table display scrolling work, added a “minimize” option to text annotations
- Xan: 17.2 integrations. Jitter performance issue with missing values. Fix for one of my std::swap refactoring changes that Jacob thankfully found.
- Ernest: Platform templates work on MRJ list, save and configure UI. Icon for Header Stats. Tip of the Day->Quick Start in preferences.
- Dan S: Added Auto-Broadcast option for Group Platform. Continued work on Platform Templates.
DOE
- Brad: Presenting an Homage to Stu Hunter on the occasion of his 100th birthday at the USCOTS conference on Saturday. Speakers will be Dick DeVeaux, Roger Hoerl, Ron Snee, myself, and a cameo appearance on Zoom of Stu himself.
- Peng: Working on both fronts of JMP 18 development for DOE and Reliability. Working on a presentation for analyzing a large vibration time series data set. My commentary paper on “Specifying Prior Distributions in Reliability Applications” by Tian, Lewis-Beck, Niemi, Meeker, has got accepted by Applied Stochastic Models in Business and Industry. My commentary paper is under the title “Discussion of Specifying Prior Distributions in Reliability Applications — Applications for Bayesian Estimation Software Design.”
Host
- Paul N: Work on notarizing Python on MacOS for EA3. Updated zlib in JMP 18.0 and 17.2 due to security updates. Ran Blackduck scans on 17.2 which identified jars needing security updates - Bryan tested and pushed those updates. Removal of dependency on matplotlib. Python integration now requires only pandas and numpy packages for full functionality. Work on Python package installation - Russ had issues installing xgboost Python package. Pip install options for installing xgboost are different than those needed to install pyopencl. I’m doing further research on package installation and the python site environment.
- Michael H: Renamed “Import from OSIsoft PI Server” to “Import from PI Server”, since OSIsoft was acquired by another company (AVEVA) and we want to avoid naming any particular company in our user interface. Removed all references to OSIsoft. Continued work on our PI Server integration, implementing the new “Change Attributes” feature. Renamed “Tip of the Day” to “Quick Start” on Mac. Fixed Mac code signing and notarization for embedded Python. Pushed several Mac bug fixes to 17.2.
- John Schroedl: Worked with Dave Barbour on image test issues on AWS. New icons. Tree control multi-select fix. Vetting updated MSVC compiler – thanks to many devs for fixing warnings I’ve passed along. Finished Tip of the Day to Quick Start renaming.
Interactive HTML
- John Powell: Interviewed candidates for our open developer position. Met with Praveena, Justin C, and Michael G, to learn about the code used in Project Ruby to add support for more red triangle menu items for JMP reports on JMP Live. Submitted code for Cell Plot Box and enabled Dendrogram support in Interactive HTML - a collaborative effort with Paul Spychala (JMPHTML-1005).
- Praveena: Working on S1474357: add ability to change some basic options for a report. Investigated adoption of Vue & Vuetify on standalone HTML reports (created a prototype for changing the line color for legends ). Investigated the options for adding colorpicker for legend items for reports on JMP Live (discussed with Michael Goff, HTML report CSP settings and JMP Live CSP settings are different ). Discussed the option for input element vs Vue/Vueify colorpicker component with Bryan Fricke for UI . Started the analysis/work for enabling menu items on Distribution platform for reports published to JMP Live (met with John, Michael & Justin regarding this).
- Mike S: Continued working a bug (JMPHTML-1866) where axis date formats can differ between JMP and exported HTML. While the bug as described is fixed, the bug has turned out to be more extensive than the description so I’m continuing to work it to come up with a more complete solution.
- Paul Spychala: Working on Mosiac label performance [JMPHTML-2159] and label value formats [JMPHTML-2162] on JMPLIVE/HTML.
Statistics
- Elizabeth: Added R-side spatial structures for GLMMs (JMP-16802). Discussed starting value issues with those structures with Walt Stroup which highlighted the need to allow user specified starting values in Mixed & GLMM (previously requested in various forms, JMP-9795, JMP-9499). Began work on supporting multiple Ys using Fit Group in GLMM.
- John Sall: Knotted splines needed a fix when there was less than 15 rows and it disallowed splines (JMP-16713). Fit Least Squares needed a fix to continue to fit other responses if one response failed. (JMP-15412). Nonlinear needed a fix to allow it to proceed if rows changed the exclude attribute (JMP-15341).
- Laura Castro-Schilo: Working on an upcoming presentation at the Modern Modeling Methods conference in UConn about JMP’s SEM platform. Reading about causal graph models. Integrated a remaining bug fix for singularity details in SEM into 17.2.
Stat Documentation
- Karen: Made edits to close out some customer documentation questions and have started working on Workflow builder documentation updates.
Stat Testing
- Mark: Completing Jira tickets with Jacob as they become Test-Ready. Adding content to new JMP R&D site. Preparing for INFORMS QSR conference next week. Answer questions in JMP Community.
- Jacob: Adding more tests for the Analyze/Predict/Report tabs after using Load Design in Easy DOE. Updating Easy DOE unit tests for 17.2. Testing Make Validation Column. Preparing presentation for Informs QSR conference with Mark.
- Tonya: Testing short run control charts and working on beta reporting.
Product Management
- Bryan F: Created Figma design for a set of data table widgets for the Home window. The design was based on feedback from the First 5 working group. After reaching consensus on the design, created Jira items for implementation. Worked with Evan on padding and margins for the new sample index dialog. The intention is to use the result as a basis for a more general design style that can be used throughout JMP for better consistency. Working through Figma course from Udemy. Developed some design guidance for JMP Live permissions. Created icons for genetic marker relatedness and header statistics.
Technical Support
- Duane: For a short week, it sure has been long! TS has been working with Digital Operations to build a process for reporting our needs within Salesforce. Wendy is also working with Sharon Hamrick to develop processes for handling any blocked customer in the JMP Store due to our Restricted Party Screening. We continue to prepare for the SAS Customer Engagement Center to drop all JMP support. 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.
Development Operations
- Jim: Completed the notarization (thanks Michael and Paul) of the Mac JMP EA3 disk image files. Enabled the Subscription, Student Subscription, Trial and ProTrial builds of JMP 17.2 on WinOS and macOS. Reported assertion failures for the JMP 18 Debug unit test run. Continuing the migration of daily UT machines to AWS (thanks to Nick for the setClock scheduled task). Perforce support.
- Bob: EA 3 Macintosh installers completed and pushed out for JMP and JMP Clinical. Updated NIST test results from Michael Crotty pushed out. Torch addin from Russ pushed externally to EA page. Added Subscription, Trial, Student installers to the nightly process for Windows – 17.2. Changed Tip of the Day folder to be named Quick Start for version 18 Windows.
- Myron: Various JiraBot role updates (JMPTOOL-879, JMPTOOL-876, JMPTOOL-875, JMPTOOL-874, JMPTOOL-867). Final steps to move doc jobs off the MIF-PDF machine and onto a new machine in AWS (JMPTOOL-692). Started installing software for the AWS replacement for help-pdf-builds doc build machine (JMPTOOL-860).
- Melanie: Ran stringbot for Builtins 17.2. Set up for running JSL conflicts for 17.2 translations. Worked on script to better compare sample data translations to xlfs. Tested localization job running on AWS VM (part of AWS migration).
Documentation
- Susan C: Finished generating EN JMP Live help for 17.2. Finished version 2 draft of Quick Start content and sent for review. Verified Quick Start updates in build. Thanks, Nick, for fixing the issue! Working on HTML files for Quick Start content.
- Qiana: worked on Help Menu Simplification projects, began evaluating the removal of sample data tables with potentially sensitive content, and worked on a document retention proposal.
- Chris B: Reviewed PDFs for Help Menu changes. Working with our intern, Emily, on the tips and a review of Essential Graphing.
- Devon: Working on issues for the Using JMP documentation, including suggestions from Kyoko Takenaka and the JA localization team.
System/Host Testing-Cary
- Mandy: Worked on verifying Jira tickets and adding JSL tests. Answered a few TS tracks, reporting a bug in JMP 18 with wide transforms (JMP-16951). Worked on Header Stats and setting some prefs – found a few crashes that seem to be related to mystery crashes reported that we never could replicate. Ran Xcode and found the place in code where I can see a null pointer, I think (JMP-16885). Did installer testing for the Mac – found no issues. Now going through JMP 17.2 and verifying a number of JIRA tickets fixed this week. Finished up my workflows to be added to the Sample Workflows folder for 18, and passed that back to Qiana to push (JMP-16184 and JMP-16183).
- Audrey: EA3 Testing, ODBC testing, starting work on consolidating Jira labels, updates and testing for the SuperBaseline suite in the JSL test framework, and revived Hui’s Quick Publish to HTML add-in that I’ve found so useful in the past.
- Hunter: Completed JMP 17 EA 3 testing on Mac, several JIRA verifications primarily for JMP 17.2, responded to one JMP 18 EA 3 on Windows track, and setting up a 2018 Intel Mac mini in the lab for host testing with the upcoming MacOS beta release.
- Mike M: Worked through a couple EA tracks, opened Jira suggestion for Columns Viewer enhancement. Opened 2 more Jiras based on regressions caught by Sikuli tests. EA3 for Mac.
System/Host Testing-Beijing
- Beijing Team:
- Eric (Nai) Wang: (1) Working on AD group sync testing. Testing related GraphQL APIs and adding jest tests. (2) JMP 18 EA3 testing on Mac. (3) JMP 18 I18N testing Round 1. (4) JMP Clinical I18N testing Round2.
- Da Li: (1) Done feature testing for JMP-16445: PI Server Import: UI enhancements. (2) Done feature testing for JMP-16803: Update HDF5 library to 1.14.1 on Windows and Mac). (3) DONE JMP Desktop 18.0 EA3 testing on Mac. (4) Investigated TS 00042551 and created bug (JMP-16895: Help for MFI ImportCallback script is not enough). (5) JMP Desktop 18.0 I18N testing round 1. (6) Bug verification.
- Mike Wu: (1) JMP 18.0 EA 3 testing on Mac done. (2) JMP 18.0: I18N Testing Round 1. (3) Bug verification. (4) Technical support issues feedback on Case Number 00041322 and 00042548.
- Kimi (Yu) Wang: (1) JMP 18.0 I18N Testing Round 1. (2) JMP 18.0 EA3 Testing on Mac. (3) Bug verification. (4) Jenkins: Add 17.2/18.0 JMP Live Testing in Beijing, details refer to JMPTESTBJ-2243. Debug the failure of abort jobs on mac, updated perl file. Created a confluence page: Test Failures in Beijing Jenkins. (5) updated work records per Beijing team’s requirement.
- Da Zhang: (1) Write a script to create pseudo JMP Clincial automatically and write a confluence page How to do pseudo-localization for JMP Clinical. (2) JMP 18.0 I18N Testing Round 1. (3) JMP 18.0 EA3 Testing on Mac. (4) JMP Clinical I18N testing Round2. (5) Bug verification.
- Nala: (1) JMP 18 EA3 testing on Mac. (2) JMP 18 I18N testing Round 1. (3) JMP Clinical I18N testing Round2. (4) 1:1 conversation with Beijing team members. (5) Bug verification
Note from Shannon
Thanks to Anne Milley for sharing the following:
In a recent email exchange with longtime JMP user Dick De Veaux about a white paper he’s working on for us, he shared a picture from his 50th Princeton reunion when he saw Stu Hunter. Stu turns 100 this Saturday and Dick is giving a talk to honor him at the USCOTS conference this Saturday - as is JMP’s own Bradley Jones!