As a follow up to yesterday's web-based desktop communication engine, I wanted to comment on a few ideas that we have been bouncing around.
Clearly the HTTP end-points on desktop applications would be useful to invoke an arbitrary set of methods on each application. I envision a system in which we can remotely manipulate desktop applications through HTTP. The same idea that I pitched a few years ago on top of CORBA.
The difference this time is that writing the client code is trivial, unlike the previous attempt where writing the client code to talk to a CORBA server was very difficult.
But in addition to this HTTP-based RPC interface, it would be nice to make the GNOME desktop Web-Aware.
How does he want picture sharing to work?
Here is where the problem arises: people want to look at the pictures right away, or they want copies of the pictures, or they want me to tag them or annotate them. All of those at once.
The Solution: F-Spot coult have a "File/Web Share" which would basically run an HTTP server. In the particular case of F-Spot it can just embed our embeddable web server and expose the pictures with an ASP.NET application.
Every application embed a webserver? That's going a bit overboard.
I think a web-enabled Gnome desktop would do better to have simply *one* web interface that other applications could plug into. Surfing to http://localhost/web could bring up a user interface that would have the most common modules visible by default - pictures, video, audio, files - with applications registering and providing their own modules on demand.
I think that would be a bit better than every application doing their own thing and getting it half-assed. It also lowers the barrier of entry from "embed webserver, design webpage, ..." to "register a module in the Gnome web interface and just start sending out HTML on demand."
Hell, it could even use REST for communicating user actions back to individual applications that've registered with the Gnome web interface.