Lars T. Kyllingstad wrote: > find a better way of serving applications over > the internet than running them in a glorified document viewer.
This is something I've been (very) slowly working on for a while, with my D Windowing System project. My idea was to take a fairly high level GUI API and put it over the network. By adding a middleman program, it can handle multiple user sessions, and most importantly, remember state across dying processes, without complicating the application. So if you leave the program on your desktop and connect from your laptop, it is just as you left it. Like what Remote Desktop does, but for individual applications. It doesn't just do gui either, since there's more to an application than graphics. I included sound, files, and a little more in the setup too. (A lot of inspiration from Remote Desktop.) With a high level API, latency can be kept to a minimum by doing local processing, and integration with the local system is done simply by *not* micro-managing it - let the widgets do their default whenever possible so the local operating system handles the details. An interesting side effect of this is some dws applications actually can run in the browser. I've written a partial javascript viewer that, so far, runs my three demo applications (aim, notepad, and calculator)! While it is not as good of an experience as using the Windows viewer, it does work. Though, notepad, calculator, and a buggy aim client aren't particularly taxing to a GUI's capabilities. I still have a lot of work to do before being able to make a confident public release. Last time I spent a good chunk of time on it, I was doing a low level event api. Very difficult to get that working as well as I want given network lag, but not impossible. (And, of course, these programs don't have to be run over a network. They work just as well as stand alone local apps, but I'd like the network still be as fast as possible.)