<div dir="ltr">Many children can not communicate verbally whether due to nonverbal autism or some other factor.  There is a OLPC deployment in Uraguay where a student uses his stuffed animal as an input device for using an XO and Etoys.  We would like to build on this to make it easier and cheaper for these children and their parents to communicate and use computers.<div>
<br></div><div>In the first project a student would design and document how to hack a stuffed animal to be used as an input device similar to a joystick or arrow and a few other keys to allow a nonverbal child to use their favorite stuffed animal as an input device.</div>
<div><br></div><div><span style="font-size:13px;font-family:arial,sans-serif">Level: beginner</span><br style="font-size:13px;font-family:arial,sans-serif"><span style="font-size:13px;font-family:arial,sans-serif">Skills required: Maker skills. To Hack a stuffed animal. Etoys (If student knows Scratch, they can learn the skills needed in Etoys for this project)</span><br style="font-size:13px;font-family:arial,sans-serif">
</div><div><br></div><div>In the second project a student would design a set of picture boards that could be navigated using a joystick or arrow keys and arrow and few other keys.  The project would also allow a parent or teacher to simply add and re-arrange pictures using a webcam, imported pictures or simple drawings that can be made using Etoys[1].  Etoys runs on Linux, Windows and Mac OS and is one of the core applications in the OLPC XO.</div>
<div><br></div><div><span style="font-family:arial,sans-serif;font-size:13px">Level: beginner</span><br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">Skills required: Etoys (If student knows Scratch, they can learn the skills needed in Etoys for this project)</span></div>
<div><br></div><div><span style="font-family:arial,sans-serif;font-size:13px">Mentor:</span><br style="font-family:arial,sans-serif;font-size:13px"><font face="arial, sans-serif">Stephen Thomas &lt;<a href="mailto:sthomas1@gosargon.com">sthomas1@gosargon.com</a>&gt;</font><br style="font-family:arial,sans-serif;font-size:13px">
<br style="font-family:arial,sans-serif;font-size:13px"><span style="font-family:arial,sans-serif;font-size:13px">[1] </span><a href="http://squeakland.org/" target="_blank" style="font-family:arial,sans-serif;font-size:13px">http://squeakland.org/</a><br>
</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sun, Feb 16, 2014 at 11:07 AM, Bert Freudenberg <span dir="ltr">&lt;<a href="mailto:bert@freudenbergs.de" target="_blank">bert@freudenbergs.de</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">1. Make Etoys work on SqueakJS<br>
<br>
Increasingly, there are systems that do not support web browser plugins, or that even disallow installing certain software without &quot;jailbreaking&quot;. Even if the system would support it, some administrators disallow installing of custom plugins. This presents a problem for Squeak/Etoys [1] which is used in schools world-wide, but cannot be installed on more and more systems. The single commonly supported runtime system is HTML5 + Javascript. SqueakJS [2] is a Squeak VM running on top of Javascript, on various platforms.<br>

<br>
In this project, a student would extend SqueakJS to be able to run an Etoys image. It should provide an experience similar to running the Squeak Plugin VM in a web browser: load a project from a URL and allow uploading modified projects. The initial version does not need to be very performant, speed optimizations can be done when we have a working system.<br>

<br>
Level: advanced<br>
Skills required: JavaScript, Smalltalk<br>
<br>
Mentor: Bert Freudenberg &lt;<a href="mailto:bert@freudenbergs.de">bert@freudenbergs.de</a>&gt;<br>
<br>
[1] <a href="http://squeakland.org/" target="_blank">http://squeakland.org/</a><br>
[2] <a href="http://bertfreudenberg.github.io/SqueakJS/" target="_blank">http://bertfreudenberg.github.io/SqueakJS/</a><br>
<br>
===================================================================<br>
<br>
2. Port Squeak/Etoys to Chrome OS<br>
<br>
Many schools are buying Chromebooks [1] because they are cheap and easy to maintain. Squeakland [2] has gotten multiple requests to make Etoys work on these machines. The best way to do this is running a Squeak VM via Native Client [3].<br>

<br>
Yoshiki Ohshima started such a VM port [4] demonstrating the feasibility. His sources are available on github. They need to be updated to work with a current NaCl SDK, and a portable VM must be built (PNaCl). It needs to be tested on actual Chrome book hardware as well as a Chrome browser on PCs. Support for downloading and uploading projects must be implemented so it can be used as a direct replacement for the Squeak browser plugin.<br>

<br>
Level: medium<br>
Skills required: C, Smalltalk<br>
<br>
Mentors:<br>
Yoshiki Ohshima &lt;<a href="mailto:yoshiki.ohshima@gmail.com">yoshiki.ohshima@gmail.com</a>&gt;<br>
Bert Freudenberg &lt;<a href="mailto:bert@freudenbergs.de">bert@freudenbergs.de</a>&gt;<br>
<br>
[1] <a href="http://en.wikipedia.org/wiki/Chromebook" target="_blank">http://en.wikipedia.org/wiki/Chromebook</a><br>
[2] <a href="http://squeakland.org/" target="_blank">http://squeakland.org/</a><br>
[3] <a href="https://developers.google.com/native-client" target="_blank">https://developers.google.com/native-client</a><br>
[4] <a href="http://lists.squeak.org/pipermail/vm-dev/2011-May/007991.html" target="_blank">http://lists.squeak.org/pipermail/vm-dev/2011-May/007991.html</a><br>
<span class="HOEnZb"><font color="#888888"><br>
- Bert -<br>
<br>
<br>
</font></span><br>_______________________________________________<br>
etoys-dev mailing list<br>
<a href="mailto:etoys-dev@squeakland.org">etoys-dev@squeakland.org</a><br>
<a href="http://lists.squeakland.org/mailman/listinfo/etoys-dev" target="_blank">http://lists.squeakland.org/mailman/listinfo/etoys-dev</a><br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><p style="margin:1em 0px;font-family:tahoma,arial,sans-serif;font-size:medium;line-height:24px">To some of us, writing computer programs is a fascinating game. A program is a building of thought. It is costless to build, weightless, growing easily under our typing hands. If we get carried away, its size and complexity will grow out of control, confusing even the one who created it. This is the main problem of programming. It is why so much of today&#39;s software tends to crash, fail, screw up.</p>
<p style="margin:1em 0px;font-family:tahoma,arial,sans-serif;font-size:medium;line-height:24px">When a program works, it is beautiful. The art of programming is the skill of controlling complexity. The great program is subdued, made simple in its complexity.<br>
</p><p style="margin:1em 0px;font-family:tahoma,arial,sans-serif;font-size:medium;line-height:24px">- Martin Harverbeke (from <a href="http://eloquentjavascript.net/index.html" style="color:rgb(17,85,204)" target="_blank">Eloquent JavaScript</a>)</p>
</div>
</div>