Etoys
see more templates or propose new |
Squeak Etoys was inspired by LOGO, PARC-Smalltalk, Hypercard, and starLOGO. It is a media-rich authoring environment with a simple, powerful scripted object model for many kinds of objects created by end-users that runs on many platforms, and it is free and open source. It includes 2D and 3D graphics, images, text, particles, presentations, web-pages, videos, sound and MIDI, etc. It includes the ability to share desktops with other Etoy users in real-time, so many forms of immersive mentoring and play can be done over the Internet. It is multilingual, runs on more than 20 platforms bit-identically, and has been successfully used in the USA, Europe, South America (Brazil, Colombia, Argentina), Asia (Japan, Korea, India, Nepal), and elsewhere.
An essay about Etoys on the OLPC: http://laptop.org/OLPCEtoys.pdf
Further reading: http://www.squeakland.org/school/HTML/essays/essays.html
Also, see Smalltalk Development on XO for a guide to the "full-fledged, general purpose, multimedia ready, integrated development environment" that is inside of Etoys.
Mailing list
There is a mailing list specifically discussing Etoys in the OLPC environment. Please subscribe to keep in touch!
For Teachers and Learners
- There are multiple Tutorials that come with the Etoys activity, which are recommended for first time users.
- There is a draft of a book describing the ideas behind Etoys on the XO here.
- The central site for educational use of Squeak is the http://squeakland.org/ website.
- Some Idioms for Composing Games with Etoys (French translation).
Projects for Squeak on the OLPC XO
With Squeak the standard way to save contents/activity is thought the project infrastructure. In a project file, you find living objects and source code. The source code is compiled in the host image at load time. Some more information at http://wiki.squeak.org/squeak/1817
Here a few project examples (please add your link here):
- http://www.swa.hpi.uni-potsdam.de/projects/olpc/ (Student projects' from the HPI Software Architecture Group),
- http://proyectos.educarex.es/Gallery/ Teachers' projects in spanish,
- http://squeak.educarex.es:9090/seaside/SBSuperSwiki (clic in galería) Students projects in spanish,
- Etoy Project sampler Projects with various stuff done in Etoys.
Documentation
- Powerful Ideas in the Classroom, Using Squeak to Enhance Math and Science Learning by B. J. Allen-Conn and Kim Rose, 2003, Viewpoints Research Institute, Inc., 86 pages, ISBN 0974313106
- Inside Etoys there are more than 50 pages of help. These Etoys Quickguides are also available as web pages at the Etoys QuickGuides Index and as a .pdf at Media:The Etoys Quick Guides.pdf.
Documentation in French
- Des idées puissantes dans la classe, french translation of 'Powerfull ideas for classroom'.
- Squeak par l'exemple, Andrew P. Black, Stéphane Ducasse, Oscar Nierstrasz, Damien Pollet, Damien Cassou, Marcus Denker
- French speaking Squeak community
- Etiquettes activesProgrammation visuelle et gestuelle pour jeunes enfants et débutants. dans Squeak /Etoys
Documentation, examples, tutorials, download
- V-toys Un langage visuel de programmation par script compatible avec Etoys. (Une version spéciale réduite est destinée aux jeunes enfants ne sachant pas encore lire.)
- géométrie et système expert Projet en cours pour combiner les logiciels de construction de figures géométriques DrGeo et V-geom avec un système expert faisant des déductions à partir de figures et de règles.
Documentation and examples in Spanish
Etoys and Squeak (in the past, The current Etoys system was often referred to as "Squeak") have been used widely, and there are many documentation and books done in various languages. Following is the short list of documentation available in Spanish:
- Programando con Smalltalk, Diego Gómez Deck. (http://wiki.gnulinex.org/LibroProgramacionSmalltalk/10)
- Swiki de Small-land, (http://swiki.agro.uba.ar/small_land). Note that the original small-land.org is released and grabbed by somebody else. The translation of Powerful Ideas in the Classroom, Using Squeak to Enhance Math and Science Learning is available at: http://swiki.agro.uba.ar/small_land/193.
- Squeakpolis (http://squeak.educarex.es/Squeakpolis). The central site for educational use of Squeak in Extremadura (Spain).
Here you can find:
Documentación, Cómo Usar Squeak, Aprende a manejar Squeak con estos ejercicios, Ideas para trabajar en el aula, Preguntas Frecuentes, Manual de Referencia, Catálogo de Objetos, Galería de Proyectos según especialidades docentes, Zona de descarga and more.
Besides:
A teachers' repository
And a new one of public access (clic en galeria).
- NASA Connect is the education program for general public and children sponsored by NASA. There is Spanish version. (http://www.pcs.cnu.edu/~rcaton/sp/squeakindexSP.html)
For Etoys designers
To build etoys, the best thing would be to use the actual OLPC image. However, etoys authored using the squeakland.org version should be fairly compatible. Remember that the actual screen of the kids' machines will be very small, even though it has a 1200x900 resolution!
For Etoys Translators
Translation work can be done at Pootle. (Previously launchpad.net was used, but recently we moved from there)
Master gettext files for build are available at http://etoys.laptop.org/svn/trunk/etoys/po/.
For Developers
The current Etoys version for OLPC is based on the squeakland.org image. It runs on the latest Squeak VM with minimal Sugar glue code.
Developer Images have not undergone stripping, project pre-loading, preference adjusting and changes compaction.
- etoys-dev.zip contains dev image+changes, source PO translation files, and the index file for building the quickguide index.
Remember to update your image!
User Images are the ones actually deployed on the laptop, but since this is Squeak they work on other platforms too:
- etoys-image-and-pr.zip is a zip of the very latest image, projects, quickguides, and compiled MO translation files in the git tree.
The Squeak Virtual Machine is built from the "olpc" branch:
- http://squeakvm.org/svn/squeak/branches/olpc
- the RPM spec contains a changelog: squeak-vm.spec
- all changes in the olpc branch are regularly merged back into the trunk, specific parts are guarded by "#ifdef SUGAR" pre-processor directives.
Activity Source: http://dev.laptop.org/git.do?p=projects/etoys
git clone git://dev.laptop.org/projects/etoys
There is a mirror of the latest git tree at http://etoys.laptop.org/src
RPMs: The Squeak VM and Etoys activity are packaged as RPMs. Download and install from http://etoys.laptop.org/rpms
SRPMs and spec files are at http://etoys.laptop.org/srpm
See Etoys RPM and XO bundle for the release process.
Sugar: For running inside the Sugar emulator, use sugar-jhbuild:
./sugar-jhbuild buildone squeak ./sugar-jhbuild buildone etoys
Etoys are built by default in sugar-jhbuild.
Bugs: Please submit tickets at http://dev.laptop.org/, select the "Etoys" component.
Building etoys.image from developer's image
display size
Developer's image (etoys-dev.image) is included in the svn repository http://etoys.laptop.org/svn/trunk/etoys/ as well as in etoys-dev.zip (see above). etoys-dev.image is configured with proper screen size as 1200x900. Before building an image, it is nessesary to make your display size more than 1200x900. If you have only small screen linux, the simplest way is to add a Virtual directive into xorg.conf like:
Section "Screen" Identifier "Screen0" Device "Videocard0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1024x768" "800x600" "640x480" Virtual 1280 1024 EndSubSection EndSection
and run xrandr to change the display size.
xrandr -s 1280x1024
building release image
Open etoys-dev.image, and execute following expression.
| result aStream | result := Utilities readServer: Utilities serverUrls copy special: '' updatesThrough: nil saveLocally: false updateImage: true. result first ifNotNil: [ self error: 'Update failure' ]. SmalltalkImage current closeSourceFiles. SmalltalkImage current saveChangesInFileNamed: 'etoys.changes'. SmalltalkImage current saveImageInFileNamed: 'etoys.image'. PluggableTextMorph allInstances do: [:each | each askBeforeDiscardingEdits: false]. ReleaseBuilderSqueakland new prepareReleaseImageForOLPC. aStream := (FileStream forceNewFileNamed: 'update') lineEndConvention: #lf. [aStream print: SystemVersion current highestUpdate; cr] ensure: [aStream close]. SmalltalkImage current snapshot: true andQuit: true.
New etoys.image is generated. The update number is stored a file named 'update'. Note: To keep etoys.changes clean, it would be better to test the image after upload to the repository.
Upload image to subversion repository
- svn di po/etoys/etoys.pot. If this file is modified only the header (POT-Creation-Date, PO-Revision-Date, X-Etoys-SystemVersion), svn revert po/etoys/etoys.pot.
- svn revert etoys-dev.* (etoys-dev should be updated from clean each time)
- svn ci -m 'Update to {update#}, {some messages}'
Synchronize translations
Go to the git directory for etoys and update Content/ if necessary. Makefile will do everything you need (copy pot from Content to git, copy po from git to Content, and build mo into Content)
- make
- git commit -a -m 'some message'
- git push
Running OLPC Etoys if you do not have OLPC laptop yet - For Content Creators/Testers/Teachers
If you, as most of us, do not have the OLPC laptop, you can still develop OLPC Etoys content. There will be a few minor integration points missing (Camera etc), but most content and testing can still be performed. This section describes how to achieve this.
Method 1 (Easiest) - Use Squeakland installation and the OLPC image
The idea behind this method is to install, on your favorite operating system, the Squeakland Etoys system, and download the OLPC Etoys image and content. Then use the Squeakland virtual machine to run the OLPC image.
How to install OLPC Etoys on your system? (Skip Step 1 and 2 below if you already have Squeak installed.)
- On Windows
- Download and install Etoys from Squeakland. Go to the Squeakland link; in the middle of the page, click on the "Download Squeak" button. On the next page, click on the "Download Squeak" link. Click "Open" on the browser dialog asking you to open or save the SqueakPluginInstaller.exe.
- A Squeak Plugin Installer installation dialog will come up; click on "Next", then "Close". This will install Squeak on your system, and create an item on your desktop named Squeak, which looks like this:
- Now Download the OLPC version of Etoys. The latest version can be downloaded from this site. You will need an extract program (such as PKZip, WinZip, or 7Zip) to extract this. Create a folder named "C:\Etoys-OLPC" or similar, and extract the contents of the downloaded etoys-image-and-pr.zip into the newly created folder.
- Running OLPC Etoys: Now we are ready to run OLPC Etoys downloaded in Step 3, using the Squeak desktop item created in Step 2. The simplest way to run OLPC Etoys is to drag the file etoys.image from the "C:\Etoys-OLPC" folder you created in Step 3 on top of the Squeak icon created in Step 2. Try it - it works! You should see the OLPC Etoys menu page: , and are ready to create OLPC Etoys content, test, or just play.
- On linux: todo (or see other methods below if you don't need the browser integration of squeakland)
- On Mac: The Windows instructions work fine, although the icons look different.
Method 2 - Use emulation
Emulation allows to "pretend" you have the OLPC laptop - essentially the OLPC laptop runs "inside" your system. You can achieve this on any common operating system you have. Please follow instructions here for descriptions on how to do it using Windows, Linux, FreeBSD, or MacOS.
Method 3 - Install RPMs or .deb's (Linux Only)
If you are on any reasonably recent version of Linux, there are pre-built packages that you can install on your system.
- On an RPM-based system
Look on the Etoys page for instructions and a link to the RPM download.
Copy a .rpm to a USB memory, and do:
rpm -i /media/VOLNAME/somefile.rpm
Or, if it complains because of dependency resolve it or simply do:
rpm -i --force /media/VOLNAME/somefile.rpm
- On Ubuntu:
For a GUI install, note the help at this page to use synaptic, rather than add/remove packages: http://blog.blobworks.com/2007/10/19/squeak-on-ubuntu/
To use the command line, and the existing "squeak-vm" package with the OLPC etoys.image
- apt-get install squeak-vm # or use synaptic as noted above
- mkdir etoys # put this directory whereever you like, with any name you like
- cd etoys
- wget http://etoys.laptop.org/src/etoys-image-and-pr.zip
- unzip etoys-image-and-pr.zip
- squeak etoys.image
- On Debian: http://wiki.squeak.org/squeak/3616
Discussions
I am writing from an XO laptop! I would love to get more info on the Etoys and what you can do. I love that you can make lots and lots of things and then get them to move. But there is so much it is a bit overwhelming. Where can I find some info on all the different script buttons, or a basic overview of how to arrange code? Thanks Listen
- Please refer to the Documentation section of this page as a place to start. --Walter 09:17, 25 December 2007 (EST)
Programming for the OLPC using Etoys Squeak
There is a tutorial on how to set up the Squeak Smalltalk development environment on the XO. See Smalltalk_Development_on_XO. Bert Freudenberg has a way to create an .xo file from an Etoys project or Smalltalk change set. If we write it in Squeak and incorporate that into Etoys image, making an activity can be done on the XO as well.
We are beginning a tutorial series about programming using the OLPC Squeak -- not for kids, but for programmers trying to create activities inside the Etoys environment. We have also a customized kit for the installation of a Windows version of the emulator having Fedora+Sugar+Etoys. One click only... Read how to use it at the tutorials.
Unfortunately, the tutorials are currently only in brazilian and portuguese. The link is here. The pages are in the format to be accessed, in the future, by the OLPC browser.
V-toys, a visual programming language built with E-toys
Mostly in French, but since the language is visual, you can download projects and learn by examples. A visual language for comments will be used so that v-toys will be independent of language in the future.
- v-toys for XO and squeakland-OLPC image (English version):
- V-toys international (tutorial and download).
- French pages and link to the english pages:
http://community.ofset.org/wiki/V-toys
- Video of the v-toy's presentation at the C5 conference in Poitiers:
video at c5 2008
- Some references to English examples :
v-toys English
- Translation of the French pages, see:
En-V-toys
Version history
- Build 406 (pre-installed on B4 machines)
- Etoys-37.xo, etoys-2.0.1283, squeak-vm-3.9-10olpc5. Still used Python wrapper.
- Build 542 (Trial-2)
- Etoys-53.xo, etoys-2.0.1468, squeak-vm-3.9-11olpc4. Native activity.
- Build 623 (Trial-3/Ship.1, factory-installed on first mass-produced machines)
- Etoys-60.xo, etoys-2.1.1664, squeak-vm-3.9-11olpc5.
- Build 650, 653, 656 (Ship.2, final version for first mass-produced machines)
- Etoys-71.xo, etoys-2.2.1796, squeak-vm-3.9-12olpc3.
- Build 703 (Update.1, first big update)
- Etoys-80.xo, etoys-2.3.1894-2, squeak-vm-3.9-12olpc5.
See also
- Sugar Etoys (introduction / tutorial)
- http://squeakland.org/ (resources about Etoys in education and on non-XO platforms)
- http://lists.laptop.org/pipermail/etoys/ (mailing list)
- Smalltalk Development on XO (advanced Etoys use)
- Etoys RPM and XO bundle (how to build and release etoys and squeak-vm)
- http://www.swa.hpi.uni-potsdam.de/projects/olpc/ (game activities written in Etoys)z