Cosa si intende per sincronizzazione? Quando si fa un backup si copiano i propri file dal disco dove si lavora ad un altro disco. Tale disco viene usato solo come copia di archivio, i file in esso vengono modificati solo quando cambiano nella cartella di lavoro. Il backup è una copia esatta della directory di lavoro, è quest’ultima che comanda. Quando si utilizzano due computer diversi spesso si ha un’esigenza diversa: per esempio supponiamo di avere due computer un portatile e un desktop e due file A e B su cui stiamo lavorando. Il giorno lavoro sul Desktop in ufficio e modifico entrambi. La sera prima di andare a casa li copio sul portatile. La sera modifico il file A. Devo ricordarmi la mattina quando torno in ufficio di copiarlo sul desktop. il giorno dopo lavoro in ufficio sul file B. Se la sera a casa voglio lavorarci dovrò ricordarmi di copiarlo sul mio portatile. Un software di sincronizzazione automatizza questo processo che può diventare molto complesso al crescere del numero dei file, dei computer su cui si lavora e degli utenti che usano i file.
Quindi il compito di un software di sincronizzazione è di fare in modo che su entrambi i computer ci sia la versione aggiornata sostituendo la copia più vecchia con quella più recente. Se io voglio sincronizzare la cartella Documenti su due Mac il software dovrà costruirsi una sua cartella Documenti (la Cartella Vera, nota in inglese come Truth Database ovvero il Database della Verità) aggiornata al momento della sincronizzazione, contenente la versione aggiornata di tutti i file indipendentemente dalla loro locazione e poi replicare questa immaginaria cartella su entrambi i computer, lasciando invariati i file più recenti su ciascuno e sostituendo quelli che invece sono stati aggiornati sull’altro. Sincronizzare è anche fare un backup, mentre non è vero il contrario.
Obiettivo ideale di un processo di sincronizzazione è avere accesso agli stessi dati indipendentemente dal computer che si sta utilizzando che si sia connessi alla rete o no.
In questo caso non c’è un computer che comanda ma il software deve valutare caso per caso, seguendo il criterio cronologico. Il software di sincronizzazione a differenza di un software di backup deve essere in grado di gestire un conflitto. Tipicamente si ha un conflitto quando un file è stato modificato su entrambi i computer. Come si deve comportare il software? la decisione è lasciata all’utente che deve scegliere manualmente la versione corretta.
Questa è la sincronizzazione dei file, che è quella più diffusa. Lo stesso ragionamento si può fare su singoli file. Un file è una collezione di informazioni, se io riesco a dividere il singolo file in pezzetti più piccoli e riesco a istruire il software sul loro significato posso sincronizzare i cambiamenti anche all’interno di uno stesso file. In questo modo abbiamo la sincronizzazione all’interno di un file che è quella che si fa quando si sincronizza il Mac con un dispositivo esterno, come un cellulare o un palmare. La sincronizzazione dei dati all’interno di un file è generalmente possibile grazie al formato XML. L’applicazione che si utilizza è iSync.
Cosa ci offre .Mac per quanto riguarda la sincronizzazione?
Per quanto riguarda la sincronizzazione dei file, possiamo sincronizzare l’iDisk: fare delle modifiche sulla copia locale quando lavoriamo offline che poi vengono replicate sull’iDisk alla successiva connessione ad internet. Non è una vera sincronizzazione e non ci permette di sincronizzare file su più Mac.
Il vero punto di forza di .Mac è la sincronizzazione dei dati; permette di sincronizzare la Rubrica Indirizzi, il Calendario, i Preferiti, le Impostazioni di Apple Mail e le Password contenute nel portachiavi tra più Mac diversi. E nella mia esperienza funziona molto bene. La combinazione tra .Mac e iSync (per i dispositivi portatili) permette con poco sforzo di avere sempre a disposizione le informazioni aggiornate.
Inoltre .Mac mette a disposizione degli sviluppatori il suo motore di sincronizzazione. Applicazioni esterne possono così sincronizzare i propri dati. Non sono molte le applicazioni di terze parti che supportano la sincronizzazione dei propri dati con .Mac. Una lista aggiornata delle applicazioni che utilizzano .Mac si trova qui (la maggior parte del software elencato lo usa solamente come sistema di backup, in realtà).
Le alternative che ho scelto:
Per quanto riguarda la sincronizzazione dei dati un buon software è My-Sync (attualmente in beta ma piuttosto stabile) che permette di sincronizzare i Mac su una rete locale. I dati sincronizzabili sono gli stessi di .Mac.
Per la sincronizzazione dei file sto provando l’utility gratuita (a linea di comando) Unison.
Esistono molte alternative con interfaccia grafica, ne segnalo due:
Nel complesso devo dire che la sincronizzazione è ciò che rende veramente utile .Mac e penso che le future sperabili migliorie che Apple apporterà al servizio andranno in questa direzione. E’ prevedibile anche un maggior supporto da parte di sviluppatori esterni.
Cosa non sono riuscito a sincronizzare senza usare .Mac?
La Rubrica Indirizzi sulla web-mail. Non esiste un metodo di sincronizzazione standardizzato per le rubriche come IMAP per la posta. Quindi se devo comporre un messaggio su un computer non mio non sono sicuro di avere l’indirizzo giusto.
I preferiti di Safari. Questo è per me un problema minore in quanto utilizzo ormai esclusivamente del.icio.us per la gestione dei preferiti.
Quest’ultima considerazione ci potrebbe portare a pensare che la soluzione al problema della sincronizzazione sia quello di lavorare sempre su un unica copia dei dati sempre disponibili in rete indipendentemente dal terminale che si utilizza per accedere. Forse in futuro sarà così ma adesso non è ancora possibile per due motivi:
- Le connessioni in rete non sono sempre disponibili o sono troppo lente
- Le applicazioni basate sul web non sono ancora mature per sostituire quelle locali. Questo è vero soprattutto per le applicazioni molto complesse di tipo office, mentre per i programmi PIM (Personal Information Manager come posta, rubrica e calendario) le applicazioni web sono molto valide.
Altri post in questa serie: