Please note that as of October 24, 2014, the Nokia Developer Wiki will no longer be accepting user contributions, including new entries, edits and comments, as we begin transitioning to our new home, in the Windows Phone Development Wiki. We plan to move over the majority of the existing entries. Thanks for all your past and future contributions.
Mobile Design Pattern: Specifying or Detecting Location
This design pattern is part of the Mobile Design Patterns series.
A means of prompting the user to specify their location and/or auto-detect and display it (typically using GPS or triangulation).
- When location is required to perform a search and/or display contextual options or content.
- Minimizes text input within location based applications.
- Can impact privacy if poorly implemented.
There are many ways to elicit location information from users. They key to a great experience is to combine practicality with privacy by eliciting location as little as possible and providing users with full control over any auto-detection that occurs. As such, this is not so much a pattern as a series of patterns and approaches which can be combined when designing location based services.
a. Show ‘My location/position’
What: Enables users to request their location at any time. Once detected, the location is stored and can be recalled as needed to complete tasks.
Use when: Use within applications where location is regularly required to complete tasks. Ex. Mapping applications, local search. Can be a useful complement to ‘auto-detect settings’
- Provide a ‘My location’ command within the Options menu.
- Indicate the location on the map using an icon or easily distinguishable marker.
- If the exact location cannot be determined, provide a more generic indicator covering the closest discernable area. Many mapping applications use a small, bright circle to indicate exact position and a larger, semi-transparent one to indicate approximate location.
Figure: Location markers don’t have to be boring—especially if accurate navigation is not the goal of the application as seen in Nokia VINE.
b. Automatic location-detection settings
What: A global (application-wide) setting that enables users to turn location-detection on or off. i.e. to reduce data costs when roaming or for privacy reasons.
Use when: Use within applications that make continuous use of location. Ex. Mapping applications, ‘friend finder’ social applications, local search. Can also be used in conjunction with ‘My location’ prompts.
- Provide an easily discoverable option to enable or disable automatic location detection.
- Where possible, provide an on-screen indicator of location-detection status (i.e. on or off) as a reminder.
Figure: Nokia Maps provides a ‘Turn positioning off’ command.
c. ‘Specify/add location’ prompts
What: A prompt asking the user to manually specify location. The location is then saved and reused throughout the application as needed. It is also paired with a ‘change’ prompt allowing the user to change the globally saved location if needed.
- When it is not practical or feasible to auto-detect location.
- When it is anticipated that users may want to interact with multiple recurring locations. Ex. Home, work, vacation destination.
- Provide an input field or menu enabling the user to specify (or search for) their location. Where possible, provide hints to clarify what type of data is acceptable. i.e. country, city, postcode.
- If the user input is vague, clarify the value by providing a list of possible matching locations. i.e. ‘Did you mean: London, UK or London, Canada’.
- Save the confirmed location and make use of it whenever location is required to complete an action.
- Whenever the location is displayed, provide a ‘change location’ prompt enabling the user to input a different location.
- If possible, save recently input locations and provide a selectable list of these next time the user accesses the ‘change location’ view.
- Finally, provide a location management view to enable users to delete old or obsolete locations.
Figure: Lastminute.com’s fonefood enables users to specify then change their location.
Tip: Not all location applications require high location granularity. Consider auto-detecting the city or country if this information is useful and available. This information does not typically constitute a privacy risk so asking the user beforehand is not required and they will appreciate not having to input this obvious information. Do consider however that users may be from one city but visiting a different location in the future. Their current location may not always be the one that is relevant to their current task.