<div class="gmail_quote">On Wed, Aug 12, 2009 at 10:10 AM, Benjamin M. Schwartz <span dir="ltr"><<a href="mailto:bmschwar@fas.harvard.edu">bmschwar@fas.harvard.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
-----BEGIN PGP SIGNED MESSAGE-----<br>
Hash: SHA1<br>
<br>
Announcing WatchMe-1, an activity that brings VNC to Sugar.<br>
<br>
How to try it:<br>
On two Sugar instances:<br>
1. su -c yum install gtk-vnc-python (or equivalent for your operating system)<br>
2. Install <a href="http://bemasc.net/~bens/WatchMe-1.xo" target="_blank">http://bemasc.net/~bens/WatchMe-1.xo</a><br>
3. Start the activity on one instance, and share it with the other.<br>
<br>
What it does:<br>
WatchMe lets you share a view of your screen. Anyone who joins a shared<br>
WatchMe instance can see everything that happens on the initiator's<br>
screen. Participants cannot affect the contents of the screen; WatchMe is<br>
"view-only".<br>
<br>
Why do this:<br>
Live sharing of screens may have educational utility. Most obviously, it<br>
allows live demonstrations of arbitrary actions from one screen to others.<br>
<br>
How it works:<br>
WatchMe contains a static binary of x11vnc [1], a VNC server that shares<br>
an existing X session. The initiator starts a server, accepting<br>
connections only from localhost. The activity forwards the localhost port<br>
over a Telepathy stream tube. Joiners connect to the stream tube, and<br>
connect a VNC client to it. The VNC client is gtk-vnc's python bindings [2].<br>
<br>
Help needed:<br>
1. The GUI is singularly uninspiring. GUI developers help welcome.<br>
2. The package has external dependencies and contains static binaries,<br>
both of which are irritating. Unfortunately, neither x11vnc nor any<br>
suitable substitute is packaged for Fedora, so binaries in the package are<br>
unavoidable. Therefore, moving all dependencies into the bundle would be<br>
helpful, but I don't know how.<br>
3. gtk-vnc-viewer is terribly slow and laggy. RealVNC's vncviewer [3] is<br>
much faster and generally better, but I cannot figure out how to use it in<br>
an activity. It opens its own X window, which appears separately in the<br>
activities tray as an anonymous circle. Help from someone who understands<br>
window management would be greatly appreciated.<br>
4. Testing. In particular, scalability would be good to know. I suspect<br>
that more than about 4 simultaneous clients will become unusable on a<br>
wireless network, but this is purely a guess.<br>
5. More advanced functionality? Remote screenshots? Sound? Unix sockets?<br>
XS reflectors?<br>
<br>
Security notes:<br>
WatchMe does not represent a significant security threat, in my opinion.<br>
It does not permit remote users to take any action on your machine except<br>
to fetch bitmaps. If you share a session by invitation, then only invited<br>
users may participate. However, it is worth noting that WatchMe would be<br>
impossible to implement as an activity in a more secure Sugar system. An<br>
arbitrary activity should not be able to observe all of the user's actions<br>
and transmit those actions in full over the network. Moreover, WatchMe is<br>
only a few lines of code away from an activity that allows the remote user<br>
to control your mouse and keyboard.<br>
<br>
If a security system is ever implemented that breaks WatchMe, I will be<br>
happy, and I will gladly rewrite it as a Glucose component.<br>
<br>
[1] <a href="http://www.karlrunge.com/x11vnc/" target="_blank">http://www.karlrunge.com/x11vnc/</a><br>
[2] <a href="http://live.gnome.org/gtk-vnc" target="_blank">http://live.gnome.org/gtk-vnc</a><br>
[3] <a href="http://www.realvnc.com/products/free/4.1/man/vncviewer.html" target="_blank">http://www.realvnc.com/products/free/4.1/man/vncviewer.html</a></blockquote><div><br></div><div>Just tried WatchMe on two XOs (one using Nepal's NEXO image, the other one on 802) connected via WiFi and it worked really well:-) </div>
</div><div><br></div>Now we need to figure out how to make this an easy-to-use support tool for teachers...<div><br></div><div><div>Not surprisingly one of the first requests I heard from the Austrian pilot was whether it was possible to somehow make what's happening on the teacher's display available to all the pupils. The solution (well, it's actually more of a hack job) I decided to use for the moment being was to:</div>
<div><br></div><div>* install the "VNC Launcher" activitiy (<a href="http://wiki.laptop.org/go/VNC_Launcher">http://wiki.laptop.org/go/VNC_Launcher</a>) on both teacher XOs,</div><div>* install the UltraVNC viewer on their regular classroom PC running Windows (which is hooked up to the classroom beamer) and</div>
<div>* write a short but *very* clear set of instructions on how to use the setup</div><div><br></div><div>While this does basically work setting it up takes precious minutes away from the teacher's actual teaching time (booting the classroom PC, turning on the beamer, logging in via VNC, etc.).</div>
<div><br></div><div>So a solution that is well integrated in Sugar and works on the XOs without requiring extra equipment is undoubtably something that a lot of people would find useful!</div><div><br></div><div>Cheers,<br>
Christoph</div><div><br></div><div>-- <br>Christoph Derndorfer<br>co-editor, olpcnews<br>url: <a href="http://www.olpcnews.com">www.olpcnews.com</a><br>e-mail: <a href="mailto:christoph@olpcnews.com">christoph@olpcnews.com</a><br>
</div></div>