We’re often asked about the relative merits of building a native mobile app versus spending the energy on a mobile-specific version of a web site. This question is most relevant when the content of the app is similar to an existing web site, but the situation comes up often.
The case for native apps
We find that iOS remains the dominant app market, so some of these points are specific to that platform.
- Idiom – The difference between a native app and a mobile-optimized web experience can be closer than they used to be (Facebook is a good example of this), but it will always be hard to replicate truly idiomatic device-specific experiences smoothly with a browser. These differences can be very subtle, but they can be critical to how often people will want to use the application, how they will feel while using the application, and what they can accomplish with the application.
- Intimacy – The Web is a big place, and the web browser is a generic tool that people use for all aspects of their online lives. Our phones are intimate. They go everywhere with us every day. The apps we have on our phones are part of that intimacy; they are a set of symbols that represent our interests, chosen specifically and intentionally. Once your app is on the phone it becomes, in a small way, part of someone’s identity. A website, however beautiful on the phone, doesn’t have that kind of relationship.
- Push Notifications – Push notifications give your communications an immediacy and urgency – this can be easily abused, but a web site will never be able to create that kind of intimate call to action.
- Badges – The little red numbers that appear in the corner of an app’s icon when something new is available – these are really a sub-type of push notification, but the experience is different enough that it’s worth thinking of them as separate tools. Badges provide a gentle way to urge your users back into the app.
- “Home Screen” Exposure – When your brand identity is on the home screen day after day it’s a constant reminder that you exist. Sure, it’s possible for someone to add an icon representing your web site to their home screen, but that’s relatively rare behavior.
- Connectivity – Local storage has made it feasible to use a web app when the network is not available, but most web apps will require network access. Network coverage is improving, but anyone who uses a mobile device still regularly encounters dead zones. Network connectivity may still be essential even with a native app, but you have more and better options for ways to cache data that needs to be downloaded or uploaded and react when the network becomes available again.
The case for mobile-optimized sites
For the sake of discussion we assume “web” in this context means the kind of browsing experience you get on iOS and modern Android devices (as opposed to trying to build for the “browser” on, say, older Blackberry devices – a task we would not wish on our worst enemies).
- Cross-Platform Support – As Android continues to gain market share it’s no longer enough to assume iOS is the only game in town for native apps. While iOS remains dominant in terms of actual humans actually using apps, if you want to reach a broad audience you need to target more than just iPhones and iPads, and the web is one of the best ways to do that.
- Avoid App Stores – With web apps you don’t need approval from Apple to roll out a new version of your app, nor do you need to worry about whether people are bothering to upgrade to the latest version. When you deploy a new version you control when that happens and who sees it. This can reduce a lot of headaches in both timing and support.
- Talent Leverage – Developing native mobile apps remains an art different from creating web applications. If your business requires both, that means figuring out ways to get your software built with two different teams. While mobile-specific web apps have some eccentricities that are different from “regular” web apps, the skills to build them are not appreciably different. That said, our experience is that most teams still need to expand resources when they get serious about mobile web experiences.
- Total Cost of Ownership – In many cases a mobile web app can take advantage of existing code and process for your web app more easily than a native app. As you optimize for life with both a mobile and desktop web app you can build your development and business practices to minimize the distance between the two. For instance, a first version of a mobile web app might be as simple as conditionally loadings a stylesheet (if you’re lucky enough to have a well structured web app in the first place), which is certainly going to be cheaper than building out a satisfying native app. You risk getting what you pay for in this case, but at least you can try out a mobile experience much more easily on the web. That said, if you look at sophisticated mobile-specific web apps it’s likely they require similar resource levels as native apps to create and maintain.
Choosing whether to develop a native app or a mobile-optimized site is further complicated by the evolution of cross-platform tools such as PhoneGap, Titanium, and Trigger.io which allow the use of web technologies inside a native app wrapper. There is relative paucity of high-quality consumer apps built on these platforms, but the rising popularity of Android is forcing more difficult choices about which ecosystem(s) to target, so expect such tools to continue to mature and multiply.