Silverlight, Flex, and jQuery to the Rescue?
A new browser war looms on the horizon. Unlike the browser wars of the late 90s where there were only two main competitors, a whole new slew of browsers will be vying for developer attention.
Browser Wars Redux
The term browser war is obviously a fairly loaded term. In the minds of most veteran developers the term typically connotes the battle for dominance between Netscape and Microsoft during the late 90s. Remember those big headaches of yester-year–when crafting sites to work in both Internet Explorer (IE) and Netscape (no, not Mozilla–but Navigator) was such a pain. Developing web sites that work in a cross-section of major browsers today still takes effort, but I see that effort increasing quite a bit in the near future for a number of reasons. It’s fair to say that the war for browser market share has never really stopped.
Apple and Flash
Mobile web traffic remains just a blip in the overall scheme of things (roughly 1.62 percent of all traffic according to global stats). But given that Apple recently sold a whopping 2 Million iPads, it’s a safe bet that mobile devices will take a bigger and bigger slice out of the overall market (especially as Droid starts to vie for its share of the mobile market).
But since the iPhone, iPad, and iPod touch (iDevices) don’t support Flash, that changes things, especially since video is such a huge part of the web. Consequently, there’s going to be an increased focus and push on HTML 5 because it will support video natively. Granted, HTML 5 adoption won’t necessarily come as quickly as Steve Jobs (or other cutting-edge developers) might want, but it’s now only a question of time until HTML 5 will be upon us in some form or another.
In fact, when it comes down to it, the latest versions of all major browsers support HTML 5 to some degree or another, with the exception of IE8. Happily, Microsoft is moving full-steam-ahead to deliver IE9 which will have substantial support for HTML 5. However, the advent of IE9 will bring its own set of problems.
IE Versions Create Their Own Browser War
It was cute that Microsoft Australia recently pushed out a campaign to get folks to upgrade to IE8 from IE6. But it’s lame that Microsoft is begging people to upgrade. And they’ll be doing that until 2014 when IE6 is officially retired.
I’m not allowed to say what I really think of IE6 in public (my wife would wash my mouth out with soap), but when I think of IE6 I can’t help but wonder how many developer hours would have been saved had Microsoft officially discontinued support for IE6 in,… oh… say, 2008. More importantly, think of how many developer hours will continue to be dedicated to getting sites to work in IE6 for the next 4 years? (Honestly, sometimes I wonder if IE6 isn’t just some subtle jobs program that Microsoft has stealthily deployed upon the business world – given the number of developer-hours that go into making sites render for it.)
When I think of supporting IE6 today (in comparison to supporting other, MODERN, browsers) I can’t help but think of browser wars all over again in terms of what feels like totally wasted effort. Moreover, what happens when IE9 releases? Right now, IE controls 55% of the market (down a whopping 4 points from a month ago). But that 55 percent share of the market is further broken up among IE versions, IE7 dominates with 21.3 percent of the total market, IE8 trails with 20.8 percent and IE6 still controls a very significant 12 percent of the worldwide market.
When IE9 releases, it’s going to upset that balance. Hopefully it will steal share from IE6. But how much share? More importantly, since IE9 will ship with an entirely new rendering engine, it’s fair to assume that there might be some rendering abnormalities that might cause slower-than-desired adoption among end users. Case in point, IE8 has been out for over a year now, and its stiffest competition is from IE7.
So no one really knows what will happen when IE9 releases other than that developers will have to support it as well. Happily IE7 and IE8 render closely enough to each other (or can be configured to do so) that they’re easy enough to target together. But either way you slice it, developers will have to support IE6, IE7, IE8, and IE9 (with a new rendering engine). That alone will be browser wars enough for many developers.
Chrome Will Gain Market Share
But the various forms of IE aren’t going to be the only thing that developers have to target. Right now Firefox 3.5 and 3.6 together control just over 20 percent of the market. Firefox 3.0 controls, in turn, about 10 percent of the market – but renders so closely to Firefox 3.5 and 3.6 that version differences aren’t a headache.
Chrome, however, is steadily stealing market share of its own–mostly from Firefox. Personally, I expect that trend to continue. In my mind the reason that users will ditch Firefox for Chrome is simple: speed and stability. Chrome IS faster. But it’s also more stable and isn’t nearly as bloated. Users have complained about Firefox’s bloat (it uses an obscene amount of RAM) and stability for a while. Firefox has basically ignored complaints about bloat and keeps blaming plugins for issues with stability. In fairness, blaming plugins for stability issues makes sense. However, in my universe, it’s also more than fair to blame Firefox for creating a sandbox that allows plugins to go crazy and destabilize the host browser.
I switched to Chrome a few weeks ago, and haven’t looked back since. I think others will continue to do so as well, especially as more and more extensions become available and as word gets out about how stable Chrome is. (I can’t remember it crashing on me once in the whole month or so I’ve been using it.)
The Browser Wars in Action
As users continue to move to Chrome that means that some of Firefox’s roughly 30 percent share of the market will slip to Chrome. For HTML 4 development that’s really not much of a concern for developers because Chrome and Firefox render in similar ways. (It’s amazing what a little adherence to standards will do.)
But as Apple (with roughly 7-8 percent of the market) continues to help drive an ongoing push to HTML5, the differences between Firefox support and Chrome support for HTML 5 will likely become more pronounced – meaning that supporting Chrome and Firefox will become more difficult. That, in turn, will help add its own bit of flavor to the browser wars – especially since Chrome, Firefox, Safari, Opera, and IE9 all implement such different aspects of implementations of HTML 5.
In fact, to get a feel for just how yucky things might get, try out this HTML5 & CSS3 readiness interactive infographic (don’t bother with it if your browser is IE8, IE7, or IE6). Then contrast that infographic with an infographic that was just published by Microsoft to show what Microsoft believes represents their support for HTML 5.
According to Microsoft, IE9 will support everything that HTML 5 has to offer, while other browsers fall short. I haven’t had time to verify exactly what details Microsoft is putting forward in their infographic, but I’m pretty sure marketing is putting a huge spin on things – because IE9 doesn’t support the canvas element. (And it’s just way too suspect that Microsoft gets 100% in everything while everyone else fails miserably.) Granted, the specification for the HTML 5 canvas element isn’t officially complete, so Microsoft can’t really be blamed for not implementing it. That said, the fact that the other major browsers support the canvas element means that using it is going to be difficult (both because developers will need to check and see if the browser is IE or not, and then they will potentially have to deal with subtle implementation details stemming from the fact that the spec isn’t finalized yet).
Silverlight, Flex, and jQuery to the Rescue?
Targeting different browsers has never been a cake-walk. But as HTML 5 becomes more prevalent and as the browser market gets more and more fractured, it’s a safe bet to assume that skilled web developers who can target multiple browsers will be in high demand. The bad news though, is that they’ll have to earn their keep.
For web applications, I therefore tend to expect that Microsoft Silverlight and Adobe Flex will gain more popularity because both solutions will serve as a powerful way to abstract subtle rendering differences between browsers for application developers. But for web developers who are building Internet sites (as opposed to intranet apps), SEO and other considerations will drive a greater adoption of HTML 5 for richer features, meaning that developers will have to grapple with these issues head on. And hopefully abstractions like jQuery will continue to make aspects of dealing with the browser wars easier – but I’d be surprised if things don’t get a bit harder for a while.