> > Microsoft Remote Desktop works amazingly well over an ADSL VPN connection. I > > could actually use a Wacom drawing tablet. Network roundtrip best case 40 > > ms, avg. 100 ms. > > Is that a good example? Microsoft, I hear, uses a lot of > platform-specific hacks to optimize their GUI performance. > > Not trying to pick a fight, just wondering. I actually think it is a good example becuase it does illustrate what can be accomplished by having a good local widget engine running against remote application logic. A dedicated widget server would do an even better job because the application knows it is being remoted. I have no recent experience, but I reckon X-Windows should also work well over a VPN/ADSL network setup. When I saw Remote Desktop I said "Finally MS made something that is really really cool which actually works all the time" A month later it stopped working of course - but now I got a service pack and it rocks again - so in terms of typical Microsoft network performance it is not a good example. If take you VNC, Microsoft platforms do not work very well. X supposedly works a lot better because VNC hooks into X while it must bitmap copy Windows. So I guess X / VNC is comparable to Windows Remote Desktop in terms of native platform hooks. (BTW: its quite fun to hook three VNC sessions up in a circular fashion - as expected you get infinite windows :-) What would happen if you created a QT widget server and published this under GPL - then you both get a Ruby API to QT and the applications need not conform the QT free license because the app is not a part of the widget server app. Dowside is that QT doesn't have a Windows licence that works. Anyway - a widget server would make it easier to make both cross platform GUI and croos toolkit GUI. I believe the future applications will not be browser based but server controlled desktop GUI applications. In this light I think a widget server is a really good idea. Just make the protocol fast and light - no bloated XML. Would be nice with some ASN1 protocol logic. Mikkel