Metro makes more bus data available for building better customer apps http://www.wmata.com/tiny.cfm?id=4950
— @wmata (@wmata) June 21, 2011
Today WMATA added NextBus predictions for Metrobus to the Transparent Data Sets API. But did WMATA implement SIRI, an open standard for real-time transit data? Or did they simply expose access to the existing NextBus XML API?
No, WMATA chose to expose NextBus prediction data by adding a new method to the existing Transparent Data Sets API. The NextBus XML API may be proprietary, but at least it’s standardized across all of the agencies which use NextBus.
One of the core elements of good software engineering practice is the development of reusable software modules; the use of a common format supports that aim. Instead, consuming data from the API that WMATA has exposed requires that a developer start from scratch. It’s exceedingly unlikely that another transit agency would choose to mimic WMATA’s API, so that effort can’t be easily reused elsewhere, either.
It’s important to point out that WMATA does have other options here; they could have simply exposed the NextBus API directly, as SFMTA (Muni) has done. Or, they could have built a SIRI or SIRI-like interface on top of their data, although that would have undoubtedly required more effort. But by no means were they cornered into developing yet another home-grown format for reporting real-time bus predictions. WMATA could also have waited for Google to release their GTFS-based format for real-time data; while Google’s lack of transparency in developing this new format bothers me, using it here would obviously make it easier for WMATA to get real-time data into Google Transit.
In short, while it’s always good to see more data being released, this is a case in which more preparation and more care with the mechanics of the actual release could have resulted in a more usable product for developers, and, ultimately, the riding public.