Google Chrome 94's Idle Detection API rejected by Mozilla and Apple, citing "user surveillance concerns"
Google's latest Chrome release, version 94, has a newly implemented Idle Detection Application Programming Interface. This API makes it so websites can detect when Chrome users are currently away from their computers or other devices. Though example use cases were provided, such as letting social media contacts know when someone is not reachable or when a retail kiosk should reset, the functionality has been protested by Apple and Mozilla. Both developers have separately stated that the API will not be implemented in Safari or Mozilla Firefox.
Both companies provided separate statements and reasonings for their decision not to implement the Idle Detection API. Mozilla's rejection of the API cites a potential invasion of privacy, as well as a danger of the API becoming a single-implementation spec and potentially fracturing web use cases. Mozilla stated:
"As it is currently specified, I consider the Idle Detection API too tempting of an opportunity for surveillance capitalism motivated websites to invade an aspect of the user’s physical privacy, keep longterm records of physical user behaviors, discerning daily rhythms (e.g. lunchtime), and using that for proactive psychological manipulation (e.g. hunger, emotion, choice ). In addition, such coarse patterns could be used by websites to surreptiously max-out local compute resources for proof-of-work computations, wasting electricity (cost to user, increasing carbon footprint) without the user’s consent or perhaps even awareness.
We request that specs be dropped that have shown interest from only one implementer, otherwise we are at risk of a single-implementation spec, which will only ever serve as documentation (i.e. not an actual open standard), as we know that monoculture based standards end-up becoming de facto, based on the one specific implementation’s details, bugs, interpretations, and not what is written in a specification."
Apple's statement comes from a decision by the company's WebKit development team, who collectively decided that the use case for the API isn't strong enough to be implemented universally across the web:
"I'm going to stop responding to this thread at this point because none of the use cases presented either here or elsewhere are compelling, and none of the privacy or security mitigations you've presented here and I found elsewhere are adequate. However, not responding to this thread or future thread about this topic does not mean we'd reconsider our position. Unless a significant new development is being made in either one of the issues we've raised, our position will remain to object to the addition of this API unless otherwise stated regardless of whether we continue to say so in public or not."
In addition to its implementation within Google Chrome 94, all Chromium powered browsers will support the API unless explicitly removed or disabled by their developers. That said, the API needs express permission from Chrome users before it can be utilized by any website.