It’s like this: The browser’s doomed, because apps are the future. Wait! Apps are doomed because HTML5 is the future. I see something almost every day saying one or the other. Only it’s mostly wrong.

[If you don’t want to read my opinions, hop to the end of this post for months & months worth of links to things I thought worth reading on the subject.]

Apps Win · If you want immersive/interactive polish, with ultra-fine control over your gradients and textures and how the things on the screen react to being touched, you need an app.

If you want to capture what the phone can see, permute that image’s colors based on how hard you shake it, and vibrate in the user’s hand to say it’s time to stop shaking, you need an app.

If you want to make an urgent phone call based on detecting that you’re within five minutes’ drive of your destination, you need an app.

If you want to be featured in a phone’s electronic storefront, and then be purchased effortlessly with a couple of taps, and have the charge end up on the monthly phone bill, you need an app.

If you want to port your existing C++ shooter which is based on one of the big gaming engines to a new mobile platform, you need an app.

Browsers Win · If your app is mostly about delivering highly-readable text that flows around pictures and contains navigational links, be in the browser.

If you don’t want to be in anyone else’s storefront and pay them a piece of the action for access to the customers, be in the browser.

If you don’t have the budget to write an Android app and an iOS app and (soon, maybe) a Windows Phone app, be in the browser.

If you want to be sure you can reach everybody everywhere, even the ones who aren’t rich enough or hip enough to have the latest pocket jewel, be in the browser.

If you need to be sure you can update your app, not in iOS’ weeks or Android’s however-long-until-the-user-updates, but right now, then be in the brower.

Tiny Case Study · The apps-are-the-future absolutists like to point to Instagram and yep, it’s interesting, all right. Consider this dreamy photo by Scott Hanselman. Is it part of the Web? Well, it must be, because I just linked to it. But can you find it in Google? Not directly, because Instagram explicitly tells the search engines to go away. But, well, you sort of can anyhow. Does the example really prove anything? You decide.

Developers! Developers! Developers! · Pardon me while I get a little geeky and address the Morlocks in the mobile sausage factories:

HTML5/Browser technology is moving forward fast; which will be changing some of the trade-offs above. But then, so is mobile-app technology. It’s complicated.

The mobile-app programming models are better than the rococo pandemonium of DOM and JS and CSS and friends. Otherwise, why do things like CoffeeScript and Dart and WebSockets need to exist? It’s complicated.

There are very few pure things in this world; lots and lots of apps have WebViews inside, doing the heavy content-display lifting. Did I say it’s complicated?

It seems very likely to me that there’s something simple and beautiful lurking inside the browser platform that will hit the greatest 80/20 point in software history. But I’ve been thinking that for a decade or more, now.

Further Reading · Of course, this will be out-of-date the morning after I hit “publish”. But still.