Skip to navigation
Logo Penaz's Area

cat /dev/random > penaz

Android, Accounts, Ottimizzatori, Modalità Sviluppatore e fastidi portatili


Molti smartphone moderni arrivano nelle nostre case con ottimizzatori ed opzioni disattivate. Esploriamo come queste scelte possano infastidire uno sviluppatore.

Buongiorno a tutti,

È da un po' di tempo che faccio uso del mio smartphone anche per esigenze lavorative: occupandomi principalmente di sviluppo web, non esiste nessun emulatore che possa compararsi all'esperienza diretta di un'applicazione web su un dispositivo fisico.

Purtroppo come tutti i dispositivi commercialmente diffusi, gli smartphone arrivano con delle "impostazioni di fabbrica" che potrebbero non essere adatte ad un utente avanzato; questo non è un problema fintanto che tali impostazioni possano essere cambiate ed il software non continui ad infastidire l'utente per ripristinare tali "impostazioni di fabbrica".

La triste realtà è che non sempre tali impostazioni sono semplici da cambiare, né tanto meno il software "accetta di buon grado" le nostre scelte. Nella mia esperienza ho trovato diverse istanze in cui questo accade, oltre ad altri "fastidi" che riassumerò in questo post.

Ottimizzatori

Nei dispositivi venduti al giorno d'oggi (tranne alcuni basati su versioni Android "pure") troverete sicuramente un "ottimizzatore": un'applicazione dedicata alla pulizia periodica delle cache, dei file ingombranti ed in alcuni casi effettuare una scansione di sicurezza.

Tale applicazione (che alcuni possono ritenere di dubbia utilità) solitamente semplifica operazioni tranquillamente effettuabili tramite le impostazioni di sistema di android, ma diventa un enorme fastidio quando entrano in gioco alcune meccaniche.

Punteggi

Gran parte degli ottimizzatori offerti dai produttori danno un "punteggio" di performance al tuo dispositivo, per dare un'idea della situazione; ma tale punteggio viene molte volte "truccato" perchè le tue scelte "non si allineano" con quanto previsto dal produttore.

Cambiare il launcher con qualcosa di diverso da quello del produttore porta ad un abbassamento del punteggio, così come la decisione di non utilizzare il loro servizio cloud; il tutto diventa quasi una sorta di "pubblicità occulta", dove viene impiantata l'idea "se non usi i nostri prodotti il tuo smartphone è inferiore".

"Riparazioni" automatizzate

A volte mi capita di dover usare la modalità di Debug tramite USB per android, ed ogni singola volta che vado ad effettuare una manutenzione periodica, la modalità sviluppatore viene disattivata e con essa anche il debug USB.

Ogni volta che voglio collegare la modalità debug remota di Firefox, devo effettuare nuovamente la procedura di attivazione della modalità sviluppatore, riattivare il debug USB e ricollegare il telefono. Veramente fastidioso.

Software Preinstallato

Grandissima parte dei dispositivi in vendita al giorno d'oggi arriva con software preinstallato che potrebbe non servirci (backup cloud automatico, trasferimento dati, browser alternativi, ...), in diverse forme: in alcuni casi è già parte del sistema, in altri viene scaricato successivamente da Play Store, in maniera automatica.

Tale software è considerato "software di sistema" e non può essere disinstallato in alcun modo senza un "root" del telefono (operazione che può risultare rischiosa e può portare ad una decadenza della garanzia). Al massimo è possibile disinstallare gli aggiornamenti di tali software e "disattivare" l'applicazione, però tale applicazione continuerà ad occupare spazio sul nostro dispositivo.

Penso il fornire del software "di fabbrica" sia una buona idea dal lato del "supporto alla clientela": l'utente ha un prodotto pronto all'uso e comunque la maggior parte degli utenti userà il software preinstallato; ma ritengo che "bloccare" tale software sul telefono sia una pratica deplorevole che rinforza il concetto del "usa i nostri prodotti o subirai conseguenze negative" (in questo caso lo spazio sprecato).

Contratti di licenza

Ulteriore pratica fastidiosa è quella di costringere l'utente ad accettare un contratto di licenza e/o privacy per consentire l'uso di una certa applicazione. Tale pratica è ancora più preoccupante quando devo accettare un'informativa privacy su software che non ha motivo (nelle sue funzionalità principali) di elaborare dati al di fuori del mio dispositivo.

Non dovrei accettare un'informativa privacy per un file manager, e se tale applicazione si interfaccia con servizi in cloud, dovrei avere la possibilità di fare opt-in per tali servizi (cioè il software inizialmente è impostato con i servizi disattivati, ed eventualmente decido io di attivarli). Stesso discorso per un player audio locale, o un player video.

Questo si collega al fatto che nessuno legge i contratti di licenza dalla testa al fondo (non mentire, non li hai letti nemmeno tu), in alcuni casi potremmo ritrovarci ad aver accettato contratti che consentono al produttore profiling a scopi commerciali, tracciamento ed altro senza rendercene conto.

L'alternativa è l'impossibilità di usare il software preinstallato, con conseguente spreco di spazio, dato che non può essere disinstallato.

Account-Gating

Un'altra pratica che ho rilevato è quella che io chiamo "account-gating", l'atto di limitare l'accesso ad una funzionalità dietro all'accesso ad un account del produttore. Questo pone diversi quesiti e problemi che accentuano il fastidio di usare un dispositivo smartphone come sviluppatore.

L'ennesimo account

Come sviluppatore ed appassionato di informatica, ho un sacco di account attivi su diversi servizi più o meno usati. Essere costretto a creare ancora un altro account solo per poter usare delle caratteristiche di un prodotto che ho pagato è veramente molto fastidioso.

Un'altra password da gestire, altre email commerciali che verranno ricevute uniti al fatto che alcune impostazioni comunque subiscono un reset da parte degli "ottimizzatori", questo mi fa perdere la voglia di usare il mio smartphone.

Privacy

Per i più patiti della privacy, la creazione di un nuovo account comporta il rilascio di alcuni dati: sicuramente un indirizzo email, altre volte anche nome e cognome. Inoltre anche il solo accesso all'account può dare al produttore informazioni su cosa stiamo facendo.

Se accediamo al nostro account perchè vogliamo attivare la modalità sviluppatore, il produttore lo saprà, potrà ipotizzare che siamo uno sviluppatore o che comunque abbiamo una certa expertise nel campo degli smartphone. Questo rientra in uno schema di profilazione che personalmente non gradisco.

Conclusioni

Alcuni potrebbero dire che queste tattiche vengono usate per "semplificare" e "tenere al sicuro" l'utenza, a cui io rispondo che esistono già diversi sistemi per "tenere al sicuro" l'utente.

La modalità sviluppatore è nascosta, e non è immediata da attivare, esistono avvertimenti dei pericoli all'attivazione del debug USB: non è necessario forzare l'utente ad accedere ad un account "per la propria sicurezza", semplicemente non riesco a trovarne il motivo.

Nel mio dispositivo ho trovato diverse istanze di "punteggi" ed "account-gating", soprattutto per la modalità sviluppatore, l'installazione di applicazioni tramite USB (nel caso stessi sviluppando una app per android) e, nei casi più estremi, uno sblocco del bootloader (alcuni potrebbero voler cambiare sistema operativo o "fare un refresh" del proprio telefono).

A mio parere non esiste una ragione tecnica per l'uso di queste tattiche, se non per esercitare forme di controllo sulla propria utenza e/o per scopi di profilazione commerciale.

Personalmente tutte queste tattiche di profilazione mi fanno sentire più "una risorsa commerciale" che una persona, il che è a suo modo umiliante.

Grazie per aver letto. Alla prossima.

Penaz.