Magazine Informatica

Chat di Facebook: bloccare le notifiche di lettura

Creato il 23 novembre 2012 da Hnikarr

Una delle nuove funzioni introdotte nella chat di Facebook, con le modifiche che si sono verificate quest’anno, è la notifica di avvenuta lettura, cioè quella simpatica scritta che compare nella parte bassa di una finestra della chat e ci avvisa che Tizio ha visualizzato il nostro messaggio alla tal ora. Una funzione più o meno apprezzata, a seconda dei punti di vista: c’è chi la considera comoda, perché permette di sapere se un messaggio sia stato letto o meno, c’è chi la considera invasiva della propria privacy, perché impedisce di ignorare persone importune, c’è chi semplicemente la ignora, e così via. qualunque sia la posizione a riguardo di questa funzione, un dato rimane comune: utilizzando solo le normali impostazioni di Facebook, non è possibile disattivarla. È possibile invece disattivarla, entro certi limiti e non senza effetti collaterali, utilizzando soluzioni alternative: vediamo quali. Prima di tutto, uno sguardo a come funziona il meccanismo di notifica, cercando di utilizzare termini comprensibili anche a normali esseri umani e senza addentrarci troppo nelle complicazioni della struttura di una pagina web. Qualche passo su questa strada, però, lo dovremo compiere. Quando noi “facciamo qualcosa” in una pagina web, come ad esempio cliccare un pulsante, passare il puntatore del mouse su una figura, oppure scrivere in un form, la pagina riceve un segnale che la avvisa della nostra azione. Questo segnale si chiama “evento”. Ogni azione genera un tipo di evento diverso: ad alcuni di questi eventi la pagina è programmata per rispondere in un determinato modo, mentre altri eventi saranno ignorati. Se clicchiamo un pulsante, ad esempio, di solito succederà qualcosa nella pagina (un video si avvia, si apre un pop-up, eseguiamo il login a un sito, eccetera), mentre solo in alcuni casi una immagine reagirà alla presenza del mouse (per esempio mostrando una didascalia). La risposta agli eventi, di solito, è controllata attraverso il JavaScript. Come si applica tutto ciò al caso della chat di Facebook? Si applica in questo modo. Quando noi visualizziamo un nuovo messaggio, generiamo un evento. Questo evento è spedito al server, il quale provvederà a mostrare una notifica di avvenuta lettura nella chat del mittente. Se vogliamo impedire che la notifica sia inviata, dunque, ciò che dobbiamo fare è intercettare l’evento prima che sia spedito al server; in altri termini, dobbiamo bloccare la funzione che, nella nostra pagina, si attiva al nostro evento (lettura del messaggio) e lo spedisce al server. Quando leggiamo un messaggio, la nostra pagina cerca di segnalare l’avvenuta lettura a quest’altra pagina: facebook.com/ajax/mercury/change_read_status.php Che cosa faccia questa pagina, potete capirlo da soli, leggendone il nome: “change_read_status”. Quando riceve una chiamata, la pagina cambia lo stato del messaggio da cui è partita la chiamata (ossia l’evento) e il messaggio passa da “non letto” a “letto”; di conseguenza, la persona che aveva spedito il messaggio riceverà a propria volta un avviso, che descrive l’avvenuto cambiamento, e nella parte bassa della sua chat una scritta lo avviserà che noi abbiamo letto il suo messaggio. Siccome alla base di tutto c’è l’indirizzo che ho segnalato poco sopra, praticamente tutti i sistemi per bloccare le notifiche partono da quello. Una soluzione molto rudimentale consiste nel bloccare direttamente l’indirizzo facebook.com/ajax/mercury/change_read_status.php, per esempio inserendolo nella lista delle pagina da bloccare, se abbiamo installato un programma per bloccare le pubblicità, come AdBlock Plus e simili. Questa soluzione può funzionare con qualsiasi browser, a patto che ci sia un sistema per bloccare specifici indirizzi. Come effetto collaterale, però, tutti i nostri messaggi continueranno ad apparire come “non letti”, almeno fino a che non risponderemo; il che è normale, visto che abbiamo la pagina che ne cambia lo stato. FB unseen è una estensione per Google Chrome, che fa praticamente la stessa cosa, ma in forma più elegante e con alcune opzioni supplementari, per cercare di limitare gli effetti collaterali. Quando però apriamo l’intera conversazione con una persona, i messaggi saranno segnati come “letti” e il mittente riceverà di conseguenza la notifica di lettura avvenuta. Per adesso. Lo sviluppatore di questa estensione ci ha lavorato più volte, anche per inseguire i cambiamenti che Facebook continua a fare, per non so quale sarà lo stato dell’estensione, quando la scaricherete: alcune falle potrebbero essere state tappate, altre si potrebbero essere aperte. Per gli utenti di Firefox, che hanno installato l’estensione Greasemonkey, è disponibile un altro script, che fa sempre più o meno la stessa cosa: Facebook Stealth. In questo caso, a essere bloccati son sia gli eventi di avvenuta lettura, sia gli eventi di scrittura in corso. Almeno in teoria, perché poi rimane sempre l’eterna lotta degli sviluppatori contro Facebook, che cambia di continuo e rende difficile mantenere aggiornate tutte le funzioni di uno script. A ogni modo, finché funziona dovrebbe permettere di bloccare anche gli avvisi di “Tizio sta scrivendo”, tanto per abbondare.

Potrebbero interessarti anche :

Ritornare alla prima pagina di Logo Paperblog

Possono interessarti anche questi articoli :