MESMER XML GUI (MXG) Development
Project Overview
MESMER chemistry software for gas reaction kinetics research wanted a new way to help users prepare input data for it and process output data from it. The software was to be open source, platform agnostic, based on standard and widely used technology, and be a replacement for an existing and limited way of doing this based on EXSLT.
Description
The project was undertaken in two phases in 2024: Phase 1 was from the end of January to the end of March; Phase 2 was around the International Gas Kinetics Symposium (GK24) in July. In total the project funded 45 days work for the Research Computing Team. The work was done in collaboration with MESMER developers and users based at the University.
Phase 1
A prototype Graphical User Interface (GUI) based on TypeScript was developed to read and present MESMER data and provide a way of generating new MESMER XML format data files. Once the basic prototype worked for the test file, development focused on features to save novice MESMER users time. Ways of adding data from spreadsheets were implemented and checks were added to ensure input values and defined units were sensible.
Phase 2
The code was refactored to make it easier to develop collaboratively and the development was named MXG. MXG was adapted to support users in creating MESMER input data from scratch. An alpha version of MXG was demonstrated at the poster session of GK24. Feedback from delegates at GK24 was generally positive. A beta version of MXG was released with MESMER Version 7.1 in December 2024.
Project team
MESMER development is led Struan Robertson of Dassault Systèmes. The MXG project was coordinated by Paul Seakins. As MESMER experts, Mark Blitz and Robin Shannon provided support, guidance and helped direct and focus development.
Patricia managed the project for the Research Computing Team. Nick provided technical guidance and code review in Phase 1. Andy developed the prototype, demonstrated progress at GK24 and helped deliver MXG as part of MESMER.
Technical details
MXG is deployed on GitHub Pages from where it can be installed as a Progressive Web App (PWA) using the latest versions of FireFox, Chrome, Safari and Edge. A PWA is a type of application software delivered via the Web and built using common Web technologies including HTML, CSS, JavaScript, and WebAssembly.
MXG is built, packaged and deployed using Node and Parcel. The main source code is TypeScript. There are also JSON configuration files and a Web Worker JavaScript file.
MXG uses 3DMol.js under a BSD-3-Clause licence to visualise molecules.
MXG uses Big.js under an MIT licence to handle decimal numbers.