backgroundTracker4WebApps detailed info

backgroundTracker4WebApps (BT4WA) detailed info

(Play video) (Note the name of the app has changed since the video was recorded)

How does the app work more exactly

The app consists of a list (array) of uri+key. The user can add/delete entries of this list at their own preference.

The uri+key should look like this:

https://YOURDOMAIN#0123456789abcdef0123456789abcdef
When the list is populated, and the user hits "On", the app will make https-requests like this:
https://YOURDOMAIN?dataFromRemoteControl={"keyRemoteControl":"0123456789abcdef0123456789abcdef","iSeq":1,"boCheck":false,"boShow":true,"hideTimer":15,"lat":59.1234567,"lng":17.1234567,"boSetTHide":false}
The querystring consist of one variable dataFromRemoteControl which in turn contains a json encoded object with the following variables:
keyRemoteControl
A 128 bit key in the form of 32 hex letters (0-f). It is used to recognize that the request comes from a valid "remote controller".
iSeq
A sequence number that counts upwards. To prevent replay attacks. (not really needed since TLS prevents replay attacks (so it will be removed))
boCheck
For checking the status (see more below for how the response is handled).
boShow
Make the user visible or hidden on the receiving site.
lat
latitude
lng
longitude
hideTimer
Number of seconds till the user should be automatically hidden. (should be renamed hideTimerResetValue)
boSetTHide
If the request comes as a result of the user hitting "On" (then boSetTHide=true) or if the request comes from the background process callback (then boSetTHide=false)
If boSetTHide==true then the controlled site should push the hide time point forward with the hideTimer value.

What should the controlled site return

A string whose first 200 characters are displayed in the BT4WA-app.

If the string starts with "Visible" the string is colored green.

If the string starts with "Hidden" the string is colored red.

Otherwise the string is colored black.

Other

One could say that, the native app is a workaround for as long as geolocation (in web apps) doesn't work in service workers.