Often my blog posts are inspired by questions from clients. Each time this question comes up, it always triggers health debate Do I build a native applications or a web application.
A native app is an app you download from an “ app store” and install on your local device, a web app is content or an application you run through a browser.
Which one is better? Should I build a native app or a mobile Web App? and What’s the future of mobile applications?
Usually the discussion revolves around mobile, but this isn’t just a mobile debate. For the last few years Google and Microsoft have been battling out the same issue on the desktop. Will native applications be the future or will web applications like Google Docs, own the desktop?
So which one is better for mobile. . .?
Which one is better is really a UX question. You want to embrace whichever solution will get you closest to the desired results. What features functionality and type of user experience you need will determine which model you embrace. Many scenarios might call for both models with core content coming from the same source.
As for the what’s the future, the jury is still out . . . but I envision the margin between the two models shrinking significantly over the next year.
A group from Walmart Labs spoke a few weeks ago at Mobile Portland, Portland’s version of Mobile Monday. meeting. They clearly believed that the future was native apps. The main reason being that apps have better access to the device’s hardware and OS and can integrate things like a camera, audio alerts, the GPS, etc. Opponents will argue that a mobile web solution built on html 5 is easier to manage, maintain, is almost universally accessible.
Personally, I think you’ll see the two continue to merge. Inherently a native app gives you more control of the hardware, but as we’ve seen with Google Docs, you can still do a lot on the Web. If The biggest hurdle to mobile web is the security layer. You don’t want a random Website being able to take over your phone. With the current native app store model, before you download the app, you are shown what access the app will need and grant it permission for that access. Until something like that is in place for the mobile Web, the mobile Web will always have limitations.
A quick overview of some pros & cons:
|Can access the hardware layer for using things like cameras.||Limited access to the hardware layer and limited ability to interact with other applications.|
|Users must actively install the app.||App is on demand through the browser.|
|Users must manually update or enable automatic updates. Developers need to limit updates. Users often on different versions||App / content is always up to date. Developers can update as frequently as they want.|
|Some functionality may be available when offline.||No offline functionality.|
|Must build custom version for each OS.||One version for everything.|
|Very difficult to optimize for different flavors of OS, different configurations and different screen sizes.||Primary consideration is screen size. Easier to optimize for multiple display sizes.|
|Can use toasts and alerts to draw user attention. Tile/icon also helps remind users it’s there.||Must rely on things like email alerts, texts, etc. to draw attention to the app.|
One thing to consider when attempting any mobile endeavor is to consider a mobile first strategy. Often when faced with a project or program that has a desktop Web and mobile touch points, the desktop solution is built first and mobile becomes an afterthought. If mobile is truly important, consider starting with mobile and designing the mobile experience and solution first then taking that mobile experience and expanding it for the desktop rather than trying to force a down-level experience on a mobile device.