On-Street Parking



Park Me's data on the left, INRIX's data on the right

INRIX acquired a parking company. Product and sales wanted to demo our new on-street parking data in our application as a proof of concept. 

Shown is ParkMe’s on-street parking data and INRIX’s map with it’s current parking lot data. 

The Value of Design

There was internal pressure to ”just put it on the map” as a low cost way to show our new data. Part of this project was convincing the executive team to give design the time to do it thoughtfully. 

Shown to the right are two screen shots of our current INRIX maps with ParkMe’s data put right on top. 


  • POI markers are visually different Showing
  • Showing on-street parking completely covers up all incident types
  • On-street parking at this level also impedes user view of street names and other land marks

Shown is ParkMe's on & off street parking data mixed with INRIX's Map Data

Design Goals

  1. Create a design that can be implemented in one engineering release cycle (6 weeks)

  2. Integrate it with our current visual systems

  3. Create a system that shows only the minimum amount of information needed at the time


  1. Understand the data content
  2. Understand the data impact

  3. Understand the user's needs

  4. Visual explorations 

  5. Vet with engineering / Product

  6. Ship

Understanding the Data Content

This part of the process was interviewing our new ParkMe partners and trying our best to understand the type, amount, and depth of the data we were receiving. This was to help us better understand what exactly we were putting on the map

Understanding the User Needs

  • Horizontal Research to see how other parking companies show data
  • Usability tests with current application / data
  • Interview ParkMe team to gather current findings on Usability
  • Interview Sales team to understand their needs. 

Understanding the Data Impact

  • Different Clustering types – what’s useful?
  • Amount of data at different zoom levels
  • Combining current information on map with new data

Visual Explorations

We did some visual explorations on how to show the information density at different zoom levels, driving scenarios, and levels of availability.

*Unfortunately I cannot show these explorations under NDA.*

Design Questions

  1. How does parking information become active?
  2. At what zoom level is parking information helpful?
  3. How much information is needed?


How does parking information become active?

Parking information turns on automatically when user hits a certain threshold. We will pop up a toast when the threshold is reached in order to inform them that we are loading information in the background. We experimented with buttons and switches to activate parking seemed but they seemed to clutter up the UI more than necessary. 

At what zoom level is parking information helpful

Multiple levels. Neighborhood level is when we hint at parking lots. Block level is when we hint at on street parking, begin to show “Macro POI” around user. Street level is when we show on street availability.

How much information is needed?

Neighborhood level all that’s needed is to hint at parking lots. This requirement is more for our sales department and less for our consumers. This helps our team show the breadth of parking without blocking too much UI.
Block level is when parking lots begin to show up as a larger POI. This is to help the user understand what the blue dots are and to help give them a larger touch target in which to access lot information. On street parking is “hinted” with a gray line. This is to help show users that there is more information without blocking traffic.
Street level is when we the most. The reason behind this is we assume this is when the user is doing the most decision making. On-street parking now has color to show availability and parking lots are snapped to their actual lat/long to show street position  


Unfortunately, we did not fully anticipate coalescing. When we allowed the data (especially on-street parking) to be coalesced, it gave false positives. It would group 5 spots into one spot that didn’t exist. Giving the user false parking availability and location information. 

We made the messy decision to un-coalesce the information for two reasons:

  •  We didn’t have enough time left in the sprint to re-write our coalescing algorithm
  • It only affected certain zoom levels. When you zoomed in close (like actually looking for parking) it was more helpful than not.


Our solution centered around the interaction design on the map. As the user pans around, they begin to see more parking. It become uncoalesced in the 'active' area and remains coalesced in the 'inactive' area.


  1. The more layers we add to parking, the more progressively we need to uncover the information. Hinting at parking is OK, and can be a delight for users. 
  2. Even with all the data research and practice designs, things can still get messy.
  3. Build time into schedule to practice with new data visualizations. Faking the data can only give design a limited amount of accuracy.