Cape Town’s MyCiTi is a bus rapid transit service which launched in 2010, initially as a shuttle service from a newly-built bus depot in the CBD to Cape Town International Airport. After numerous network expansions, the service now covers Cape Town city centre and stretches into many suburban regions, serving over 60,000 passengers a day. As an important part of the city’s overall public transport mix, full timetable information is available for anyone to access in the WhereIsMyTransport platform.
Byron Coetsee, Capetonian and freelance iOS developer, was a semi-regular user of the MyCiTi system frustrated by the service’s lack of a dedicated iOS app. To overcome this, he put his skills to use and built his own. Simply called MyCiti, Coetsee started building the first version of the app in October 2014 – the day after the Swift programming language was released. However, this early version was limited by an inability to provide immediate updates to users when timetables changed, as there was no centralised platform for this data. Coetsee explains:
“Each time I wanted to update the information in the app, I had to rerun my scripts and publish a new version of the app in the App Store. This was extremely time consuming. If the MyCiTi website changed the way they laid out their data, I’d also have to rewrite all my scripts.”
Drawn to the open and reliable public transport data on the WhereIsMyTransport platform, Coetsee began building an improved second version of his app.
The WhereIsMyTransport platform for integrated public transport data powers apps and other digital tools, making services like journey planning and access to transport information easy. We connect and collect data on formal and informal transport in emerging cities, hosting it on our open platform – a public transport API (Application Programming Interface). This allows developers to more easily build solutions to the urban mobility challenges faced in their cities.
Version 2 of Coetsee’s application was released in January 2017, and was quickly adopted by the public. Since launch it has risen to become one of the most consistent users of our API. On relaunching his MyCiTi app, Coetsee explains:
“The WhereIsMyTransport platform meant I could build an app guaranteed to have the latest and most up to date information possible. Their support team were helpful and even took my suggestions to heart – adding a few into the API.”
As an early adopter of our platform, we worked closely with Coetsee, using his feedback to more fully understand developer experiences of using the platform. This feedback ultimately shaped the support documentation available in our Developer Portal today.
The latest iteration of the unofficial MyCiti iOS app achieves something the first could not: it has become extensible. Coetsee no longer needs to manually update the app to ensure the information presented to the user is relevant.
Developing applications that present up-to-date information to a user requires backend infrastructure to gather and collate that information. Building this into an application without the use of the WhereIsMyTransport platform would mean investing in unique infrastructure to capture and update public transport timetables, then host it somewhere for the application to consume. Additionally, the system would require built-in data validation. The complexity of this solution may not be feasible for a single developer, which is where our platform comes in.
Coetsee’s MyCiti 2.0 improvements were made possible without having to maintain multiple codebases for data collection and validation – barriers removed by using the WhereIsMyTransport platform.
“Data platforms have the capacity to empower people to solve problems more easily, and the WhereIsMyTransport platform is no different.” Marsh Reddy, WhereIsMyTransport Platform Evangelist
By accessing timetable data through our API, Coetsee was able to focus efforts on user experience, confident that the data he receives has already been verified and, most importantly, will be up to date. Connecting to a maintained, RESTful API like ours provides confidence in data – for both the developer and service user.