a-b-street / abstreet

Transportation planning and traffic simulation software for creating cities friendlier to walking, biking, and public transit
https://a-b-street.github.io/docs/
Apache License 2.0
7.38k stars 332 forks source link

TW Presidential Hackathon #743

Open dabreegster opened 2 years ago

dabreegster commented 2 years ago

A/B Street is participating in the Taiwan presidential hackathon! The new "ungap the map" bike network tool is our focus, as a way to help citizens & advocacy groups push governments for alternatives to driving in cities. The tool is related to SDG 11 and SDG 13. The demo is at: http://abstreet.s3-website.us-east-2.amazonaws.com/0.2.56/abstreet.html?--ungap&system/us/seattle/maps/aurora_central.bin

I'll use this issue to organize project management.

Work plan

Summarizing from a spreadsheet, subject to change:

Feedback from judges

Two people mentioned tying the work into climate change more directly:

And in response, I think I'll prioritize "testing" somebody's proposed bike network by 1) Seeing how many short driving trips would make use of new infrastructure - a-b-street/abstreet#448 2) Adding a basic carbon emissions model and estimating savings from people making different travel choices

dabreegster commented 2 years ago

Tasks

I'm bad at keeping TODO lists in one place, but I'll try to consolidate here. These come from a-b-street/abstreet#725 and https://github.com/a-b-street/abstreet/projects/12...

Solidify map model

Road editor UI

Explore mode

Create new bike lanes tool

Plan a route

Sharing proposals

Advocacy

dabreegster commented 2 years ago

Status update from week 2

The original plan was to address the most urgent UX feedback from the workshop. Some of that has happened:

While I was fixing up the route tool, I started on some stuff from week 4:

And I started digging into performance issues and trimming down the size of the region-wide maps in a-b-street/abstreet#746. I think there's some invasive refactoring work there that I want to work on early...

And finally, I spend lots of time writing up a project demo reel & retrospective and an article diving into one of the hardest problems A/B Street tackles, making intersection geometry. These aren't directly related to the hackathon, but are increasingly vital for the project's long-term health -- I want other people to understand how tricky parts of the code work.

The stated plan for week 3 is proposal sharing. Due to an upcoming conference deadline, I will spend more time writing docs/articles, and also keep pushing forward this performance and route tool work. I think the m.v.p. for sharing shouldn't take more than a day or two anyway.

Some of the new features in the route tool are demoed below: screencast

Updated web build: http://abstreet.s3-website.us-east-2.amazonaws.com/0.2.57/abstreet.html?--ungap&system/us/seattle/maps/udistrict.bin

dabreegster commented 2 years ago

Status update from week 3

I got fairly off-track this week due to interviews and preparing for a talk at the SUMO conference tomorrow. I wound up writing 3 things this week, not directly related to the hackathon's scope, but again useful for ensuring the project could continue without my knowledge.

Direct work on the bike network tool from this week included a huge breakthrough for performance after editing the map (#748) and some help from Michael polishing the route tool (#751). New build at http://abstreet.s3-website.us-east-2.amazonaws.com/0.2.58/abstreet.html?--ungap&system/us/seattle/maps/udistrict.bin

The plan for this week is to continue on the routing tool and mode shift. I hope to focus on code, not writing, this week finally! I'll also pay down the debt of sharing map edits from last week.

dabreegster commented 2 years ago

Status update from week 4

Falling slightly behind the original schedule, but I've never been great at predicting when things will happen. A fair bit happened this week -- the routing tool got lots more detail added and better management of saved routes. There were some more performance improvements, for pathfinding and for serving the website through a CDN. The quick-sketch tool now works in the UK and other left-handed maps. And, unrelated to the bike network tool, I published the article about intersection geometry and got quite a strong response online.

Also, yesterday I attended DemocracyLab's national day of civic hacking and had the pleasure of 3 people joining for the day to work on the tool! Mara redesigned the route tool, pretty much solving the UX problems with the panels covering up the map: https://www.figma.com/file/6WMaKr49CHCHv5B98Ytmli/Map?node-id=0%3A1 Screenshot from 2021-09-18 15-15-30 And Jennifer started helping with the quick sketch tool, finding lots of problems where the automated changes would actually require repaving the road and changing its curb-to-curb width. There's a design to deal with this problem more clearly: https://www.figma.com/file/TrOmz7fq53l80yNHUelLgt/AB-street-mockups?node-id=0%3A1 Screenshot from 2021-09-18 15-20-04

So I guess this week my priorities are: 1) Take the next steps on the mode shift tool and integrate it to the bike network UI. I'm now understanding this as a sort of "large-scale test case" for the user's proposed bike network. The existing route UI is the "small scale" test. 2) Then use the results of the mode shift to calculate carbon savings. I'm hoping this is just a matter of plugging in total mileage into a formula and making some reasonable guesses about vehicle types. 3) Implement Mara's designs 4) If there's time, catch up on the proposal sharing work.

dabreegster commented 2 years ago

Status update from week 5

I made lots of progress on first 3 tasks from last week -- most notably, the tool now looks at an existing travel demand model and predicts how many people will switch from driving to biking, and what that looks like in terms of CO2 emissions. There are loads of assumptions in this calculation, but the tool exposes a way to interactively tune these parameters.

Try it out: http://play.abstreet.org/0.2.60/abstreet.html?--ungap&system/us/seattle/maps/udistrict.bin Watch a ~10 min (very unedited) demo of the tool so far: https://www.youtube.com/watch?v=o6_SGzIYwLk

I also started a very simple prototype of a related tool to help UK cities plan low-traffic neighborhoods to reduce rat running.

Try it: http://play.abstreet.org/0.2.60/abstreet.html?--ltn&system/gb/leeds/maps/north.bin Quick video explanation: https://www.youtube.com/watch?v=l_klZxlKmXU

There are about 3 weeks left in this hackathon. As the longer video shows, the tool is working end-to-end, but there's lots of polish missing. The only major missing feature is the ability to share proposals online. So I think next week, I'll finally prioritize that, and spend the rest of the time polishing the UI, performance, and testing the tool with real examples for plans around Seattle.

dabreegster commented 2 years ago

Status update from week 6

The FOSS4G conference and more interviews ate most of my time this week. I did implement alternate low-stress or low-hill routes, and then started down the rabbit hole of a-b-street/abstreet#763 to pay down technical debt for how complicated it is to manage selection and dragging for different waypoints and alternate routes.

New build: http://play.abstreet.org/0.2.61/abstreet.html?--ungap&system/us/seattle/maps/udistrict.bin

With 2 weeks left, ordered priorities become: 1) Get the absolute mvp for sharing proposals working (although I'd really like to properly work on a-b-street/abstreet#765) 2) Use the tool myself and record a bunch of example network extensions, and not get too distracted by all the adjustments to how the tool works that I'll inevitably imagine... 3) Make progress on a-b-street/abstreet#746. The mitigation if this falls through is just asking people to download the tool and run locally. It's only a big problem in the web version. 4) Start writing all the final deliverable system docs 5) Keep polishing UI -- Michael's alternate route feedback, the mode shift page, route details particularly

dabreegster commented 2 years ago

Status update from week 7

The most important tasks have been done -- sharing proposals now works, some of the major performance problems have been smoothed out (like editing a large map), I've mocked up my grand vision for Seattle, and most of the final report is at least drafted. There are just a few days left, so this is my plan:

I'll hold off on the usual Sunday release probably until Monday.

Burndown list

Can't launch without this:

Quite important:

The default Seattle map problem: this tool works best at the huge_seattle scale. Initially loading that is slow. a-b-street/abstreet#746 has lots of ideas for fixing, but let's realistically say they can't happen in the next few days. So maybe we just split into 2 or 3 large chunks and ask people to use the downloaded version for anything bigger?