No doubt, calendar and address book synchronization between PCs, smartphones and perhaps a web based interface is a convenient thing. However, so far I always stayed away from this as it meant handing over my data to a web based company. While I am sure that pretty much every online service has my phone number and email address by now from other people using Facebook, WhatsApp and other services that suck complete address books right out of smartphones, I at least didn't want to give my data myself to them. Also, to the best of my knowledge, my calendar information is still my own. O.k. a little bit less convenience but my data has remained private for the most part. But now there's a solution for this as Owncloud, that I started using for sharing files, also has calendar and address book sharing support.
I was quite amazed how simple it was as Owncloud uses CalDAV and CardDAV that are supported by quite a number of programs and operating systems. On the PC I use Thunderbird / Lightning for my calendar needs. Getting my Thunderbird calendar on my own Owncloud server at home was as simple as exporting all calendar entries in a file and pushing it via the web interface to the Owncloud file server. From there, a click on the file imports all calendar entries to one of the online calendars I created. Perfect, a 2 minute job for calendar entries of several years.
Synchronizing with Thunderbird is equally simple. Owncloud provides a URL for accessing the calendar via CalDAV which can be used in Thunderbird for accessing an online calendar. Another two minute job and I can see the calendar in Lightning and not only via Owncloud's web interface. Thunderbird also has the option of keeping an offline copy of the calendar. New entries or changes to an existing entry are immediately sent to Owncloud if a connection can be established. If not, Thunderbird saves the changes and can be made to send the changes once connectivity is available again. Perfect!
But of course all of this is of little use unless I can synchronize the calendar with my other devices as well. Android doesn't support CalDAV natively but "CalDAV-Sync beta" from the app store adds the functionality. With that I synched an HTC smartphone and a Samsung tablet with the Owncloud calendar and changes in Thunderbird or one of the mobile calendars replicated nicely to the other devices periodically or when triggered manually. I tried very hard to see if I could break synchronization in some way by deleting the same entry on several devices, by adding new entries simultaneously on different devices, etc. but all changes were always synchronized correctly to all devices. Perfect again!
And finally there's my address book that I'd really like to synchronize. Unfortunately there's no support for CardDAV in Symbian so the best I could do was to export all addresses from my N8 into 'vcf' files and then upload them to Owncloud. Again, the server immediately recognized the address files and added them to my cloud based address book at home. From there I can now easily access the address book via the Owncloud web interface and synchronize it to Android address books, again with a little helper program from the App store.
Almost perfect I'd say! The combination of address book and calendar synchronization might provide an incentive in the future to retire my N8 and go for an Android based device, while keeping the N8 for offline navigation and quality photography, two things that I still find lacking in any Android based device I've so far fancied.
Both thumbs up for Owncloud, and I'd raise two more if I could. Finally I am beginning to love the cloud, as my data is stored on my own hardware in my place and still accessible anywhere I am via secure http (and port forwarding from my DSL access point to my Owncloud server + Dyndns).
Well, refering to your Raspberry Pi hooked up to your own private landline DSL connection reminds me—bear with me—the movie “V for Vendetta”; specifically the scene where V educates the villian’s minions in response to them “having guns” that
[quote] what you have are *bullets*, and the hopes that when your guns are empty, I’m no longer standing, because if I am… you’ll all be dead before you’ll reloaded.[/quote]
Similarly, you don’t have a *cloud*, you have a *server*.
A “cloud” comes with a different set of pros and cons than consumer-grade equipment.
Pro:
(+) You don’t have to care about maintenance (fixing outages, regular updates, scaling) yorself.
(+) Usually high availability.
Con:
(-) You have to trust the people behind to do have *your* best interest in mind when attending the points mentioned above.
That’s not to say I don’t appreciate you sharing your efforts and learnings, of course. I just wanted to point out the differences for my own peace of mind 😉
Hi Christian,
Thanks for the comment. You make an intriguing argument but I beg to differ 🙂
Just because I choose to administer and host my own cloud services doesn’t make them any more or less cloud services.
If a cloud service is hosted by an external provider then it may have the pros and cons you describe. However, from my point of view, the core definition of cloud services is that the services can be used over the network independent from location and device. The Wikipedia definition goes as follows:
“Cloud computing is the use of computing resources (hardware and software) that are delivered as a service over a network (typically the Internet). […]”. For details see here: http://en.wikipedia.org/wiki/Cloud_computing
Cheers,
Martin
Gosh, this is something that sounds pretty cool. If I didn’t have this insistence that my phone should also be my web server, I could see doing this as well. I might need to find a small box to run this off of and do similar.
Fair enough, turns out I was mixing up “Cloud” and “SaaS”. Thanks for clarifying.