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.
Projects for Squeak on the OLPC XO
Please add your link here:
- http://www.swa.hpi.uni-potsdam.de/projects/olpc/ (Student projects from the HPI Software Architecture Group)
- 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.
Documentation in French
- [www.iam.unibe.ch/~scg/Resources/EToyBook/book.pdf 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 Squeak community
Documentation 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, Junta de Extremadura, (http://squeak.educarex.es/Squeakpolis). This is the central repository of information for the official Extremadura project.
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 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
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).
- Press 'load code updates' button.
- Save the image.
- Place project files for 'Gallery', 'Tutorials', and 'EtoysActivity' in the image directory.
- Set screen size to 1200@900 ("Display inspect" helps).
- Save as 'etoys.image'.
- And execute:
ReleaseBuilderSqueakland new prepareReleaseImageForOLPC.
- Save the image again (Alt + W - save and quit).
How to upload to the master 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}'
- Go to the git directory for etoys and update Contents/ if necessary.
- ./mkPootle pot
- git commit -a -m 'some message'
- git push
Note: It is no more necessary though, it might be useful for a developer to do "GetTextImporter importAll" before you save etoys-dev.image.
How to update translation files
- Go to the git directory
- ./mkPootle import
- cd Content
- svn ci -m 'bla bla'
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.
http://community.ofset.org/wiki/V-toys
I'll put some references to English examples in this page : v-toys English
Most of the French pages are now translated in english, 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 (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.