For a long while now I've only used two applications almost all the time - a web browser, and Emacs. For reasons I can't quite explain but feel strongly about, I'd love to get that down to just one.
So I have the idea of being able to have a web site that's actually just a gateway to an Emacs instance running on one of my servers.
I don't have a problem imagining how I might do the web app itself - it would probably use html/javascript for presentation, and then a small piece of Flash code to give me a real tcp socket that I can use to talk to Emacs. No problem - I can do these kinds of things easily.
It would be useful to open and save-to local files in addition to ones already on the server. Again, using a little bit of Flash 10, I can make that happen easily.
Now the frontend needs to tell Emacs, via this socket, whenever the user presses a key. And Emacs in turn needs to tell the web app to update the display. I could easily decide on a simple socket protocol for these things.
But on the backend I don't have much idea at all - I've modified my own .emacs a bunch, but I've never actually hacked Emacs.
Does anyone have any pointers? Should I model this after an existing display toolkit (like motiff, gtk, etc)? Or would a different approach work better? Should I start writing this in ELisp, or am I very likely to actually need to drop down to C for some reason?
distel - distributed elisp, via integration with Erlang (http://fresh.homeunix.net/~luke/distel/)
TRAMP - remote file editing (See e.g. http://www.emacswiki.org/emacs/TrampMode)
Also, there are decent web browsers for Emacs. I like emacs-w3m. (http://emacs-w3m.namazu.org/)