76
edits
| Line 48: | Line 48: | ||
* Prevent the web page from knowing the real timing of when the user goes idle. A fuzz factor/time has been added to the 'idle' and 'active' notifications to mitigate this risk. | * Prevent the web page from knowing the real timing of when the user goes idle. A fuzz factor/time has been added to the 'idle' and 'active' notifications to mitigate this risk. | ||
How it works: | How it works: | ||
* Idle observer requested idle times are in seconds. | |||
* Randomly generated fuzz times for 'idle' and 'active' events are in seconds. | |||
Idle Notifications: | * Idle Notifications: | ||
** When the user stops using the device, i.e. becomes 'idle' the web page is notified after the requested idle time registered with the Idle API plus a random fuzz time have elapsed. This random fuzz time is generated once per state transition. i.e. when the user transitions from the 'active' state to 'idle' state. | |||
Active Notifications: | * Active Notifications: | ||
**When the user starts using the device again, i.e. becomes 'active', the web page is notified immediately if the the user directly interacted (mouse over event, keyboard event, touch based event) with the web page. | |||
** If the user interacts with another application other than the web page, the user has become 'active' but indirectly. When the user becomes indirectly active, 'active' notifications are sent to the registered idle observers after a fuzz time has elapsed. This fuzz time is randomly generated and is generated once per state transition. I.e. when the user transitions from an 'idle' state to an 'active' state a random fuzz time is generated and applied after which time the idle observers are notified that the user is 'active'. | |||
* The user 'idle' and 'active' status is platform specific. | * The user 'idle' and 'active' status is platform specific. | ||
edits