12 aprile 2010  0

Il multitasking nel prossimo iPhone 0S 4.0: un’analisi ragionata

Mobile / Sistemi Operativi 

iPhone SDK Uno degli eventi che ha suscitato maggiore interesse negli ultimi giorni è stata la presentazione dell’iPhone OS 4.0, futuro sistema operativo del melafonino che ne equipaggerà i modelli passati (ma non tutti), presenti e futuri, orientativamente dal mese di luglio 2010.

L’onnipresente Steve Jobs ha descritto con la sua solita enfasi le principali novità che accompagneranno il rilascio del nuovo sistema operativo, tra cui anche una particolare forma di multitasking che dovrebbe rendere possibile l’esecuzione di processi in background anche da parte di applicazioni (o servizi) non di sistema.

Complessivamente, sono circa un centinaio le funzionalità aggiuntive che introdurrà questa nuova release. Personalmente non intendo soffermarmi sulla descrizione, neppur sintetica, delle medesime, dato che una pletora di siti specializzati e non, ne hanno già parlato più che in abbondanza.

Se, al contrario, siete anche sviluppatori, il mio consiglio è invece quello di dare uno sguardo alla panoramica introduttiva predisposta proprio da Apple sul sito dedicato.

E’ mio desiderio, invece, cercare di fissare un po’ meglio l’attenzione su quello che, forse in maniera un po’ ardimentosa, è stato definito il nuovo sistema di multitasking.

Anzitutto è necessaria una premessa; la parola multitasking indica sinteticamente la possibilità di poter effettuare in background una serie di “compiti” (task) in maniera concorrente. Che i task siano interi applicativi, porzioni di essi o semplici servizi che vanno ad interfacciarsi con “demoni” di sistema, il concetto di base non cambia, quello che conta è la possibilità di tenere costantemente in attività dei processi finalizzati ad operazioni specifiche, ricorrenti e continuative nel tempo.

iPhone OS 4 Home - Folders iPhone OS 4 Home - Open Folder

Questa precisazione è significativa soprattutto per intendere il contesto descritto durante il keynote sull’iPhone, in cui è stato specificato che, in realtà, il nuovo OS non sarà completamente multitasking, ma metterà a disposizione degli sviluppatori dei servizi di base, che potranno essere eseguiti in maniera concorrente ed in background rispetto alla applicazioni standard che, a loro volta, potranno incapsulare alcuni di questi.

Nello specifico, i nuovo servizi saranno relativi a:

  • Riproduzione audio
  • Voice Over IP
  • Localizzazione mediante GPS e/o radiobussola
  • Notifiche push (ovvero messaggi da applicazioni eseguite in remoto)
  • Notifiche locali (ovvero messaggi da applicazioni eseguite localmente)
  • Conclusione dell’attività in corso, anche se l’applicazione viene chiusa anticipatamente.
  • Passaggio rapido tra le applicazioni.

In realtà alcune di queste funzionalità sono già presenti nel sistema operativo, ma non erano state finora esposte via API (o perlomeno non erano documentate ed utilizzabili in applicazioni, pena la non approvazione delle medesime per la pubblicazione sullo store dedicato).

Ad esempio, l’applicazione Mail già adesso può inviare e ricevere posta in background una volta eseguita, anche se chiusa anticipatamente prima del completamento dell’operazione.

Come si può notare, in realtà, non si tratta di un vero è proprio multitasking. Quello che viene denominato “fast app swithing” non è un “task switching”. Le applicazioni, alla chiusura, potranno congelare il loro stato che verrà “fotografato” nella memoria di sistema, per poi essere ripreso al momento della nuova esecuzione dell’applicazione; di fatto l’applicazione non resta in memoria, ma ne rimane solo un dump della sua situazione dati del momento.

Questa possibilità consentirà di poter, ad esempio, sviluppare le proprie applicazioni in maniera tale che ne possano richiamare altre che, a loro volta, quando terminate, potranno consentire il ritorno a quella di partenza nel medesimo stato “fotografato” al momento dell’interruzione. Ciò significa che l’esecuzione delle applicazioni, fatti salvi i servizi di base oltre ai nuovi descritti poco sopra, continuerà ad essere monolitica (ovvero una alla volta), a tutto vantaggio delle prestazioni e dei consumi energetici.

Si potrebbe obiettare che i servizi eseguibili in modalità cooperativa siano pochi, ma in realtà non è così, tenuto conto che si parla del sistema operativo di un palmare con funzionalità telefoniche e di navigazione che non ha, quindi, velleità di computer tascabile (e del resto nessun smartphone le ha).

Invece è significativa l’enfasi posta su servizi quali le notifiche locali e push ,oltre che la localizzazione GPS ed il Voice Over IP, funzionalità che consentiranno finalmente l’implementazione di applicazioni più orientate al business, facendo aumentare l’attenzione di quella particolare categoria di utenti del tutto refrattaria alle caratteristiche al momento molto più orientate all’intrattenimento dell’iPhone.

Una cosa è certa, per poter usufruire della nuova caratteristica di “fast app switching”, potrebbe essere necessario ricompilare le applicazioni attualmente in commercio (ma le modifiche non sembrano essere particolarmente impattanti).

Per capire meglio il funzionamento di questo nuovo sistema, se avete avuto la possibilità di installare la versione beta del nuovo firmware 4.0, potete fare questa semplice prova.

Al momento, per attivare il bluetooth sono necessari 3 passaggi: si seleziona l’applicazione Impostazioni, poi si sceglie la voce Generali, quindi Bluetooth e, finalmente, si può attivare (o disattivare) il medesimo. La stessa procedura va ripetuta per l’operazione inversa.

Con il nuovo OS, invece, i 3 passaggi di cui sopra si effettuano una volta sola. Infatti, se si ha cura di chiudere l’applicazione dalla pagina di attivazione del Bluetooth, quando poi si selezionerà nuovamente l’applicazione Impostazioni, verrà direttamente mostrata quest’ultima (permettendo quindi di saltare due passaggi).

Questo è solo un esempio: si apre uno scenario di combinazioni estremamente interessante, a tutto vantaggio dell’usabilità e della user experience.

iPhone OS 4 - Task switcher iPhone OS 4 - Killing app

Vorrei completare il discorso parlando del cosiddetto “task manager” o “task switcher” che è stato aggiunto per la gestione delle applicazioni i cui “stati” sono fotografati nella memoria di sistema. In realtà potrebbe essere battezzato più come un “kill manager”, dato che la sua utilità principale è proprio quella di consentire la rimozione delle “fotografie” delle applicazioni lanciate consecutivamente.

Lo “switch” tra le applicazioni può infatti essere effettuate anche semplicemente selezionandole dalla schermata home: il sistema automaticamente riprende, se esistente, lo stato precedentemente salvato.

Tornando al  “task manager”, sinceramente ne ho trovato la gestione non particolarmente felice. Manca, ad esempio, una funzionalità che consenta di chiudere tutti gli “stati” in background, come manca anche un “cruscotto” che mostri occupazione di memoria e performance del processore. Ma d’altra parte, lo stesso Jobs, descrivendo durante questa funzionalità durante il keynote ha detto di non chiamarlo “task manager”. Come dargli torto.

Concludo segnalando una particolarità che mi ha lasciato perplesso. Se si spegne il dispositivo, alla successiva riaccensione si ritroveranno all’interno del “task manager” tutte le applicazioni aperte prima dello spegnimento.

Questa scelta è del tutto singolare e, personalmente, non mi sento di approvarla del tutto. Se è vero che alcune applicazioni potrebbero essere di supporto ad attività ricorrenti (leggi notifiche push) e quindi vanno eseguite sempre e comunque continuativamente nel tempo, è anche vero che il riavvio del dispositivo, spesso dovrebbe consentire la re-inizializzazione ad uno stato più stabile, magari in seguito ad un blocco dovuto appunto ad un applicazione un po’ troppo invadente.

Esprimi il tuo giudizio

Pingbacks and trackbacks (1)+

Aggiungi Commento

biucitecode
  • Commento
  • Anteprima
Loading


| |   |  

Codice QR

Codice QR - cristianofino.net

Ultimi Commenti