L’utente abituato al PC e al desktop, quando si trova per le prime volte ad aver a che fare con Android, deve affrontare un importante esercizio di apertura mentale che risulterà sicuramente più difficoltoso a chi è un vecchio utilizzatore di PC: abituarsi all’idea che le applicazioni non vanno chiuse.

Nota: c’è anche una versione breve di questo articolo, che va direttamente al sodo.

Il cambio di paradigma

Si tratta di un cambio di paradigma nell’uso dei nostri infodomestici. In principio, come chi ha usato il DOS sa, non era possibile avere più di un programma “aperto”, o meglio avviato, alla volta. Era l’era del single tasking, col suo paradigma della linea di comando. Poi col multitasking si è avuta la necessità di garantire un buon metodo per gestire più programmi in contemporanea, e con la tecnologia delle interfacce grafiche è nato il paradigma del desktop e “finestre” reso famoso da Windows, che lo ha copiato da Apple, che lo ha copiato dallo Xerox Star dei primi anni ’80 (era un sistema fin troppo avanti per i suoi tempi, cercate con Google Images per capire di cosa sto parlando).

Dopo vent’anni di finestre (o meglio pannelli – cos’hanno in comune con le vere finestre??) che si aprono e si chiudono, è normale che passare a un nuovo sistema sia un procedimento non del tutto liscio, ma sono certo che una spiegazione ragionata possa aiutare.

Perché cambiare?

La disciplina dell’User Centered Design (progettazione incentrata sull’utente) ci insegna che l’utente, quando compie un compito, deve pensare a quel compito e alle scelte strettamente inerenti a quello, perché solo una cosa alla volta può essere messa a fuoco dall’attenzione. Il rischio è che se gli strumenti sono difficili da usare o comunque richiedono attenzione, si finisca per trascurare l’obiettivo principale e commettere errori o dimenticanze che pur se innocui rallentano il lavoro.

L’esperienza ci ha abituati, e mi riferisco a noi utenti “pesanti”, ad occuparci di tutte quelle cose di contorno rendendole quasi automatiche e, nel migliore dei casi, non bisognose d’attenzione. Ma ciò non significa che la cosa sia diventata semplice, e ad ogni modo c’è un’enorme quantità di gente che in realtà non sa minimamente usare un computer ed è spaventata proprio da quelle procedure. Mi riferisco alla nozione di file (chi non ha mai visto qualcuno copiare un documento aprendolo e salvandolo con altro nome? Non è un problema suo: è un problema di artificiosità del concetto di file), alla ricerca di applicazioni, doverle aprire, configurarle, cercare fra le loro infinite funzionalità e a loro volta configurarle e sopportarne i malfunzionamenti…

Noi siamo abituati a tutto questo, alla schiavitù rispetto alla tecnologia, ma da almeno un decennio si sta studiando per raggiungere un mondo migliore, ed è ora di entrarci e dargli fiducia.

Le “app”

Parte della soluzione ai suddetti problemi è data dal paradigma delle “app”, introdotto sul mercato dalla Apple e vaticinato dai guru dell’User Centered Design (vedi in fondo). In parte, questo nuovo sistema è nato per sottostare ai limiti di spazio che il display di un cellulare impone, e in parte si è colta l’opportunità per introdurre una novità: non più “apro un programma per fare qualcosa”, ma semplicemente “faccio qualcosa”. E non solo: le app sono sempre più piccole di quanto possa essere un programma da desktop – non dico sul display, ma nelle funzionalità! Questa rivoluzione permette di dedicare meno attenzione al modo in cui svolgere un compito e più al compito stesso.

Un’altra differenza dalle applicazioni da desktop è data dal modo in cui si procede nell’utilizzo. Non più si ha a che fare con “finestre”, ma con compiti o task, e attività (gli sviluppatori sanno che l’interfaccia che si presenta all’utente si chiama proprio Activity). Nel momento in cui stiamo facendo qualcosa, solo quella data attività che fa parte di quel compito è presente sul display, null’altro a distrarci. Se l’interazione deve procedere, è l’app stessa che ci fa passare all’attività successiva. E se per qualche motivo non avessimo più bisogno di compiere una certa attività, semplicemente premendo il tasto “indietro” torniamo alla precedente, fino eventualmente alla Home.

E se dovessimo interrompere il nostro task per compierne momentaneamente (o definitivamente!) un’altro? Premiamo il tasto Home, avviamo il nostro secondo task e quando l’abbiamo terminato, o vogliamo tornare a quello di prima, possiamo tener premuto a lungo il tasto Home per vedere un elenco degli ultimi task e selezionarlo.

Su Android, un sistema votato all’apertura e alla modularità, il paradigma delle app è stato realizzato in maniera che esse, e persino le loro componenti, possano interagire tra loro, mescolarsi e il tutto senza nemmeno sembrar accaduto sotto gli occhi dell’utente: sto leggendo le news? Voglio segnalarne una a qualcuno? Tocco “condividi”, viene fuori l’attività per l’invio dell’email (in pratica è un altro programma, ma non ci interessa: noi dobbiamo segnalare la notizia), poi l’attività per la scelta del contatto e quando terminiamo siamo di nuovo alle news, dove eravamo rimasti, senza dover aprire menu, senza dover cercare applicazioni, senza dover ritrovare la finestra delle news quando abbiamo finito.

Non c’è barra delle applicazioni, non ci sono finestre, e non si chiude niente.

Le app aperte

Giungiamo finalmente al nocciolo della discussione. Proprio quest’ultima caratteristica fa storcere il naso a noi cari vecchi schiavi della tecnologia, abituati a doverla tenere sempre sotto controllo per massimizzare l’efficienza: tenere la memoria libera, chiudere i programmi che non si stanno usando.

Proprio questi utenti smanettoni, esaminando quali processi stanno “girando” sul proprio cellulare, scoprono che ce n’è sempre una quantità assurda, ci si trovano cose che non si sono usate per ore, altre mai usate! Pensano: “Un assurdo spreco di risorse!”. Ed è così che lo smanettone inventa il famigerato Task Killer, un Brunetta software ammazzafannulloni/sprecarisorse. Ma qui non si tratta di uffici pubblici, bensì di un rigoroso sistema operativo ben progettato.

Infatti i processi che vediamo attivi in realtà non stanno facendo nulla. Si limitano ad occupare la memoria necessaria a riprendere l’attività da dove l’avevamo lasciata. È Android che si occupa di liberare quelle risorse, e solo se necessario. Ovviamente inizia col liberare quelle inutilizzate da più tempo. Non solo: se abbiamo abbandonato un task da molto tempo, è probabile che non ricordiamo neanche più cosa stessimo facendo, e la cosa ci creerebbe confusione. Soluzione: Android “azzera” i task inattivi da molto tempo.

Le app malprogettate

Non tutto procede rose e fiori però: come al solito, le app vanno progettate bene. Esiste una componente delle app che si chiama servizio e viene usata per quei compiti che non hanno bisogno di mostrare un’interfaccia all’utente, e al massimo emettono una notifica. I servizi, per la loro natura, potrebbero essere in funzione anche se al momento il compito che lo riguarda non è nel fuoco dell’attenzione, ad esempio un trasferimento di file (a meno che non ci piaccia star a guardare la progress bar che avanza) o un servizio che controlla ogni 5 minuti la posta.
Mentre nel primo dei due esempi è assai probabile che il servizio verrà terminato quando avrà compiuto il suo dovere, il secondo probabilmente rimarrà attivo per sempre. Vale sempre la regola per cui Android si occupa di terminarlo se si è a corto di risorse (e tra l’altro in tal caso si occuperà di farlo ripartire in momenti più sereni), ma se troppi servizi si comportano così si finisce per soffrirne, specie se ognuno ogni 5 minuti esegue qualche compituccio.

C’è poi il caso limite, per cui certi servizi richiedono che il processore non vada mai a riposo: niente di più deleterio per la batteria.

Sarebbe bene, quindi, lasciare all’utente la possibilità di decidere la frequenza di esecuzione di certi servizi ed eventualmente disattivarli.

Come ho già detto in un altro articolo, sta a voi pretendere applicazioni che funzionino. Se non vi ci trovate non è che non siete capaci, è che lo sviluppatore non capisce e non comunica coi suoi utenti.

Approfondimenti

Un ottimo articolo (in inglese) sul perché i task killer sono inutili:

Uno storico articolo su come e perché evitare servizi eterni:

Tre libri di due autori che hanno indicato la via da percorrere per liberarci dalla schiavitù tecnologica:

  • La caffettiera del masochista e Il computer invisibile di Donald Norman
  • Interfacce a misura d’uomo di Jef Raskin