Apps or Data
May 27, 2012 § Leave a comment
I left Citrix Systems last month. Its been many years, since a large chunk of my email, contacts, and calendar has not been stored in an Exchange Server. I spent the first two weeks trying to live off a combination of Gmail, Google Calendar, iPhone, iPad, and Mac.
Getting email on all these devices was relatively straightforward. However, I have had a number of challenges with my contacts and calendar. For two weeks in a row, I had to wipe out my contacts and calendars on all my devices, start with a fresh upload into Gmail, and by the end of the day, my 500ish contacts would have grown into 40,000 contacts (with lots of junk) and all the various sync processes would be going haywire.
The app centric model on my Mac was the principal source of problems. Each one of the apps maintained its own copy of data and I had to configure synchronization tasks to move data back and forth between these applications. It was difficult to determine which app “owned” the data and which sync process was responsible for the growing contacts database. I had to shut one off and then repeat the exercise. After multiple iterations, I determined the problem was the merge operation on Gmail. I had merged my Gmail contacts and Exchange contacts using the merge operation on Gmail. It does the merge properly, but puts a lot of junk in the Notes field. This caused all the sync problems because the data wasn’t being processed properly by one of the sync processes. And once one of the databases was corrupted, every other database ended up being corrupted.
In a data-centric world, all the apps work off one set of data – reads and writes go back to the file system. In an app-centric world, each app works off its own set of data, and the relevant data is replicated across all the apps. In a world where we have multiple apps across multiple devices, each app with its own logic for how it consumes data, it is challenging to understand how exactly data is handled.
Apple’s iCloud is a big step in the right direction, but in its current form it exacerbates the problem. It syncs the PhotoStream, but not the photos. It syncs the photos in the PhotoStream, but not the videos. It syncs the songs you buy, but not the songs you upload. In Apple’s app-centric world, they have to do a significantly better job of making sure that everything syncs correctly and as one would expect.