Way back on January 9th, 2007, Steve Jobs released the original iPhone. At the time, the only apps on the iPhone were the ones that came pre-installed (think stocks, calculator and YouTube). There were so few apps, they didn’t even fill up the home screen! Apple didn’t provide the ability to create or install any add-on apps. Instead, developers were urged to create web apps that users would access through the built-in Safari web browser.
Facing backlash from developers, particularly in light of a community of hackers that figured out how to crack the iPhone’s code and build their own apps, Apple came around and embraced native apps.
Apple’s App Store is flooded with over one million iPhone and iPad apps. The apps available in Apple’s App Store, the Google Play marketplace, and Microsoft’s Windows Phone Marketplace are all “native” apps, in that developers built them using technology and code largely proprietary to those platforms. An app built for the iPhone has to be almost entirely re-coded if it’s to work on a device running Google’s Android operating system (a bit like translating a book from one language to another).
Then, there are web apps.
Intro to Web Apps
Web apps are built in standards-based technologies such as HTML5, CSS3 and other modern web tech. Without any special translations, conversions or re-programming, a web app can run on pretty much any platform with a modern, standards-compliant web browser. Once a web app is launched, users on iPhones, iPads, Android phones, the Kindle Fire and Windows Phones can all access the same app and run it just as well as on any other platform.
Native apps only work on the one platform they were built for, plus they take longer and cost more to build than a web app. Why then, would anyone bother building native? Current technology makes native apps a superior experience — but this is the case only for as long as we’re stuck with current technology. A few advances here and there, and pretty soon native apps will go the way of desktop apps (i.e. there are still a few around but most users spend most of their time in the browser). A few elements explain why native won’t rule the app roost in the future.
Native apps tend to have a smoother look and feel, more polish. Native apps are able to leverage elements of their native operating system so they feel more deeply integrated into the phone. When it comes to aesthetics and overall user experience, native has traditionally had an advantage, but web is catching up fast.
The web has come a long way from the days of scrolling marquee. It’s only a matter of time before the technologies behind web apps are able to compete directly with the aesthetic capabilities of native apps.
And as for having to download more data than native apps: In the future, battery life and mobile connections will be fast enough that it won’t matter. 4G download speeds are actually faster than the average U.S. broadband connection, and when was the last time you worried about the size of a website loading on your desktop?
Native apps are easy to find and install. The Apple App Store, Google Play, etc. are great places to browse for and download apps. The hard part of building a successful app store is creating a robust developer community willing to devote the time, effort and money to build lots of great apps that users want to use. That’s a tall order, and is probably the biggest part of why Microsoft is struggling to gain traction with Windows Phone.
One caveat to this whole web app thing is competition. Apple, Google and even Microsoft must be particularly content with the great control and influence they wield by controlling distribution for their platforms via app stores and marketplaces. As web apps pick up steam and begin to threaten mobile apps, it’s likely that current stakeholders will push back against anything that devalues their native app stores. Fortunately for consumers, there’s probably not a whole lot anyone can do to stop the impending march of web apps. Robust web browsers being baked into the OS aren’t going anywhere.
With web apps, there’s no need to convince developers to create software for a specific platform. Instead, apps created for users on the most popular platforms will also work for users on the least popular platforms, assuming that platform has a decent web browser. In the future, app stores can be created by independent retailers rather than operating system creators. Directory sites such as BestVendor and Listio might grow to rival Apple’s App Store.
Build Time and Cost
A typical native app takes a bit longer to build than an equivalent web app would, but as developer tools and education improve, that will likely change. And as more developers become versed in the development languages and technologies used to create native apps, overall app development costs will fall.
But one thing that likely won’t change in the world of native apps is that building for multiple platforms and devices is expensive. Adding iPad compatibility when building an iPhone app can add up to 50% to the development costs of a project. When rumors began swirling that Apple might release an iPad Mini, we wondered, who has the budget to build for all these screen sizes?
Web apps will work on devices across a range of sizes by being adaptive and responsive.
This is an area where web apps already trump native. Much to the chagrin of developers, typical mobile users update their apps very infrequently. That means the user base for a particular native app is spread across multiple versions. A friend recently exclaimed his surprise that Instagram wasn’t working properly on his iPhone. It turns out he hadn’t updated the app in a while and was using an unsupported old version.
Having an out-of-date web app is virtually impossible. Think about loading a website. Each time a visitor loads a site, he or she is loading the latest version off the server. When Google updates the logo on their homepage, seeing it doesn’t require users to go and download an update to Google — the mere action of visiting the site means the user is viewing the latest version.
Web apps mean that users will never have to worry about updates.
One of the things that make native apps so delightful to use is their ability to leverage the phone’s hardware so seamlessly. Think about all the great apps that use your phone’s accelerometer (Nike+), GPS (Foursquare) or camera (Instagram). Of those three, web apps can only access GPS and even then, only in a limited capacity. Yes, that’s right — web apps can’t even use your phone’s camera or access photos you’ve already taken.
There’s no standard way for web apps to access hardware on mobile devices, but that’s relatively easy to change in future updates. One issue to overcome is potential security concerns, but probably the biggest hurdle is a lack of cooperation from entrenched interests that would prefer to keep a native app monopoly in place. Nonetheless, competitive pressures in the app and phone OS space will eventually force devices to become more open.