The Wayback Machine - https://web.archive.org/all/20050204104656/http://www.simon.incutio.com:80/

Don't build web apps that only work in IE

This is a rant, for which I will make no apologies. The wonderful thing about web applications is that they free you from being tied down to a specific platform. A well written web application is accessible from any platform that can run a web browser. Netscape and Microsoft both realised this back in the mid-90s, which is why Microsoft pulled out all the stops in winning the browser wars; they knew that the browser as an open application platform was a direct threat to their Windows lock-in. It's not inconceivable to argue that this was the main reason they added so many weird little proprietary DHTML extensions to IE in the following years - and it's those that are the root of the problem.

Why do I bring this up now? Because of this article: IBM goes silent on Linux desktop effort on InfoWorld. Apparently IBM's much publicised attempt to shift all of their internal desktops to Linux by 2005 hasn't been going to smoothly. Here's their biggest problem (my emphasis):

Though IBM volunteers have set up an internal IRC (Internet relay chat) channel where Linux problems are discussed online, users may experience problems running IBM's internal Web applications. Most of those applications are written for the Internet Explorer browser, which has not been ported to Linux. Internet Explorer is the only browser supported by IBM's internal support desk, according to another IBMer.

Writing internal web applications that only work in Internet Explorer in this day and age is short-sighted and inexcusable. If you really have to target only one browser, at least make it something open source and portable across platforms (the Mozilla family comes to mind). Even better, stick with web standards; you might find yourself reaping the benefits in a few years' time.

New eclipse downloads page

Back in November I had a bit of a whinge about how hard it was to find the right file on the Eclipse download page. The Eclipse project have unveiled a prototype of a new, friendlier page and it's an enormous improvement, thanks mainly to the invaluable new "Looking for Eclipse?" box:

The "Looking for Eclipse?" box has direct links to the full SDK download for the three most common platforms.

I for one can't wait to see this rolled out on the main site.

rel="nofollow"

Reading between the lines (which in this case isn't particularly hard), this and this (don't forget to view source) suggest that Google are soon to announce that they won't be calculating PageRank for links with a rel="nofollow" attribute. Finally, an official way of fighting the economics of comment spam by denying PageRank on user-submitted link content. Sam Ruby points to Mark Pilgrim's prediction that spammers won't care - they'll spam anyway, on the offchance that they hit somewhere undefended. I'm optimistic - if the major weblog (and wiki) vendors get behind this one it could help stem the tide.

As an aside, I have exams starting in a week and plenty to revise, so I'll probably be on hiatus until the end of the month.

Fixing MSDN with Greasemonkey

Site specific browser customisations have been a a recurring theme on this site over the past six months. Thanks to the ever inventive Aaron Boodman that problem is pretty much solved. Greasemonkey is a plugin for Firefox that lets you create user site customisation scripts (.script.js), easily install them in Firefox and then set which sites they should be run on. Michael Moncur has a handy tutorial on getting started.

I've already found reason to write my first script. For all of its faults, one thing that can be said for Internet Explorer is that its technical documentation runs rings around its competitors. Safari and Opera have virtually no technical documentation at all, while Mozilla's is piecemeal to say the least (let's hope they listen to Jon Udell and Tim Bray). Unfortunately, IE's documentation is hidden away on the always frustrating MSDN. The good stuff is in the HTML and DHTML reference, but information on which versions (and platforms) of IE can cope with which objects is no where to be found.

Or at least that's what I thought, until someone on IRC told me to hover over the event box at the bottom of this page. Nothing happened (in Safari), so I tried Firefox and IE5/Mac. Still nothing, so I viewed source and discovered that the platform information is hidden away in a made-up platinfo attribute on the link and revealed using IE/Windows specific JavaScript. Doh!

A few minutes with Greasemonkey and I had a solution: this user script restricted to URLs matching http://msdn.microsoft.com/workshop/author/dhtml/reference/*. It's not pretty, but it works - and I'm sure it could be made to look quite decent given a little extra effort.

map.search.ch

Forget about Google Suggest; if you want to see some really impressive dynamic web content go and have a play with map.search.ch. It uses XMLHttpRequest and a bunch of other tricks to let you smoothly pan and zoom over an enormous and detailed map of Switzerland, based on satelite photos (so you can zoom right in to individual streets and see the houses). Even better, it supports hackable URLs letting you link directly to cities or even street addresses.

The dynamic map resizes with your browser window, and the whole lot works in pretty much every modern browser (IE, Mozilla, Opera, Safari, Konqueror) and degrades to a static version for everything else.

It launched back in October but I hadn't heard anything about it until Harry tipped me off. 2005 is going to be an exciting year.

Some notes on Wikipedia

I've been driving myself crazy with coursework over the past couple of weeks, and since it's always good to have something to take your mind off things I've also been spending a fair amount of time lurking around the beautiful Wikipedia. Here are a few things about Wikipedia you may have missed:

The deeper I dig in to Wikipedia, the more amazed I become. I see it as more than just a collaborative encyclopaedia; it's a testament to humanity's ability to work together for the greater good. I guess you could say I'm in WikiLove :)

Update: Fixed links, thanks to corrections posted in the comments. If this entry had been a wiki page, people could have fixed them themselves...