Excuse me if I go off on a technical rant for a moment. I find it very irritating when people don’t use HTML mark-up properly. I can forgive the occasional user, or those relying on WYSIWYG editors, but for large, professionally coded websites, there is no excuse for mark-up which does not apply standards correctly.
The Farringdon Lane Docking Station is a popular rack, one that is usually either (a) completely full with no space to park a bike, or (b) completely empty with no cycles available to use. For that reason, I often find myself trying to check the status of the racks online or on the move. Unfortunately, the workflow required is relatively difficult, involving several steps through the website or iPhone apps like Fliplab’s London Cycle. This actually takes a fair few frustrating minutes via a 3G connection, which is no good when I am in a hurry and keen to make a quick decision about whether to take a tube train or a bike.
I thought I could solve this by creating a twitter account that automatically updates itself, whenever the status of the dock changes. That way, whenever I think I may need a bike, I can simply fire-up my twitter application of choice and look at the latest status of the docking station. I don’t have to load unnecessary information about the status of every other docking station.
Unfortunately, my coding skills are minimal and limited to simple PHP. I don’t have the wherewithal to pull data from the London Cycle Hire site using their API. I solved this by making a customised RSS feed using the Feed43 (Feed for free) service. This scrapes the cycle hire map page (which has the status of all the bike racks embedded into it). Then I used Twitterfeed to post the results into a customised twitter account. The results are below:
The problem with my system should be obvious! If the chain of data was linked together properly, then we should be able to see every single change in status, not a huge jump from 16|0 to 8|8. This is clearly happening because both Feed43 and Twitterfeed pull data a long but regular intervals, not on a second-by-second or minute-by-minute basis. This is useless for my purposes. How can I improve it?