Let me introduce myself, I am Alexandre Rosenfeld, a Computer Engineering student from Brazil, at the University of São Paulo. I have participated on the Google Summer of Code 2008, working on Conduit. Since then I’ve kept working on Conduit and now I’ve been selected for the Google Summer of Code 2009, to work on making Conduit a background service. Let me just say that since last year Summer of Code I’m getting involved in the Gnome community and I’m enjoying it very much.
I’d like to start talking about why I’m involved in Conduit and how I think it solves one of my favorite problems. I’ve always thought the data in my computer to be mine, just as everybody else, I think. But I always wanted to do stuff with my data, making the computer really useful. But I never could really get what I wanted without coding. So some time ago I had an idea about an application that would allow people to drag and drop components that would process their data in new and interesting ideas. This application would be kind of an script intrepeter, but without writing the script. So, as years went by, I never implemented my idea but I always found something that could be solved by my application or something that resembled it. I was very excited with Yahoo Pipes, as it resembled a lot to what I thought about the interface, but it eventually got me down as it is much different from what I had in mind.
But then I met Conduit. I allows me to pass my data from one point to another, while processing it in different ways. It even knows what kind of data it is passing around and it can make decisions based on that. The first thing I did was to try to sync my iPod, which at the time no application could do something as simple as check what songs was already in the iPod and copy songs not in there. To be honest I was creating scripts for that for a while, but running scripts in the terminal is boring. Eventually that led me to improve the Rhythmbox dataprovider, then the iPod and media classes in Conduit as part of Google Summer of Code 2008 and then I couldn’t stop having ideas for Conduit. Ok, it isn’t doing what I dreamed about, but it is pretty close and it is interesting as hell (for me at least).
Everywhere I look I see data in my computer not getting their full potential. I want a more dynamic world, a place where my data is recognized the way they are, rich, full of metadata and meaningfull to me, and it should be presented and handled like that. The reason social websites are all the hype is because they recognized that people’s data are the most precious things. People post their photos on Facebook and Orkut and it gets tagged and commented. People listen to their music on Last.fm and again, it is tagged, commented and discussed. But when you open your file manager, you get a note icon for your music and your photos appears as simple thumbnails.
Imagine if your applications could interact with your data, no matter where they are, in new and interesting ways, using their full potential? That is where I want Conduit to be, pushing data between applications, web services, devices, etc. It already knows how connect to most of them, all it needs is these things talking together. Applications should be able to use it Conduit as a data service.
My proposal is one step in that direction, bringing Conduit closer to applications. Not a big step, but it’s a start. I know a lot of people (pretty smart people) are thinking about these things, SuperDataDaemonThing, Nepomuk, Tracker, etc, and this is just my way of helping.