As of August 2017, there are now more Internet users the world over who browse from the palm of their hand than from the comfort of a desk. In real numbers, that’s over 3.5 billion people who browse the internet from their phone or tablet every single day✝. So if you’re reading this, you’re probably one of them!
The booming popularity of mobile devices over the past decade is no secret, with mobile now making up over 52% of all internet usage✝. On the flip side, desktop browsing appears to be continuing on its steady decline. As a result, when designing and developing for today’s web, it is clear that priorities are shifting to focus on a website’s mobile experience, more so than the traditional desktop equivalent.
Working on mobile comes with a slew of particular design constraints. These new challenges are mostly due to the limitations of screen size on mobile devices; However, these constraints have led to the development of innovative and intuitive designs, in particular, in the form of mobile apps.
Apps rule the world of mobile
Since the start of the smartphone revolution, the mobile experience has centred almost entirely around cheap, compact and addictive little nuggets of functionality we call apps (applications, sans the formality). Apps rule the world of mobile, and in recent years the quality of mobile software has far surpassed many desktop equivalents by retaining the same high level of functionality and quality, but in an extremely simple and intuitive package.
Therefore, it is not surprising that 90% of time spent on mobile devices is now spent in native apps✝, and that’s a problem for the mobile web!
Native versus web apps
Native apps are what we all download when we visit our phone’s app store, and when compared to the mobile web, this local software has a definite advantage for many reasons.
Firstly, app code is generally written in the programming language of the host operating system, so for iOS, it’s either Swift or Objective C, and for Android, it’s Java (and soon Kotlin). The code for these apps runs ‘natively’ on the device’s processor, the app data is stored in internal memory, and the network is accessed only when external information needs to be retrieved. This all makes for a very smooth and reliable experience for users as there is usually very little network access required when compared to web apps, so the interface itself can stay put on the device.
For web-first projects, it’s not always possible to develop native apps for the slew of mobile platforms available today. As the bulk of development uses web-centric technologies, maintaining multiple code-bases for a single project can be cumbersome, time consuming, and in some cases, a complete waste of resources. The stakes are high for web apps!
So what is the aim here? To live up to the expectation users now have for high quality and functionality on mobile devices, web apps must match the same level of fluidity and reliability of native apps. The two need to be almost indistinguishable, giving developers the freedom to work with the stack they feel most comfortable with, without losing out on their potential audience. The stakes are high, and if your web app doesn’t perform like its native counterparts, users will just look elsewhere!
Introducing Progressive Web Apps (PWAs)
Native apps can naturally provide a great user experience, as the bulk of their inner workings are stored and processed locally. However, an app’s data can be harder to keep updated, and code can be cumbersome and expensive to maintain, especially for web-first projects with small development teams, which can all create friction when it comes to distribution.
This is where web apps come in, or should I say “Progressive Web Apps” or PWAs, a term coined only in recent years.
PWAs are the web’s answer to the native app. With the advent of HTML5, alongside huge innovation in new web technologies such as AngularJS, React and Node.js, progressive web apps are now incredibly close to being fully capable of replacing their native counterparts. Just as mobile devices drove innovation in mobile software, the high bar set by native apps is now driving technology forwards for the mobile web.
So what can the web do today?
As it turns out, there’s an app for that! https://whatwebcando.today is a great developer resource for deciding on whether or not PWAs are a good choice for your web-first project. At the time of writing, available functionality is already 80% that of native apps, with all but only the most advanced native features now available for use on the web.
If you don’t have the resources to maintain native apps for Android + iOS + a full web presence, choosing to build a PWA first is likely a no-brainer. As long as you don’t require any Android or iOS-specific features in the near future, a PWA is almost always the way to go.
Thinking of taking your mobile offer even further and entering the world of apps? Get in touch to discuss your mobile options.