Skip to content

Commit 01ca2ab

Browse files
authored
Merge pull request #30 from w3c/use-cases
WIP: Use Cases
2 parents e6318bc + 1ad4fb1 commit 01ca2ab

File tree

2 files changed

+136
-0
lines changed

2 files changed

+136
-0
lines changed

compile.sh

100644100755
File mode changed.

index.bs

Lines changed: 136 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ TR: https://www.w3.org/TR/geolocation-sensor/
77
Shortname: geolocation-sensor
88
Editor: Anssi Kostiainen 41974, Intel Corporation, https://intel.com/
99
Editor: Thomas Steiner 44965, Google Inc., https://google.com/
10+
Editor: Marijn Kruisselbrink, Google Inc., https://google.com/
1011
Group: dap
1112
Abstract:
1213
This specification defines the {{GeolocationSensor}} interface for obtaining
@@ -301,6 +302,141 @@ Abstract Operations {#abstract-operations}
301302
1. Return |geo|.
302303
</div>
303304

305+
Use Cases {#use-cases}
306+
=========
307+
308+
## Categorization of use cases ## {#use-cases-categorization}
309+
310+
The mentioned use cases can roughly be grouped into four categories:
311+
312+
* **Foreground** operations:
313+
* Getting a **one-off geolocation update**.
314+
* Getting **continuous geolocation updates** (*aka.* foreground geotracking).
315+
* **Background** operations:
316+
* Getting **continuous geolocation updates** (*aka.* background geotracking).
317+
* Getting a **one-off geolocation fence alert** (*aka.* background geofencing).
318+
319+
Note: Only the **foreground operations** were possible with [[GEOLOCATION-API]],
320+
the **background operations** are completely novel.
321+
322+
Core constraints when obtaining the gelocation are **accuracy** (*how close to the
323+
actual position of the user is the determined position*) and **latency**
324+
(*how long does the user want to wait for a result*). Both are tradeoffs:
325+
one can trade faster results for lower accuracy and vice versa.
326+
327+
A common theme is to first obtain a rough estimation that then gets refined over time,
328+
for example based initially on surrounding WiFi signals (which is fast to obtain)
329+
and then eventually based on precise GPS data (which may take some time to find a signal).
330+
331+
In the following, we list use cases based on the previously defined categories.
332+
333+
Note: The categories are not mutually exclusive and overlaps exist.
334+
A task might start in the foreground, then continue in the background (for example,
335+
while the user quickly responds to an incoming email),
336+
and then eventually terminate in the foreground when the user multitasks back.
337+
338+
## Foreground—One-off geolocation update ## {#use-cases-foreground-one-off}
339+
340+
### Locate a user on a map ### {#use-case-locate-a-user-on-a-map}
341+
342+
A mapping application can use the Geolocation Sensor API data of a user to locate them
343+
on the map, essentially responding to the question "Where am I right now?"
344+
345+
### Find points of interest in the user's area ### {#use-case-find-points-of-interest-in-the-users-area}
346+
347+
Someone visiting a foreign city could access a web application that allows users
348+
to search or browse through a database of tourist attractions. Using the Geolocation Sensor API,
349+
the web application has access to the user's approximate current position
350+
and is therefore able to rank the search results by proximity to the user's location.
351+
352+
## Foreground—Continuous geolocation updates ## {#use-cases-foreground-continuous}
353+
354+
### Up-to-date local information ### {#use-case-up-to-date-local-information}
355+
356+
A widget-like web application that shows the weather or news that are relevant
357+
to the user's current area can use the Geolocation Sensor API to register for location updates.
358+
If the user's position changes, the widget can adapt the content accordingly.
359+
360+
### Alerts when points of interest are in the user's vicinity ### {#use-case-alerts-when-points-of-interest-are-in-the-users-vicinity}
361+
362+
A tour guide web application can use the Geolocation Sensor API to monitor the user's position
363+
and trigger visual or audio notifications when interesting places are in the vicinity.
364+
An online task management system can trigger reminders when the user is in the proximity
365+
of landmarks that are associated with certain tasks.
366+
This use case assumes active usage of the application in the foreground.
367+
368+
### Show the user's position on a map ### {#use-case-show-the-users-position-on-a-map}
369+
370+
A user finds themselves in an unfamiliar area. They want to check their position
371+
so they use their handheld device to navigate to a web-based mapping application
372+
that can pinpoint their exact location on the map using the Geolocation Sensor API.
373+
They then ask the web application to provide driving directions from their current position
374+
to their desired destination, essentially responding to the question "Where am I going?".
375+
376+
## Background—Continuous geolocation updates ## {#use-cases-background-continuous}
377+
378+
### Location-tagged status updates in social networking applications ### {#use-case-location-tagged-status-updates-in-social-networking-applications}
379+
380+
A social networking application allows its users to automatically tag their status updates with
381+
location information. It does this by monitoring the user's position with the Geolocation Sensor API.
382+
Each user can control the granularity of the location information (e.g., city or neighborhood level)
383+
that is shared with the other users. Any user can also see their network of friends
384+
and get real-time updates about their current location,
385+
granted they have opted in to their location data being shared.
386+
This use case intentionally conflates foreground location tagging and background location sharing.
387+
388+
### Turn-by-turn route navigation ### {#use-case-turn-by-turn-route-navigation}
389+
390+
A mapping application can help the user navigate along a routeby providing detailed turn-by-turn directions.
391+
The application does this by registering with the Geolocation Sensor API to receive
392+
repeated location updates of the user's position. These updates are delivered as soon as the implementing
393+
user agent determines that the position of the user has changed, which allows the application
394+
to anticipate any changes of direction that the user might need to do.
395+
The application can be in the foreground, but likewise can be backgrounded, for example,
396+
when the user turns their device off to save battery on a long highway route section without side roads.
397+
398+
### Tracking sports activity ### {#use-case-tracking-sports-activity}
399+
400+
A web application can track a user's sports activity, for example, a marathon run or a bicycle race.
401+
Therefore, the application does not need to be on the screen, but would be backgrounded
402+
while the user performs their activity, maybe with their handheld device strapped to their arm.
403+
404+
### Real estate search ### {#use-case-real-estate-search}
405+
406+
A web application on a handheld device can notify a user of interesting available properties
407+
in a neighborhood they are passing by where the property fits the user's previously specified search criteria,
408+
for example, 3 bedroom apartments with balcony.
409+
This is based on the assumption that the number of possible matches is high,
410+
that is, impossible to realize with geofences as the amount of required geofences would be too high.
411+
412+
## Background—One-off geolocation fence alert ## {#use-cases-background-geofence}
413+
414+
### Reminder and to-do applications ### {#use-case-reminder-and-todo-applications}
415+
416+
Reminder and to-do web applications can use a geofence to remind the user to do something when they cross it,
417+
for example, to buy milk when they are near the supermarket.
418+
419+
### Travel applications ### {#use-case-travel-applications}
420+
421+
Travel applications can show venue specific data like WiFi passwords,
422+
the user's booking confirmation etc. only within geofence boundaries.
423+
424+
### Ticketing or booking confirmations ### {#use-case-ticketing-or-booking-confirmations}
425+
426+
Ticketing or booking applications can bring up a ticket notification with a QR or bar code
427+
once the user is near the venue of a concert or sports event or when they reach their rental car counter or similar.
428+
429+
### Ride share applications ### {#use-case-ride-share-applications}
430+
431+
Users can be informed if their designated driver reaches a pre-defined pickup point.
432+
433+
### Retail special offers ### {#use-case-retail-special-offers}
434+
435+
Given their previous consent, a user with a retailer's web application installed on their handheld device
436+
can be alerted about special offers or location-based coupons when they are
437+
in vicinity of a physical presence of the retailer. Further, the in-store experience can be enriched,
438+
for example, the retailer can let the user know something they have looked at before is actually available for pick up nearby.
439+
304440
Acknowledgements {#acknowledgements}
305441
================
306442

0 commit comments

Comments
 (0)