The hash-bang discussion

09 February 2011

Beware! This article contains links to pages that depend on JavaScript. This is stupid, and that’s the point.

It started when Simon Willison noticed that Gizmodo had redesigned, and depended on JavaScript for their URIs to work.

Mike was unimpressed and wondered how you were supposed to get at the data without JavaScript.

Danger! The next paragraph contains and links to sarcasm!

I knew the answer to this one — you use the highly intuitive special Google URI rewriting technique. (Sadly for me, Mike had already found the answer from elsewhere, and Twitter timestamps prevent me from taking the credit for informing him)

More than a few people agreed that the URI format was not a good idea. Terms used to describe it included stupid, not proper, decreasing accessibility and evil.

Then along come the inevitable car analogies. Thomas Fuchs compared JavaScript to the steering in your car but Steve Marshall pointed out that Your steering column isn’t randomly cut from time to time.

I prefer to think of JavaScript as something more akin to satellite navigation. It’s very nice when it is working properly, but a bad signal can cut it off and sometimes it can lead you in the wrong direction. I’m glad we haven’t yet reached the point where road signs are not considered worth the effort of erecting.

Since then, some nice analysis of the problem has been published (which is why this entry is largely a collection of links and not an attempt to explain the problem in detail).

I think Peter put it best when he said:

Stop breaking the web with hash-bangs (#!) and stop thinking JavaScript is always on. NO, SERIOUSLY.