Brandon Martin-Anderrson


In 2004, web-based public transit trip planners were expensive and rare. Whereas there are nearly 700 public transit systems in the US, only a handful of large cities had online trip planners. Graphserver, an open source multimodal trip planner, was created to put a trip planner on the site of every transit agency in the country, eliminating,for people with access to the web, unfamiliarity as a barrier to entry to using public transit.

Graphserver implements a novel modification of Dijkstra's shortest path algorithm to enable truly multimodal trip planning. Written in C and Python, Graphserver is small, fast, and easy to install - suitable for even the most cash-strapped transit agency.

In 2009, Portland Oregon's Trimet founded the OpenTripPlanner (OTP) project, lending institutional support to the goal of a free collaboratively built trip planner. As one of the founders of OTP I kick-started the code base with a port of Graphserver into Java. Since then, Graphserver role has shifted to policy and algorithms research, and mobile applications.

As networked mobile devices become more popular and more powerful, Graphserver could facilitate the creation of mobility software. Graphserver has been and hopefully will continue to be a helpful policy analysis tool for testing the impacts of hypothetical transit projects.

top A bicycle shortest path tree from downtown Seattle rendered using Processing bottom An isocron rendering of a driving shortest path tree

related projects


  • mobile apps
    • iBART
    • CDTA iRide
    • Ride Metra
    • Ride DC Metro
    • Over 300K users total
  • Bikesy - bicycle trip planner
  • Commonspace - transitshed tool


  • Timothy Merrifield (2010). Heuristic Route Search in Public Transportation Networks (Master's thesis). University of Illinois at Chicago.
  • Michael S. Frumin (2010). Automatic Data for Applied Railway Management: Passenger Demand, Service Quality Measurement, and Tactical Planning onthe London Overground Network (Master's thesis). Massachusetts Institute of Technology
  • Graeme Brown. Transitability pdf link

Split Flap Display

Amazing things can happen when you have easy access to a laser cutter, CAD software, and a vending machine full of Arduino microcontroller prototyping platforms. Given these tools I was able to convert a passing curiosity about the split-flap display into a working electromechanical prototype in the span of a single afternoon, demonstrating the potential of small community fabrication studios like Metrix Create Space, where this project was realized.

The entire assembly was produced using a laser cutter and thereafter quickly assembled using glue and press fits. It was actuated by a stepper motor was driven open-loop directly by an Arduino microcontroller platform. The Arduino converts commands over a serial connection, for example "show 7", into the appropriate steps to flip the "7" boards into position. The whole shindig costs in total about $35.

This project demonstrates two subtle but important principles. First, media surfaces displaying dynamic information don't need to be complicated - sometimes, all you need to make a decision is a few bits. Second, this project demonstrates the feasibility of generating novel electromechanical artifacts in a short time using a small set of tools and commodity components. At some point most artifacts necessary to feed, clothe, transport, and house people could be created using similar techniques.

top The split-flap display, integrated with a motor. bottom A demonstration of the split-flap display.

December 2009

December 2010


IIn 2005 Google pushed for the standardization and daylighting of public transit schedule and facility data with the release of Google Transit and the Google Transit Feed Specificiation (GTFS). But as Google Transit grew to ingest data from hundreds of transit agencies, only a small subset of forward-thinking transit agencies published GTFS schedule feeds to the public. In 2008 the release of the iPhone App Store and the prominence of open government as a theme in the Obama campaign drove a growing demand for public access to data already being privately distributed to corporate entities.

A conversation with Mikel Maron at Wherecamp 2008 led to a project to curate an index of public transit openness, the Public Transit Openness Index. In 2009 in collaboration with Frontseat software the Public Transit Openness Index was revived and updated as City-Go-Round - a directory of transit apps and the data sets that those apps use. City-Go-Round is intended to build a case that open data provides a huge benefit at a very low cost.

Shortly after the release of City-Go-Round several agencies took the final step of publishing open data. Now, he majority of rider miles in the US are served by agencies with open data - by a pretty large margin.

top, bottom Public transit data policies at the beginning and end of 2010. Rendered using Manyeyes.



Automated Vehicle Location (AVL) systems aren't any good to travelers if they can't see the data. In particular, what good is a mobile phone app if it's freezing or raining and you're all waddled up under gloves and coats?

Buswatch is an application what beams transit vehicle arrival predictions from Android phones to bluetooth-enabled watches by hijacking the protocol for sending caller ID strings to the watch's display. It's based on a hack by Joe Hughes of Google Transit. The app is available on the Android App Store, and the source is available on github.

Small can be beautiful - a consumption mode with a low bandwidth requirements, potential interruptibility, frequent checking, and little interaction is poorly suited to display on larger devices. Indeed, checking the time on a watch is a perfect example of that consumption mode. Small, wrist-bound OLED displays could be used to update a traveller's path as travel conditions change, direct a bicycle rider along a complicated hill-free path, or conduct the movement of members of a crowd in a dynamic settings such as political demonstrations or trading floors.

image My watch, on my wrist.

Raven and the Trauma Pod

The Trauma Pod was a DARPA project involving the Biorobotics Lab at the University of Washington. The goal of the Trauma Pod projects was to build a surgery room containing no human beings.

My designs for Biorobotics Lab for drew inspiration from the animal kingdom and musical instruments - both domains applying exceptional beauty and elegance to mechanical design. The cable routing and tensioner array on the Raven surgical robot, for example, combines aspects of stringed musical instruments with bird wings.

Eventually, the trauma pod could be miniaturized and packed into a mobile platform. A remotely-operated surgery room could be accompany humans to dangerous places such as space and arctic expeditions, battlefields, and quarantined areas.

top Raven perched above a surgery dummy. (photo credit IEEE Spectrum) middle left Raven cable tensioner design. middle right Raven cable tensioner. bottom left Trauma Pod tool changer actuator designbottom right Trauma Pod tool changer actuator

Trauma Pod on YouTube

Laser Cutter Experiments

Falling cost is beginning to bring laser cutters into the range of nonindustrial consumers, adding them, along with 3D printers and vinyl cutters, to a set of power-tools enabling an industrial ecosystem between the handmade and the factory-produced. At Metrix Create Space I had access to a laser cutter, and explored the different domains to which it could be applied.

top left A relief map of Seattle generated from a digital elevation map.

top right Handy boxes quickly printed and assembled. Eventually I parameterized the designs with a python script.

bottom left Fancy box joinery on a set of shelves

bottom right A shaft coupler between a motor and a threaded shaft

The exciting thing about laser cutters is that they're not actually very high technology. Cheap foreign-made laser cutters are little more than a transformer and a gas tube coupled with a 2-axis carriage similar to a printer head. The laser cutter at Metrix was extensively repaired in-shop without specialized labor. In the future I imagine laser cutters joining a small tool chest of complimentary tools comprising a mini-fab capable of quickly and cheaply manufacturing most digital designs. Neighborhood-based fabs would reduce cost and waste from shipping and large production runs, and help people repair instead of replace old objects by building custom-made spare parts.


Walk Score makes real estate agents stakeholders in walkability by providing a score that real estate agents can associate with a listing - given, of course, that that score is high. Though Walk Score has been successful in impacting the real estate industry, until recently the Walk Score algorithm has been criticized for its simplicity, and did not incorporate a measure of public transit accessibility.

The score itself is simple sum of the distance-penalized utility of all nearby bus stops. The interesting part about Transit Score was the way it represented one of the first wide-scale aggregation and normalization of publicly available transit data feeds.

If Transit Score succeeds in the same way that Walk Score has it will encourage the real estate industry to invest in and promote public transportation infrastructure. Already real estate agents and landowners are starting to the construction and upkeep of public transit infrastructure as evidence mounts that one of the best real estate investments is near light rail stations.

top Transitscore heatmap of New York City based on subway data alone. bottom Transitscore heatmap of Seattle overlaying a Google Map

Transit Time Maps

Where one lives may be the biggest determinant of how much energy one uses over the course of their life, making the where to live a critical environmental decision, and a unique single decision point. Locations with a large so-called transitshed - the area reachable within a reasonable span of time - will facilitate an car-free lifestyle. The Transit Time Maps tool helps you find those locations.

The Transit Time Maps combine Graphserver's capacity to generate shortest path trees with Quikgrid, which generates contour lines of surfaces generated from point fields. The resultant lines are placed atop a Google Map on a web page.

Transit Time Maps extends the work of MySociety and Stamen Design. Followed up on by Commonspace, Mapnificant, and Graeme Brown.. Transit Time Maps also played a role in the creation of Transit Score.

top 15, 30, and 45 minute transit sheds from downtown Seattle. bottom transit sheds from downtown Portland.

OpenStreetMap Dataset Imports

I was trying to make a bicycle trip planner, but there was no map with a suitable combination of high precision and high coverage. One needs very high precision for elevation profiling, in particular. Local maps provided the precision but lacked coverage, and the TIGER map vise versa. The OpenStreetMap project had taken off in Europe but was stalled in the US until US public domain maps could be completely imported.

A community process was initiated to hash out the conversion of terms from the TIGER ontology to the OSM ontology. After that had settled, I wrote a Ruby script to convert TIGER format to OSM XML format. After the first few piecemeal county imports, Dave Hansen created and managed a script to gradually convert and upload the TIGER map in county-sized chunks over the course of nearly eight months. A short time later I repeated the process for Massachusetts, importing MassGIS data with Christopher Schmidt acting as upload manager.

The TIGER import kick-started the collaboration of thousands of mappers all across the United States, producing a dataset which is not only useful on a day-to-day basis, but forms the foundation of data-intensive projects like the OpenTripPlanner. The TIGER import also strengthened the international scope of the OSM, leading to the import and collaboration of mappers in different countries. Most importantly the OSM is the only international map which exists completely in the commons - it is owned by everyone. Nobody can lock it up and cover it with ads.

top The entire US, composed almost exclusively of TIGER-derived data. bottom Boston, composed mostly of MassGIS data.

Reprap-based Circuitboard Engraver

When we set out to build a Reprap-based circuitboard etcher we were motivated by two separate things. First, Reprap 3D printers can make their own parts, but the only the subset producible by plastic filament extrusion. Self-replicating machines are exciting, but before a machine can be considered fully self-replicating it must be capable of producing its own electronics. Second, making circuitboards involves lots of toxic stuff we'd rather avoid in the basement, as well as the world. We started trying to reproduce the a Jonathan Ward's PCB Mill butrealized it would be easier to just modify a Mendel, which we already had sitting around.

I designed in Solidworks and printed on a Cupcake-style 3D printer an adaptor for a Dremel head to fit in a Reprap carriage. We used to design toolpaths for PCB circuits, and exported them to the Reprap using my own software. The Mendel was then used to etch circuit traces on copper-clad fiberglass.

Results were encouraging, but the limitations of the off-the-shelf dremel tool and the flexibliity of the Reprap frame limited precision.

This brings closer the goal of a fully genetic mechanical ecosystem, where artifacts are more bred than designed. A small-scale PCB mill also deemphasizes the advantage large-scale production requiring expensive treatment and disposal of toxic chemicals, increasing the competitiveness of custom manufacturing.

top Etched PCB. middle left Me, developing software beside a working Mendel. middle right A toolpath drawn by the mendel witha ballpoint pen in place of the engraver. bottom left The Cupcake-produce engraver adapter. bottom right The engraver leaving marks on copper-clad.


Data Visualizations

Data doesn't need help being beautiful. Data tells its own story. The more faithfully it is rendered the more clearly the truth of its story rings. All of these renderings were crated from large data-sets, using the visualization framework Processing.

1 The path of my friend Lee on every bicycle ride over the course of a year. 2 A 100 mile bike ride, and the return trip by train. Red circles show stops, with circle area corresponding to duration. 3 GPS points collected over several weeks. 4 Portland, Oregon. Blue dots are intersections with four outgoing streets. Red dots have three outgoing streets. 5 A temporal shortest path tree of the Bay Area Rapid Transit system. 6 A stylized shortest path tree through a social graph gleaned from Facebook. 7 Schedule deviation of every bus at every stop in the Seattle area over the course of a day. Route 7 is highlighted in red. 8 Sunlight intensity at the University of Washington over the course of a year. Time of day is plotted vertically. time of year is plotted horizontally. Seattle winters are especially dark and summers especially bright, as you can see.

Talk: Maps in Four Dimensions

I was invited to give a talk at the 2009 Where 2.0 conference on the challenges of depicting time-variant map data on two-dimensional surfaces. I got to talk about the Battle of Gettysburg, profess my love of public transit, and introduce my new idea for a four-dimensional shortest path tree diagram.

Open Source Projects

gtfs - A Python module for reading and exploring large GTFS files.

yak - A utility for keeping track of what you're doing.

prender - A way to use Processing from within Python.

proje - A webapp for showing off your projects.

servable - A web application framework.

Website experiments - A portfolio site.

Bikeopath - A bicycle/bus trip planner.

Workstack v1, v2 - A task-tracking tool.

Couldyoubring - For coordinating potlucks!

Makeshapes - A little tool to help build GTFS files.

Friendbread - Track the children of your Sourdough starter.

Wabi - A custom-build social network for just my friends.