Monday, June 27, 2011

Web Browsers live on as Platforms

Dave Winer argues that Browsers are "done":
If Firefox were creating new features that mattered to users, we would be upgrading along with them, exactly as they want us to.

The problem for them, if they choose to view it as a problem, is that web browsers are done. Feature-complete. No one can think of anything to add that anyone wants, because there are no more features to add. Sadly, this happens to product categories. It happened with word processors twenty years ago. Spreadsheets, around the same time. Windows was done when XP shipped. Mac OS, yeah it's done too. I haven't used any of the new features. And by "new" I mean features introduced in the last eight years or so.
I don't entirely disagree. Browsers are in a fairly stable period when it comes to end-user features. Most users who aren't extremely technical feel like their browser does what it needs to do and only upgrade because they're encouraged to do by their update services, because it happens automatically or because their browser no longer works with websites they'd like to use.

There are reasons to upgrade, of course. It's important to stay up-to-date for security reasons, and this is one of the primary reasons that enterprises will choose to stay up to date with security patches even if they don't adopt major new releases. This is also why enterprises are somewhat irritated with the fact that Mozilla has been implying that they're unwilling to continue to supply security patches for older versions of their browser.

It's also true that browsers have been getting faster, smarter and more compliant with standards on the whole, and while these features aren't "easy" to see, they are end-user visible, and people will notice that sites and applications are faster, prettier an more capable when using a modern browser. This is because the browser continues to evolve as a platform for building websites and most importantly web applications.

The Web Browser as a Platform
While the Web Browser as a piece of end user software is largely "done", its capabilities as a platform are ever-growing. We've been seeing pieces of HTML5 and CSS3, from animations to 3D rendering, from web sockets to local storage, new media capabilities and beyond. These things are taking shape but aren't yet fully-formed, mature, and locked down. Even once these have matured, I have no doubt that web browsers and web developers will continue to push the boundaries of what the web browser can do, from new versions of ECMAScript to things I'm not yet aware of.

These things aren't, as a general rule, directly visible to users. You can't open a new version of Chrome and try out websockets. To use these features, you have to build them into a website or web application. Even once you've done that, the features won't be directly visible. The average bagcheck user don't know they're using websockets, they just know that they're getting "instant" updates. An iPad user might not realize that the HTML5 video they're seeing is really any different from the Flash video that they've been using on the desktop for years.

And that's great -- they shouldn't have to know these things. All they need to know is that if they have a modern web browser, then web applications are better, faster, prettier and more capable.

But that doesn't mean that everyone will upgrade right away, all the time.

Web developers usually employ graceful degradation, or progressive enhancement when building features that require relatively new technologies from the web browser platform. If you visit BagCheck with a browser that doesn't support websockets, they'll try and use long-polling to support the instant features. If your browser supports neither of these, then you just won't get instant updates while you're using BagCheck.

This approach is important, because not everyone visiting your site will have the latest browser. In fact, if your website is a popular mass-market site or popular with enterprises, it's quite likely that the majority of visitors won't be using the latest version of their browser, or possibly even the next-latest.

This backwards-compatibility is crucial to avoid making your site unusable to a wide array of users, but it also means that the reasons to upgrade are less black-and-white, because you can continue to use the web as it stands without being forced into an upgrade. This can lead to periods of stagnation where the new features of the web browser platforms aren't compelling enough to encourage upgrades followed by chaotic periods where everyone starts rapidly adopting a set of new browser technologies all at once, often under an umbrella name like "Web 2.0" or "AJAX".

Who Will Upgrade?
If we borrow the language from Crossing the Chasm, we can use that to loosely talk about who will upgrade their web browsers and when. I'll ignore the recent trend where browsers auto-update, because those users will upgrade without thinking about it, without making an explicit decision.

Early adopters may upgrade just to stay current, because they like to have the latest browser and see what features people are playing with. This is especially true for developers, who will upgrade so that they can play with these new features and consider building them into their site through techniques like progressive enhancement.

The early majority is likely to upgrade when they realize that they'll get compelling new capabilities in applications they're already using. Maybe you're really into BagCheck and you feel like it's worth upgrading to get access to the Instant updates. Perhaps will use CSS Animations to make their infographics come alive, encouraging users to upgrade to Firefox 5. Maybe you have a(n) (ir)rational hatred for Flash and you would love to switch to YouTube's HTML5 Video Player.

The late majority will probably switch later in the lifecycle, when they discover that they're starting to encounter sites that don't support their browser, or support it in a very limited way. They'll upgrade when their current browser is no longer meeting their needs, but not because it lacks features they use directly, just because it's no longer a capable platform for the web sites and applications they're using.

Finally, the laggards will never upgrade until they have no choice. Who's really using IE6 because they think it's a good idea?

Are Browsers Done?
Browsers as an end-user application are mature and stable. There's no need to upgrade. Browsers as a platform for building compelling, native-competitive applications are a hotbed of activity and users will be upgrading for years to come, not because the browser doesn't meet their needs, but because it doesn't meet the needs of the apps and sites they're using.

No comments:

Post a Comment