Qualche mese fa sono passato ad iPhone e iOS dopo il fail meccanico del mio precedente Galaxy Nexus. Vengo da una lunga storia di smartphone su base Android (HTC Wildfire prima serie, Samsung Galaxy S2, Galaxy Nexus) e da una più breve storia di tablet basati anch’essi sull’OS di Google (Nexus 7 FHD).

Dato che sono Mac user da millemila anni ho voluto provare iOS, soprattutto perché presobenissimo dalla demo di handoff. Ho quindi preso il mio attuale iPhone 5S, terminale che trovo fantastico per certi versi, ma assolutamente insufficiente in certi campi. I limiti più gravi che trovo sono l’assenza di un sistema avanzato di accesso ai file e il finto multitasking che “blocca” le applicazioni non eseguitein primo piano.

Questi due problemi vengono a sommarsi in maniera catastrofica quando si parla di sincronizzazione bidirezionale di file con salvataggio di copia locale e propagazione delle modifiche. A cosa mi riferisco? Facciamo un esempio.

Indice dei contenuti

Il Problema

Mettiamo che sul mio server Pi-based risiedano una certa quantità di fumetti digitali DRM-free (o qualunque altra roba di “consumo”: serie tv, film, ecc). Mettiamo che questi file stiano in una cartella sul server, che voglio replicare pari pari sul tablet. Voglio una copia locale dei file, da poter fruire offline. Voglio che se cambia qualcosa sul server, questa modifica venga propagata sul tablet (esempio: aggiungo un fumetto sul server, questo viene automaticamente scaricato sul dispositivo mobile), e viceversa, cioè per esempio se cancello la copia locale di un file dal dispositivo, questo viene cancellato anche sul server, anche quando la modifica viene effettuata offline, ovvero alla prima connessione disponibile. Voglio che tutto ciò avvenga automaticamente.

Questo discorso può essere fatto per diversi file, ovviamente: backup o distribuzione di foto, video, file di AutoCAD, laqualunque. Su Android ci sono n-mila modi di fare questo senza passare dal cloud. Eccone un paio a titolo d’esempio:

  • Utilizzare un sistema stile rsync puntando ad un server con dischi condivisi in rete (AFP, SMB, SFTP, ecc..). Sul PlayStore ci sono almeno ventordici app che permettono questa cosa, in quasi tutti i casi è disponibile sia la sincronizzazione monodirezionale (server->dispositivo) e bidirezionale (server<->dispositivo) con propagazione delle cancellazioni, filtro su data di creazione/modifica/ecc, nonché la possibilità di esecuzione automatica ad intervalli fissati o in presenza di condizioni particolari. Vi cito quelle più funzionali secondo me: FolderSync e SyncMe Wireless. Una volta impostate, potete dimenticarvene.
  • Utilizzare l’astro nascente della sincronizzazione cloudless e P2P, ovvero BTSync. Strumento che su Android trovo di eccezionale praticità. Anche quello, una volta impostato ci si può tranquillamente dimenticare che esiste, funziona in maniera completamente trasparente.

Su iOS non esiste un modo automatico per fare ciò, e i modi per farlo non automaticamente sono molto limitati e spesso non prevedono la propagazione delle modifiche al server.

Perché questi programmi sono disponibili su Android e funzionano bene mentre su iOS non esistono o sono praticamente inutili ?

Dove sono i miei file?

Su Android l’utente (e quindi le applicazioni) ha accesso a parte file system, ovvero l’utente e le applicazioni possono maneggiare i file e le cartelle salvate sul dispositivo in modo abbastanza libero (non si possono toccare le cartelle di sistema, se non con i privilegi root), esattamente come accade con il vostro computer. Ad esempio, scattando una foto questa sarà ovviamente visibile nell’App Foto o Galleria, ma sarà anche un file fisicamente salvato nella sotto cartella DCIM della memoria interna, esplorabile tramite App file browser e raggiungibile da programmi di sincronizzazione. Lo stesso vale per qualunque file, ad esempio i salvataggi dei videogiochi o la musica o i file di testo delle vostre poesie erotiche.

La cosa, ad esempio, è molto comoda nel caso di trasferimento di musica. Salvando i file musicali in una cartella a caso, questi saranno raggiungibili da qualunque App che faccia da riproduttore multimediale, esattamente come sul vostro computer, qualunque OS stiate usando. I file sono vostri, li potete raggiungere, vedere, riprodurre, cancellare ed in generale fare quello che volete.

Con iOS non si può. Non è (solo) una carenza delle App, è proprio il sistema che funziona così, non esiste un file system raggiungibile dall’utente o dalle App. Apple ha introdotto l’estensione “document provider” in iOS 8, ma ancora non ci siamo, è un palliativo poco funzionale e per nulla comodo. Ad esempio, tornando al trasferimento di file musicali: trasferendo file musicali sulla memoria dell’iPhone tramite un’app come Transmit iOS o BTSync, potrei riprodurre i brani tramite CanOpener uno alla volta! Non esistendo una struttura di file system, tutti i riferimenti relativi ai percorsi dei file presenti, ad esempio, in una banale playlist m3u non avrebbero senso, quindi sarebbe impossibile riprodurre anche una playlist. Non solo: dato che Apple ha spostato il problema dell’accesso ai file sugli sviluppatori, ovvero delegando questa funzione ad un’estensione che va implementata nelle app, bisogna avere pazienza aspettare che tutti gli sviluppatori adeguino le loro applicazioni: tempi biblici, complicazione, nessuna comodità.

Sarebbe molto meglio se esistesse il Finder anche su iOS…

Escuzione ad orologeria

L’altro problema di iOS è il non-multitasking ovvero l’impossibilità di avere applicazioni di terze parti che girano in background per un tempo indefinito. Ad esempio, backup delle foto sul cloud o su un server casalingo? Su iOS l’unico servizio che ha il diritto di fare bene questo lavoro è quello che carica le foto su iCloud. Volete caricarle su Dropbox? Ok, allora avete tre opzioni: o lasciate Dropbox sempre in primo piano, o ogni tot lo risvegliate, oppure accettate che Dropbox legga la vostra posizione e usi l’aggiornamento di posizione come “trucco” per mantenersi sempre attivo. Pazzesco. Se volete fare l’upload su un vostro server, ad esempio attraverso l’ottimo PhotoSync o lo stesso BTSync, scordatevi un’esperienza d’uso che sia minimamente accostabile alla parola “automatico”.

Con Android? Imposto l’avvio allo startup di BTSync e me ne dimentico per sempre. Ogni volta che cancello un file da una cartella sincronizzata bidirezionalmente, la cancello anche sul server. Se si crea un file sul server, lo ritrovo automagicamente sul dispositivo. Non devo fare nulla, solo lasciare il dispositivo acceso e connesso alla rete domestica.

Comodo, veloce, efficacie e completamente privo di bisogno di attenzioni o interazione da parte dell’utente. Semplicemente: funziona.

Conclusioni

iOS va benissimo per l’utilizzo su smartphone e se utilizzate solo i sistemi classici imposti da Apple: “sync” dei file tramite iTunes, backup su iCloud. Se avete bisogno di qualcosa di più, per lavoro o per comodità vostra, ancora non ci siamo.

In iOS il concetto “less is more” è stato banalizzato al “less is less and even lesser”: il sistema è “facile” perché mancano le funzioni, e se si vuole usarle si è costretti ai salti mortali.

iOS è, in definitiva, molto limitato dal fatto che non esiste una vera gestione dei file e che il multitasking è solo simulato, non è possibile l’esecuzione indiscriminata e continua di app in background.

Queste, comunque, sono anche le strategie che rendono iOS molto sicuro, scattante e gentile nello sfruttamento delle risorse.

 

 

’nuff said