A Tech Blog

Track Trimet on your iPhone

Recently I started riding the bus again full timeif not to save the environment, but to save my nerves from dealing with traffic. After a few days I was reminded about one of the things that bothered me about riding the bus: I hated not knowing exactly when the next bus was going to arrive.


This time around I have my iPhone, so I am able to use the tracker on Trimet.org to see when the next bus came. Except it was really difficult to use on such a small screen. I was able to find out when the next bus came, it took me 2-3 minutes to do it.


So I decided I was going to write an iPhone app to do the same thing, but with a much simpler and easier to use interface. At first I was just going to scrape the Trimet site to get the information. But then I came to find out that Trimet actually has a really nice API to all their tracking information!


So I present to to you the Trimet Tracker, an iPhone app that allows you to easily find out when the next bus is going to arrive at your stop. Just enter your Stop ID and youll get a list of all the arriving buses (or MAX or Street Car), what time they will be showing up, and how long you have to wait. If you dont know your Stop ID, you can also do a quick search by picking a route and selecting from all the stops on that route.


To make it even easier, you can also save any stop to your favorites list so you dont have to enter a Stop ID or search for your stop again. Just hit Favorites and select which stop you saved.


Obviously this tool isnt for the masseshow many people are riding Trimet with an iPhone? Even if no one uses it, this tool has already saved me the a couple times from missing a bus. Thats worth the whole 4 hours it took me to develop it.


For the technically inclined, Trimet Tracker was built using the Camping microframework, IUI for the interface, and a few lines of custom Javascript.


One final thought: I now firmly believe that Portland is the geekiest city on the west coast. Even our transit system has an API.