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.

Reply via email to