A few months back I wrote the client side code for our IT assistant (http://www.pcwb.com/assistants/) as a project to find more interesting ways for people to shop. The idea being that if we give the users an interesting user interface that encourages them to play with it then they might be more inclined to actually purchase.
It lay dormant for a few months but interest in pushing the assistant has increased recently so we started setting up some product mixes for it. unfortunately we hit a bit of a snag when the product count got above about 30, in Internet Explorer 6 the script started throwing up messages saying the script was running slowly when the initial page setup was happening. The system works fine if you let the script run to completion but we really don't want requesters like this popping up in actual use. The problem only manifested itself in IE6, it seems the improvements made to the script engine in IE7 cut the setup time down enough to prevent the slow script warning appearing. It hasn't yet happened in FireFox, Opera or Safari. I spent a lot of time optimizing this script to run at acceptable speeds in IE6, but the optimizations focused on improving performance of the interactivity, which was unbearably slow in IE6 in early iterations. So in order to get the performance up I started doing things like cacheing the properties of all the DOM elements I'd be interacting with in a Javascript object so I wouldn't have to incur the cost of reading them in from the DOM and the only time I'd actually hit the DOM directly is when the script actually changes something. It would seem though that the things I've done to improve interactivity speed have made the setup run too slow for IE 6. If any of you guys can take a look at the page (I'd recommend using the laptops assistant as it has a more representative product feed than the others) and offer suggestions I'd appreciate it. At the moment anything I can see that can be taken out of setup would mean poorer interactive response.