Metlink launched a new website recently which I first noticed when it wanted Firefox to send Geo-Location information (to which I said no, having read the Firefox FAQ and concluded it was unlikely to do anything useful, and I valued my privacy more than any dubious benefit gained from sending yet more information to Google). It is running SilverStripe (confusingly, by SilverStripe, a Wellington based company) on Windows; unfortunately I know this because the webserver is not properly tuned so some queries fail.

The new site is filled with Javascript magic, presumably intended to make things shinier. There are some advantages, such as the ability to bookmark specific timetables (with a bit of reverse engineering of URLs):

and it's possible that the AJAX loading of the timetables may be faster (but it appears to lead to repeated reloads of the same information).

However there are several rough edges:

  • a large portion of the top left corner of each timetable page is obscured by what could easily be a set of simple HTML links properly included in the layout

  • switching from the inbound to the outbound view requires Javascript to work and any attempt to, eg, open that link in another window returns to the top page (they all gratuitiously link to http://www.metlink.org.nz/#Outbound); this is particular ironic since there are valid URLs which will pull up the outbound portion of the timetable that they could have used in the links

  • the 54 bus service apparently consists of two services, one of which goes Johnsonville to Churton Park to Wellington bypassing Johnsonville on the way back from Churton Park to Wellington, and another which consists of buses that only visit a single stop -- in Johnsonville. (cached example; I emailed the only Metlink contact email I could find, about this, asking if the bus route had changed to bypass Johnsonville, before I figured out the most likely cause -- poor testing of the website -- so maybe they will realise and fix it.)

  • if you go to a timetable, then use the browser back button to go back to the choose a route page, then click on the "Go" button to try to go back to the timetable again without having chosen a different route, you get a Javascript alert box telling you that you haven't chosen a route -- despite the fact that the browser remembers the previous route you chose, and is (a) displaying it in the select box and (b) ready to submit it if this were actually an HTML form (cached example). The problem of course is that the Javascript reinvention of basic browser functionality is buggy; the only fix is to select something else, and then select the one you first thought of, to remind the Javascript that you have selected something. Like the outbound timetable link problem things would have been better if all of the Javascript were simply omitted.

  • if you search for a journey in the Journey Planner, you discover that there are two of various locations (eg, "Zoo" and "Zoo ()") without anything obvious to determine what is different about the two. (Although interestingly some locations that I tried yesterday and it couldn't find do work now, eg, "Johnsonville Hub" which I tried because a bus showed that it terminated there, and "Johnsonville Rail" which still doesn't show up in the drop down, but does give suitable information)

  • the links to the various options in the Journey Planner results also rely on Javascript to work, so that eg "open in a new tab" again takes you back to the top level search page (which has conveniently forgotten what you searched for), making comparing the different options a painful process of allowing the AJAX to load each one in turn, rather than having them open in browser tabs and flipping back and forth (and this also means that you can't bookmark a particular search so that you could, eg, send it to someone else or run it again next time you want to take the same trip)

  • all the details in the journey summary are plain text (despite different colours) and none of them link to anything useful (like, eg, the timetable for a suggested route where you could check when the previous/next services were so you had some idea how critical it was that you be extra early in case the service runs early); instead you have to open another tab and go search for each one yourself

  • the details of how you take the journey are "below the fold" on most browsers, because of the choice to put the route map at the top, so that someone familiar with the services just wanting to know which one is best right now is forced to scroll up and down and click through links just to find out their options (probably the most pessimal presentation of the information for that use case); the summary at the top just tells you a start time, a duration, and a cost with no mention of what services. Even a slight hint as to what plan it had come up with would be vastly more usable.

All of which makes me think that my idea of, eg, a web service or iPhone app that would allow you to choose just the elements that you want to know and display them in an easy to scan manner is essential. The last time I asked the Wellington regional council about getting the information needed the best they could offer was screen scraping the website. I guess I have to investigate whether the AJAXing of the website has made that process better or worse.