@@ -7,6 +7,7 @@ TR: https://www.w3.org/TR/geolocation-sensor/
7
7
Shortname : geolocation-sensor
8
8
Editor : Anssi Kostiainen 41974, Intel Corporation, https://intel.com/
9
9
Editor : Thomas Steiner 44965, Google Inc., https://google.com/
10
+ Editor : Marijn Kruisselbrink, Google Inc., https://google.com/
10
11
Group : dap
11
12
Abstract :
12
13
This specification defines the {{GeolocationSensor}} interface for obtaining
@@ -301,6 +302,141 @@ Abstract Operations {#abstract-operations}
301
302
1. Return |geo|.
302
303
</div>
303
304
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
+
304
440
Acknowledgements {#acknowledgements}
305
441
================
306
442
0 commit comments