Syncing Documents While Dangling from a Cloud
By Natan Yellin on Nov 14, 2008 in Desktop 2.0, Gnome, Open Source
Introduction
Rodney Dawes wrote an interesting post that I saw on Planet GNOME a few weeks back. Here’s one excerpt that I found noteworthy:
The Future is not your desktop. It is mobile devices. It is tablets. It is holographic displays and interfaces. It is flexible transparent screens. It is your television, your appliances, your home, your car. It is all the things we haven’t even scratched the surface of, for sensible user interface design. It is networked storage, with your content being accessible wherever you are, be it in your living room, kitchen, hotel 5000 miles away, or a boat in the middle of the ocean. If we want to move into the future, and not get left behind, we need to start thinking about this, not what new shiny method of accessing a 50 year old 2D desktop is best. None of them are best.
The bolded bit is particularly interesting. Cloud computing is not simply a phenomena that we’re likely to see at some point in the future. It’s already here. Today. Every time that someone uploads a photo to Flickr, they’re going out onto the cloud. Every blog post, Google Document, and even email is a little whisp in the clouds. This is where people are working, playing, living, and- most of all- sharing.
The Problem
Lets take a step back for a moment, and look at normal computer users. For most normal computer users, each computer that they use stores a different set of documents. For example, their home computer might store their photo library, and their laptop might store their presentations and Tomboy notes.
No matter how hard people try to keep things organized that way, over time it breaks down. After going on a trip with only their laptop and their small-storage camera, their laptop becomes an extension of their photo library. After working on a presentation on both their home computer and laptop, they find that they suddenly have multiple versions of the same presentation all of the place. As time goes by, it gets worse and worse. Each computer still contains unique set of documents, but more and more pieces from those sets get smeared onto all of their other computers.
Solutions appear, but as even more time goes by they only make things worse. Is that file BlahFINAL in my email more recent than BlahREALY_FINAL on my laptop? Is the other BlahFINISHED in my email even more recent? Or OMG! I’m giving a presentation in five minutes and I accidentally copied FooLAST_COPY#2 onto my laptop, but FooREALLY_SUPER_LAST_COPY#3 is at home on my desktop!
While users and their file naming conventions never fail to make me smile, the situation gets even worse when clouds enter the picture. Suddenly, Joe has found what he thinks is a solution to all of his problems. He innocently uploads every one of his files to the web and deletes them from his computer. Little does he realize it, but F-Spot, Joe’s favorite application, has become useless. Joe can still do much of what he wants with Flickr, but that becomes exceedingly painful when he tries to drag and drop his pictures into the movie that he’s making. When it comes time for his opening words at Great Grandma Beth’s 100th birthday, Joe is dismayed to find that the restaurant doesn’t have a wifi network. Even if he had known ahead of time, Joe knows that there’s no way for him to download all 1,000 of his pictures of Grandma Beth onto his laptop.
Solutions
This is the challenge that we need to rise up and answer. Syncing has to be easy and complete, and it needs to work out of the box. The second that the user turns their computer on, all of their documents need to be displayed in from of them (even if they’re not actually present on the hard drive) and they should be openable with one click. If they need to be downloaded from a server, let the app worry about that and not the user. Just as importantly, if the documents only appear after the user bends over backwards and digs through five settings dialogs, then we’ve already lost.
Implementation
With regard to synchronization, Conduit is an important start but it’s not a complete solution in and of itself. When the user opens up F-Spot, they need to see all of their photos in front of them, and not just the ones on the computer. (Microsoft’s Live Essentials seems to be an early implementation of this.) Let the user choose which- if any- of their photo albums they’d like to sync to their computer. However, all of their and albums and their friends’ albums need to be available right in front of them. If they need to open up Conduit to make this happen, we’ve lost again.
A lot of what’s mentioned above is already being implemented in a watered-down form on several other platforms. We need to embrace that and that and work with their standards when applicable. However, we can also do better. We need to- and can- provide an open solution that works everywhere. Just like users plug in cameras and the cameras work with every platform and every photo application, we can make their applications work with any online service that supports uploading photos. Our goal should be compatibility with all online services in order to create one open and intercompatible mesh of services. Which website is hosting the user’s photo should- and eventually will- become irrelevant. Instead of simply following in the footsteps of others, let’s lead with a clear vision. Now is the time to code, and not five years from now after everyone else has already done it.
If we deliver a GNOME 3.0 that fulfills the above requirements then we’ll have won a major victory. At the end of their day, people don’t use their computers because they like the eyecandy. People use their computers because they need to accomplish a job, and that job usually involves documents. This is what Dave Richard’s talk at the GNOME Hackfest was all about, and this is what’s going to create a buzz. A new panel, desktop widgets, and a composited desktop are all crucial if we want to compete with other platforms and keep our users. However, if we want to pull into the lead and actually win over new users then this is what we need to focus on. We need people to see a demo of GNOME 3.0 and say “Wow! I need that! Where can I get it?” If we create an experience that makes peoples’ lives easier- and not just shinier- to the point where they can’t remember how they even synced their files successfully beforehand (most likely they didn’t) then we’ve won. I know I wouldn’t settle for any less from the amazing people that form the GNOME Project, and I don’t intend to ask users to settle for less either.



