Demystifying website/ web app/ PWA etc.
To help explain the differences between the terms, let’s start by looking at how the World Wide Web (WWW or just “the web”) evolved…
Initially the web was a place where you could read pages (documents) in your web browser and every page had a globally unique address. You could instantly move between them using hyperlinks — this is what people are referring to when they say, “Send me a link.” — making navigation between these pages very easy. A collection of such pages dedicated to a single purpose is called a website. A website is typically about/for a company/ a product/ a topic etc. and is made available at an easy-to-remember domain name (like google.com or medium.com etc.).
The World Wide Web made a lot of information very easily accessible on a global scale. Having found one good article in your favourite periodical (for example), you could then get to many other interesting and related pages simply by clicking on the links in that article.
People are smart. Somebody, somewhere realized that the universality of the web could be used to do more than just share information (which is what static pages did). They built websites that added functionality — like being able to read your email in a browser (e.g., Hotmail and GMail) or order products online (e.g., Amazon.com) — to simple web pages. Everything still worked inside your browser, but rather than just being able to read stuff, you could now do stuff. Websites that offered functionality came to be known as web apps (short for Web Application).
The application part of name web apps implies that they have some functionality (besides displaying some information)— just like applications installed on your computer (Word, Outlook etc.) offered functionality.
Web apps offered many advantages:
- They did not need to be installed (no need to clog-up your hard disk or drum your fingers on the table while you waited for that application to install).
- You were always using the “latest” version of a web app: no need to install updates.
- Could be used from anywhere: you could be at a friend’s house, yet be able to login and check your GMail account using their computer.
- Could be used on any device (so long as it supported a standards-compliant browser).
- All your settings and data went with you.
So web apps prospered.
Then came what I call the “modern smartphone revolution” with the launch of the original iPhone in 2007. Smartphones had existed before then, but the iPhone offered a quantum leap in usability (hence my use of “modern”). Other than a few built-in apps, initially 3rd parties could offer functionality on the iPhone only as web apps.
The launch of the iPhone Software Development Kit (SDK) on March 6, 2008 brought mobile (or “native”) apps to the iOS and with it, another revolution. Smartphones became our most-used devices that we just couldn’t stand to be without for even a few minutes. Mobile apps (or just “apps”) took over the world and became an essential part of our lives, whether you used an iOS or Android device.
In all this mad (dare I say “trendy”) rush towards native mobile apps, web apps seemed to have lost their importance and many predicted their eventual demise. It became trendy for companies to say they were “app-first” and then even “app-only”!
“Not so fast!” replied the proponents of the web. They pointed out that many of the advantages of web apps were still valid in this app-crazy world, and the universality of web apps just could not be beat! Irrespective of the device people used to access the web, the chances were very, very high that a properly designed and coded web app could work on it.
Installing a mobile app represents a small commitment: it’s going to use up space on one’s mobile device (represents inertia on the part of a user and a real-world concern for those using lower-spec devices) and having too many apps running simultaneously could make your smartphone a little bit slower (once again, this affects lower-powered devices much more). This often meant that users would install an app only after being convinced that they were interested in that company/ product/ service.
So where would a new user sample your wares before consuming it in your app? Why, your web app of course!
PWA (or Progressive Web App) to the rescue! The promise of the PWA — in short — is all the goodness of a web app coupled with all the awesomeness of a native (iOS or Android) app!
PWAs are essentially improved versions of web apps (inclusion of the term “web app” in PWA must have been a give-away!) that add on many of the capabilities that till recently were the exclusive preserve of a native app. These include:
- PWAs can be installed to your device’s home screen (even on iOS devices).
- PWAs can access the geo-location of the device.
- PWAs can cache some data locally and therefore can work even when the device is offline.
- The install size of a PWA is typically a few KBs versus a few MBs for a typical native app. This makes them very suitable for use on devices with lower hardware specifications.
- PWAs are universal: they can work on any device with a modern web browser
In addition to all this goodness, you never have to worry about having to keep your PWA updated: you’re always using the latest version!
- A collection of web pages available at a single domain (e.g., example.com) is called a website. Typically these pages are inter-linked & static in nature (i.e, once published their content doesn’t change very often).
- A web app is a specialized website with a substantial application-like functionality (e.g., GMail, Facebook.com etc.).
- A PWA is a specialized web app (or a super-spcialized website) that adds on many of the capabilities of a native mobile app.
Even more concisely, a web app is website+ and a PWA is a website++!!