At the start of an engagement, we spend time discussing goals with our clients and documenting what a successful project will look like. During these discussions, we often hear goals related to increasing access to content and user engagement. This helps us define a key element of our digital strategy: is an app right for your organization?
Websites vs. applications
The answer to that question raises another: what’s the difference between a website and an application or app? Both deliver digital content like text, images, and video to mobile and desktop devices, but apps do so much more interactively and are built to encourage user engagement. For example, a website might be an organization’s public-facing informational experience where users can browse and read press releases, white papers, or view more evergreen content about the organization’s mission and impact, but their engagement with the site may stop there. That same organization might have an app that allows users to take specific actions such as sign up for an event or manage their interactions with the organization. Apps allow for deeper engagement through completely specific tasks. They can be standalone and are typically focused on supporting users in accomplishing one or a handful of tasks.
Types of apps
There are two main categories of apps: native and web.
Native apps are software that users download onto their devices, generally through the Apple Store or Google Play. They offer a standalone experience, and they have access to other features of your device (with your permission). An app may have access to your phone or tablet’s camera, can often read or write to your file system, and might have access to your calendar app to send you alerts or notifications. Native apps are developed separately from a website and have their own code base and content, though they may access content from a website if there is data available via an API.
Web apps load in web browsers, so they are generally more accessible to users because they don’t require software to be downloaded and installed on a user’s device and take up precious storage space. Web apps can be part of a website and share its content and code base, which lowers development and maintenance costs. Because traditional web apps are accessible through the browser, they depend on a network connection to function properly and require a user to go to a URL within their device’s browser application.
There’s a new generation of web apps called progressive web apps (PWAs), which are a hybrid between traditional and native apps, so they offer the benefits of both. They make use of capabilities like push notifications and geolocation that are supported by modern browsers and are optimized to be quick. PWAs can work offline or on spotty network connections and users can install them on their devices so they run in a standalone window and are accessible via homescreens or docks. PWAs are lightweight, so once installed, they generally take less storage space than a native app.
How PWAs work
- Interacting with browser’s Cache API so that assets can be cached for better performance, stored on the device so the app is still accessible offline, or alert users when they are viewing stale content and offer to update with a fresh copy. This happens asynchronously, so it feels seamless and unobtrusive to users.
- Interacting with other browser APIs like push notifications and geolocation services to better engage users. Browsers may in the future offer additional APIs to service workers that further extend PWA capabilities.
- Allowing the PWA to be installed on a device so users have easy access to it outside of a browser tab.
Most modern browsers support service workers. The PWA files are hosted along with a website or application and can be focused in scope even if they are part of a website that has a lot of content and functionality. For example, a museum website may include general information about exhibits, history, and directions, while a PWA might offer users an interactive tour through a popular collection.
How they are built
There are a number of open-source frameworks, libraries and tools available for building PWAs, and they include support for cache management, background synchronization, and creating offline experiences, including collecting Google Analytics offline. This allows developers to build feature-rich, engaging applications relatively quickly.