Monthly Archives: October 2009

What is wrong with

[Saatchi & Saatchi Design][ssd] recently updated their Web site and in doing so made some poor choices.

Multiple addresses for the same pages

As well as, SSD have registered (which they prefer to use when emailing – I don’t know why they don’t just use one domain name for everything). Previously anyone visiting [][1], [][2], [][3] and [][ssd] was automatically re-directed to [][ssd]. This encouraged a single address for any page on the site and reduced the chances of duplicate entries in search engine results.

To fix this they need to configure the site to issue the appropriate re-directs to visiting clients. For the Apache server you can achieve this with [mod_rewrite][].

All site content hidden in Flash movies

While Adobe Flash is the preferred format for video on the Web, it is a terrible format for the bulk of the content on Saatchi & Saatchi Design’s site. Simple pages with a picture and explanatory text are perfect for HTML, and many of the page transition effects can be achieved with a little JavaScript.

Instead, Google cannot index the site and it does not display on an iPhone.

Bad URLs

A consequence of how the site has been implemented is the lack of a proper URL structure. Instead one arrives at pseudo-unique URLs when navigating the site. In strict terms all the varied content is a single page. The URLs they expose use fragment identifiers leaving the visitor with addresses like [][4] and [][5] . Although better than nothing, these URLs again ruin Google’s view of the site – the varied pages are treated as a single page.

Broken links

The structure of the site changed with the update, which is not surprising considering how much more content there is now. But in changing the structure the site broke all the existing links. Where Google used to return a couple of dozen results for the various pages in the previous site design, now it returns a page where only the first result actually links to the site, the other results returning an entirely unhelpful generic Apache 404 page. [All those broken links!][deadlinks]

What ought to happen is the site should be configured so that out-of-date links are either re-directed to the appropriate page or to the front page when no equivalent page exists. Again one can use mod_rewrite for this.

HTTP caching-hostile resources

The updated site consists of a single Flash movie, and this in turn fetches picture and text resources from the server as needed, so that a visitor does not need to download the entire site before she can see the first page. However the Web server does not send `Last-Modified` or `ETag` headers with the response. If it did then the client could use them to check if the content has changed since the last request rather than having to fetch the complete response every time.

Using [HTTP with suitable caching and expiry headers][rfc2616] would save bandwidth costs for the site host and visitors. More importantly it would reduce the site load time for returning visitors because many page elements could be served from the browser’s cache rather than having to be re-fetched.

If the site *were* accessible from an iPhone then caching would be a useful technique for improving the visitor’s experience.


Excel scroll bar bug

[Microsoft Excel 2008 for Mac][excel2008] has an irritating bug where only the active document window has scroll bars. If a second document is open, or even if you only have one document but Excel is not the front-most application then the window has no scroll bars and ignores scroll messages from the mouse. This happens in Excel 12.2.0 (and a couple of earlier revisions behave the same).

Excel scroll bars in inactive window

Excel scroll bars in an inactive window

The correct behaviour is for [scroll bars in inactive windows to be drawn in an inactive state][hig] and to allow scrolling even when the window is not front-most.

I rather like Excel. I thought it was the least crashy of the assorted junk Microsoft released as Office 4.2 for Mac back in 1993. Fuck me that was a pile of shit.