==========================================================================
Project name: Implementing Etoys on Amber
Description:
The objective of this project is the implementation of a subset of Etoys features on top of Amber Smalltalk. This subset should at least include a basic version of the halos, viewer, and script editor.
To develop the graphical user interface, several libraries can be used, for example: Morphic on Athens [1], morphic.js [2], KinecticJS [3], etc. The student would need to decide which of these is more suitable for the task.
This project would have an enormous impact on Etoys users by allowing them to work and share their projects directly in the browser without installing any plugin.
Skill level: Intermediate
Possible mentors:
==========================================================================
Project name: Etoys touch UI
Description:
The objective of this project is to adapt the Etoys user interface for touch gestures such as rotate, scale, and such. Currently, Etoys is very dependent on the user to interact with Morphs with the cursor. Given the popularity of multitouch devices this represents a severe disadvantage.
Bert Freudenberg has done some initial work adapting the Squeak Virtual Machine and Morphic to support multitouch events [1]. As he stated, the UI would need to be improved (or maybe even redesigned from scratch) before we can deliver this to kids.
In this project we don't propose the complete redesign of Etoys UI (which we think it would take more than 3 months to complete) but at least a new implementation of Morphic interaction that takes into account multitouch gestures.
Skill level: Intermediate
Possible mentors:
==========================================================================
Project name: Physical Etoys plugins
Description:
Currectly, Physical Etoys is dependent on a number of external libraries to interact with different hardware platforms. To do this, Physical Etoys uses FFI bindings, which represents a security issue. To solve it we propose the implementation of this FFI bindings as VM plugins.
The student would need to learn how to compile Etoys VM and Slang in order to implement the plugins.
Skill level: Intermediate
Possible mentors:
==========================================================================
Project name: Physical Etoys XO bundle
Description:
The objective of this project is to finish the bundling of Physical Etoys as a Sugar activity for the XO computers. The student will need to make sure all Physical Etoys modules work correctly in Linux and specifically on the XO laptop. This would involve porting some libraries, dealing with platform-specific issues and wrap all the necessary files in an Activity bundle.
Skill level: Intermediate
Possible mentors:
==========================================================================