W3C

Geolocation Use Cases

W3C Editors Draft 25 July 2014

Latest Editor's Draft:
http://w3.github.io/gelocation-api/use-cases.html
Editors:
Chris Wilson, Google, Inc.
Ravi Dandu, Mozilla
Stephen Li, Qualcomm Atheros

Abstract

This specification provides a collection of use cases for geolocation and geofencing in the web platform.

Status of This Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.

This document is published by the Geolocation Working Group as an informative note. It is based on use cases from the Geolocation API v1 Recommendation, which was published on October 24, 2013. This document is intended to become a W3C Recommendation.

Comments on the document should be sent to the Working Group's public mailing list public-geolocation@w3.org (subscribe, archives). See W3C mailing list and archive usage guidelines.

This document has been produced by the W3C Geolocation Working Group, following the procedures set out for the W3C Process, with the intention of advancing it along the W3C Recommendation track.

This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.

Table of Contents

2 Introduction

This section is non-normative.

The Geolocation API defines a high-level interface to location information associated only with the device hosting the implementation, such as latitude and longitude. This document collects use cases for such an API, as well as detailing specific event-triggered use cases such as geofencing.

2 Use-Cases and Requirements

2.1 Use-Cases

2.1.1 Find points of interest in the user's area

Someone visiting a foreign city could access a Web application that allows users to search or browse through a database of tourist attractions. Using the Geolocation API, the Web application has access to the user's approximate position and it is therefore able to rank the search results by proximity to the user's location.

2.1.2 Annotating content with location information

A group of friends is hiking through the Scottish highlands. Some of them write short notes and take pictures at various points throughout the journey and store them using a Web application that can work offline on their hand-held devices. Whenever they add new content, the application automatically tags it with location data from the Geolocation API (which, in turn, uses the on-board GPS device). Every time they reach a town or a village, and they are again within network coverage, the application automatically uploads their notes and pictures to a popular blogging Web site, which uses the geolocation data to construct links that point to a mapping service. Users who follow the group's trip can click on these links to see a satellite view of the area where the notes were written and the pictures were taken. Another example is a life blog where a user creates content (e.g. images, video, audio) that records her every day experiences. This content can be automatically annotated with information such as time, geographic position or even the user's emotional state at the time of the recording.

2.1.3 Show the user's position on a map

A user finds herself in an unfamiliar city area. She wants to check her position so she uses her hand-held device to navigate to a Web-based mapping application that can pinpoint her exact location on the city map using the Geolocation API. She then asks the Web application to provide driving directions from her current position to her desired destination.

2.1.4 Turn-by-turn route navigation

A mapping application can help the user navigate along a route by providing detailed turn-by-turn directions. The application does this by registering with the Geolocation API to receive repeated location updates of the user's position. These updates are delivered as soon as the implementing user agent determines that the position of the user has changed, which allows the application to anticipate any changes of direction that the user might need to do.

2.1.5 Alerts when points of interest are in the user's vicinity

A tour-guide Web application can use the Geolocation API to monitor the user's position and trigger visual or audio notifications when interesting places are in the vicinity. An online task management system can trigger reminders when the user is in the proximity of landmarks that are associated with certain tasks.

2.1.6 Up-to-date local information

A widget-like Web application that shows the weather or news that are relevant to the user's current area can use the Geolocation API to register for location updates. If the user's position changes, the widget can adapt the content accordingly.

2.1.7 Location-tagged status updates in social networking applications

A social network application allows its users to automatically tag their status updates with location information. It does this by monitoring the user's position with the Geolocation API. Each user can control the granularity of the location information (e.g. city or neighborhood level) that is shared with the other users. Any user can also track his network of friends and get real-time updates about their current location.

2.1.8 Action generated when user enters an area

A web application enables auto-checkin to a hotel when user enters the hotel. A notification appears to the user when entering a retail store, showing the user's membership card number. Businesses send notifications of advertisements, offers, discounts, when a device gets close to their store. A reminder application notifies the user to buy batteries when within proximity of a retail shop, based on user action to do so.

2.1.9 Action generated when user exits an area

When user exits office, application sends a text to spouse stating user will be home shortly. When user exits home, app makes sure the lights are turned off.

2.2 Requirements

2.2.1 The Geolocation API must provide location data in terms of a pair of latitude and longitude coordinates.

2.2.2 The Geolocation API must provide information about the accuracy of the retrieved location data.

2.2.3 The Geolocation API must support "one-shot" position updates.

2.2.4 The Geolocation API must allow an application to register to receive updates when the position of the hosting device changes.

2.2.5 The Geolocation API must allow an application to request a cached position whose age is no greater than a specified value.

2.2.6 The Geolocation API must provide a way for the application to receive updates about errors that may have occurred while obtaining a location fix.

2.2.7 The Geolocation API must allow an application to specify a desired accuracy level of the location information.

2.2.8 The Geolocation API must be agnostic to the underlying sources of location information.

2.3 Privacy Requirements

2.3.1 Users must have control over if, when, and how precisely an application learns their location.

2.3.2 Users must understand and be able to determine what information an application is given access to and when.

2.3.3 If a user chooses to give access only to foreground tabs (as opposed to background service workers), that restriction must apply to geofencing as well.

Acknowledgments

[A bunch of names go here]

References

Geolocation API Specification Editor's Draft, Andrei Popescu, Editor. World Wide Web Consortium, 11 July 2014. See also Geolocation API Specification, W3C Recommendation, 24 October 2013.