I am unable to do my online banking using
Camino, my browser of choice. I need to
use
Firefox in
order to view the site correctly. Let me tell you how this is all relevant to
Internet Explorer.
Last week
Joel On Software
published an excellent article
"Martian
Headsets" about the Compliance issues confronting the team behind the
upcoming Internet Explorer 8 which has recently been released in Beta.
The heart of the issue is that Internet Explorer is both popular yet badly
behaved. Whilst browsers such as Mozilla Firefox are gaining market-share,
Internet Explorer is still the preferred browser by the majority of users.
Internet Explorer is a standard feature of Windows and for many users the terms
"Internet" and "Internet Explorer" are entirely synonymous.
Each web-browser interprets the HTML and CSS code behind a website slightly
differently. The
W3C publishes the "rules" for
how the web-browsers should behave but each browser still interprets the rules
(standards) differently. In the case of Internet Explorer (particularly prior
to Internet Explorer 7) some of the rules aren't followed at all. The impact of
this problem is that web-developers simply cannot use the W3C standards to code
websites.
Websites need to be tested in various browsers to ensure that they display
consistently, and "hacks" need to be implemented to ensure that they display
correctly in Internet Explorer. To their credit, Microsoft has recognised this
problem and plans to use Internet Explorer 8 to change it all forever. But
here's the problem: almost all current websites use Internet Explorer specific
"hacks" to ensure that Internet Explorer displays websites correctly. Many
websites
only display correctly in Internet Explorer because the
web-developers didn't initially code to standards compliance. When Internet
Explorer 7 was released many websites appeared to "break". With Internet
Explorer 8's stricter compliance to Web Standards the problem will be even
worse - if the feedback from the Beta Testers is anything to go by. How will
IE8 respond to the IE-specific "hacks" necessary to force IE6 and IE7 to
behave? And what will be the impact of the hundreds of websites coded
specifically for IE6 and IE7 suddenly not working correctly?
There is no simple solution to this problem. Microsoft can build IE8 to
interpret the old websites as if it were IE7 perpetuating the problem of
inconsistent implementation of standards, or IE8 can more strictly comply to
the Standards forcing many websites to be re-coded. The best web-developers
will code to standards but there's no way to anticipate how IE-specific "hacks"
- necessary to make the
old versions of IE behave - will be
interpreted by a new version. The beta-version of IE8 contains an IE7 emulator
allowing users to switch it into IE7 "mode". If the IE8 transition problems are
widespread, I foresee this becoming irritating. IE8 behaving like IE7 by
default becomes a very tempting "solution".
This is a complicated issue. If almost everyone uses the same browser then it's
easy to ensure that a website will display correctly for the majority of users
(but those in the minority using an alternative browser may get completely
unexpected results). With so many alternatives out there, far more
cross-browser testing is required to ensure that all users can view your site
correctly (but if both browsers and web-developers conform to standards the
testing and problems are both minimised).
Whilst Firefox is far more standards-compliant than IE it isn't perfect and the
standards themselves are so extensive that problems with interpretation may
always arise.
Here's where my banking problem comes in: my bank's website was built to work
in Internet Explorer and in Mozilla Firefox. Whilst I'm happy that I'm able to
do my banking on my Macintosh Computer - at all - it's disappointing to see
that the website has been built for specific browsers rather than coded to
standards. With a Monopoly of one or two browsers it's much easier to code for
the majority, and very frustrating for the minority who are unable to
experience the web to the fullest.
These problems won't be solved in the short term; while one or two web-browsers
account for a large proportion of web-surfers, users who use the minority
browsers will suffer. Until those same browsers comply to standards,
web-developers will be unable to anticipate how future websites will interpret
their code. The choice is between building a website which will work
now (but might break in the future and/or minority browsers) or...
well, it's not much of a choice, really.
In the short term I'm stuck with switching browsers to do my banking. But I
hope that if the Web Browsers continue their trend toward consistency and Web
Developers make cross-browser compliance a high priority, future versions of
Web-Browsers won't continue to rattle the web-development community and users
will be able to choose a browser based on it's features - not on whether it
allows them to do their online banking.