the problem: imagine you're walking alone at night in a city that can be unsafe. current mapping solutions such as google maps don't take into account safety when providing walking directions, leading you to potentially unsafe areas. other solutions include taking a cab (pricey) and looking up unsafe areas (too much work).
the solution: create a multiplatform (web, ios, android) application that recommends the safest and shortest path from point a to point b.
imagine you’re in an unfamiliar city and you’re trying to get from a to b. it’s late at night, so you’re not sure if it’s safe to walk back alone and maybe you just want to know which is the safer path, even if it takes a bit longer to get to your destination. in fact, maybe some areas of the city are safer than others, but you don’t have that information.
walkme aims to solve this problem by providing the safest and shortest route between two points based on historical crime data. to do so, we take several factors into account including severity of a crime, number of crimes at a location, worst crime occuring on a path, and the most crime dense point on a path. we then go through all the walking paths provided by google maps and assign it a safety index from 1 (very unsafe) to 10 (very safe).
currently, walkme only works for new york. however, we are working to expand it to other cities such as san francisco.
data was collected from the nyc crime map and parsed into a postgresql database with postgis enabled to help with performance. from there, the backend would parse a directions json object and methodically check every way point of a route for crimes. our final safety index would be calculated based on:
when the user first opens the application, they are greeted with a welcome screen that explains a little more about what walkme does.
they can then go back to the main screen, which takes many design elements from other mapping elements. this is to provide the user with a familiar environment in which to use the app.
the user can search a starting point and an end point. we included autocomplete because after completing usability tests, we found that users really liked the validation that autocomplete provided.
when selecting a starting address and a destination, we also dropped pins to provide visual confirmation of the user's selection. finally, after selecting a second destination, clicking "go" on the keyboard would automatically proceed to step 5. here, we are just showing what a complete query looks like. the user can also select the floating action button, placed similarly like the one in google maps, to perform a routing request.
the results page was designed with intuition in mind. we automatically highlight the route with the highest safety rating, with the map reflecting that specific route. in addition, the call to action is very clear, as well as other options. users can click the question mark for more details on a route, as well as select other route options. in addition, we decided to add an option to request an uber if there are routes with a safety rating below 5.
finally the directions panel displays nicely formatted walking directions from point a to b, with the option past the scroll to track gps. unfortunately, google maps doesn't support turn by turn navigation, so we'll have to limit it to this for now.
we made several key design decisions and considerations throughout the development of walkme.
our big goal for the future is to develop walkme for more cities. in addition, we are exploring creating our own routing heuristic independent of google maps.