Non so come gestite gli aggiornamenti delle app. C’è chi non li controlla, lasciando che iOS si occupi automaticamente dell’update delle app. Ma c’è anche chi come me controlla manualmente la presenza di aggiornamenti più volte al giorno.

Questo perché ogni aggiornamento è un po’ come una sorpresa. Le app a volte vengono aggiornate per risolvere problemi di software e sicurezza, ma anche per introdurre nuove funzioni. Ed è proprio quest’ultima parte la più divertente.

È anche vero che aggiornamento non è sempre sinonimo di positività. Lo sa bene chi ha un dispositivo più datato e non ha interesse nel comprare un modello recente. Il software, come l’hardware, si evolve con il tempo.

Framework, API, algoritmi e altro si evolvono anno dopo anno, diventando sempre più precisi e potenti. Spesso per usare gli ultimi ritrovati software c’è bisogno anche di hardware recente, quindi questo connubio di hardware e software porta inesorabilmente un’obsolescenza (non programmata) nel settore.

Anno dopo anno, a ogni versione di iOS, gli sviluppatori sono chiamati ad aggiornare le loro app per integrare le funzioni più recenti, supportare i dispositivi più recenti e far evolvere le app. Questo significa che aggiornamento dopo aggiornamento a volte i software non sono compatibili con i vecchi dispositivi.

La fortuna vuole che gli aggiornamenti di Apple mirano a offrire una longevità molto ampia. Per esempio iOS 15 può essere installato dagli iPhone 6s e seguenti, vale a dire su dispositivi vecchi di 6 anni. E chi ha un iPhone 5 o precedenti?

Per chi ha un dispositivo vecchio oltre 6 anni arriva l’inesorabile obsolescenza. Ora, se fosse tutto congelato in quell’istante, con tutte le app funzionanti con quel sistema operativo, allora tutto sommato potrebbe anche diventare accettabile. Chi ha un dispositivo vecchio sopperisce alle nuove funzionalità delle app continuando a usare le vecchie versioni.

Invece spesso i software si spaccano. Le app non funzionano più e i dispositivi diventano inutilizzabili. Questo accade perché molte volte le modifiche delle app prevedono dei cambi di backend che non è possibile gestire se non aggiornando alla versione più recente.

Se uno sviluppatore volesse creare una versione ad hoc per i vecchi sistemi non può farlo. Nell’App Store può essere scaricata solo l’ultima versione. L’ultima versione deve essere compatibile anche con l’ultima versione del sistema operativo.

Da qui l’idea: consentire la gestione di più versioni della stessa app. Chi vuole potrebbe scaricare l’ultima, ma volendo si potrebbe consentire di scaricare una versione più vecchia facendo rollback. Oppure si potrebbe consentire di caricare versioni vecchie ma aggiornate, per consentirne l’uso anche sui dispositivi più datati.

Faccio un esempio. Mettiamo caso che un’app per la posta elettronica sia aggiornata alla versione 5 per iOS 15. Chi ha un iPhone 5 non può scaricarla. L’app di posta elettronica ora usa nuovi server più potenti per le nuove funzionalità. Per aggiornare gli endpoint ai nuovi server c’è bisogno obbligatoriamente della versione 5. La versione precedente, la 4.8.1, non ha i nuovi endpoint quindi non funziona più.

Chi ha un iPhone 5 e ha usato quell’app per anni ora non può più usarla. Deve comprare almeno un iPhone 6s oppure deve rinunciare a quell’app.

A questo punto Apple potrebbe consentire agli sviluppatori di caricare versioni più vecchie. Quindi lo sviluppatore dell’app in questione potrebbe rilasciare la versione 4.8.2 contenente tutto della versione 4.8.1 ma anche il cambio degli endpoint ai nuovi server, lasciando la compatibilità a iOS 14.

Quindi nell’App Store dovrebbero esserci due versioni scaricabili: la 5 per chi ha almeno un iPhone 6s e la 4.8.2 per chi ha un vecchio dispositivo. In questo modo chi ha un iPhone 5 potrebbe usare il dispositivo per qualche altro anno.

Gestire più versioni potrebbe essere utile anche per chi scarica l’ultima versione dell’app per poi scoprire che qualcosa non va, quindi vorrebbe fare rollback per avere la versione precedente più stabile.

Cosa ne pensate?

Leave a comment

Cosa ne pensi?