Ultima modifica:
Buongiorno. In questi mesi ho studiato approfonditamente l'ambiente di Google Play, e in qualità di "ethical hacker"/developer non sono rimasto soddisfatto.
Non sono rimasto soddisfatto in particolare delle app dedicate alla gestione degli Storage e delle Prestazioni dei dispositivi. Le cosiddette "app di pulizia".
In questo thread non mi limiterò a proporre la mia idea di un app che riassembla i miei valori e le mie aspirazioni in tema di Sicurezza Informatica, ma introdurrò anche il mio concetto personale di VENDITA.
Cosa manca alla maggior parte delle App trovate sul GP?
Non sono rimasto soddisfatto in particolare delle app dedicate alla gestione degli Storage e delle Prestazioni dei dispositivi. Le cosiddette "app di pulizia".
In questo thread non mi limiterò a proporre la mia idea di un app che riassembla i miei valori e le mie aspirazioni in tema di Sicurezza Informatica, ma introdurrò anche il mio concetto personale di VENDITA.
Cosa manca alla maggior parte delle App trovate sul GP?
- Coerenza: mi sono imbattuto in varie app di pulizia che pesano circa oltre 30 MB all'installazione (un app che dovrebbe migliorare le performance di Android è così pesante?). Dopo aver visto quanto spazio richiedevano rimanevo tipo "Wtf? Un app di pulizia e performance che pesa circa 30 MB? Ma che è una mod per Fortnite?" Dopo averle scaricate le ispezionavo con gli strumenti di debug, e prova a figurare il motivo per cui alcune di queste sono pesanti: i loro developer usano strumenti come Jetpack Compose, una suite che facilita il development dell'UI delle applicazioni. Tuttavia le app realizzate con questo framework rischiano di aumentare il peso complessivo dell'app. Inoltre, se implementato male rischia di non rendere nei dispositivi Android con hardware meno potente. In altre app invece, ho rilevato addirittura alcune dipendenze inutilizzate, probabilmente incluse per sbaglio nel
build-gradle.kts
- Altre app implementavano strumenti superflui, probabilmente orientati a indurre l'utente al download/aquisto, come toolbar colorate o tasti ingombranti;
- Comodità: spesso, sempre per indurre forzatamente gli utenti a interagire con le app, si preferisce monetizzare con gli ADS. Tuttavia questi strumenti di monetizzazione vengono abusati da alcuni developer, che introducono ingombranza con l'eccessiva quantità di ADS implementati, e in via ultimata infondono un falso senso di "open source" a chi scarica le app invasate da questi ADS. Tengo a precisare che Google si impegna a controllare che gli ADS siano innoqui, e una volta cliccati non redirigano a siti fraudolenti o ad aquisti automatici indesiderati, quindi sono relativamente sicuri - Ma rovinano l'user experience se implementati senza controllo, creando rallentamenti nei dispositivi low-end o comunque forzando interazioni indesiderate. Di sicuro non è una bella cosa incontrarli soprattutto in app che dovrebbero occuparsi di Performance & Security;
- Privacy: questo è un aspetto su cui mi si può dare solo ragione o torto, o anche ignorare se non siete d'accordo. ZERO TELEMETRY. Alcuni developer implementano "compromessi" nelle loro app, come ad esempio dei Dialog() che chiedono all'utente se vuole concedere all'app il permesso di usare qualunque connessione di rete disponibile per inviare i dati relativi alle prestazioni e utilizzo delle app. Comprendo che la Telemetry sia un aspetto utile per capire in che punti bisogna orientare il development, e in alcuni casi porti rapidamente alla scoperta di problemi su dispositivi su cui non si è potuto testare. Tuttavia, io non sono d'accordo. Ritengo che la Telemetry consumi traffico Internet, specialmente se l'app deve farne uso intensivo, potendo inoltre creare rallentamenti durante la navigazione nel browser (in caso sia un'app progettata per funzionare in background); Una cosa su cui sono ancora meno d'accordo, è che alcune app richiedono permessi invasivi come "RECEIVE_SMS", richiesto per poter inviare all'user SMS pubblicitari, questa funzionalità viene implementata soprattutto nelle app che vogliono inviare pubblicità sulla loro "Controparte Premium". La gestione dei permessi è un aspetto di sicurezza fondamentale in Android.
- Monitoraggio dello stato di Internal Storage/External Storage (Scheda SD). Total Cleaner comunica chiaramente al Cliente il totale dello spazio di archiviazione disponibile, lo spazio usato e quello ancora disponibile;
- Scansione AUTOMATICA (all'avvio dell'app, dopo aver concesso i permessi) di tutte le cartelle non protette da "root access" in cerca di vari file che vengono categorizzati per estensione come "junk data". L'app non si limita solamente a scansionare cartelle comuni come
DCIM
oDOWNLOADS
, procedendo all'esame delle cartelle relative alle app di messaggistica istantanea più comuni come Whatsapp o Telegram, e anche altre cartelle di Sistema non protette da root permission. A tal proposito, gli unici permessi richiesti dall'app per fare il suo lavoro sono Read/Write External Storage, Manage External Storage, Read Media Images/Video/Audio - L'app non richiede alcun permesso di accesso ad Internet;
- BACKUP. Tramite questa funzionalità se vogliamo salvare i file junk rilevati, li comprimiamo in una ZIP tramite
java.util.zip.ZipEntry
ejava.util.zip.ZipOutputStream
- Il processo include un robusto sistema di gestione di I/O errors, exceptions, e soprattutto errori dovuti ad "access denied", un problema comune in cui si imbattono le app di sicurezza Android, a causa del rigido sistema di gestione dei permessi dell'OS. La ZIP finale del Backup viene infine salvata nella directory "Download", da dove potremo recuperarla comodamente per il trasferimento in altri dispositivi di archiviazione;
- Refresh. Alcuni developer dimenticano questa funzionalità, di conseguenza se un utente fa una scansione ma poi aggiunge nuovi elementi, le loro app di pulizia vanno riavviate per ripetere da capo la scansione e rilevarli;
- L'utente ha controllo granulare sugli elementi rilevati nella scansione. Può comodamente selezionare quali file eliminare, ma se vuole eliminarli tutti viene fornito di un comodo button() "Delete all Data", che è chiaramente da usare con cautela in caso non si vogliano perdere le foto e gli audio del telefono.
- No ADS, no Jetpack Compose, nessuna toolbar invadente. Nell'UI di TotalCleaner andiamo semplicemente a lasciare un recapito e-mail in caso si vogliano comunicare in privato metriche osservate ad occhio dall'utente. Ma comunque vanno bene anche Recensioni Google valide e critiche costruttive per capire in che direzione migliorare le app, piuttosto che aggiungere un sistema di Telemetry. Nello sviluppo dell'UI usiamo
System View
piuttosto che Jetpack, più leggero e adatto a dispositivi low-end (o di fascia bassa). System View è il sistema tradizionale per creare interfacce in Android, e sfrutta l'impiego di file XML craftati ad-hoc per definire l'interfaccia utente, ed evitare di appesantire il MainActivity.