In recent years, the UK government has invested in opening up transportation data to the public. This may explain why we see a growing number of public transportation (bus, tube, National Rail,etc) mobile applications. I spent several days exploring all the data feeds and schema, looking for something suitable. In addition to wanting to keep my app small and lightweight, I did not want to be forced to pull down unnecessary data and process it on the mobile device. This was a case of too much information. Certainly forcing a mobile app to pull down 25MB of unfiltered data was out of the question.
Twitter feeds were also on the table. However, Twitter has recently announced upcoming changes to its usage policy, such as deprecating RSS feeds. As well, relying on a Twitter feed puts me at the mercy of a third-party, which could change its privacy settings, effectively putting me out of business. I also did not want to dive into the whole oAuth area at this time. So, I backburnered Twitter for version 1 and ended up going with the Highways Agency RSS feeds.
Highways Agency (HA) RSS feeds were ideal for my requirements, offering:
- Easy to ready XML schema
- Small, lightweight payloads
- Offered feeds specific to the M25
I ended up using three HA RSS feeds:
A combination of these three feeds gives me all of the planned events for the M25, as well as unplanned (e.g. accidents, congestion, emergencies, etc). So all I had to do is pull this data down, parse and process and update my UI. In the end, a relatively straightforward operation.
In sticking with my original core functional goals, I had my reliable source of data. I can still introduce other data sources in future versions, including images, enhancing the app and its usefulness.