<div class="gmail_quote">On Wed, Aug 12, 2009 at 10:10 AM, Benjamin M. Schwartz <span dir="ltr">&lt;<a href="mailto:bmschwar@fas.harvard.edu">bmschwar@fas.harvard.edu</a>&gt;</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&#39;s<br>
screen.  Participants cannot affect the contents of the screen; WatchMe is<br>
&quot;view-only&quot;.<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&#39;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&#39;t know how.<br>
3. gtk-vnc-viewer is terribly slow and laggy.  RealVNC&#39;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&#39;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&#39;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&#39;s happening on the teacher&#39;s display available to all the pupils. The solution (well, it&#39;s actually more of a hack job) I decided to use for the moment being was to:</div>
<div><br></div><div>* install the &quot;VNC Launcher&quot; 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&#39;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>