GO Transit just released their official mobile app and it is long over due. Better yet, its free (much to the demise of the the 3rd party apps on iTunes).
The menu is clean and simple – the way it should be. It has basic functionality such as viewing and favoriting train/bus schedules, being notified of departures, and viewing the Union Station departure board. Filtering of the departure board was a nice touch that no other 3rd party app seems to have done yet.
<%= image_tag "articles/gotransit/screenshot1.jpg", :class=>‘image-right’ %>
The app is very basic, so I expect it to work perfectly. It does not. Sometimes, just minutes into using the app, the main menu icons stopped working. You click on the icon, the icon reacts, but nothing happens. Sometimes, the expected feature opens after a while, but other times, nothing happens and I’m required to close the app and restart it. This is totally unacceptable. …even if the app was built by students.
I’m greatly disappointed that there is no way to view GO Transit train/bus statuses from the app. For most users, being notified of delays is the primary reason they want a mobile app!
The launch of the official app pretty much kills off all the $.99 3rd-party applications out there. These apps do not have access to any GO transit API so they screen scrape the content off the GO transit webpage and repackage it into a little apps. Because of this, whenever GO transit changes their webpage styling, the apps stop working. Often, it is no longer worthwhile for these companies to push out an update so user simply have to go off looking for a substitute app. The best apps can usually push out updates quickly, but even then; their app is not working for a day or two.
This has left riders unhappy with GO transit apps. They’ve gotten used to knowing that their app, which they paid for, will eventually stop working. This means you can never fully trust what the app is saying. If the app says there are no delays, is this because there are actually no delays or because the app cannot parse the website contents? Users end up double checking the official website.
I also developed a GO Transit app, and though I did not release it to the app store, I did try it for a bit. Like others, it scrapped the data from the main GO transit website. My app’s main purpose was to communicate delays on a user’s particular train.
Though I could easily parse the entire status section and place it on my app (which many 3rd party apps do), I wanted the ability to parse delays by train-line so users could filter it. However, every few weeks, the app would stop showing delays. I suspect that the status section does not use any template, but rather, the entire status section is just free from text-field (in addition, the entire status section is surrounded by <pre> tags to further prove my suspicion). In the end, I couldn’t find a reasonable delimiter between statuses on different lines and scrapped the app.
The image to the left is a screenshot of the status section on the GO transit website. Trying to parse it by line proved difficult because no standard template was used. In this particular example, notice how the first delay effects one train-line and the 2nd delay effects two train-lines even though it is displayed in the same fashion as the one-train line status. This inconsistent use of headers is one example of the difficulties of parsing this page.
Because of this, I’m pleased that there is an app that is based on some official API. Though, I do not really expect myself to use this app too much do the lack of status updates, I think the general public will be please to have a GO Transit app they can use with confidence.