online desktop APIs



Hi,

I blogged a few days ago about the idea of an "online desktop." For our initial prototypes, we've taken a pretty ad hoc approach that tends to leak Mugshot specifics in a messy and undocumented way.

I brought up the idea of lots of different apps on the desktop taking advantage of online services and web sites, and we'd need clean APIs for that.

I don't want to write a bunch of hypothetical APIs in a vacuum but I picked two that we are already using and cleaned them up / genericized them to illustrate the idea:
  http://developer.mugshot.org/wiki/Online_Desktop_API

As background, the reason there are dbus APIs is that the Mugshot process is establishing a connection to mugshot.org via XMPP and sucking down a lot of information; this would be too expensive to do in every application. So the architecture is to have one or a few dedicated process(es) that go out to the Internet, and then other apps can get the info from these services. This also simplifies matters as we address offline operation and local caching, since the services can deal with it and not the individual apps.

The same basic concern would also apply to any other non-Mugshot service that we want to take advantage of, most likely.

Another aspect of this is that talking to most web service APIs is kind of a pain in the ass with weird authentication setups, XML parsing, and whatever. By adding the D-Bus layer we can make things a lot simpler for a typical app.

Comments and suggestions welcome.

Havoc



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]