views:

147

answers:

2

I'm looking into screen sharing functionality - i.e. allowing remote users to view your desktop in real time, possibly control it and write annotations (text/drawings) on the shared screen. Something similar to what webex allows in its conferencing software. Preferably a Java-based api, possibly to run from an applet.

Any recommendations on a library/api to use?

+2  A: 

VNC is the (except for microsoft) standard for sharing desktops. You need to install software on the machine that is being viewed, but the person logging into it remotely can run a java applet to get to it.

It is designed for a 1-1 kind of use, but there are addons where the stream can be turned into video which could then be streamed to many users.

Bill Patel
Can you give me a link to check out? Searching for "VNC java api" gives me some hits for a client library only, I need to be able to programatically control both the client and the server. I also need to be able to modify the stream on the fly (to support annotations)
Roy Tang
Yeah, I've only seen that for the server. If you want to apply annotations, that sounds more like a video app than a remote-desktop app. If you need to broadcast a remote desktop use VNC to get there, then have another program grab the VNC stream and turn that into video. Once you have video, you can use normal video processing tools to add annotations.Do I understand the problem correctly now?
Bill Patel
Yep, that's about right.
Roy Tang
A: 

VNC seems to have a Java based API, there's a J2ME (Java mobile edition) application here which seems to have a really nice set of API libraries (and is open source, so you can look, and depending on your application, use).

edit: Actually TightVNC also looks really promising as a starting point.

Mark E