← All work

Case study 05 · Ministry of Transport, Chile

✓ Shipped

CMB: one map for a city's buses

Santiago's bus control room watched thousands of buses on many small screens, in a dark room, and gave instructions by phone. I designed one map with semantic zoom, so operators could go from the whole city to one bus without changing tools.

INCIDENT · DETOURZOOM 2 · ONE BUSCMB · 6,154 BUSES DAILY · 384 ROUTES
Semantic zoom. The city, a route, then a single bus, in one map.SHEET 01
Client
Ministry of Transport, Chile, via Inria Chile
Years
Jul 2017 – Feb 2018
Role
Designer and front-end
Team
Me, 2 developers
Methods
Control room observation, maps, prototyping in code
6,154buses on the map every dayCMB key statistics
384routesCMB key statistics
12operators, around the clockControl room
6.2Mpeople served by the bus networkCMB
01

Context

A control room that saw the city in pieces

Twelve operators watch Santiago's buses 24 hours a day, alongside police and metro liaisons. They worked in a dark room with many small screens, handed over between shifts, and gave instructions to drivers by phone.

02

Research

Observing the room

Watching the control room showed what the interface had to fit:

  1. 01 / DarkA dark room, watched around the clock.
  2. 02 / ScatteredMany small screens, each showing part of the picture.
  3. 03 / HandoversShift changes, where context gets lost.
  4. 04 / By phoneInstructions to drivers by phone, with police and metro liaisons in the room.
03

Decisions

Design for the room, then for the data

D1 · Environment

A dark interface for a dark room

Bright screens in a dark room tire the eyes over a long shift and wash out the shared displays.

D2 · Maps

Semantic zoom in five groups of information

Each zoom level shows different information, from the city's status down to one bus, instead of shrinking the same map.

D3 · Memory

A history view for recurring events

Football matches, protests and concerts repeat. A history view lets operators plan from what happened last time.

D4 · Process

Prototype the map in code

I built the map from an open-source library and wrote the first front-end, so we could test with real data volumes.

04

Result

One map for the whole city

The CMB dashboard: a dark map of Santiago with incidents and alerts, a list of data layers on the left, and indicators on the right.
The city. The zoomed-out map with incidents and alerts.FIG. 01
The filter panel listing the bus operators, paid zones, alerts and types of incident.
Filters. Show only the layers you need.
Indicators comparing the performance of each bus operator, beside the map.
Indicators. Performance by bus operator.
CMB · scale

Every route in one ring

384BUS ROUTES

One tick per route: 384 in all. The ring is a unit chart, so its density is the number.

CMB key statistics
05

Reflection

What I'd do differently

✓ What workedPrototyping the map in code let us test with real data volumes early.
↺ What I'd changeStatic and real-time data came in very different volumes. I'd prototype with the full live stream sooner, to find performance limits before the design settled.