A few pointers to get you started...
We won't tell you how to make your app, Web site or widget, but thought a little guidance might be helpful...
Don’t miss the bus.
Did you know that more than half of all trips taken on CTA are on buses? While many individual train lines may have higher ridership than individual bus lines, most people use bus services or a combination of buses and trains. In fact, less than a quarter of CTA riders use only the train!
Consider both bus and train services in your app—it’ll make your app more useful (and make more people happy).
Keep everyone in mind
At CTA, we work hard to try and make sure our services (both transit and informational) can reach the broadest range of people—with the broadest range of abilities. This can include people with low-vision, no vision, limited mobility and even cognitive differences.
Try to make the most of the range of accessible options on whatever platform you’re using (and note that we publish accessibility information as part of our alerts feeds, which contain essential information for people who require an accessible path in and out of stations). This can include providing alternate text to things presented visually, considering font sizes for people with low vision and, when it comes to Web-based content, following established standards so your sites and services work on the greatest number of platforms possible.
Check out Federal Section 508 and the Illinois Information Technology Accessibility Act to get started.
Cache it if you can
Our servers are powerful computers, but bandwidth isn't free. As a result, Bus Tracker has daily transaction limits (if it’s not possible to cache enough information, we’ll consider raising the transaction limit on a case-by-case basis). In the event that a user of an API is causing deteriorated performance on our primary Web and Bus Tracker services or to others, we may need to limit access.
Be a good netizen and help us avoid needing to take any action: Try to minimize the number of requests you need to make from our servers by caching data that doesn’t change often. For example, our list of bus stops and ID numbers is not likely to change every day—you can probably just grab the stop list once per day, for example.
Also, Bus Tracker information (including both arrivals and vehicle location) is only updated about once every minute—there’s no need to make requests for the same information every few seconds since the response won’t change.
Stay up to date
Here are some things that change regularly, which you need to be aware of:
- Alerts about planned events are posted throughout the week as we become aware of planned street closures and as our construction schedule is finalized.
- Alerts about unplanned events (delays on train lines, emergency street closures, etc.) are added to our Customer Alerts database and Bus Tracker’s service bulletins system as they occur and may be added at any time.
- Bus Tracker information is updated about once per minute. Hitting the Bus Tracker server for the same information more than once per minute will only cause increased traffic.
- The GTFS data package may be updated weekly (or even more). Note the package is located on our Web server in a server path that indicates its effective date. (Even though service schedules generally only change a few times per year, the GTFS data is updated to account for long-term reroutes, for example.)
We've found that there's a great deal of interest in transit data (and in doing really neat things with it), and, with interest comes discussion!
Community support options
While we can't provide support in creating applications, there are community resources available that may prove to be helpful. Note that CTA is not responsible for user content posted on these sites. Use discretion and understand what any code you use does before you use it.
If you think you’ve found a bug, have suggestions, or questions about how the API works, please report it to firstname.lastname@example.org. We'll try to help you where we can.