By John Gruber
Instabug: Application Performance Monitoring Built for Mobile Apps
Michael Copeland, two weeks ago writing for Wired:
Marc Andreessen has a thought exercise for you.
Let’s say we all grew up in tech world where we only used tablets and smartphones. Then one day, someone comes up to you with a 27-inch display hooked up to a notebook. You could have everything you have on your tablets and smartphones, and then some. Except you don’t have to download anything or update it. Everything is the latest and greatest, and just one click away. If you are a software developer, there are no gatekeepers telling you if your latest creation is approved, or when you can add the latest flourish.
“We would be like, wow, that’s great,” Andreessen says from his office at venture capital firm Andreessen Horowitz. “It’s why in the long run the mobile web is going to dominate native apps, and for the same reason that on the desktop the web dominates apps. When the web works for something, it works way better in a whole lot of ways than a downloadable app.”
There’s some conflation here between two different debates. The first is desktop vs. mobile computing — Mac OS X and Windows vs. iOS and Android. Trucks vs. cars, to reuse Steve Jobs’s analogy.
The other is native apps vs. web apps, where by web apps I mean apps that run in a web browser tab. These are separate debates for the obvious reason that you can choose between either type of app (native or web) on either type of computer (desktop or mobile).
The growth in desktop computers is over, and it’s never coming back. Some people, but only a few, who grow up driving cars are ever going to decide they actually need a truck. Tablets and smartphones are already consuming all of the growth in personal computing, and it’s only going to accelerate as the hardware and software begin to mature. iPads and iPhones are adolescent, at best.
Andreessen does have a solid point in the fact that app stores are in some ways a pain in the ass — particularly Apple’s App Store, with its deliberative and at times opaque approval process. But app stores are mostly only a pain in the ass for developers, not users. Installing and especially updating apps through app stores is obvious and easy for all of the modern mobile platforms. And even for developers, there are aspects that are superior. With paid apps, for example, the apps store model is a win. The user taps a “Buy” button and enters their password, and boom, they’ve bought the app. Web apps can’t do that. (Paid apps are not of much interest to venture capitalists such as Andreessen.)
There is a trust factor at play: having no gatekeeper is a good thing for developers in terms of convenience, but not necessarily for users in terms of security, privacy, and system stability. The same gatekeeper annoying developers with an approval process is the trusted source telling users, This app is OK, no harm will come to you from installing it.
iOS has proven that user experience matters, not merely among a picky few but in the mass market. The quality of the user experience isn’t always primary, but it can be, and when it is, native still wins every time.
Today, in 2013, even the best-crafted mobile web apps come nowhere near the quality of experience of the best native apps. In fact, with but a few exceptions, the best mobile web apps today still don’t approach the quality of the first batch of native iPhone apps from 2007.1
Facebook, bless them, has it right. What’s great about the web is ubiquitous network availability, not running within a browser tab. Websites are just services, and what you see in a browser tab is merely one possible interface to that service. The best possible interface to that service is often, if not usually, going to be a native app, not a web app.
Andreessen has been singing this same song since the ’90s, when he was leading Netscape. But web apps today are no closer to obviating native apps on mobile devices than they are on the desktop, where we’ve been using and developing them since Bill Clinton was president of the United States.
There are no absolutes in either of these arguments. No one is arguing that desktop computers are obsolete or will be any time soon. Nor is anyone arguing that all apps should be native.
Web apps absolutely have their place. I use several, daily. I’ve even made a few. But most of the ones I use, I do so because they have no native app counterpart, and I wish they did, so that I could use the native app instead.2
The dynamic remains unchanged. Web apps are the best way to reach the most possible people with the least effort; native apps are the best way to create the best possible experience.