Ha fatto molto parlare negli ultimi giorni la decisione di Google (inizio Ottobre 2021, in corrispondenza dell'aggiornamento alla versione 94 di Google Chrome) di includere definitivamente le Idle Detection API all'interno del browser.
Ma cosa sono davvero le Idle Detection API o più brevemente le Idle API?
Le API (Application Programming Interface) sono fuzionalità di un software che servono a portare a termini compiti specifici e – nel caso delle Idle API – servono a verificare le interazioni dell'utente con il dispositivo.
Questo significa che il browser può comprendere quando l'utente non sta utilizzando una web application o un sito web (per mancanza di input nel tempo, per l'avvio dello screensaver, per il passaggio ad un diverso tab o ad un diverso software) e comunicarlo alla pagina web in cui è stato inserito codice che sfrutta queste API.
Con le Idle API il browser può comprendere e comunicare alle pagine web quando l'utente non sta interagendo con la pagina
Idle API
Cosa fanno?
Perché quindi c'è stato un grande fermento nel mondo informatico al punto che alcuni browser come Vivaldi hanno immediatamente bloccato di default queste API?
In generale la tecnologia – come tanti altri aspetti della vita quotidiana – è di per sé neutra e sono gli utilizzi che ne vengono fatti ad essere identificati come buoni o cattivi.
In questo caso la preoccupazione maggiore è relativa alla privacy ed alla sicurezza degli utenti, sempre più al centro dell'attenzione quando si parla di utilizzo della rete o di dispositivi IoT (Internet of Things); fornire la possibilità ad un sito o una web application di conoscere lo stato dell'interazione dell'utente con esso può fornire sia strumenti utili per migliorare l'esperienza di utilizzo, sia sfruttare questa conoscenza per effettuare profilazioni e attività all'insaputa dell'utente.
Uno dei punti positivi a favore delle Idle API è relativo alle web application collaborative o di comunicazioni, nelle quali lo stato degli altri utenti può essere un ausilio per comprendere l'interattività dei propri collaboratori su un documento o delle persone con cui stiamo comunicando, ad esempio in una web application di chat (pensate al classico sta scrivendo… dei sistemi di messaggistica).
Quali possono essere invece i possibili usi distorti che possono essere fatti di tale tecnologia? Tra gli esempi più semplici da pensare sono quelli relativi al tracciamento del comportamento degli utenti su un sito web (l'utente sta leggendo l'articolo? quanto tempo ci mette prima di effettuare lo scroll? si sta soffermando in particolare sulla descrizione di un prodotto specifico?) ma non è difficile pensare anche ad utilizzi più aggressivi, come il far eseguire un particolare codice quando la pagina si accorge che l'utente non sta più interagendo con essa.
In questo ultimo caso, uno dei principali esempi riportati – in quanto molto attuale – è quello che ipotizza lo scenario in cui un sito o una web application sfrutti la conoscenza del fatto che l'utente non sta interagendo con la pagina per avviare un software che in background effettua mining di criptovalute all'insaputa del visitatore, sfruttando il dispositivo dell'utente (e quindi minando a costo zero).
Uno scenario meno aggressivo, ma non meno fastidioso, potrebbe essere l'uso delle Idle API in congiunzione alle Notification API per inviare notifiche sul dispositivo quando la pagina o la web application si accorge che l'utente non sta più interagendo con esse: vi piacerebbe che ogni 3 minuti il sito web che avete aperto in un altra scheda del browser facesse apparire una notifica nativa sul dispositivo dicendovi Ehi, sono 3 minuti che non stai leggendo le notizie o guardando i nostri prodotti, ritorna sulla scheda del nostro sito!; probabilmente la risposta è no.
La tecnologia è di per sé neutra, è l'uso che ne viene fatto che può rappresentare un beneficio o un pericolo per l'utente
Idle API
Benefici e rischi
Poiché questo tipo di utilizzo scorretto è stato previsto prima dell'abilitazione di queste API all'interno del browser (o meglio di tutti i browser basati sullo stesso motore di rendering), anche per questa tecnologia è necessaria una prima (ed unica) richiesta all'utente da parte del sito o della web application di accettare l'uso delle Idle API.
Cosa impedisce quindi di premere sul pulsante No alla richiesta da parte di un sito o di una web application dell'utilizzo delle Idle API? Putroppo, come è già visibile in molti siti, laddove l'uso di una particolare tecnologia permetta al gestore di ottenere un beneficio, lo stesso farà di tutto per impedire o degradare l'esperienza d'uso del proprio sito o servizio a meno che l'utente non accetti di utilizzare tali tecnologie; basta pensare a siti di informazione che impediscono la fruizione delle notizie agli utenti che utilizzano gli ad blocker o a siti che vendono prodotti on-line che richiedono l'accesso alla posizione dell'utente o il permesso di inviare notifiche per permettere la navigazione dei contenuti.
Se siete utilizzatori di Google Chrome o un altro browser basato sullo stesso motore di rendering che non prevede la disabilitazione di default per queste API potete comunque effettuare manualmente l'impostazione in due semplici passaggi:
- Aprire una nuova scheda del browser e digitare come indirizzo: chrome://settings/content/idleDetection
- Scegliere l'opzione per disabilitare l'uso delle Idle API sul vostro browser, come mostrato nell'immagine seguente

Disabilitazione delle Idle API in Google Chrome
Effettuando questa operazione, tutte le richieste di utilizzo di queste API effettuate da siti e web application saranno automaticamente rifiutate, senza nemmeno la necessità di dover esplicitamente cliccare sul pulsante No alla richiesta d'uso da parte della pagina web in cui vengono utilizzate.