Top Questions to Ask Before Developing an App

Progressive Web Apps (PWA) are defined by their fast load times, high offline performance and the ability to send users push notifications. The experience offered feels native, yet it is built and delivered via web technologies.

As such, they’re becoming increasingly popular with businesses who would have previously considered the question, “Native vs web app?” and settled on a native approach.

Before you build another native app, ask yourself these six questions.

#1: What Content Can Be Served as a PWA?

Any web content, static or nonstatic can also be built as a Progressive Web App. Angular and Polymer can both be used to build PWAs. Progressive Web Apps are responsive by default, enabling them to offer a comparable experience regardless of screen size.

Progressive Web Apps are progressively-enhanced websites that function with applike behavior. Content that would be served through a native app can also be served through a PWA. Though, in the next five years software and browser compatibility will serve to limit how PWAs can be used. While users accessing a PWA with Chrome for Android will have the benefit of full functionality, users accessing through iOS Safari will be more limited.

#2: How Much Time Do You Have to Build Your Solution?

Considering a native vs web app? Account for your optimum time-to-market. Progressive Web Apps are faster and more economical to build compared to native solutions. Businesses building a solution delivered via native technology must create and maintain multiple codebases. Teams building their solution as a PWA can maximize the advantage of massive code reuse, because the solution is built with web technologies.

For businesses looking to test a concept before building a series of native applications, PWAs offer an economical option to introduce in the market and observe user behavior, that is, if native
apps are a requirement.

#3: How Would You Like Users to Access Your App?

Native apps aren’t the only solution that can be accessed via a user’s homescreen. Progressive Apps can too. Thanks to the creation of the Web App Manifest, users can skip some of the hassle associated with accessing and downloading an app through a specific marketplace. The Web App Manifest is responsible for our ability to access a PWA like an app while still delivering the content through web technologies. In short, the Web App Manifest plays a major role increasing the amount of richness users expect from the web. Through the Manifest, developers can set a splash screen users will see while the content is queried and loaded.

While the terminology “adding to the homescreen” was enabled by Apple technology, the Web App Manifest doesn’t currently function on iOS. Developers building for the platform must use an outdated spec, the App Cache Manifest. It doesn’t provide the same level of control over the caching of resources compared to the Web App Manifest. Developers working with iOS also have no control over the icon or splash screen.

Even more options are afforded to users accessing a PWA from an Android device. Once the page has been visited at least two times in a Chrome browser, it will prompt the user to bookmark it, thereby “installing” it on his/her device. Added in this way, Android users no longer see a URL bar at the top of the screen. This creates the feeling of a more native experience.

#4: Is Offline Functionality Necessary for Your Users?

Like native apps, Progressive Web Apps offer robust offline functionality. Depending on the user needs, the entire application or sections can be made available offline. The Service Worker is responsible for serving out cached assets or calling back to the web to update them if online. Before the advent of the Service Worker, static JavaScript, styles and images could be cached. Now, requests for data can be similarly stored, enabling the app to update when connected to the internet.

Progressive Web Apps are also optimized for lower bandwidth speeds. This makes them an especially attractive choice for teams building a technology to serve an emerging market or in areas with inconsistent accessibility to the cellular data network. Take for instance riding on a rural bus or taking the subway. Content delivered via a PWA could offer users a faster, more reliable experience due to the ability to serve cached assets in use cases where reception is variable.

#5: How Do Progressive Web Apps Provide More Control to Development Teams?

Focusing the Experience

Project teams building a PWA can focus the experience for users accessing content via mobile. Teams can opt to deliver the entire experience or serve a portion of it to direct users toward specific outcomes.

Thus, a business could allow for a broader desktop experience and limit interactions in the mobile experience, if advantageous. For retailers, the ability to focus content can remove noise from the mobile experience and quickly drive users from discovery to purchase.

Bypassing the Marketplace

Teams building a Progressive Web App no longer need to wait for the solution to be accepted by the Google Play and/or Apple Stores. Removing this barrier speeds the process to create a PWA or gives your PWA exposure even if rejected from the app marketplace.

Increasing Design Flexibility

Design boundaries are another component for discussion between teams wrestling with a native vs web app decision. Because content is delivered via the web, design teams creating experiences for Progressive Web Apps can move beyond the boundaries set by iOS and Material Design, should they choose.

#6: Does the Process to Build a PWA Differ?

Teams building a Progressive Web App must understand how it changes the refresh model.
When a user selects the refresh button in a web experience, the latest version of the content loads. Depending on how the Service Worker is built, PWAs offer options. A PWA can be built to update the cache on the first refresh and render the content. In some cases, the PWA must be closed and reopened to see the most up-to-date version. The Service Worker can also send a push notification when the app receives fresh content. This “web app wakeup” also serves to update the data.

Innovate with us. Click here to access all of our free resources.
Authored by
Emily Genco.