Progressive Web Apps

It’s almost two years since I made the leap into mobile app development. Or so I thought at the time. My sense at the time was that with AIS, Oracle E1/JDE was ripe for mobile apps. The release of Angular 2 and Ionic 1 helped to convince me that the timing was right. An industry strength framework and a programming language that eased the transition for someone with a C/C++/C# background (to me JavaScript is just plain weird). And it didn’t hurt to have Google and Microsoft behind it – and it’s open source.

Few months ago I started to see PWA, or Progressive Web Apps floating around. With plenty still to learn, I didn’t pay too much attention to it until I got the idea of making item-availability a PWA.

item-availability-pwa

Like with everything I’ve learned in the last couple of years, you just Google a tutorial on it and off you go. So I’m not going to pretend to have mastered PWA’s, but I can see where this is going.

There are plenty of articles out there on what PWA is, but I like to describe it as; and this is likely to change, a resident web-app with its own start-up desktop icon. The difference from normal browser caching and desktop links is that the app controls it – not the browser.

One thing to note however is that this technology is so new that it’s not available in all modern browsers yet, with most notably Microsoft’s Edge announcing its availability later this year. Of particular interest is the fact that browser developers have come a long way since the browser wars. The contest for features has largely given way for collaboration and established the browser as the standard device-independent run-time.

So what does this mean? I believe that this qualifies as a revolution rather than just another evolutionary step. After having gone through the steps of natively build mobile apps from a common source with Ionic, I can see the benefit in replacing it with PWA’s. All devices run the same code, from desktops to tablets and phones. The only difference to cater for is the display dimensions. This also means that deployment is the same for all devices – no need for separate app stores. And as with normal web apps, updates are implied.

Just to clarify, I’m stating my believe in the context of ERP software, and specifically E1/JDE which is my expertises. What differentiates ERP software is the level it’s tailored to individual business needs and even individually within business. This tailoring, or customisation of a standard ERP software requires the business confidence in the quality and sustainability of the customisation. In other words, it hast be testable to meet the requirements and be maintainable for changes and software upgrades. And this is where Oracle’s E1/JDE mobile solutions have failed to deliver and resulted in lack of business confidence.

The development cycle to deliver a mobile app solution requires far more rigid process than a PWA. Even though a mobile app can be prototyped with frameworks like Ionic, its user acceptance testing must always be on the target device. A mobile app build and deployment might sound like a minor inconvenience, provided the right skills are available. But it should not be underestimated, particularly if specification are vague resulting in repeated build cycles.

The development cycle of a web app is much easier to manage and can benefit from the release early, release often philosophy. An early release means early evaluation. And an early evaluation means lower risk which should result in more confidence.

So in short, PWA’s promises to be the logical choice for most ERP mobile apps.

The latest item-availability is now published and here is a link on how to enable PWA install on Desktop Chrome. Chrome on tablets and mobile phones should automatically prompt to install the app or already have the menu option.