We are entering an exciting time for humanity and technology. The impact of tech on our lives has quickly grown beyond a single screen, and begun to fully integrate itself into every aspect of our daily lives. The invention of mobile devices has quickly expanded the accessibility of knowledge, our social network, and our personal data. In today’s age we interact with technology and digital applications from the minute we wake up and turn on our coffee machines to the moment we shut off our tvs to go to bed.
The programs that allow us to interact with technology on different devices are called applications. What exactly counts as an application? An application program (or app) is a "computer program designed to perform a group of coordinated functions, tasks, or activities for the benefit of the user." That is, applications provide an interface for users with which they can interact with technology in order to perform various tasks: email your friend, view your Facebook feed, brew a coffee, lock your house, drive your car… the possibilities and ‘applications’ are endless. Traditionally all of the computer applications that we use are native applications: applications which are built to run on a specific device or system. For instance, a program for: Windows desktop, a MAC laptop, an IPhone, an Android, or your coffee machine…
Native applications are applications built with "native code" that require minimal computations overhead or additional components in order to run on a system. That is, they are built with the core system language and require little additional libraries or frameworks in order to run. Navtive apps are:
- Reliable - You turn it on, and it always works. Even when there is little to no internet, the user can always use the application.
- Fast - Loading times are minimal, you can move from screen to screen quickly.
- Connected to the User - Users get instant notifications and reminders right on their device, you don’t have to open a program to see that you received an email. The notifications can’t be ignored, they must be physically dismissed to make the message go away.
Building a native application makes a lot of sense if you are building a functional set of tools for one device, for example, if you need to provide a way for users to control their coffee maker settings via the front display panel. But if you are building a modern application meant to reach users on their personal devices, native applications are beginning to make less and less sense.
What exactly is a “Progressive Web Application”? Progressive web applications or PWAs are web applications which meet a set of criteria which allows them to behave more like a native application. Progressive Web Apps are:
- Reliable - Load instantly and never show the downasaur, even in uncertain network conditions.
- Fast - Respond quickly to user interactions with silky smooth animations and no janky scrolling.
- Engaging - Feels like a natural app on the device, with an immersive user experience.
Dispelling the "App Myths"
There are a lot of myths currently about what mobile features a web app can access vs a native app. Many people believe that in order to use certain functionality, like GPS tracking, the application must be a native app.
This page shows what mobile hardware features are accessible from a Progressive Web App. Below is an image from September 2017:
Want more now? Download our PWA whitepaper and read about the application solution of the future.