The web has once again become an interesting battle-ground for competing browsers. For a number of years now there have been choices. Internet Explorer, Firefox, and to a lesser extent Safari and Opera too. However, web-designers worked hard to ensure that most users didn’t need to care. The overhead of this activity (and by overhead, I mean cost) could only be found on the time-sheets of designers. However, the iPhone seems to have precipitated a more active push from browser developers to explore standard based solutions for more interactive capabilities. I understand that these standards were already under development, but standards mean nothing without support, and support means nothing without use.
How did the iPhone do this? It did, and right now still does not, support Flash. Apple’s reasons are unknowable, I’m certainly not sure I buy the battery life argument and believe it’s much more about control. However, whatever the reasons Apple has been aggressively adding support for advanced CSS and HTML elements. This effort has been matched by the Firefox team. Paired with an equally aggressive push for Javascript performance… Gecko and Webkit based browsers can today do almost anything flash can do. Almost.
Perhaps the key thing they cannot do is assume that upwards of 90% of browser users actually have access to those engines. Flash has that position, and make no mistake it is important.
This situation leaves (or at least should leave) web-developers with an interesting decision to make. Internet Explorer is not going to support these new standards quickly (they take Javascript performance more seriously, but even there the browser lags behind). IE is not the force it used to be, but it cannot be ignored. So, what to do? The choices are relatively simple:
- Design for the lowest common denominator. Minimise flash to where it is needed so most of your site works on all devices. This is what we’ve been doing for many years now.
- Detect the browser, implement the site for the different standards. Whilst this makes sense when you are considering factors like media, it just feels wrong. Implementing things once is error prone enough, without having to do it all twice.
- Pick a side. Ask yourself this question “Is there a philosophy to which I find myself drawn to?” If you believe Flash is the right answer, and a mix of suppliers is a healthy thing then go ahead with the “lowest common denominator” for the non-flash parts of your site, and hit flash for interactivity where needed. If you believe standards and having everything managed in a single supplier’s tool is right, then design for that and degrade gracefully. Yes, I’m suggesting “Site best viewed in Browser X” should once again grace the web.
My vote is for 3. Perhaps this is not that controversial, but amongst my colleagues it is. My reasoning is simple, we did it before and the fastest, most agile solution won. Like it or not, that was Internet Explorer. Microsoft left the competition in the dust with their embrace and extend strategy. That strategy has been vilified, but the key word is ‘extend’. Microsoft extended our browsing experience, and to be blunt, they deserved to win.
However, they got fat and lazy. IE development all but stopped, and Microsoft have once again realised late that the game is moving away from them. They are now running hard to catch up, but everything that was wrong with IE will continue to be wrong. Microsoft will act in their own best interests (as they should, they have shareholders to answer to). The difference with Firefox and Safari (now Chrome and others) is that they can only take Microsoft’s spot by co-operating and creating an environment where a new browser like Chrome can appear and start climbing up the rankings in a small number of years. This is a good thing.
If we want to avoid a second round of stagnation following these browser wars, then we have to chose a solution that maintains competition, and for me that will only come with the pressure on develop being directed at the standards, not the browser.
So, in my design work I’m going to design for HJC (HTML5, Javascript, and CSS). I’ll make sure sites degrade gracefully, that content can be accessed… but if you want the eye-candy… you’ll need a proper browser.
This post is best read by Firefox, Chrome, Safari, Opera or derivative browser users. Not IE. Sorry, but not very.