My web development testing setup
I received an email today asking how I test my web development work across multiple browsers and platforms, so I thought I'd post a public response for others to potentially benefit from.
I work primarily in OS X for all my web development work, from Flash to hand-coding in BBEdit. Whenever I'm working with CSS and XHTML though, I pull out a standalone Toshiba laptop running Windows XP and loaded with Opera, Firefox, and multiple builds of Internet Explorer including IE 4, IE 5, IE 5.5, and of course IE 6.
What? Running multiple versions of IE in Windows? If that caught you by surprise, you're not alone. I used to use VirtualPC on my PowerBook with varying builds of Windows, and while that technically worked, it was slower than the 'hacked' builds of IE you can download and use on one Windows machine (which by default doesn't work thanks to Microsoft's draconian tactics).
The hacked browsers aren't safe for everyday use, and shouldn't be used as a default browser (why you would is beyond me). But for web developers, the availability of these earlier builds of IE is a huge help.
Recently -- for example -- I was working on the PGA Championship when PGA.com received an email from a reader noting that the site navigation was doing odd things in their browser. I immediately loaded the site in every potential browser the author could have used, all from only two machines on my desk, and isolated the issue to IE 5.5. By quickly determining the affected browser, I was able to deploy a fix within minutes instead of playing guessing games, asking other people to look at content for me, or (even worse) ignoring the issue and telling the reader to upgrade their browser (which they should, but that's another story).
Personally, I think anyone doing full-time web development work owes it to themselves, their clients, and their employer, to have a similar setup. If you're primarily a Mac user, it's well worth the cash and effort to pick up a used Windows laptop (plenty on ebay) and load it up with all the browsers at your disposal. It'll save you plenty of headaches down the road.
If anyone else has a similar workflow tip, feel free to drop a comment in the box.
Comments
FWIW, the URL you provided in this post is misspelled. ;-)
Posted by: Kim Siever at August 12, 2004 1:01 PM
I actually do the same thing since I'm on mac, but with an old 200mhz machine I got for free from a friend. And I have windows 98 se on it. Most people have XP nowadays so it's easy to find somebody to check that for you. I'll probably get a second machine that can handle xp so that I can test that as well. So yeah, your method works, and for anyone reading, it's easy to find a cheap, old pc in your local paper.
Posted by: Thomas Cutter at August 12, 2004 1:04 PM
great, thanks so much todd! i'm an xp user and this will totally improve my stable of browser to test on. for mac testing, i am now using pearpc with osx intalled (be sure its your own legal version of osx). its like being on a mac with virtual pc but the other way around. i typically use it to test safari and mac ie compatibility and its already saved a ton of headaches.
Posted by: michelangelo at August 12, 2004 1:26 PM
Couldn't you also run the multiple versions of IE in Virtual PC? Then you're back down to a one-computer-setup.
Posted by: Pete Baker at August 12, 2004 1:31 PM
same exact set-up but replace toshiba with Dell :-)
Posted by: twhid at August 12, 2004 1:36 PM
Well, I used to be a Mac user but I switched to Windows around 5 years ago, being fed up with the old Mac OS and Apple hardware which I really thought were at step behind Microsoft at the time. I have a brand new top-of-the-line PC at work but recently got an old G3 to do browser testing on. Unfortunately I enjoy working on OSX so much more that I use the Mac for coding and the PC for and browser testing only.
Posted by: Tore at August 12, 2004 1:52 PM
I have Virtual PC running on my test wintel box. And it is alot faster then Virtual PC on my Mac. Plus it allows me to have multiple versions of Windoze/IE easily on one box.
Posted by: Frank at August 12, 2004 1:53 PM
I wish I had an extra laptop at my disposal, this would save me a ton of time on cross-browser compatability. I usually just use these two neat resources on the web:
http://www.danvine.com/iecapture/ and http://www.danvine.com/icapture/.
It's really neat, and you get your preview within seconds (depending on the server load). Thanks for the info on the hacked 'IE' versions. I'll be using that real soon.
Posted by: Abel Rios at August 12, 2004 1:59 PM
I use the exact same setup. Nothing beats developing on a Mac, BBEdit windows flying to and fro with Exposé. Yeah, you could use the multiple Windows browsers in Virtual PC Pete, but I think the speed would be a little frustrating. I don't go all the way back to IE4, though. Is that a mistake?
How do you handle serving your pages for development? I am a fan of virtual hosts under OSX, to create a root that can be accessed relatively with an inital slash (/img/img.gif) for instance. But the VH doesn't work when you test on an external machine. How do other people handle serving their dev pages?
Posted by: Nick at August 12, 2004 2:01 PM
Something new to test for: font sizing in Windows. I discovered this when I got a new PC laptop with a hi-res LCD. Even with 20/20 vision icons and text were impossible to read, so I upped the font size, and the layouts of many websites and even apps like iTunes broke down. Always use a font-size that is at least readable (12px+) on high res LCDs, and always see what happens to your layout when you use Mozilla's text resizing.
Posted by: nathan at August 12, 2004 2:11 PM
I made a recent post with a few tools including this one. The other two where iCapture and accesability toolbars for IE and Firefox. You can read the article and find all the links here.
Posted by: Caleb at August 12, 2004 2:21 PM
Todd,
You described what I do, including running multiple instances of IE, except the laptop is a Gateway. The only addition is that occasionally I'll use X11 to log into a Unix box to check out how the site loads up in Netscape 4.x.
As for serving the dev pages, Nick, we set up a staging server that I use for testing, then when everything has been ok'd I switch it all over to the main server.
Posted by: Mark Newhouse at August 12, 2004 3:24 PM
I mainly work on windows systems to develop webpages (since the company I work in is equipped with it), but I guess one shouldn't forget the other applications that may be necessary for development (even for testing - there's more than browsers): At home I have a running SUSE Linux distribution, running at least Apache, MySQL, PostgreSQL, PHP, Perl etc. (you'll never know ;). Even on my XP Laptop, WAMP (Windows, Apache, MySQL, PHP) is running - funny though, that Linux doesn't seem to be that common in the US - or am I wrong? Also I run Eclipse as development environment, since it has a strong integration to CVS or Subversion. I think it's quite important to have an Apache to test on and having complete control over the webservers configuration.
Posted by: Oliver Schwarz at August 12, 2004 3:56 PM
Ryan Parman's (Skyzyx) IE packages are here for some time now. I'm using them, too. Did you know that Netscape derived browsers could be all instaled in different folders and loaded at the same time. The majority of older browsers could be found at http://browsers.evolt.org/.
There's also nice tool for previewing document structure at http://www.delorie.com/web/lynxview.html
For someone who wants to bother, great sollution is setting up LAMP (Linux, Apache, MySQL, PHP) server (for example Knoppix, http://www.knoppix.net/ boots and runs from a CD) on a relatively slow machines obtainable by a friend or grandma :-). That way you could set up LAN and conect all other machines to it.
Posted by: Marko at August 12, 2004 4:37 PM
I like this idea with one modification. Instead of a laptop, use a cheap fast desktop (Dells are like $300-400 new). Put XP Pro on it and run Microsoft Remote Desktop. Then it's like one machine, but without the emulation slowdown.
Posted by: briguy at August 12, 2004 4:42 PM
"How do you handle serving your pages for development? I am a fan of virtual hosts under OSX, to create a root that can be accessed relatively with an inital slash (/img/img.gif) for instance. But the VH doesn’t work when you test on an external machine. How do other people handle serving their dev pages?
Here's how to do it on Windows.
From another UNIX-esque machine the file's at "/etc/hosts" (or you can probably use NetInfo if you know it).
Posted by: TAG at August 12, 2004 5:21 PM
I've known about the hacked IE builds for some time, and they're a great resource.
Here's the question:
Does any such thing exist for Safari? I'm completely unable to test 1.0 effectively.
Posted by: A. Casalena at August 12, 2004 6:44 PM
I use a pc at work and have NS6.2+ IE5+ & firefox and next to me is an OSX box with IE5.1+ NS7, safari and firefox.
its a magic set up
I need to get another hdd at home so I can make a pear pc partition.
Posted by: Benjamin at August 12, 2004 7:15 PM
Since I am a "switcher" I control my Windows XP machine with Chicken of the VNC and test with Firefox and IE on the Windows machine via that.
Posted by: Colin D. Devroe at August 13, 2004 12:06 AM
For virtual hosting from a windows point of view I have been using EasyPHP (http://www.easyphp.org/) Runs PHP, Apache, MySQL and PHP MyAdmin all in one and very stable.
Cheers
Posted by: Karl Bedingfield at August 13, 2004 3:32 AM
Re Colin:
You should really try Microsoft's Remote Desktop, it's a free download from their site and it is much faster than VNC.
That's also what I'm using: I'm doing the graphics work, CSS and XHTML editing on my PowerMac, testing in Safari and Gecko (well, mainly in Safari thanks to SubEthaEdit). Eventually I use MS Remote Desktop to test it under IE5/5.5/6 and to tweak/hack the CSS (Yes, I do hate IE5).
Latest Project: we recently relaunched http://www.unicef.de (German only)Posted by: Oliver Esberger at August 13, 2004 10:47 AM
Hey, your site stripped my "shameless plug"-tags from my last paragraph... :-)
Posted by: Oliver Esberger at August 13, 2004 10:49 AM
Add me to the list of people who develop on a Mac, and use Virtual PC with various versions of Windows and IE to check things out for the poor lost souls who still use Windows/IE... Oh, and if I get really stuck I find a Windows machine to test things on, thought it always makes me feel dirty. ;)
Posted by: Pete Prodoehl at August 13, 2004 10:54 AM
I have been using a similar browser set-up with pretty decent success.
One thing I've noticed with the skyzyx downloads (or at least it was an issue when I downloaded the zip files) was that attempting to access bookmarked favorites through the hacked version would crash the browser.
I developed a bookmarks app a long time ago to centralize my bookmarks that helps compensate for this. I primarily store my work-related URLs, but since I set it as my homepage, it's pretty much become my main bookmarks list. It's free and open to all if anyone's interested -- you can read more about scribble at my site.
Posted by: RMCox at August 13, 2004 11:27 AM
Hey Todd, thanks for the link! Joe Maddalone had contacted me a few months ago saying that he'd figured out how to fix the quirks in the current versions of the Multi IE's, but I haven't heard anything new for months.
Anyways, this development has allowed a few new projects to start up. One of my favorites is MozIE that allows you to view Gecko browsers and IE 5/5.5/6 in a split-screen view. It's very helpful.
Posted by: Ryan Parman at August 13, 2004 12:02 PM
I develop sites on a dual/G5 and used to test them on my Powerbook using Virtual PC. My father-in-law "switched" and had an old Dell tower with Win2000 so I bought a Belkin usb wireless converter and stuck the Dell, headless, in the basement. I use Chicken of the VNC and have no issues with the speed (and really don't want to upgrade to XPPro.) It's certainly faster than VPC was and cost only $30 for the wireless.
Posted by: tswan at August 13, 2004 5:01 PM
I'm currently building myself a new PC. I plan to run SuSE Linux and use WINE to test in IE. Or I can just use the family comp (running Win ME).
I'm hoping to eventually set up PearPC and get a copy of OS X.
Posted by: Brandon Walsh at August 14, 2004 12:50 AM
Thanks Ryan for the MOZiE link -- I wasn't aware of it. Fantastic piece of work. I posted it in my Enjoying sidebar so others can easily find it.
Posted by: Todd Dominey at August 14, 2004 10:44 AM
"Thanks Ryan for the MOZiE link — I wasn’t aware of it. Fantastic piece of work."
I'll take that as a compliment ;)
Posted by: MikeyC at August 14, 2004 5:10 PM
My setup is in the early stages, but it works really nicely. I used a server running Fedora Core 2 on my home network to serve the dev pages. I set up Samba to share the /var/www/html folder (only to me), mount it on my desktop (under OS X), then just use that like I would a regular folder. I then drag myself over to the Windows computer to do some browser testing, or just send the link to someone on IM (I forward port 80 to the server for that). It is not a bad way to do things.
Posted by: John Coppley at August 15, 2004 3:13 AM
The only thing worth it I know is close at hand :
http://www.browsercam.com/
jhbretin.
Posted by: jhbretin. at August 16, 2004 3:33 AM
Hi,
While I have no tip, I do have a problem in this area, so if any of you have a suggestion on how to rectify it, I'd be obliged as I do not have a windows computer.
http://www.bottiology.com/bottiology/index2.html
page looks fine on a mac, but the alignment and font use goes screwy on a pc. I am only refering to this actual page and the three columns at the bottom.
Posted by: Jeremy at August 16, 2004 1:35 PM
I also develop on the Mac and test-as-I-go in multiple versions of IE (Windows) using a networked PC and Remote Desktop Client. I can't praise this set-up enough since you don't waste any time moving to a different computer.
Minor gripe:
1) Remembering to use Ctrl+R to reload pages in IE instead of Cmd-R (anyone know of a way to remap keys on a PC?)
2) Application Switching (cmd-TAB) is limited to the focused Windows application.
Posted by: Mark Lander at August 16, 2004 6:01 PM
Formerly a print Mac guy, now sort-of a "reverse-switcher", I develop mostly on a dual screen XP Pro box at work and test via my G4 sitting next to me running Mozilla, IE and Safari. At home, I'm also running LAMP via Slackware10 on an old PII 400, versions of Mac IE and Netscape on an old iMac DV running OS9, and hoping to score a decent laptop soon. My Linux box browsers include Konqueror, Galeon, Firefox, and (surprise!) Lynx.
I totally agree that you've got to have access to multiple hardware to thoroughly test your work these days. PearPC is sounding pretty sweet -- I'll gladly buy OSX if I can keep my desktop free of yet another machine :-)
BTW -- Todd, your site is the first place I go in the morning. Thanks for all the work.
Posted by: TC at August 17, 2004 11:15 AM
I too use virtual hosting on Mac OS sex to build sites in a root-relative way. Good article on setting this up (by hand-editing your Apache config and your /etc/hosts files) over at macdevcenter.com.
But for testing from other computers (i.e., the public library's "lowest common denominator" PC), I upload sites to a staging server, a cheap ($40/yr) web-hosting plan that allows me easily to set up multiple subdomains.
So, I can stage one client at, for example, client1.myserver.com, and another at client2.myserver.com. This all depends on the DNS system to work, so usually there's a day's wait after setting up a new subdomain. This is a nice system, because a client can review the site's progress from their location.
Posted by: Trace Meek at August 17, 2004 2:08 PM
Does anybody know if it is possible to run both Safari 1.1 and 1.2 at the same time (on one machine)? Since there are some differences, and you can not upgrade the browser without updating the OS, so some people still use the old version.
I do my developing on a pc with Windows XP and Linux, and multiple IE+Firefox+Opera on Win and Konquere etc. on Linux, and then I have an old Mac laptop running OS X with IE and Safari for testing
Posted by: Tobias at August 17, 2004 6:20 PM
Tobias, since you are running Linux, you might try Mac on Linux (maconlinux.org). Through this emulation software, you should be able to run, say OS 10.1, 10.2, and 10.3 (and thus, different Safaris) at the same time, depending upon your hardware.
Posted by: Trace Meek at August 19, 2004 10:30 AM
Cool. I never knew you could do it. I figured there was a way and I was probably not finding it, but that's really cool that you can load IE 3,4,5,5.5, and 6 all on the same OS. I'll have to bookmark this for later use!
Posted by: Randy at August 21, 2004 12:06 PM
Trace Meek: MoL is only for linux on a PowerPC -- ie. not Intel x86.
But now I have tried to install PearPC, and it works ok except that I can not get the network to work, so I can not use it for testing pages...
Posted by: Tobias at August 22, 2004 6:03 AM
THAT is very helpful! Thank you
Posted by: kevin m at August 23, 2004 5:34 PM
I actually have a pc with Windows 2000 Server installed on it. Just enable remote desktop connections, download (Mac OS X native) MS Virtual Desktop Connection from MS' site (www.microsoft.com/mactopia) and there you go; a windows pc (that you can basically stuff into any closet, as it doesn't need a screen) at your fingertips, and best of all; without the need to have an ugly pc on your desk (as you're accessing it through your mac).
Joris
PS: Windows XP Pro also does the trick..
Posted by: Joris Machielse at August 26, 2004 6:20 AM
Tobias, I came across this today and thought of you. It seems that OmniWeb uses the same webcore component as Safari 1.0 according to Daring Fireball.
Posted by: Mark Lander at August 26, 2004 10:10 AM
