Transportation planning and traffic simulation software for creating cities friendlier to walking, biking, and public transit
Go to file
Dustin Carlino bf2e4be2a2 Adjust road editor based on real live coffeeshop feedback:
- "x/y similar segments" to relate to explanatory text about lane
  configurations below
- "edit multiple" -> "apply to multiple", since you have to change the
  road first
- start with all candidates selected
2021-06-03 09:02:12 -07:00
.github/workflows Try again, fix github builder [rebuild] [release] 2021-05-31 11:01:43 -07:00
abstio Add a file-picker UI to import JSON scenarios easily 2021-05-24 14:55:11 -07:00
abstutil new release 2021-05-31 12:12:13 -07:00
cloud Rewrite the heuristics for stop signs. Similar to traffic signals, only 2021-05-27 15:37:46 -07:00
collisions Fix compilation failures and most clippy warnings (#642) 2021-05-14 08:32:56 -07:00
convert_osm Fix missing study area polygons on the web. The refactor to Polygon::from_geojson_file introduced filesystem IO to the geom crate. Instead, we need to be explicit about how we do file IO. 2021-05-20 14:33:04 -07:00
data Import Tehran 2021-06-01 10:19:06 -07:00
fifteen_min Clean up the timer.parallelize API, getting rid of the weird enum to 2021-05-27 17:47:22 -07:00
game Adjust road editor based on real live coffeeshop feedback: 2021-06-03 09:02:12 -07:00
geom Fix an extremely naive implementation of calculating average angle, 2021-06-01 09:52:40 -07:00
headless Clean up the timer.parallelize API, getting rid of the weird enum to 2021-05-27 17:47:22 -07:00
importer Import Tehran 2021-06-01 10:19:06 -07:00
kml Fix compilation failures and most clippy warnings (#642) 2021-05-14 08:32:56 -07:00
map_editor Mark individual road segments as junctions or not in the RawMap editor. The RawMap can be saved temporarily and converted fully, effectively resulting in a local workflow for quickly trying out geometry edits in OSM without upstreaming anything. 2021-05-18 15:23:28 -07:00
map_gui Import Tehran 2021-06-01 10:19:06 -07:00
map_model Be sure to validate signals before committing the results, since GMNS imports aren't validated upfront. #626 2021-06-02 11:40:54 -07:00
osm_viewer Upgrade more dependencies. 2021-05-22 16:36:57 -07:00
parking_mapper Reorganize canvas settings, so that they can actually be saved. #216 2021-05-17 13:12:45 -07:00
popdat Clean up the timer.parallelize API, getting rid of the weird enum to 2021-05-27 17:47:22 -07:00
release Add new actdev site, Cricklewood in London 2021-05-19 13:35:49 -07:00
santa Upgrade more dependencies. 2021-05-22 16:36:57 -07:00
sim Clean up the timer.parallelize API, getting rid of the weird enum to 2021-05-27 17:47:22 -07:00
sumo Update dependencies (#656) 2021-05-22 16:23:06 -07:00
tests Use explicit start/endpoints for trips in scenarios. This is necessary 2021-05-26 14:30:01 -07:00
traffic_seitan Fix compilation failures and most clippy warnings (#642) 2021-05-14 08:32:56 -07:00
traffic_signal_data Fix compilation failures and most clippy warnings (#642) 2021-05-14 08:32:56 -07:00
updater Clean up the timer.parallelize API, getting rid of the weird enum to 2021-05-27 17:47:22 -07:00
videos Delete mdbook. It's been split out to https://github.com/a-b-street/docs 2021-01-31 15:44:41 -08:00
web update web docs 2021-04-25 10:30:36 -07:00
widgetry Add support for tooltips on disabled buttons. Use this to explain a f… (#661) 2021-05-24 15:05:32 -07:00
widgetry_demo Upgrade more dependencies. 2021-05-22 16:36:57 -07:00
.dockerignore Create a Docker image to run the map importer in the almighty cloud. #326 2021-05-06 17:35:58 -07:00
.gitignore Import Tehran 2021-06-01 10:19:06 -07:00
Cargo.lock Upgrade more dependencies. 2021-05-22 16:36:57 -07:00
Cargo.toml Update dependencies (#656) 2021-05-22 16:23:06 -07:00
import.sh Attempt to display the Timer progress and logs in separate parts of the screen when running the importer. #262 2021-01-21 19:57:38 -08:00
LICENSE Initial import of A/B Street prototype. 2018-03-13 08:06:03 -07:00
README.md new release 2021-05-31 12:12:13 -07:00
rgrep.sh Download only the cities specified in the UI map updater. 2021-04-19 17:55:42 -07:00

A/B Street

Ever been stuck in traffic on a bus, wondering why is there legal street parking instead of a dedicated bus lane? A/B Street is a game exploring how small changes to a city affect the movement of drivers, cyclists, transit users, and pedestrians. It works anywhere in the world, thanks to OpenStreetMap.

Show, don't tell

Alpha release trailer

Find a problem:

exploring_traffic

Make some changes:

editing_map

Measure the effects:

evaluating_impacts

Documentation

Roadmap and contributing

See the roadmap for current work, including ways to help. If you want to bring this to your city or if you're skilled in design, traffic simulation, data visualization, or civic/government outreach, please contact Dustin Carlino at dabreegster@gmail.com. Follow r/abstreet for weekly updates or @CarlinoDustin for occasional videos of recent progress.

Project mission

If you fix some traffic problem while playing A/B Street, my ultimate goal is for your changes to become a real proposal for adjusting Seattle's infrastructure. A/B Street is of course a game, using a simplified approach to traffic modeling, so city governments still have to evaluate proposals using their existing methods. A/B Street is intended as a conversation starter and tool to communicate ideas with interactive visualizations.

Why not leave city planning to professionals? People are local experts on the small slice of the city they interact with daily -- the one left turn lane that always backs up or a certain set of poorly timed walk signals. Laura Adler writes:

"Only with simple, accessible simulation programs can citizens become active generators of their own urban visions, not just passive recipients of options laid out by government officials."

Existing urban planning software is either proprietary or hard to use. A/B Street strives to be highly accessible, by being a fun, engaging game. See here for more guiding principles.

Credits

Core team:

Others:

Data: