What Is A Progressive Web App?

How does progressive web app work?

A progressive web App is a web site that runs in a web browser but provides an experience to the visitor that is more like a familiar mobile App (like the ones that run on your iPhone, iPad or Android phone). Progressive web portal development allows for a much easier delivery of digital experiences via a single progressive solution.

Why would I want a progressive web App?

If you want to deliver a service over the Internet to your customers or build an internal system for your colleagues, then a progressive web App could be for you. It could be that you want to build a portal for HR, or it could be that you want to provide your customer business services to your customers online.

You could build a normal website to deliver the service, but increasingly, people are becoming very used to the great experience that they via Apps on their mobile devices. The days of poorly constructed websites with difficult user experiences are increasingly a thing of the past. Equally, standard websites are not entirely compatible with mobile devices. The user interface of a standard website does not scale well to smaller mobile devices, furthermore, internet connections on mobile devices can be erratic and slow on standard web sites too.

Progressive web Apps seek to deal with these challenges by providing a responsive user experience where the App’s user interface scales elegantly and seamlessly to devices of all sizes. Progressive web Apps also provide some offline functions (and other technical mechanisms) to deal with poor Internet connections and ensure that the user always has a good experience when using the App.

web-portal-development

Progressive web App or mobile App?

You might also be considering building your service as a mobile App for iOS and / or Android, rather than as a progressive web App. When considering a mobile App, you will want to make full use of a device’s capability (e.g. video camera, scanning bar codes, accelerometer, fingerprint scanner, NFC, Bluetooth etc). You should also consider a mobile App if you want to have users install your App in a familiar way via the Google Play Store/App Store. You can also easily sell your mobile App through an App Store and revenue share with Apple or Google too.

However, you may want to create a progressive web App for other reasons:

  • You can’t or don’t want to sell your App on Apple or Google’s store.
  • You may have an idea for an App that is not suited or permitted to the App store.
  • You may be creating an app for internal use at your company.
  • You may not want to share 30% of your revenue with Google and Apple!

Additionally, your progressive web app will work through a standard web browser on a Windows computer, Apple Mac, Linux computer, iPhone, iPad, Android phone or tablet or any other device running a modern web browser! This gives your progressive web app much better coverage in terms of the number of devices it can be accessed from.

A progressive web App also ensures that you only have to maintain a single App rather than looking after two Apps (for Android and iOS). In addition, your users can also install your App on a computer and it will feel just like a native App! You should also note that web stores are on the increase for progressive web apps, such as Microsoft’s own store.

web-application-development-company

What technical stuff do I need to know?

Progressive web Apps are evolving on a daily basis, so this is the current state of play:

1. What browsers support progressive web Apps?

Generally, progressive web Apps work on all (reasonably modern) browsers, with the more recent browsers having a progressively better experience for the users than older browsers. This means that users with the latest browsers will get the best experience. Similarly, the App should be responsive, which means that the user experience will fit on a device of any size (including devices without screens). The user experience should also be a familiar, App-like experience. This means that things such as horizontal scrolling, tree views etc, are probably not going to be common in a progressive web App.

2. Can progressive web Apps work offline?

Progressive web Apps work on devices with poor/no Internet connections, although functionality will usually be significantly improved on devices with an Internet connection. For example, you could create an email program as a progressive web App, which may work reasonably well for reading email offline, but with no Internet connection, it won’t send any email!

3. What is a service worker?

Progressive web Apps are kept up to date by a piece of magic known as a “service-worker”. This is a technical name for a piece of software that will run in the background without any user intervention required) and keep your app up to date with the latest version. The user won’t need to manually think about downloading uploads or installing service packs or any other tedious administrative tasks. They will always have the latest version of your app without having to think about it.

web-application-development

4. Accessibility

You can provide your app in a web store, but you can also take advantage of some standard technologies and easily make your App discoverable by users via techniques such as W3C manifests and service worker registrations. As time goes on, more and more search engines capabilities for finding progressive web Apps will evolve and become available. You should also be able to give user’s a simple URL (e.g. via email) so that they can find and install your App. Similar technology allows users to install your App in their web browser, or as a native App in your operating system. This makes your App convenient to access from the user’s browser or their normal computer desktop.

5. Installation

Methods of installation vary between browsers and operating systems with Chrome allowing users to install apps from any web site, but Microsoft Edge requiring users to install from Microsoft’s own App Store. Once installed, you can improve user engagement with your progressive web App by using modern built-in browser features such as push notifications (just like the ones you get on your phone!).

If you think you may require a web application development company and are interested in having a progressive web App developed by McKenna Consultants, please fill in the contact form at the bottom of this page. We specialise in progressive web portal development and would be happy to discuss any of the points raised in this blog, please contact us with any queries you may have.

Nick McKenna
Since 2004, Nick McKenna, BSc, MBCS Biography has been the CEO of McKenna Consultants. McKenna Consultants is a bespoke software development based in North Yorkshire, specialising in Cloud development, mobile App development, progressive web App development, systems integration and the Internet of Things development. Nick also holds a First Class Degree in Computer Science (BSc) and wrote his first computer program at the age of nine, on a BBC Micro Model B computer. For the last 21 years, Nick has been a professional computer programmer and software architecture. Nick’s technical expertise includes; Net Core, C#, Microsoft Azure, Asp.Net, RESTful web services, eProcurement, Swift, iOS mobile development, Java, Android mobile development, C++, Internet Of Things and more. In addition, Nick is experienced in Agile coaching, training and consultancy, applying modern Agile management techniques to marketing and running McKenna Consultants, as well as the development of software for clients. Nick is a Certified Enterprise Coach (Scrum Alliance), SAFe Program Consultant (SAI), Certified LeSS Practitioner (LeSS) and Certified Scrum@Scale Practitioner. Outside the office, Nick is a professional scuba diver and he holds the rank of Black Belt 5th Dan in Karate.