Perché scaricare 124MB di basura quando basta un link?

Perché scaricare 124MB di basura quando basta un link?

Quante volte vi è capitato di ricevere un invito a un evento, una prenotazione o un itinerario e trovarvi davanti l’ennesima richiesta di scaricare un’app proprietaria? Ecco, c’è chi subisce la sberla e chi, come il protagonista di questa storia, decide di rispondere con un piccolo script Ruby.

Il caso è un classico dell’inefficienza moderna. Un gruppo di studenti in viaggio verso Disneyland si è visto consegnato l’accesso a «Travelbound», un’app che prometteva di gestire itinerari e hotel. Ma non era solo un’app: era un piccolo miracolo di cattiva progettazione. Per visualizzare semplici testi, immagini e PDF, l’utente doveva scaricare una bestia da 43MB che, dopo la prima esecuzione, gonfiava fino a superare i 120MB. Il tutto per cosa? Per permettere agli sviluppatori di spammare pubblicità (chiamate con il nome carino di «ispirazioni») e tracciare ogni singolo movimento del vostro account Google.

Se ci pensate, è una follia. La sostanza di quell’app era essenzamente… una pagina web. Il contenuto veniva servito tramite API in formato JSON, con link a immagini e documenti che potevano essere letti da qualsiasi browser senza sforzo.

Invece di lamentarsi e basta su un forum, questo dev ha deciso di passare all’azione. Ha preparato un emulatore Android, lo ha rootato (perché ovviamente non c’è divertimento senza un po’ di Magisk e qualche trick per bypassare il certificate pinning) e ha intercettato il traffico con HTTP Toolkit. Una volta capito che l’app faceva solo una concatenazione banale di username e password in un URL per pescare il JSON, ha scritto un piccolo script che estrae i dati, li pulisce da tutto quel nonsense pubblicitario e li sputa fuori in una pagina HTML pulita, leggera e — soprattutto — priva di tracker.

Il risultato? Una pagina da 0.05MB che fa esattamente quello che serve, senza rubare dati e senza occupare spazio prezioso sul telefono.

Questa è la vera essenza del maker spirit: quando il software ufficiale decide di complicarti la vita solo per gonfiare le metriche di engagement o per venderti altro, la soluzione non è rassegnarsi, ma ricostruire. È un promemoria per tutti noi che lavoriamo nel settore: la semplicità è un superpotere, e l’overengineering è spesso solo un modo elegante per nascondere cattive intenzioni commerciali.

Se un’app può essere una webpage, allora deve essere una webpage. Punto e basta.

Source: Your 'app' could have been a webpage (so I fixed it for you)

Lascia un commento