Perculiar performance bug in Internet and Explorer AddIns

The Danish web site for the parliament http://www.ft.dk was running very slow on my machine (40-50 seconds response time). For the fun of it, I decided to find out what was happening.

It was quite clear that the use of CSS on the site is pretty crazy – the header had I think somethink like 30-40 links to different CSS files. – I think what often is forgotten about web sites is that html+css+javascript IS REAL code – it is even uncompiled code, so it is quite important to treat it respectfully.

Anyway, I couldn’t find just the line of code which was making all the trouble, but I noticed that if I removed approximately 2-5 of the CSS links randomely, the page would display almost immediately. So it was not necessarily related to one particular CSS file.

Anyway, after thinking about it in a couple of days, I found the solution. When you have the Skype IE AddIn, this AddIn will parse all pages for phone numbers, e.g. +45 3838 3838. If it finds a phone number it will manipulate the page by adding some extra styling around the phone number beefore the page is displayed in the browser.

Now, if the page has very extensive styling, this can mess up the Skype AddIn which – apparently – has a much poorer HTML/CSS parser than IE has. – Because, if I disabled the Skype AddIn for IE, the page would display within 2-4 seconds – opposed to 40-50 seconds with the skype addIn installed.

So – the point is: When writing our web sites we should remember that the applications reading our uncompiled html, css, and javascript is not JUST the very well optimized browsers such as IE and Chrome – but it can be all sorts of dubious add ins which are in no way as optimized in their parsing as the browsers themselves.

Finally – just to make a second point about this – when doing software integration, wauw – it is important that you have a reasonable time out set. In this example: Why don’t IE have a default allowed response time of, say, 5 seconds – if your addin does not reply within 5 seconds, IE should kill it by default – perhaps allowing users or vendors to manipulate this limit. And why doesn’t skype have some mechanism ensuring that they do not crash the software which they integrate into?

If you think of it, this is really a case where everyone has done nothing to prevent the disaster:

* The web bureau creating the web site for the parliament made a poor CSS design
* The Internet Explorer add in system is not sufficiently stable – allowing 3rd party components to almost (or actually!) kill their process
* The 3rd party vendor, Skype, does nothing to help IE, but is instead very determined on killing the app.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s