in reply to GUI with HTTP::Daemon
The thing with a portable web GUI is that it can't really be that portable anyway. If you build a GUI on top of the browser you need to use pretty browser specific things to make the GUI capable and, most importantly, usable enough to compete with the features of a proper GUI toolkit.
If the program is something people use for long periods of time on a daily basis, this is very important. After all, if web browsers are so great environments to work in, where are all the web based IDEs we all love and cherish? :)
Re: detecting application exit: First, try to catch the onUnload event Errto talked about. But that doesn't work in all browsers if the user closes the window with the X button (it works pretty well in recent IEs I think), so it may be interesting to also ping the server from client (the web browser) at regular intervals to make sure the client is still there.