Ever since the divergence between Netscape and Internet Explorer browser compatibility has been a major challenge for web designers. At Art in Action I’ve been very concerned about this, since our users are often very technically unsophisticated and we can presume run wide range of browsers on sometimes fairly old hardware. Proof of this comes when we ask some users about version of the browser they’re using, and they respond with: “What’s a browser?” .
As I’ve dug into things though I’ve discovered that this is one problem that’s actually becoming fairly manageable. Simply, the newer browsers are better behaved. If you stick to very pure, syntactically correct html and javascript, you actually get very predictable results on the modern browsers. (I should point out, as I described in earlier entries, that I rely a lot on portable html design patterns and deep syntax checking of the html to make sure I have a good starting point.) What about the older browsers? Not wanting to setup lots of machines, I found two useful tricks. First, Adobe Browser Lab is an excellent tool for comparing web pages in different browsers. You simply register on their site, indicate which browser versions you want to try, give it a url, and off you go. This confirmed that actually most of the browsers were producing perfectly equivalent results. I was still concerned about IE 6 which is the oldest and worst of the browsers still commonly in use. I wanted to test it more thoroughly. I then remembered my Microsoft Virtual PC instance. When I got my new computer it has Vista on it, and discovered that unlike with XP I couldn’t run a lot of old software anymore. So I installed Virtual PC with a Windows 98 instance. That runs old stuff like the wonderful complete National Geographic collection perfectly. This was running IE 5, which was current back when Windows 98 came out. I then realized that early versions of IE 6 still supported Windows 98, and upgraded the instance to IE 6. Now I could try out the site using a really old browser and OS combination. Interestingly, it all worked fine, which confirms my belief about the value of writing very clean, portable html. Just for fun, I did try IE 5 too, but there the lack of modern Javascript did things in.
That said there are still subtle rendering differences between browsers which will certainly drive a true artist nuts. However, if you are a pragmatist like me, you’ll find that by being disciplined in your work and being a little flexible as to what the precise outcome is, it’s actually not too hard nowadays to produce very portable applications. I will also say that this discipline is greatly eased if you are not producing ad hoc html, but generating it via an engine according to fixed rules. The rigourous use of stylesheets and the fact that in our application almost everything is generated from a higher level representation makes all of this vastly more tractable.




