After a short hacking hiatus, soul searching, and general uncertainty regarding Conduits place in the Gnome Online Desktop plan, we the Conduit developers have decided to keep doing what we do best; adding awesome features, and making Conduit into the best desktop synchronization service for the free desktop. I invite you all to spot the new features in the image below;

Going through the new features one by one;
- The Network datasink - thats how you tell conduit to share data to other people on the network
- The chad.local dataprovider - … and thats how you’ll choose to consume other peoples shared data
- The evo2-sync dataprovider - before long you’ll be able to use opensync plugins in conduit
- The f-spot dataprovider - before long that will be two-way and networkable, work is ongoing with upstream
- Always-Up-To-Date is on the horizon (i.e. auto update and sync changed data)
- iPod photos support - our patches are accepted upstream, so soon we will support those too
- The facebook dataprovider - just photos so far, but more facebook features will be exposed soon
Other than those Massive New Features, there has been continued bug fixing and some improvements to the DBus interface to make it more Havoc Compliant. Check out the sample below for how to use Conduits DBus interface to synchronize things…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | bus = dbus.SessionBus() #Create an Interface wrapper for the remote object remote_object = bus.get_object(APPLICATION_DBUS_IFACE,"/") app = dbus.Interface(remote_object, APPLICATION_DBUS_IFACE) #get a dataprovider path = app.GetDataProvider("TestSource") source = dbus.Interface( bus.get_object(DATAPROVIDER_DBUS_IFACE,path), DATAPROVIDER_DBUS_IFACE ) #get another path = app.GetDataProvider("TestSink") sink = dbus.Interface( bus.get_object(DATAPROVIDER_DBUS_IFACE,path), DATAPROVIDER_DBUS_IFACE ) #get a conduit path = app.BuildConduit(source, sink) cond = dbus.Interface( bus.get_object(CONDUIT_DBUS_IFACE,path), CONDUIT_DBUS_IFACE ) print "Synchronize the conduit" cond.Sync() |
I have written an example which shows how to use Conduit to upload photos to any of our supported photo sites with even fewer lines of code. The DBus API documentation lives at the top of this file. Dont forget that by using a desktop wide sync framework you get all the Conduit bling for free, including
- Don’t upload duplicates
- Newer photos replace older ones
- Asynchronous and all authentication is handled by Conduit

You rock!
Synchronization and a pluggable infrastructure with interfaces is the way to go.
This store-all-your-settings-and-files-in-a-single-online-service sucks. My files and settings should be under my control (computer) in the first place. Syncing portions of my data with a device or a service is a nice thing to have.
Thanks a lot,
dre
Great,
Hope it’ll be soon in GNOME SVN, so as we can follow i18n status with l10n.gnome.org.
Yes, let’s talk at some conference about synchronizing E-mail data from a desktop to a mobile. This might help people having a kickstart for their E-mail application on their mobile (rather than having to always use IMAP and download all info again).
There are some tricky pieces to do this with Tinymail, but I’d like to help with that (provide APIs and/or code the implementation for them to make this possible).
Let me know.
Awesome!
I just would like to know if there are planification to collaborate with the gnome-sync project, which does similar things : http://www.genunix.org/wiki/index.php/Gnome_sync_demos . It would be a shame if the two best sync projects didn’t merge.
Thanks a lot for the new features.
This software is Actually Useful (TM)
@Philip,
I will be at linux.conf.au next year. Unfortunately New Zealand is a long way from most of the other FOSS conferences. I would love to start a dialog with you re tinymail.
@zetotof,
We are aware of the gnome-sync project. We support opensync plugins (or will soon) so in may regards we already work with them.
Thanks all for your comments!
Rock on !
Thank you so much for your great work.
Thanks a lot John for your awesome work!
Wouldn’t it be cool to have telepathy-tubes supoort in conduit? *hint, hint :)*
Hey, hopefully opensync will deliver EvoPhone support!
Then Conduit would really kick ass for me
Wow… Conduit really is the answer to how to build an Online Desktop. Very impressive!
Although hopefully someday your pretty UI will be relegated to a little used Control Panel that you use to setup everything once and then never have to think about again!
Hi,
Do you have any idea why autogen.sh in the latest svn might be giving me this error:
————–
Running glib-gettextize… Ignore non-fatal messages.
Copying file mkinstalldirs
Copying file po/Makefile.in.in
Please add the files
codeset.m4 gettext.m4 glibc21.m4 iconv.m4 isc-posix.m4 lcmessage.m4
progtest.m4
from the /aclocal directory to your autoconf macro directory
or directly to your aclocal.m4 file.
You will also need config.guess and config.sub, which you can get from
ftp://ftp.gnu.org/pub/gnu/config/.
Running intltoolize…
Running aclocal-1.4…
aclocal: configure.ac: 18: macro `AM_PATH_PYTHON’ not found in library
———-
ta!
Ah! Just seen your latest post. Thanks for looking into it
Looks awesome. I have always wanted a smooth, easy to use, powerful synchronization tool. At first I was a bit unsure, but at this point Conduit definitely seems to be it. I was initially unsure because I was not certain how much work was being put into open-endedness; making the system accessible through scripts and the like. From the looks of it, you are doing a lot for that!
Something I would love to see is a way to set up a two-way sync across multiple computers, while only having to set it up once.
For example, I have a USB key that I am using for syncronizing with Conduit. The dream is to some day have a computer instantly do a two-way sync with the thing the moment I mount it (possible via a script and the d-bus interface, I believe?), but what would be really neat is if I only had to set that up once.
For example, shove the usb key in, tell Conduit to set it up for quick synchronization, perhaps by putting a hidden file on its root. Conduit (on any computer, out of the box) could recognize a mounted file-system set up like that, and automatically sync as defined via the hidden file.
I am not 100% positive how well that could be integrated into your existing (and fantastic) interface, but I think it would be quite awesome as an out of the box feature. Maybe as a dataprovider with a magical twist somewhere…
Sorry, kind of an off topic ramble there. Long story short, I really like what you are doing here. Conduit, even in this early stage, is one of few programs that I trust to do exactly what I expect it to do