Virtually Lifechanging
- by Stefan |
- July 24, 2008 |
- Programs & Applications, Technology
As a relative newcomer to the web design scene, one of the first things that an individual developer such as myself discovers is that not all web browsers are created equal. There are plenty of slick, standards-based, and forward-looking browsers out there, but for as long as web development has been a serious and profitable field there has been one Inevitable Exception.
Even standards-based browsers often conflict in their interpretation of the same HTML + CSS code due to differences in their rendering engines. Because of this, it is necessary to test a site across multiple browsers. This requires, first of all, having multiple browsers available for your use, which in turn requires having multiple operating systems.
Traditionally, this meant you either had multiple computers or multiple operating systems on the same computer. The first option required a significant investment in hardware, and the second required a reboot every time you wanted to use a different browser. In both cases, testing took you “out of the game,” as you had to drop what you were doing in order to use another browser. This loss of focus is a serious time drain, as any developer knows.
The only really viable, convenient way to test on multiple browsers was to develop the site targeted to a standards-based browser and then “back-port” it to the industry’s less-capable brethren once everything had been done. About 50% of the time this would be a relatively easy job, and the other 50% it would be a long, torturous journey with horrible conflicts and multiple redesigns. This process had many of the same properties as the old waterfall method of software development: most notably the tendency to overrun project deadlines because there is not sufficient testing early in development to catch bad design choices before they are thoroughly entrenched in the system.
Thankfully, this is no longer the only option available to us. Like the agile process broke the waterfall paradigm, a new technology has given us a solution to this problem.
A veritable revolution in virtualization has resulted in several high-quality and freely-available software virtualization options (especially for my fellow Linux users and me). It is now possible to run multiple operating systems on one computer simultaneously, so that switching between them is a simple as switching between windows on your desktop.
Want to make sure that new feature will work in IE? Just flip over to Windows XP and refresh the page. Once your done, check it out in Linux, too. If you’re running a Mac, you can have all three major operating systems ready to go at all times. The mental barrier between testing and development is blurred significantly in this arrangement, so much that they hardly seem like different tasks anymore.
You’ll be happier because you’ll catch your mistakes moments after you make them instead of weeks, and your clients will be happy because your deadlines won’t slip when you realize that your slick header design is completely broken in IE three days to launch.
Try it out. It will change the way you do development.

Leave us your comments.