Prendendo spunto da un articolo pubblicato da AppleInsider vediamo di analizzare la situazione dell’iPad circa questo particolare aspetto.
Una delle critiche mosse al nuovo prodotto di Cupertino è quella di non poter far girare più applicazioni (che non siano quelle preinstallate da Apple) contemporaneamente. Molto spesso questa particolare caratteristica viene impropriamente indicata come “multitasking”.
Sfatiamo un mito
Forse qualcuno si sorprenderà quando scoprirà che, in realtà, l’iPad (come del resto l’iPhone e l’iPod touch, visto che montano tutti lo stesso sistema operativo) supporta nativamente il multitasking, ovvero è capace di far girare più processi contemporaneamente. Questo per il semplice motivo che il kernel dell’iPhone OS, ovvero il cuore del sistema operativo che gira dentro l’iPad, è esattamente lo stesso kernel di Mac OS X (comunemente noto come Mach/BSD), semplicemente ricompilato per girare su processori ARM (quelli che troviamo dentro iPhone, iPod touch e iPad).
Ovviamente tra Mac OS X e iPhone OS ci sono delle differenze sostanziali a livello di interfaccia utente ma entrambi sono capaci di far girare più processi, e quindi più applicazioni, contemporaneamente. Questa cosa risulta evidente nel momento in cui, iPhone alla mano, arriva una telefonata nel bel mezzo di una partita a TapTap Revenge, o quando si ascolta tranquillamente la musica dell’iPod mentre si naviga sul web con Safari.
Limiti e restrizioni
Nonostante iPhone OS sia in grado di gestire più processi contemporaneamente, però, ci sono delle limitazioni che non sono tecniche ma imposte dalla casa produttrice. È la Apple che non permette all’utente di far girare più applicazioni contemporaneamente; le poche applicazioni in grado di girare in background (ovvero “silenziosamente”, mentre l’utente è impegnato su un’altra applicazione) sono quelle fornite dalla stessa Apple e sono quelle fondamentali per un iPhone/iPod/iPad: Telefono, Mail, SMS e iPod.
Viene quindi da chiedersi: perchè Apple impone questi limiti? Le ragioni di questa scelta sono diverse ed ovviamente la Apple non si diverte mica a togliere o limitare funzionalità sui dispositivi di sua produzione. C’è da considerare che l’introduzione di una nuova funzionalità ha quasi sempre pro e contro. In questo caso dare la possibilità alle applicazioni di girare in background vorrebbe dire anzitutto una riduzione sensibile dell’autonomia del dispositivo (e sappiamo bene quanti grattacapi abbia creato agli utenti la batteria dell’iPhone, in quanto a durata) ed in secondo luogo minori risorse hardware a disposizioni per le applicazioni, visto che ovviamente dovranno condividerle. Infine c’è anche da considerare la questione sicurezza, ma vedremo di analizzarla meglio più in là.
Come aggirare queste limitazioni
Apple naturalmente non è rimasta con le mani in mano di fronte alle lamentele degli utenti su questo aspetto. Ha quindi cercato delle soluzioni alternative per poter quantomeno simulare il multitasking per le applicazioni non preinstallate. A pensarci bene gran parte delle applicazioni ha la necessità di rimanere attiva in background semplicemente per poter rimanere aggiornata e sincronizzata con un server centrale. È molto comodo, per esempio, poter ricevere messaggi via chat senza dover per forza tenere la relativa applicazione perennemente aperta, perchè questo vorrebbe dire non poter fare altro mentre si è connessi in chat.
La Apple ha pensato bene di risolvere questo problema introducendo su iPhone OS il contetto di notifiche push. Oramai sono arcinote e tutti ne conoscono e ne apprezzano l’utilità. Effettivamente il sistema di notifiche funziona piuttosto bene e soddisfa gran parte delle esigenze degli sviluppatori. Esistono però applicazioni che non possono accontentarsi del sistema di notifiche push. Pensate ad una radio, per esempio. Ascoltare la musica con iPod mentre si usa un’altra applicazione è molto comodo. Sarebbe altrettanto comodo poterlo fare con un’applicazione che fa streaming audio di una radio. Attualmente, per questo tipo di applicazioni, non c’è una soluzione accettabile e sarebbe bene che la Apple ne trovasse una in vista del lancio dell’iPad.
Una soluzione alternativa, non ancora presente su iPhone OS, sarebbe quella delle widget all’interno di una dashboard. Su un dispositivo come iPad, in particolare, sarebbero molto utili e potrebbero risolvere alcuni problemi relativi al multitasking.
E la sicurezza?
Molte volte avrete sentito dire che la mancanza del multitasking su iPhone OS è dovuta anche ad una questione di sicurezza. Qualcuno sostiene che se le applicazioni fossero libere di girare in background potrebbero anche occuparsi di “affari loschi” senza che l’utente si accorga di nulla. In realtà sembra non essere così. Il sistema di sicurezza di iPhone OS è piuttosto robusto e si basa principalmente sul fatto che, a meno di jailbreak e/o modifiche al firmware, la Apple ha il totale controllo su ciò che può o non può essere installato sul dispositivo. Un’applicazione che gira in background sarebbe comunque un’applicazione proveniente da AppStore, e quindi testata ed approvata da Apple. Nonostante non sia possibile garantire al 100% un comportamento impeccabile da parte dell’applicazione installata, resta il fatto che un’applicazione che gira in background può fare esattamente le stesse cose che farebbe una qualsiasi altra applicazione, con l’unica differenza che l’utente non si troverebbe un interfaccia grafica di fronte.
Installare un “virus” su iPhoneOS è quanto meno difficile, visto che, come è noto a tutti, ogni applicazione gira all’interno di una sandbox, ovvero può disporre di file e risorse che gli appartengono e non può andare a richiedere file e/o risorse di altre applicazioni, nè tantomento del sistema operativo. Allo stesso modo il concetto di applicazione spyware è poco sensato, visto che una qualsiasi applicazione può fornire dati relativi all’utente senza che quest’ultimo se ne renda conto, sebbene il fatto di poter girare in background potrebbe rappresentare un vantaggio, in questo caso.
In Conclusione
Tutto ciò di cui abbiamo parlato fino ad ora riguarda principalmente l’esperienza che tutti abbiamo avuto con l’iPhone. L’iPad però è un dispositivo diverso: il problema della batteria è relativo su un iPad, vista l’autonomia dichiarata di almeno 10 ore; così come le risorse hardware potrebbero non rappresentare più un problema ma, anzi, essere un incentivo all’introduzione del multitasking. Insomma, sembra che la Apple non abbia più scuse, su un dispositivo come l’iPad il multitasking è qualcosa che ci si aspetta. Magari potrebbe esserci una sorpresa dell’ultimo minuto e la Apple potrebbe inserire il multitasking prima del lancio. O magari potrebbe adottare una soluzione intermedia, come la dashboard per esempio, per poi introdurre il multitasking in un successivo aggiornamento del firmware.
[via]