Oggi vedremo nel dettaglio una feature a lungo attesa da tutti i possessori di un Windows Phone: il multitasking.
Il multitasking implementato in Windows Phone è differente da quello attualmente in uso sui nostri PC. Nel video che vi voglio proporre, durante l’intervista su Channel 9, a Peter Torr viene posta una domanda che avremmo voluto porre noi da molto tempo: se il multitasking è una funzionalità necessaria per gli smartphone, come mai ha impegnato così tanto tempo per arrivare su Windows Phone?
Chiaramente, Peter Torr, program manager per Microsoft, ha una risposta a questa domanda, e una risposta molto soddisfacente tra l’altro.
Implementare il multitasking, non è di per se difficile per il Windows Phone team, quel che è stato difficile, a detta di Peter Torr, è l’implementazione di un sistema multitasking che tenga conto delle limitate capacità di calcolo del dispositivo e della limitata durata della batteria. Effettivamente, gli utenti Android che tanto vantano un dispositivo multitasking, sono i primi a lamentarsi della limitata durata della batteria dei loro amati smartphone. Io stesso, ho un buon numero di amici che sfoggiano un terminale Android di indubbia potenza, costretti però a tenere costantemente sotto controllo le connessioni di rete attive e, questa è quella che più mi fa sorridere, a ricorrere ad app che chiudono altre app. E tutto questo per far durare la batteria almeno una giornata intera e avere una fluidità di sistema accettabile. Personalmente ritengo che, avere un dispositivo così potente e così multitasking come Android, per poi occuparsi di chiudere le app, sia alquanto fastidioso e noioso su un dispositivo mobile. Nel mezzo di una vacanza, è più importante scattare foto che occuparsi di quanta RAM libera abbiamo sul nostro smartphone, non trovate?
Tornando alla visione di Microsoft del multitasking per Windows Phone, è importante osservare che ci si riferisce sempre a Fast Application Switching. Il termine multitasking, a mio avviso, viene utilizzato per catturare l’attenzione dei media e del pubblico su di una feature a lungo richiesta. Le applicazioni, in Windows Phone Mango, non vengono eseguite concorrentemente nel vero senso della parola (perlomeno non quelle di terze parti), vengono in realtà “congelate” in memoria: questa soluzione consente una ripresa istantanea di una app in background, riducendo a zero il consumo di CPU da app inutilizzate, con conseguente beneficio per tutto il sistema operativo. In fondo, chi ha bisogno che Fruit Ninja consumi preziosa batteria in background mentre non ci state giocando?
Uno sguardo al prossimo video ci darà un’idea più chiara.
http://www.youtube.com/watch?v=wEp2U3xZHb8
Il multitasking per Windows Phone non è ancora giunto sui nostri terminali, che già una piccola fetta di utenti lamenta la limitazione a “solo” 5 app in background e alla mancanza di un’opzione per chiuderle manualmente. In realtà, la scelta presa da Microsoft è giustificabile: le app in secondo piano non sono veramente in esecuzione, per cui non è realmente necessario chiuderle e si può liberamente delegare tale compito all’OS. Ma se le app vengono “congelate” quando non le stiamo usando, tutto quello che abbiamo ottenuto in Mango è solo un Fast Application Switching?
La risposta è no, per nostra fortuna. Volendo utilizzare le parole di Joe Belfiore, Windows Phone adotta uno smarter approach to apps (un approccio più intelligente alle app), introducendo i background agents. Questi ultimi sono delle sandbox, ovvero blocchi di codice “sigillati” e gestiti dall’OS. Ogni app può creare dei background agents, un concetto simile ai thread, ma per molti versi differenti: un background agent viene eseguito indipendentemente dall’app che l’ha creato, ma è sottoposto ad alcune rigide regole imposte dall’OS. Ogni background agents viene eseguito in un massimo di 6 MB di RAM, non può essere eseguito per più di 25 secondi e non può impegnare la CPU al 100% per tutta la durata dei 25 secondi. Tutto questo per preservare la batteria e l’esperienza utente.
E’ comunque possibile avviare tipi speciali di background agents, gli audio agents, i periodic tasks e i resource intensive tasks. Gli agenti audio vengono eseguiti in background per tutta la durata del file audio che sono chiamati a riprodurre, quelli periodici invece vengono semplicemente eseguiti, sempre sotto le solite limitazioni, all’ora prestabilita. Molto interessanti sono i resource intensive tasks, che sono esenti dalle precedenti rigide regole, possono utilizzare più dati ed essere eseguiti per un periodo di tempo pari a 10 minuti consecutivi. Tali agenti vengono eseguiti, ognuno per 10 minuti a rotazione, mentre il dispositivo si trova in modalità standby e in carica.
In parole povere, per chi non mastica questi argomenti tecnici, le app per Windows Phone saranno in grado di: eseguire operazioni in background senza influire sulla fluidità del sistema e senza obbligare l’utente a preoccuparsi di quali e quante risorse siano occupate in un determinato momento.
L’utente potrà comodamente gestire questi agenti da un pannello apposito raggiungibile dalle “impostazioni”, avendo la possibilità quindi di interrompere l’agente e persino di impedirgli di venire avviato ulteriormente.
Per concludere, sulla carta, il multitasking proposto da Microsoft sembra molto promettente e di ottima qualità. Resta solo da provarlo con mano quando Mango sarà finalmente rilasciato a noi utenti finali. Infine, chi di voi avesse una ventina di minuti da dedicare al prossimo video, Peter Torr, in una interessante intervista su Channel 9, vi spiegherà nel dettaglio tutto quel che vi ho rassunto fino ad ora. Una buona conoscienza della lingua inglese è fortemente consigliata.