4 Aug 2009 dobey   » (Master)

Central Services

We do the work, You do the pleasure

Hi there. I want to talk to you about ducts. Do your ducts seem old-fashioned? Out of date? Central Services' new duct designs are now available in hundreds of different colors, to suit your individual taste. Hurry now while stocks last, to your nearest Central Services showroom. Designer colors to suit your demanding taste.

A lot of people have talking about the social desktop, networked services, and similar stories lately. I guess the integration between computers and network services, which I had been talking about over 11 years ago, is finally catching on. Thanks to all the new smartphones, netbooks, and similar devices, designed to be on-line all the time, and the services people are providing for those devices, we're now trying to wedge the same integration into our outdated desktops. And it seems like nobody really wants to do what's best for everyone here. Having all the apps just use the same libraries to access the same data, and parse it separately, and have the user add their account to all the apps N times, just isn't going to make a good or useful experience.

This is where Central Services would come in. I've talked a little bit about it before, to a few people at UDS, and on IRC. I haven't had a lot of time to work on getting the ball rolling though. But I really want to get things going now, so that we can build a really awesome experience in the desktop, around all the services available, and that everyone uses daily. The goal is to provide a central system where all the plug-ins and configuration live. The user would then only have to add their account for any particular service once. The system would also provide transcoding features for data, taking the XML or JSON for example, and converting it to a common format that all the apps which are designed to display the data only have to actually deal with a single, defined, common format. Central Services however, would not be a data store. Rather, it is a central place for accessing your data from wherever it is stored. There would be a small, optimized local cache, perhaps, and we could integrate with indexing solutions, which may store the data, to provide more feature-rich search capabilities in the desktop as well. But the overall goal is to provide a simple, consistent means for accessing and managing your data. I've been thinking a lot about the problem over the years, and I think a modular, centralized system is the best way forward on the desktop with it. I've been trying to think of a nice way to design the API, with a good balance between being generic, yet powerful. The main API access will be via DBus, but there will be some C and Python convenience libraries as well. I'm not entirely sure what the best way to document the API, and get stuff rolling there is, but I'd love some help and feedback with it. If you're interested in making the desktop awesome, and helping define the API, and getting some working code up and out in the wild, please e-mail me and let me know, or poke me on IRC. You can e-mail me at the usual dobey on gnome.org or dobey on wayofthemonkey.com to get my attention.

A common API, accounts interface for users, and cross-service integration all over the desktop would be a huge win for everyone. Let's get together and make it happen.


Syndicated 2009-08-04 02:17:10 from dobey's blog

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!