In my last post, I suggested to customers interested in running mobile apps for their LIMS, ELN or LES that they consider writing their own or having someone write one for them. I suggested writing them specifically for the devices that they will use. But some clever folks are still thinking they’re going to write one generic app that works for everything. They think if they do this that, if they switch devices, they can just swap the new devices in. Here are two more considerations.
1: Not Everything Works on Every Device
The simplest example of things that don’t work the same on each device are the cameras. Cameras sometimes need different code to control them on one device over another. In addition, some devices have both a front and back camera, where other devices only have one (or none).
2: Security
Security has different ramifications on different devices. It must be handled somewhat differently, as well.
Instead
Write a tight design document. That way, as each app is written, you have a strong description of what you need. Make sure you keep lists of the testing you did for the first one and that will help test the second one.
Also, develop an expertise in the tools that are specific to the device you will use or find someone in the community who has that skill. However, if you have not previously done software development or contracted out to have someone build an application for you, these are skills you need to build along with this and there will be a learning curve. So, think carefully before embarking on any of this. It’s not trivial.
Gloria Metrick
GeoMetrick Enterprises
http://www.GeoMetrick.com/
One development suggestion I have when it comes to making cross platform applications is to utilize the Responsive Design. Here is a summary: https://en.wikipedia.org/wiki/Responsive_web_design
Next, make sure you develop entirely in Javascript and utilize the api of the host system (LIMS, LIS, LES, ELN, EHR, ERP, etc.). If your host system does not have an api or applicable api, this is not really a problem. You can use a platform such as Dreamfactory (Free Open Source) to automatically build a data driven api that your javascript mobile app can consume.
Next, build your mobile app on an open source JAMstack https://jamstack.org/ framework such as GatsbyJS: https://www.gatsbyjs.org/
With all of this, you will find that you can build very rich Progressive Web Applications ( https://en.wikipedia.org/wiki/Progressive_Web_Apps ) that are indistinguishable from native apps and yet they are cross platform because JS runs on every single OS platform that is any sort of OS in the first place.