Talking about PWAs (and getting sidetracked talking about apps)

I’m planning a conversation with a partner (public webinar) about PWAs and Magento in January.

Progressive Web Applications (PWA) have been a hot topic in eCommerce since at least 2017 or thereabouts. Google started promoting it as a standard because it potentially solves a major pair of problems associated with mobile apps – complexity and cost.

I was working with an agency in 2015, and we were housed in a business incubator of sorts (the “of sorts” qualification is a story unto itself, but I’ll save it for another day, and probably another place). We were really just using the place as an office, but we and the insurance agent were the only two businesses actually turning out a product. Everyone else appeared to be a startup with an idea for an app.

So because we were vaguely understood as “software people” (we were actually a Magento development agency), we listened to a lot of people pitch app ideas, and we tried to help some of them.

I believe a lot of business professors were discussing apps as a “next big thing,” and so this was the hammer, currently in vogue, which made everything look like a nail. Rather than begin with an idea of value, and recognizing that an app is just a tool, they came in the door with the idea to “create an app,” and then searched for a problem which could be solved with an app.

All too often sentences like “It’s like Uber but for _____” were uttered in apparent earnestness. A word of advice: If you find yourself comparing your idea with an existing product, you should think very hard about whether or not your idea solves a major problem the existing product both doesn’t, in a way that they can’t. Much as we love to hate Facebook, if your idea is to have “Facebook, but for ________,” seriously consider why whatever fills in that blank can’t just use Facebook.

Building apps kind of sucks if you have an actual business to run

There are two main platforms a mobile app can run on – Apple’s iOS and iPadOs. And no, those two are not the same thing. So maybe 2 and a 1/2? The other main platform is Android, of which there are a few varieties extant. It runs on a variety of hardware, so much as a Windows machine could be anything from a cigar box to a gaming system, an Android device can be – you name it. Both Apple and Android have stores you have to download apps from, and Apple’s in particular is pretty restrictive. Did I mention that if you sell something via an app on Apple you have to give them money?

So development overhead in addition to maintaining your website can get pretty sporty. Users get frustrated if you build a MVP kind of app and then send them to the website for things than if you didn’t have an app at all, after you suggested they download your app (I for one hate downloading apps, unless I know I’ll use it all the time). For example, if your app supports purchases but returns require a trip to the website. And, as mentioned, if you’re selling something on a subscription model, you might get to send Tim Cook 15-30% of the take.

A PWA can help avoid the need to create an app

If you build your site with PWA in mind, and with a mobile-first mindset, you should be able to avoid the need to build a traditional app. PWA architecture allows you to get the resources you need from your business systems (in most situations I see, the eCommerce software, such as Magento, is the primary hub, but this could also include ERPs, PIMs, etc.), and deliver those resources to the front end so the user can make use of them.

Why not just “build a mobile site?”

  • True PWAs can be installed on the device via the browser (you should make that optional to avoid irritating users), and can therefore store content offline (convenient if at least some of your functionality can be delivered without a connection).
  • True PWAs can make use of services on the device, such as the camera, microphone, GPS, etc. (of course, permission to use these services should be obtained). This allows you to get your user to read a barcode, for example, or overlay a product on a user-supplied photo or video view.