Archive | Transit Tools Documentation

Tab A Now Fits in Slot B

Warning: this is a little techno-geeky. But it’s a significant win for those of us who care about open transit data.

Until very recently, you could get a TriMet data feed for your transit application without any problem, and you could get NextBus data for Streetcar arrivals, as long as your application was non-commercial.

But NextBus has now published new terms of service that do not limit commercial applications. You can access these from the Portland/Regional CivicApps datasets page (requires login).

If you haven’t seen CivicApps yet, check it out, a wealth of public data is now coming online for your consumption!

Next up – getting the Streetcar data included in TriMet’s arrival feed so you only need to access one feed (the obstacle to this is NOT technical)…

Transit Surfer

This is part of our series documenting the Transit Tools offered by Portland Transport.

Transit Surfer™ is our cell phone web browser interface for accessing real time arrival information for TriMet and Streetcar routes (route and arrival data provided by permission of TriMet). It’s named ‘Surfer’ for those of us who ‘surf’ the transit system, making real time judgments about what route or vehicle will get us to our destination most quickly. As such it’s designed to put comparative information on the screen and let you quickly access related information.

For those of you who follow cell phone technology, this is technically an xHTML interface. It will also work on a desktop web browser. I’m afraid we do NOT have support for older phones that only implement the WAP interface. The good news is that new phones coming out generally support xHTML if they have a web browser.

You can find Transit Surfer at

There are three screens you will encounter when using Transit Surfer. The entry screen lets you either type in a route or stop id number, or select a route from a pulldown list:

The landing screen for Transit Surfer™

If you either type a route number or select a route from the pulldown, you’ll wind up on the stop selection screen, where there are two pulldowns, one for each direction, to select the stop.

The stop selection screen.

One you select a stop, either from the landing screen or from the stop selection screen, you’ll get the results page. Not only will the results show you all the lines arriving at your stop, it will also give you links to the nearest lines at other stops, so you can ‘surf’ to alternate choices.

Also note the forward and backward linked arrows next to each line. These links will take you to the screen for the next or previous stop on that line. One of my favorite ways to use Transit Surfer is to walk in the direction of travel until the bus or Streetcar catches up with me. By just clicking to the next stop each time I pass a bus stop, I can keep track and make sure the vehicle isn’t going to pass me between stops!

The results screen.

Like the Transit Board, Transit Surfer also supports the idea of ‘choice sets’, collections of multiple stops and routes (rather than just a single stop). Here’s a set that lets me see three different lines at three different stops that can get me home to NW Portland from central downtown Portland:

(I hang out at City Club a lot.)

Right now, we can set up ‘choice sets’ on request. In the future we hope to offer users an interface to build their own, so that ultimately you can have a menu of your ‘favorite transit places’ to steal a phrasing from Windows.

As always, let us know what you think.

Transit Surfer™ is a trademark of Portland Transport.

Transit Arrivals by TXT Message


Arrival information for 3 lines downtown split across two SMS messages, displayed on an iPhone.

Update: This service is no longer supported. We recommend TriMet’s TransitTracker by Text service.

This is part of our series documenting the Transit Tools offered by Portland Transport

Not everyone has a web-enabled cell phone that can use our Transit Surferâ„¢ interface. But most cell phones can do text messages. So we have partnered with a 3rd party SMS gatgway company called 411sync to offer TriMet (route and arrival data provided by permission of TriMet) and Streetcar arrival times via text message. You get back a very terse reply, like:

Streetcar to SW Lowell and Bond: 2m,18m,34m; 15 Parkrose TC: 3m,17m

For each line at the stop, you get the line identifier, terminus and the times of the next few vehicles.

You access this service by sending a text message to 415-676-8397 or with the following message text:

trimet <stop #>


trimet 2719


Transit Board

This post is part of a series documenting the transit tools offered by Portland Transport.

Transit Board™ is a web browser interface designed to be used in a fixed location, perhaps as a kiosk or as an intranet page for a company office, allowing users to see multiple transit lines departing from a particular place or general vicinity.

One TMA has already implemented it.

There are two ways to set up a Transit Board. One requires help from the admins at Portland Transport, the other can be done on a do-it-yourself basis.

The first model requires defining something we call a ‘choice set’, which is a list of transit stops and specific lines that serve them. If you’d like to do this, send e-mail to and we’ll work with you. With the custom approach we can tailor colors and create special messages as well.

The do-it-yourself form just requires a URL with a list of stops. Here’s an example:

This particular board is designed for a hypothetical kiosk in the middle of Pioneer Courthouse Square, so it uses the MAX stops on either side of the square. You could add in as many stop= sets into the URL as you want, separating them with ampersands.

You can get stop ids by looking on bus stops, or by using TriMet’s Transit Tracker and noting the URL of the tracking page, looking for the locationID parameter.

We’ll eventually have a tool that will let you click your way through setup of these, but not quite yet – hey, we’re only volunteers.

The URL above works great as standalone page, but you can also put it inside another web page with an IFRAME tag, like so:

<iframe src=”″ frameborder=0 width=600 height=950>Frame could not be displayed</iframe>

[TIP: Play with the height= attribute of the IFRAME to balance extra white space against scroll bars depending on how many rows show up.]

Which would yield this…

And remember, if you want custom colors, font, bus lines, etc.; let us know, we can customize a Transit Board for you. We also now have a custom version that will work in a pop-up window!

Transit Board is a service and trademark of Portland Transport. Route and arrival data provided by permission of TriMet.