Linux users with smartphones and PDAs are familiar with the narrow definition of a “supported PC” most mobile device manufacturers have: a Windows PC, and perhaps a Mac. I have tackled this problem from many angles in the past, from the struggle to achieve simple file transfers between Nokia phones and Linux boxen, to the quest for calendar and address book sync, to accessing email.

There are two main routes to solve the sync problem: the Web2.0 Way and the Old School Way. Both have one thing in common: if you’re a Linux user, you should keep your data online. Forget about plugging your Nokia smartphone via the USB cable and pressing “Sync”. While software such as OpenSync and Gnokii exist, I’ve never had complete success with them. Also, when your data lives on a centralized server maintained by professional Other People, you get backups as a bonus!

There are three main things that I need to be able to access at all times: email, calendar, and todo list. I’ll describe my sync methods below.

The Web2.0 Way

The hip and the cool among us enjoy Gmail and other online apps and services, and I do like them as well. For example, Gmail’s user interface changed the way I looked at webmail forever, and in some ways it’s superior to any desktop email client. Who has better search than Google, after all? When you have a mail archive of hundreds of megabytes, it’s safe to say that the network is no longer the slowest part of your system when you search for that message from Charlotte she wrote in 2004, saying she doesn’t love you anymore. We’re generating increasingly large amounts of information, and as Paul Boutin noted a while back, you would never allow a system in your house that would compete with Google’s search.

Sync-wise, the Web2.0 Way has one obvious advantage over the Old School Way: there simply isn’t very much to synchronize! Gmail has an awesome interface for your desktop browser, as well as for the puny WAP browser on your mobile phone, so that’s a no-brainer. Even better, Google’s Java mobile client application is top notch.

Google Calendar is a very nice web app as is, and it has a more-or-less adequate mobile version as well. Google doesn’t give you a todo list of any kind though, so I recommend Remember The Milk. RTM has all the features you can hope for and then some, and comes with a very nice mobile version for your WAP browser.

On the desktop, you can integrate all these apps into your GNOME environment with read-only access. GCal and RTM provide standard iCal interfaces you can subscribe to with Evolution. This allows you to view your appointments and tasks right from GNOME’s Clock applet. You can also make a smart bookmark for Epiphany to search Gmail, and have it accessible from the deskbar applet if you like: 1) Go to your Gmail inbox. 2) Switch to “basic HTML” mode. 3) Search Gmail for a recognizable string like FOOBAR. 4) Bookmark the results page. 5) Edit the bookmark, replacing FOOBAR in the URL with %s and give it a descriptive name such as “Gmail search”. You will now be able to search your Gmail archives from the Epiphany location bar and deskbar-applet. (Firefox version is left as an exercise to FF users.)

Old School Way

In a nice paradox, the good old fashioned computing lifestyle demands much more from your tools than the “more advanced” Web2.0. However, if you have such tools, they are usually more comfortable and flexible to use than web apps. They will also survive network outages, which naturally is a tremendous benefit. My gear is Evolution on the desktop and the native Messaging and Calendar applications on my Nokia E70. The phone has to support the SyncML synchronization standard (sometimes called OMA these days) and IMAP for mail.

On the server side, we need an IMAP account, which rules out every free email provider I know of, including Gmail. We also need a SyncML server. ScheduleWorld offers this one for free, so we’re in luck. Evolution does not speak SyncML, but we can use a simple command-line tool called SyncEvolution as glue.

The benefits of IMAP are obvious: multiple clients can connect, even at the same time, and all mail is accessible to all of them. One can argue we can achieve the same with Gmail, but synchronizing local folders is far from trivial using POP.1 Also, since mobile phones usually don’t have lots of storage (mine can handle 2GB at best,) it is nice to work with only the mail headers and download and delete message bodies as needed.

SyncEvolution doesn’t come with Ubuntu, and I haven’t seen any suitable Debian packages floating around the Internet. Not to worry, the source builds nicely on Ubuntu, and you’ll be up and running soon enough. There is a nice tutorial on the Ubuntu Forums as well. I’ve setup a bash alias syncevo=’syncevolution scheduleworld’ and run that whenever needed. Works like a charm.

Which Path should i take, Master?

Whichever you like more! I’ve been using and loving both, and the best thing is they don’t rule each other out. ScheduleWorld not only syncs your phone and Evolution but Google Calendar as well, and recently introduced experimental support for syncing Gmail contacts. It also has quite a usable web interface too. Mail can be duplicated between your IMAP server and Gmail via simple forwarding.

Ultimately, the more advanced your mobile phone, the more you will like old-fashioned “native apps and sync” approach, while the Web2.0 applications’ mobile versions will work in your old phone’s WAP browser, and even have SMS interfaces.

1. But see the “recent hack”, which is useful for other things as well: I use it to backup my Gmail with fetchmail.

Comments

9 Responses to “Syncing Smartphones And Evolution: Web2.0 and Old School”

  1. Mikko Ohtamaa on July 2nd, 2007 2:01 pm

    Also, the latest Nokia invention offers some new alternatives:

    http://mymobilesite.net

    Run a web server in your mobile phone (over HTTP tunnel provided by Nokia) and access all phone data over HTTP/browser.

  2. topyli on July 2nd, 2007 9:18 pm

    Mikko: I have seen news about the web server, but haven’t tried it. It’s very interesting. The offline problem would be half solved if your phone were the server.

  3. Petar Milin on July 14th, 2007 5:07 pm

    Great explanation! Thanks! Nevertheless, is there a way to synchronize google contacts with the evolution as well?

    Best,
    PM

  4. topyli on July 15th, 2007 1:46 pm

    Google doesn’t provide a sane API for Gmail contacts. Scheduleworld are trying to figure it out though: http://www.scheduleworld.com/jforum/posts/list/60/102.page

  5. Petar Milin on July 16th, 2007 2:42 pm

    Thanks! And I just run onto GCALDaemon — interesting program for two-way synchronization between various google services and verious iCal compatibile applications.

    Best,
    PM

  6. Petar Milin on July 16th, 2007 2:43 pm

    Sorry, address would be: http://gcaldaemon.sourceforge.net/

  7. topyli on July 16th, 2007 11:52 pm

    GCALDaemon looks pretty neat. I’m not sure if I like the idea of running a Java daemon though (they say 10 to 20MB of RAM). No worse than running Beagle or such I guess…

  8. Mounting a Nokia Phone a Little Bit Easier : the new topyli standard on July 26th, 2007 12:07 am

    [...] server for some time already, but was inspired to try it out recently by Mikko’s comment on a blog entry of mine involving phone/linux [...]

  9. TuxFeed › Mounting a Nokia Phone a Little Bit Easier on August 3rd, 2007 12:45 am

    [...] server for some time already, but was inspired to try it out recently by Mikko’s comment on a blog entry of mine involving phone/linux [...]

Leave a Reply