UX Heutristics Report

– Organic Maps

https://organicmaps.app

Private Maker

August, 2023

Project details

Devices

Smartphone, Tablet

Environment / OS

Android

Focus Areas

  • Route Building
  • Improve Home Screen
  • Improve OSM Engagement
  • Boosting Donations
  • First-run Experience

Goal

The overall purpose of the evaluation is to find existing usability issues on the Organic Maps mobile apps so that the project can attract more supporters and contributors.

NNG framework

UX Heuristics

  • 1. Visibility of system status Go
  • 2. Match between system and the real world Go
  • 3. User control and freedom Go
  • 4. Consistency and standards Go
  • 5. Error prevention and recover from errors Go
  • 6. Recognition rather than recall Go
  • 7. Flexibility and efficiency of use the real world Go
  • 8. Aesthetic and minimalist design Go
  • 9. Help users recognize, diagnose and recover from errors Go
  • 10. Help and documentation Go

Severity Ratings (Score)

0
Not an issue. I don't agree that this is a usability problem at all
1
Cosmetic problem only. need not be fixed unless extra time is available on project
2
Minor usability problem. Fixing this should be given low priority
3
Major usability problem. Important to fix, so should be given high priority
4
Usability catastrophe. Imperative to fix this before product can be released

Findings

An overwhelming amount of negative findings were found. The overall realisation was that the tool requires substantial corrections and modifications to increase its effectiveness and credibility.

Average Scoring

1. Visibility of system status

✔

2. Match between system and the real world

✔

3. User control and freedom

2

4. Consistency and standards

2

5. Error prevention and recover from errors

2

6. Recognition rather than recall

✔

7. Flexibility and efficiency of use the real world

3

8. Aesthetic and minimalist design

2

9. Help users recognize, diagnose and recover from errors

3

10. Help and documentation

2

3. User control and freedom

Users often perform actions by mistake. They need a clearly marked 'emergency exit' to leave the unwanted action without having to go through an extended process.

3. User control and freedom
Miscellaneous

Score

2

Observations

Currently, once a Place is bookmarked the SAVE button changes to a DELETE button which removes a place from Bookmarks.
The EDIT BOOKMARK button resembles the EDIT PLACE button instead of the prior location where a user interacts with a Bookmark (the bottom bar).
Deviates from the single button UX ADD / EDIT PLACE
Clutters the Place drawer with two buttons to interact with a Bookmark
Given centered bottom location, it is easy to accidentally delete a Bookmark

Suggestions

Change current DELETE Bookmark button instead to EDIT
Move delete functionality to a button on bottom of Bookmark editor

Images

i
3. User control and freedom
Improve OSM Engagement

Inquiry

A privacy-focused application empowering users to “reject surveillance” while simultaneously making it user-friendly to directly contribute to a public open-data repository like Open Street Maps MUST have a clearly stated privacy policy which is tightly integrated into the user-experience.

Consider the following users types with different privacy / threat models:

Post-Privacy Contributor Loves open-data, logs into OSM with an account under their legal name (or is easy to discover via homepage / social profiles). This user has no concerns about contributing all sorts of data- their local neighborhood, work, holidays, etc.

Privacy Conscious Contributor Logs into OSM with an account that is a pseudonym. This user feels this is a sufficient level of privacy to contribute data safely.

  • Pseudonyms often lose privacy if they are used long enough
  • Can require secondary email accounts, etc…

Hybrid Contributor Logs into OSM with an account they feel comfortable publishing Place information. They sometimes contribute data freely. Other times it could be very for them if their Place data was published. Some examples:

  • Small business owner using OMaps with a list of clients they deliver to (likely a mix of public businesses and private homes)
  • An LGBTQ person who lives somewhere where their lifestyle is illegal or persecuted by non-state actors
  • A politician, judge, law enforcement, or military person with unusual threats
  • Someone who has ever had a stalker trying to constantly track them down

Private Non-Contributor Would never log into OSM and would never want any data being sent to public repository like OSM. This is often because they understand how once data is out there, it’s out there + how badly privacy is usually handled in apps.

Issue on Github

Score

3

Observations

Each of these user types SHOULD feel comfortable using Organic Maps and it should offer the flexibility to selectively publish data.

Suggestions

After a user successfully signs up / logs into OpenStreetMaps as per flow in #5785 they should be presented with an Organic Maps privacy setting to select. There should be a dropdown menu to save this global setting:
Please select your privacy settings for OpenStreetMaps contributions.
Each option would yield the following:
manual or confirm or auto settings
A user who selects Opt. 1 would not be bothered every time they update a Place.
A user who selects Opt. 2 would benefit from this easy confirmation each time
Implications of this are being discussed in #5727 with the idea of Contribute Place to OSM toggle in the Place editor, and in #1325 the batch submit proposal.
This somewhat relates to anonymous or a pseudonymous privacy-proxy type OSM user as discussed in #5740 but that does not sound feasible, for now.

Images

i

4. Consistency and standards

Users should not have to wonder whether different words, situations, or actions mean the same thing.

4. Consistency and standards
Improve Home Screen

Inquiry

As is being discussed in #5673 one thing I’ve discovered in my analysis that is missing from other map apps is a Directions button which triggers some part of Route building user flow.

Looking at Google Maps, OsmAnd, and Yandex, all feature a Directions button

Upon clicking this button it triggers an interaction that directly leads to UI component as described in #5697

iOS Maps diverges from this and appears to be what OMaps has been most closely modeled after. iOS Maps manages to achieve a high degree of usability by relying on drawer or slide panel as I call them.

OMaps already has these drawer style panels for Place information./

Issue on Github

Score

3

Suggestions

Adding a Directions button to UI. Clicking this button could trigger one of multiple interactions:
A drawer with text inputs
Automatically selects users current location
Instructions to select a place

Images

i
4. Consistency and standards
Route Building

Inquiry

In almost every map app there is a UI component “drawer” style or full screen view where the user clearly sees two editable text fields clearly displaying a starting point and destination, e.g.

From: Address 123, Manhattan
To: Other Address 456, Brooklyn

In OMaps this UI component does not exist or it is extremely difficult to discover. The Routing implementation in OMaps is most similar to that in iOS Maps in terms of UX flow, but deviates in some ways which will be discussed in multiple issues. This issue is to propose / track the idea of this specific UI component.

The current implementation is functional, more so once a user has used it multiple times.

At no point in this flow does the user see text representations of both the start and destination points except as an intermediary selection item.

The missing UI component may be crucial reason which causes the sense of feeling lost and unclear on what interaction a user is doing or the state of the route action.

Issue on Github

Score

3

Suggestions

Implement the standard UI component with fields which trigger edit state
Display text of Place selected in Step 2 on Step 3 and both selected places on Step 5 just not editable
Make selected points on map more obviously and selected, display step name in a tooltip

Images

i
4. Consistency and standards
Route Building

Inquiry

The only clear deliberate way to exit or cancel a route that is being built is the back button ⭠ in the top left.

This is a common UI element also used in Google Maps. However, in OMaps implementation, it does not go back to previous stage of “route building” or selected Place.

Issue on Github

Score

2

Observations

Clicking the button cancels the entire Route building as well as selected Place interaction.
This is a drastic and unexpected interaction compared to other common implementations of this button.

Suggestions

Maintain state of which step in route building and revert user to that step
Default back to first selected Place

Images

i
4. Consistency and standards
Improve Home Screen

Score

2

Observations

Most popular mapping apps (desktop web and mobile) have on their Home view a text input field that informs the user to Search The exception seems to be OsmAnd~ and Organic Maps that show only a Search icon.

Suggestions

Expand search icon to be a text input field with text Search places and make this field span full screen. Tapping this field takes user to current Search view

Images

i

5. Error prevention and recover from errors

Good error messages are important, but the best designs carefully prevent problems from occurring in the first place. Either eliminate error-prone conditions or check for them and present users with a confirmation option before they commit to the action.

5. Error prevention and recover from errors
Route Building

Inquiry

When interacting with Places while building a Route, the buttons and their placement are not ideal, and in some ways problematic.

  • The Search and Bookmarks buttons are suddenly located on left of screen instead of the bottom.
  • The icons are not part of a UI component (they float over the map like on the Home screen), it is unclear they are “connected” to the Route building process.
  • The user subconsciously questions: why did they move? Do they have a different behavior now?
Issue on Github

Score

3

Suggestions

Keep Search and Bookmarks icons on the bottom of screen
Group them into a UI component (background, border, etc. connected to the process)

Images

i
5. Error prevention and recover from errors
Route Building

Inquiry

When interacting with Places while building a Route, the buttons and their placement are not ideal, and in some ways problematic.

  • The Add a destination to... bar is subtle and too small font-size
  • Not obviously a button like others
  • Repeats the functionality of the Search icon on the side
Issue on Github

Score

3

Suggestions

Increase font size
Make look more similar to other buttons in app
Incorporate into a shared UI component

Images

i
5. Error prevention and recover from errors
Route Building

Inquiry

When interacting with Places while building a Route, the buttons and their placement are not ideal, and in some ways problematic.

  • Similar to Observation 1, the Locate button is not visually grouped with the action of Route building
Issue on Github

Score

3

Suggestions

Incorporate into a UI component at the bottom

Images

i
5. Error prevention and recover from errors
Route Building

Inquiry

When interacting with Places while building a Route, the buttons and their placement are not ideal, and in some ways problematic.

  • The Routing Options at top are separated from the parts of the interaction
  • The dark green topbar is the dominant UI component on the screen, thus grabs users attention most
Issue on Github

Score

3

Suggestions

Move the transport modes to the bottom and incorporate into UI component

Images

i
5. Error prevention and recover from errors
Route Building

Inquiry

When interacting with Places while building a Route, the buttons and their placement are not ideal, and in some ways problematic.

  • After Place 1 is selected and then Place 2 is selected by manually tapping on the map, the Route from / to buttons look identical.
  • This does not communicate state of which location has been previously selected by the user or what stage you are in Route building process.
Issue on Github

Score

3

Suggestions

Hide (or signal state) of the button selected in Place 1
Implement component suggested in #5697

Images

i
5. Error prevention and recover from errors
Route Building

Inquiry

When interacting with Places while building a Route, the buttons and their placement are not ideal, and in some ways problematic.

  • The Save button makes no sense to be displayed here, it is a distraction from the purpose of Building a Route
Issue on Github

Score

3

Suggestions

Remove the Save button

Images

i
5. Error prevention and recover from errors
First-run experience

Inquiry

As per this comment from @biodranik

Most users expect to see and use… maps on the first start, ASAP!

This is definitely a nicer UX on first-run than having to download World Map and a Local Map before doing anything else.

When considering how map apps achieve this, the most obvious is they include some map data in the installer… 🤷🏻‍♀️ I did not open Wireshark and look at netflow data during app use, but I assume this is what they are doing.

Here is a comparison of Android apps data footprints.

App Download Installed World Map Local Map
Google Maps 43 MB 345 MB Yes Yes
AMaps 100 MB 380 MB Yes Limited
OsmAnd 186 MB 346 MB Yes No
Maps.Me 187 MB 495 MB Yes No
Organic Maps 102/58 MB 231 MB ??? No
Issue on Github

Score

1

Suggestions

Bundle more map data in the app with really incredible compression
Load and cache local tiles as a user navigates
At least bundling the 50 MB world data in the Organic Maps seems very reasonable

Images

i
5. Error prevention and recover from errors
Route Building

Score

2

Observations

This relates to things being discussed in #5674 #5698
If user clicks a selected place Action 5 instead of Action 4 options, a Remove button is shown. This is vague and detached in meaning.
When the Remove button in Action 6 is clicked, elements like green topbar with Routing Options and the white bottom bar Add a... persist, but the route being built is cleared.
This is confusing. The screen is IDENTICAL to the previous screen (where a user is selecting the Point 2) except for the subtle blue text word change from Destination to Start but in reality a user is back at the first view of the flow.

Suggestions

Implement missing UI component described in #5697
Clear the green topbar and white bottom bar when route is empty
Disable tapping on first selected Point and/or don’t show Remove button

Images

i
5. Error prevention and recover from errors
Improve OSM Engagement

Inquiry

While attempting to add a Place when clicking the back button ⭠ the user is taken to an incorrect state. The following triggers the bad state.

  1. Select a point on map
  2. Open drawer and click Add Business
  3. Select appropriate category
  4. Fill out fields of data for Place / Business
  5. Click the confirm checkmark ✓ in top right (Red Circle 1)

The ✓ communicates to user that they should confirm saving the data they just input. It is unclear (to me) if the Place data has been saved somewhere, or if clicking ✓ saves state.

Upon clicking ✓ the user is taken to Login to Open Street Maps webview.

  1. At the Open Street Map login, click the back ⭠ button (Red Circle 2)
  2. User is taken to Categories Search view from Step 3.

The categories search field is a bad state. It is confusing to user where they are. If the user clicks on the appropriate category, the input fields are partially incomplete from data they just entered.

Issue on Github

Score

4

Suggestions

The confirm ✓ button in Step 5. should not take the user directly to OSM login screen. The button should take the user back to the map view with the newly added Place selected.
To submit data to OSM, there should be a toggle switch in the Add Place form. Conribute Place to OSM [Off / On]
The toggle should default to Off on each new Place unless it is editable in a global setting. Upon toggling to On if a user is logged into OSM, then nothing unusual happens, the data is sent. If a user is not logged into OSM, then it should pop-up the OSM login screen at that moment.

Images

i
5. Error prevention and recover from errors
Miscellaneous

Inquiry

Clicking the Locate icon button, OMaps fails to determine location of user. This problem is acute and makes OMaps routing highly unreliable and/or entirely unsuable. Related issue #3450

In Android Location permission settings, OMaps has the same state granted as other map apps:

Allow only while using the app   [Y]
  1. Use device with Calyx, Lingeage, or Graphene OS without Google Services
  2. Place phone in airplane mode. Disable Location access.
  3. Click the Locate icon button
  4. The Locating radar icon starts spinning.

After multiple minutes in the Locating state, a pop-up asks Continue detecting your location?

This icon spinning state and failure persists through the following:

  • Turning off Airplane mode
  • Enabling device Location
  • Quitting app
  • Force stopping app
  • Toggling Disable / Enable app

After all attempts at changing the phones state, Organic Maps fails to resolve any result or activate.

In none of the above states, does OMaps trigger the Accessing Location green icon in the phone’s topbar, which other mapping apps with the same permissions and user conditions do.

OsmAnd~ and Transportr both work fine and trigger the GPS Locating UI widget of the OS, and properly show me on a map after updating the GPS data. Once this has occurred Organic Maps can also locate me successfully.

Issue on Github

Score

4

Suggestions

If unable to access location, at bare minimum inform user why it cannot (Location settings, etc.), Transportr displays this message:
UPDATE: OMaps does already have a warning for this, which is better than Transporter as it offers a call to action that takes user to Settings -> Location
Missing Messages From OMaps
Popular FOSS apps Transportr and OsmAnd~ both display following status messages to user
Allow users to manually specify their location.

Images

i
5. Error prevention and recover from errors
Miscellaneous

Inquiry

Please write here a clear and concise description of what the bug/issue is about. When clicking on an address in third-party app (Contacts or Calendar) and trying to load a Point of Interest in OMaps it fails to do anything.

Steps to reproduce

  • Click on an address in third-party app (Calendar) and select OMaps
  • When another map enabled app is installed, and Android prompts user to choose, the result is the same.
  • OMaps opens, but does not center or seem to perform any look up on the map.

Upon further investigation, it seems the issue is when accessing from a third-party app the address is in string format Europlatz 1, 10557 Berlin

In this case OMaps fails to do anything, when loading OMaps with a geo-coord 52.517355, 13.38998 it works perfectly as expected and loads the POI.

Issue on Github

Score

2

Suggestions

Perform geocode lookup if string is an address
Take user to Search prompt with address string pre-populated
Notify user with an error message such as: Organic Maps could not locate the place: Europlatz 1, 10557 Berlin

Images

i

7. Flexibility and efficiency of use the real world

Accelerators — hidden from novice users — may speed up the interaction for the expert user such that the design can cater to both inexperienced and experienced users. Allow users to tailor frequent actions.

7. Flexibility and efficiency of use the real world
Improve Home Screen

Inquiry

Finding specific groups of Places (Categories or Bookmarks) relevant to them is a crucial feature of mapping apps. Google Maps implemented a clever shortcut bubble on the Home screen!

However, Categories which are important vary amongst user types and their daily activities. Consider the following:

  • Gas & Parking are useless to a city user with no car
  • Transport is useless to a user driving across countryside
  • Hotels are not needed by most users most of their lives
  • Users often look for specific food (Italian, Vegan, Cafes…)
  • Quickly find multiple places relevant to that user

This also doesn’t take into account non-public places such as:

  • Friend’s houses
  • Romantic date spots
  • Spot with an epic view
  • Buried treasure / microfilm dead-drop

Related: #2520 #4233

Issue on Github

Score

3

Observations

In OMaps currently, the number of steps required to
Category - 3 taps
Bookmark - 3 taps
This also includes time to visually parse the list of items and select the correct list before seeing the results.

Suggestions

A user should be able to view their most commonly used lists of Categories or Bookmarks with 1 tap from loading the app.
Add the ability to “pin” both Categories or Bookmarks item to the Home screen.
This display as smaller priority buttons below search field.
This is an improvement to user journeys 3 and 4.

Images

i

8. Aesthetic and minimalist design

Interfaces should not contain information that is irrelevant or rarely needed. Every extra unit of information in an interface competes with the relevant units of information and diminishes their relative visibility.

8. Aesthetic and minimalist design
Miscellaneous

Inquiry

Currently the buttons when interacting with a place have two distinct visual styles and this is disorienting to users.

Issue on Github

Score

2

Observations

Style 1. The ROUTE... and SAVE and DELETE buttons have icons and are in the bottom bar
Style 2. The EDIT BOOKMARK and EDIT PLACE and ADD BUSINESS are part of the Place drawer and have no icon. The EDIT BOOKMARK varies with background color as well. Given each button occupies full width of the screen, the buttons take more vertical space that they need too.
Contrast this with nice standardized buttons like in Maps.Me

Suggestions

Make a second row of buttons above ROUTE... bottom bar in Style 1. with logical icons included.

Images

i
8. Aesthetic and minimalist design
Improve OSM Engagement

Inquiry

To serve the goal of making it easier to contribute OSM content as per #5686

The current user registration form of OSM has multiple UX issues. It breaks most UX principles for easy signup. There are some UX issues with OSMs Third Party Authentication

  1. Select Third Party Authentication provider
  2. Discover it still requires an email address, unique display name, and the only benefit is not requiring a manually entered password.
  3. OSMs form validation when attempting Third Party Auth is very bad

This negates most of the benefits of third-party auth altogether. This is obviously not OMaps issue, but rather OSM side of things.

However, this impacts curious OMaps users who may want to try contributing data to OSM unless they complete the standard form, as cumbersome as it is

Relates to privacy concerns in #5727 and being able to toggle submission ability per Place.

Issue on Github

Score

4

Suggestions

Improve OSM signup flow and potentially make Third Party Authentication a user selectable option from directly within OMaps
Use OS level Single Sign-On to bootstrap a user into OSM account:
The technical feasibility with respect to infrastructure required by OMaps and OSM’s API is beyond scope of this UX audit, but this feels worth exploring.
An alternate option to consider is to create multiple anonymous OSM user accounts that are hard coded into OMap builds. An example of this is the privacy protecting Google Play app store Aurora Store, see their account UI:
This would offer users ability to submit data anonymously to OSM and cut out the user-experience signup flow altogether.
Given the difference of this being POST style action compared to Aurora’s GET requests, this does pose some ethical threat vectors to consider.

Images

i
8. Aesthetic and minimalist design
Miscellaneous

Inquiry

The Categories list is sorted by an algorithm that is unclearly optimized.

  • Is it category with most Place listings?
  • Most commonly used? Impossible!
  • By what type of user (see: #issue- )?

Expected behavior

A user should be able to look at a medium length list like Categories and make sense how to quickly find the item they want (e.g. quickly scroll to bottom or middle) without reading all category names.

Related #3475

Issue on Github

Score

2

Suggestions

Add a Sort button that allows user to sort by different values (Popular, Alphabetical, Nearby)
Allow users to assign priority flag to place categories (common to that user) at top of the list.
Sort Categories alphabetically. Ideally following the same UX header with vertical ... style menu as on Bookmarks view.

Images

i
8. Aesthetic and minimalist design
Miscellaneous

Inquiry

When clicking the “Share” icon in OMaps, the text containing a Place (POI) is undesirable.

  • Select any Place and then tap on the share icon which shows the following:
  • The user sees the text Hi, ... which is unclear as to what is being shared.

Showing a more useful sharable message such as:

Unter den Linden, 14, 10127

Open place in an app
geo:52.51745,13.38980?z=17  

See place on a webpage:
https://omaps.app/s4MnKE0BOq/Cold_War_Museum
Issue on Github

Score

2

Suggestions

Shows address on a single line
Less conversational Hi... I am here which might not be true or contextually relevant
Uses Geo URI Scheme instead of app specific om:// for better interoperability
More space between entities makes selecting to copy and paste easier
Alternative option is what OsmAnd~ does, which is pop-up an modal with multiple options, but this approach is more involved engineering wise.

Images

i

9. Help users recognize, diagnose and recover from errors

Error messages should be expressed in plain language (no error codes), precisely indicate the problem, and constructively suggest a solution.

9. Help users recognize, diagnose and recover from errors
First-run experience

Inquiry

On first install and use of app, after downloading the World Map, OMaps should be more helpful walking users through features and further setup.

  • It is not obvious one must download a more local map to search anything
  • The No address found when no maps installed is unclear why

Related issues #1677 #3450

Issue on Github

Score

3

Suggestions

Request user’s location, guide that user to download map for where they are located
Offer a button to download that map instead of No address found
Explain you must download map for this area

Images

i

10. Help and documentation

It’s best if the system doesn’t need any additional explanation. However, it may be necessary to provide documentation to help users understand how to complete their tasks.

10. Help and documentation
Improve OSM Engagement

Inquiry

As mentioned in #5785 when search results are lacking, the application could view this as an opportunity to tell users about OpenStreetMaps data.

Issue on Github

Score

2

Images

i
10. Help and documentation
Improve OSM Engagement

Inquiry

@biodranik I am forking this from #5746 due to your response. You communicated to me on our call last week, as well as your first email to me:

The #1 UX issue we would love to solve is how to educate users about OpenStreetMap.org

If this is a real goal, then having OSM hidden away in Settings and only after adding a Place, I’m afraid you will not change the status quo of users engagement with contributing to OSM.

Observations

The current OpenStreetMap Login is this:

  • One small paragraph of text is not very exciting or engaging for users
  • View crams too much into one screen (information, login, and signup)
Issue on Github

Score

3

Suggestions

Make view more educational and pleasant to look at with Get started button
Make login & signup be a second (or third) view after the explainer slide This flow could be displayed to user in the following ways:
On first-run of app install
As a notification / pop-up displayed after N Days of use which can be ignored permanently
In it’s current places.

Images

i
10. Help and documentation
Improve OSM Engagement

Inquiry

One way to drive more donations to a community supported project like Organic Maps is to reduce friction and make it as easy as possible to donate. A good example of this is this in-app flow in the Signal messaging app.

After clicking continue- a bottom drawer pops-up and Signal offers users the option to donate via PayPal or a credit card payment as methods.

One subtle UX “nudge” with Signal’s in-app donation is they tack-on a little badge on the avatar so users can see who is a supportive user who did. This will not work for OMaps as the app itself offers no social graph like Signal. Perhaps there is some area to explore with a partnership OSM which could be leveraged here. Tangentially related to #5740

Crypto Currency

On the web Signal does accept cryptocurrency donations, which are handled by a third-party.

Given that OMaps appears to self-custody their crypto donations, perhaps building this into the in-app flow would be nice.

Issue on Github

Score

2

Images

i

End of UX Heuristics

Evaluation Report

Private Maker

https://github.com/privatemaker
privatemaker@posteo.net

Start over