Il mito del multitasking

Prendo spunto dalla baraonda immancabilmente giunta, come per l’iPhone, riguardo l’assenza di Multitasking sull’iPad.

Come già fatto in altri post, sono costretto innanzitutto a fare chiarezza tecnica:
il termine Multitasking o Multithread  si riferisce alla possibilità, per un computer, di eseguire più processi (threads) contemporaneamente. Con processo si intende un’intera applicazione ma anche una sotto-parte di essa, come ad esempio una routine di calcolo.
iPad, come iPhone, utilizzano un sistema operativo basato, ad eccezione  dell’interfaccia grafica, su MacOS X, che a sua volta si fonda su UNIX*, un sistema operativo che arriva da lontano (anni ‘70) con solide basi strutturali in termini di IO (input/output) e di Multithreading/Multitasking.
Ergo, iPad e iPhone sono Multitasking a tutti gli effetti. In realtà, durante il normale utilizzo, questi dispositivi mantengono in esecuzione diversi processi e applicazioni, una ventina circa nel caso dell’iPhone. C’è inoltre da sottolineare che, all’interno della stessa applicazione, è non solo possibile ma persino consigliabile realizzare più processi eseguiti in contemporanea.

Chiusa la parente (come direbbe Totò), torniamo al misfatto.
iPad e iPhone, non consentono quindi l’esecuzione di più applicazioni in contemporanea. E’ una scelta di design non un limite tecnico.

Quali le ragioni di questa scelta?

  1. Nel caso di iPhone, ma forse anche di iPad, il mantenimento dei consumi della batteria. L’esecuzione di più processi contemporaneamente mette sotto sforzo i sistemi di un dispositivo mobile, come il processore ma anche il bus dei dati e la memoria, quindi ne aumenta il consumo energetico, esaurendo anticipatamente la carica della batteria.
  2. Essendo la maggior parte delle applicazioni presenti in questi dispositivi realizzate da terze parti (140.000 al momento), c’è il rischio abbastanza comune negli ambienti desktop, che un’applicazione in esecuzione blocchi parzialmente o totalmente le altre a causa di intensive elaborazioni o solo per una parte di codice scritta male.
  3. L’obiettivo di rendere il dispositivo il più semplice possibile per l’utente medio.

Ad eccezione del primo punto, risolvibile solo dal progresso tecnologico, gli altri volgono sull’esperienza di utilizzo dell’utente. Infatti, benché il punto 2 faccia capo anch’esso ad una questione tecnica, si ripercuote sull’utilizzabilità, portandoci al punto 3, cioè alla scelta per motivi operativi.

Checché ne pensino gli esperti, ed io esperto lo sono credetemi, l’esecuzione di più applicazioni non è mai stato un vantaggio per l’utente.

  • Il primo Macintosh (1984) eseguiva una sola applicazione per volta.
  • Windows disponeva della funzionalità sin dalla prima versione ma  solo con la (mitica) versione 95, grazie anche ad un desktop simile al Mac, ha reso questa caratteristica realmente fruibile.
  • MacOS X tuttora fornisce un opzione legata al Parental Control che consente di abilitare, per un determinato utente, l’utilizzo del Finder semplificato: una modalità che consente una sola finestra documenti, una sola applicazione,  nonché  l’assenza di icone sul desktop. Benché questo possa sembrare banale, tiene conto della difficoltà di molte, moltissime persone nell’affrontare un ambiente “desktop”.

iPhone e iPad non sono ambienti “desktop” per l’appunto. Il primo addirittura è un telefono, mentre il secondo è un dispositivo pensato per il “consumo” di contenuti, siano essi filmati, libri, siti, mail e quant’altro. Se quindi lo scopo è la fruizione di contenuti, va da sé che  l’utente è focalizzato sul contenuto stesso e non sull’applicazione, quindi il passaggio rapido (fast switching) tra applicazioni non è in alcun modo una priorità.

Ciò che Apple ha fatto per le proprie applicazioni e chiesto per quelle di terze parti, è il mantenimento dello stato. Cos’è?
In pratica è la memorizzazione del contesto in cui l’utente sta utilizzando l’applicazione nel momento in cui viene chiusa, di modo che rientrando si ritrovi nella stessa condizione. Ad esempio nello stesso paragrafo di una lettura o nello stesso punto di inserimento di una mail, ecc. La sensazione per l’utente sarà che l’applicazione non sia mai stata chiusa, ma solo messa in sospensione.

Secondo l’esperienza mia e di tanti utenti iPhone di mia conoscenza, questa “limitazione” non è mai stata un problema. Anzi, per alcuni è un vero e proprio vantaggio: quello liberarsi dal concetto della chiusura di un’applicazione. Non ci credete? Chiedete a chi, sui dispositivi Windows Mobile, quindi telefoni per lo più, dedica periodicamente parte del suo tempo a verificare quali applicazioni sono aperte e provvedere alla loro chiusura. Su un telefono!

Va poi aggiunto che iPhone e iPad dispongono dell’ingegnoso sistema di Push Notification, dove un’applicazione può ricevere notifiche anche se spenta. Utile nel caso di servizi come IM (Messaggistica Instantanea), fornitura di notizie, mail, ecc.

Si potrebbe continuare con valanghe di parole, considerazioni tecniche e filosofiche, ma riguardo all’impostazione scelta da Apple mi sento di trarre una sola conclusione: va bene così.