To implement a remote desktop sharing solution
- by Cameigons
Hi,
I'm on planning/modeling phase to develop a remote desktop sharing solution, which must be web browser based. In other words: an user will be able to see and interact with someone's remote desktop using his web-browser.
Everything the user who wants to share his desktop will need, besides his browser, is installing an add-in, which he's going to be prompted about when necessary. The add-in is required since (afaik) no browser technology allows desktop control from an app running within the browser alone. The add-in installation process must be as simple and transparent as possible to the user (similar to AdobeConnectNow, in case anyone's acquainted with it).
The user can share his desktop with lots of people at the same time, but concede desktop control to only one of them at a time(makes no sense being otherwise).
Project requirements:
All technology employed must be open-source license compatible
Both front ends are going to be in flash (browser)
Must work on Linux, Windows XP(and later) and MacOSX.
Must work at least with IE7(and later) and Firefox3.0(and later).
At the very least, once the sharer's stream hits the server from where it'll be broadcast, hereon it must be broadcasted in flv (so I'm thinking whether to do the encoding at the client's machine (the one sharing the desktop) or send it in some other format to the server and encode it there).
Performance and scalability are important: It must be able to handle hundreds of dozens of users(one desktop sharer, the rest viewers)
We'll definitely be using red5.
My doubts concern mostly implementing the desktop publisher side (add-in and streamer):
1) Are you aware of other projects that I could look into for ideas? (I'm aware of bigbluebutton.org and code.google.com/p/openmeetings)
2) Should I base myself on VNC ?
3) Bearing in mind the need to have it working cross-platform, what language should I go with? (My team is very used with java and I have some knowledge of C/C++, but anything goes really).
4) Any other advices are appreciated.