Along with the purchase of my Android phone in September 2011 came the convenience of a free and easy cloud back-up of my phone contacts into Google’s address book. And since I had long been using Google Calendar for managing my agenda, the seamless synchronization with the phone calendar was just as welcome.
Over the years, however, I have become more wary about whom I want to share my address book with. And Google - whose Gmail service I for example never entrusted my e-mail communication with - has long lost my trust in this regard; only I was lacking the time to change the setup.
Interestingly - in retrospective at least - it was not until recently that I started to have similar concerns regarding my calendar - after all, almost any appointments in my calendar are cryptic enough that they would be hard to understand for anybody else, not to mention analyse them algorithmically.
When I noticed a few weeks ago that Google Calendar started to provide auto-complete suggestions when I would enter the location of a newly created meeting, I woke up to the understanding that this of course is primarily a user experience feature, but above all provides Google to better analyse people’s calendar entries (where I would earlier mark a meeting with the obscure short form “Aalto BIZ Ark”, Google now tries to encourage me to pick “Aalto University School of Business - Arkadia building” with street address etc.).

Time to move!
I decided that it was time to say goodbye to Google and try out ownCloud, the open source software package that allows anybody to host their own cloud services. At first, I investigated the use of a small Raspberry Pi computer on my home network for this purpose, but I soon realized that ownCould would as well run on my existing web server (hosting, among other things, this website).
Installing ownCloud was straightforward and easy; it does require some knowledge though, therefore unfortunately not exactly a solution for the average user. After a first test run with the SQLite version, I decided to do the final installation with a MySQL database, as it seemed to be faster. Not currently owning an SSL certificate for my server, it took me a while to set up the SSL proxy provided by my webhoster.

A few hours later (we are talking about one evening for the entire process described in this article - time well invested in the ownership over my data), everything was up and running.
Syncing the data
Getting the existing calendar and contacts into the new context was not exactly difficult, but maybe a little more work than I had anticipated. I closely followed the instructions on a blog post by Mike Ratcliffe, which has been of great value.
The most difficult part was to cut the ties between my phone and the Google service. After retrieving data export backups from Contacts and Calendar and importing them into ownCloud to make sure everything was migrated, I eventually - through trial and error - figured out how to achieve a complete migration:
Contacts
- In the case of contacts, I first set up the synchronization between Android and OwnCloud, leading to each of my phone contacts to contain both the data synced from Google and from my server (yet, no contacts were duplicated, they only were each linked to two sets of data).
- I then deleted all contacts from Google in the web interface; NB. this was of course only possible because I have never used Gmail - otherwise this may have had severe implications in the e-mail context.
- After the next synchronization between the phone and Google, the Google data disappeared from the phone contacts’ cards and I then disabled synchronization of Google Contacts.
Calendar
- For the calendar, the easiest way turned out to be to delete all calendars and their entries from Google and do a full sync with the phone - which meant complete deletion of all entries in the Android calendar.
- I then disabled the synchronization with Google Calendar and installed the sync plugin for OwnCloud.
- After a slow initial sync, all calendars with their entries showed up on the phone.

Experiences in use
After more than a month of constant and active use, I am yet to discover any issues. In my day-to-day use of the phone, it is impossible to notice that the cloud backup has been moved to my own server.
And since I have always been using Mozilla’s open-source e-mail software Thunderbird, it turned out that the integration of both contacts and the calendar is a lot more smooth with OwnCloud; I no longer have to access my calendar from the web on my PC, but can instead use the Lightning add-on to see, manage and edit my agenda.
Apart from the limiting requirement for the necessary DIY skills (both setting up the server/database and installing the various bridging apps on Android are not exactly plug-and-play), running OwnCloud on a personal server naturally comes with certain responsibilities like updates, backups etc. As an alternative, it would of course also be possible to subscribe to a hosted instance of ownCloud from a trusted provider, which would then eliminate the need for administration.
This post is part of a series:
- “Own your data”, part I: Bringing the bookmarks home from the cloud
- “Own your data”, part II: Using Ghostery to keep my browsing trail private
- “Own your data”, part III: Moving calendar and contacts into my ownCloud (this post)
- “Own your data”, part IV: Avoiding search engines that track their users