Etoys: Difference between revisions

From OLPC
Jump to navigation Jump to search
m (Reverted edits by Jamestew (Talk) to last revision by Rita)
 
(57 intermediate revisions by 24 users not shown)
Line 3: Line 3:
{{ OBX activity |[[Image:Activity1.png]]|core<!--|{{{text}}}--> }}
{{ OBX activity |[[Image:Activity1.png]]|core<!--|{{{text}}}--> }}
{{ OBX source dev|projects/etoys}}
{{ OBX source dev|projects/etoys}}
{{ OBX test |[[Tests/Etoys|Etoys]]<!--|2007-09-18--> }}
{{ OBX test |[[Tests/Etoys]]<!--|2007-09-18--> }}
{{ OBX devtickets |etoys-activity}}
{{ OBX devtickets |etoys-activity}}
{{ OBX pootle
{{ OBX pootle
|http://etoys.laptop.org/svn/trunk/etoys/po/etoys/etoys.pot|etoys}}
|http://etoys.laptop.org/svn/trunk/etoys/po/etoys/etoys.pot|etoys}}
{{ OBX test |[[Tests/Etoys|Etoys]]}}
{{ OBX team |[[User:Bert|Bert Freudenberg]], Ted Kaehler, Alan Kay, Yoshiki Ohshima, Ian Piumarta, Kim Rose, Scott Wallace, Takashi Yamamiya, and [http://squeak.org/ many others]}}
{{ OBX team |[[User:Bert|Bert Freudenberg]], Ted Kaehler, Alan Kay, Yoshiki Ohshima, Ian Piumarta, Kim Rose, Scott Wallace, Takashi Yamamiya, and [http://squeak.org/ many others]}}
<small>see more [[:Category:OBX templates|templates]] or [[OBX proposals|propose new]]</small>
<small>see more [[:Category:OBX templates|templates]] or [[OBX proposals|propose new]]</small>
Line 13: Line 12:


[[Image:EToys - new display.jpg|thumb|right|Etoys running on the OLPC display for the first time (Sep 11 2006)]]
[[Image:EToys - new display.jpg|thumb|right|Etoys running on the OLPC display for the first time (Sep 11 2006)]]
[[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.
[[Squeak]] Etoys was inspired by [[LOGO]], PARC-[[Smalltalk]], Hypercard, and starLOGO (see [[Talk:Etoys|discussion]]). 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
An essay about Etoys on the OLPC: [[Media:OLPCEtoys.pdf|OLPCEtoys.pdf]]


Further reading: http://www.squeakland.org/school/HTML/essays/essays.html
Further reading: http://www.squeakland.org/resources/articles/


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.
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.
Line 23: Line 22:
===Mailing list===
===Mailing list===
There is a mailing list specifically discussing Etoys in the OLPC environment. Please [http://mailman.laptop.org/mailman/listinfo/etoys subscribe] to keep in touch!
There is a mailing list specifically discussing Etoys in the OLPC environment. Please [http://mailman.laptop.org/mailman/listinfo/etoys subscribe] to keep in touch!



{{Users}}
{{Users}}
Line 30: Line 28:
* There is a draft of a book describing the ideas behind Etoys on the XO [http://www.laptop.org/OLPCEtoys.pdf here].
* There is a draft of a book describing the ideas behind Etoys on the XO [http://www.laptop.org/OLPCEtoys.pdf here].
* The central site for educational use of Squeak is the http://squeakland.org/ website.
* The central site for educational use of Squeak is the http://squeakland.org/ website.
* Waveplace has created thirty [http://waveplace.com/resources/tutorials video tutorials] that teach Etoys.
* Some [http://vg06.met.vgwort.de/na/8677032b6e94172e56224283aaced2?l=http://www.iam.unibe.ch/~scg/Archive/Papers/Gael06aC5.pdf Idioms] for Composing [http://emergent.de/etoys.html Games] with Etoys.
* Some [http://vg06.met.vgwort.de/na/8677032b6e94172e56224283aaced2?l=http://www.iam.unibe.ch/~scg/Archive/Papers/Gael06aC5.pdf Idioms] for Composing [http://emergent.de/etoys.html Games] with Etoys ([http://community.ofset.org/index.php/Idiomes_pour_composer_des_jeux_EToys French translation]).


====Projects for Squeak on the OLPC XO====
====Projects for Squeak on the OLPC XO====
With Squeak the standard way to save contents/activity is through 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
Please add your link here:
* http://www.swa.hpi.uni-potsdam.de/projects/olpc/ (Student projects from the HPI Software Architecture Group)


Here a few project examples (please add your link here):
* [[Project sampler]] Projects with various stuff done in Etoys.
* http://www.hpi.uni-potsdam.de/swa/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 <i>galería</i>) Students projects in spanish,
* [[Etoy Project sampler]] Projects with various stuff done in Etoys.
* [[DrGeo]], an interactive geometry project.
* http://www.EtoysIllinois.org (Teacher resource projects and lesson plans for CS4HS and CS4K5. See also the K-5 Technology Passport. The site's Library Collection has over 1200 projects including: stories, geometry games, puzzles, mazes, science books, and more.)


====Documentation====
====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
* '''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 (translations available [http://squeakland.org/resources/books/ here])

* '''Quickguides:''' 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 printable PDF: [[Media:The Etoys Quick Guides.pdf|The Etoys Quick Guides.pdf]].


* [[Etoys Shortcuts]]
* '''Inside Etoys''' there are more than 50 pages of help. These Etoys Quickguides are also available as web pages at the [[Etoys QuickGuides Index]].


* Also see [http://www.vpri.org/html/writings.htm] and [http://squeak.lec.ufrgs.br/].
* Also see [http://www.vpri.org/html/writings.htm www.vpri.org/html/writings.htm] and [http://squeak.lec.ufrgs.br/ squeak.lec.ufrgs.br].


====Documentation in French====
====Documentation in French====
Line 51: Line 57:
* [http://squeakbyexample.org/fr/ Squeak par l'exemple], Andrew P. Black, Stéphane Ducasse, Oscar Nierstrasz, Damien Pollet, Damien Cassou, Marcus Denker
* [http://squeakbyexample.org/fr/ Squeak par l'exemple], Andrew P. Black, Stéphane Ducasse, Oscar Nierstrasz, Damien Pollet, Damien Cassou, Marcus Denker
* [http://community.ofset.org/wiki/Squeak French speaking Squeak community]
* [http://community.ofset.org/wiki/Squeak French speaking Squeak community]
* [http://community.ofset.org/index.php/Etiquettes_actives Etiquettes actives]Programmation visuelle et gestuelle pour jeunes enfants et débutants. dans Squeak /Etoys
=====Documentation, examples, tutorials, download =====
* [http://community.ofset.org/wiki/V-toys 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.)
* [http://community.ofset.org/index.php/G%C3%A9om%C3%A9trie_et_syst%C3%A8me_expert 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====
====Documentation and examples in Spanish====
Line 60: Line 70:
* '''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.
* '''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). The central site for educational use of Squeak in Extremadura (Spain).<br>Here you can find:<br>[http://squeak.educarex.es/Squeakpolis/30 Documentación]<br>[http://squeak.educarex.es/Squeakpolis/13 Cómo Usar Squeak]<br>[http://squeak.educarex.es/Squeakpolis/19 Aprende a manejar Squeak con estos ejercicios]<br>[http://squeak.educarex.es/Squeakpolis/165 Ideas para trabajar en el aula]<br>[http://squeak.educarex.es/Squeakpolis/140 Preguntas Frecuentes]<br>[http://squeak.educarex.es/Squeakpolis/111 Manual de Referencia]<br>[http://squeak.educarex.es/Squeakpolis/146 Catálogo de Objetos]<br>[http://squeak.educarex.es/Squeakpolis/56 Galería de Proyectos según especialidades docentes]<br>[http://squeak.educarex.es/Squeakpolis/48 Zona de descarga]<br>and more.<br>Besides:<br>A [http://proyectos.educarex.es teachers' repository]<br>And a new [http://squeak.educarex.es:9090/seaside/SBSuperSwiki?_s=gijHaGjVoxPibESo&_k=eFMTctrQ one of public access]<br>
* '''Squeakpolis''' (http://squeak.educarex.es/Squeakpolis). The central site for educational use of Squeak in Extremadura (Spain).<br>Here you can find:<br>[http://squeak.educarex.es/Squeakpolis/30 Documentación], [http://squeak.educarex.es/Squeakpolis/13 Cómo Usar Squeak], [http://squeak.educarex.es/Squeakpolis/19 Aprende a manejar Squeak con estos ejercicios], [http://squeak.educarex.es/Squeakpolis/165 Ideas para trabajar en el aula], [http://squeak.educarex.es/Squeakpolis/140 Preguntas Frecuentes], [http://squeak.educarex.es/Squeakpolis/111 Manual de Referencia], [http://squeak.educarex.es/Squeakpolis/146 Catálogo de Objetos], [http://squeak.educarex.es/Squeakpolis/56 Galería de Proyectos según especialidades docentes], [http://squeak.educarex.es/Squeakpolis/48 Zona de descarga] and more.<br>Besides:<br>A [http://proyectos.educarex.es teachers' repository]<br>And a new [http://squeak.educarex.es:9090/seaside/SBSuperSwiki?_s=gijHaGjVoxPibESo&_k=eFMTctrQ one of public access] (clic en galeria).<br>


* '''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)
* '''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)



{{Developers}}
{{Developers}}
Line 77: Line 88:
===For Etoys Translators ===
===For Etoys Translators ===


Translation work can be done at [http://dev.laptop.org/translate/projects/etoys/ Pootle].
Translation work is done in Sugar Labs Pootle: http://translate.sugarlabs.org
(Previously [https://translations.launchpad.net/etoys/first-deployment/ launchpad.net] was used, but recently we moved from there)


With Pootle you can translate online, or download a PO file, edit locally, and upload. <i>NOTE: uploading does not work currently due to the Etoys PO file size.</i>
Master gettext files for build are available at http://etoys.laptop.org/svn/trunk/etoys/po/.


Committing in Pootle pushes translated POs into git: http://dev.laptop.org/git/projects/etoys/tree/po


For the release, POs with enough translated phrases are copied to SVN http://etoys.laptop.org/svn/trunk/etoys/po/


===For Developers===
===For Developers===
Line 94: Line 106:
* [http://etoys.laptop.org/src/etoys-image-and-pr.zip etoys-image-and-pr.zip] is a zip of the very latest image, projects, quickguides, and compiled MO translation files in the git tree.
* [http://etoys.laptop.org/src/etoys-image-and-pr.zip 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:
The '''Squeak Virtual Machine''' is built from the "olpc" branch:
* http://squeakvm.org/svn/squeak/branches/olpc
* http://squeakvm.org/svn/squeak/branches/olpc
* the RPM spec contains a changelog: [http://squeakvm.org/svn/squeak/branches/olpc/squeak-vm.spec squeak-vm.spec]
* the RPM spec contains a changelog: [http://squeakvm.org/svn/squeak/branches/olpc/squeak-vm.spec squeak-vm.spec]
Line 118: Line 130:
====Building etoys.image from developer's image====
====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).


Developer's image (etoys-dev.image) is included in the svn repository
* Press 'load code updates' button.
http://etoys.laptop.org/svn/trunk/etoys/ as well as in etoys-dev.zip
* Save the image.
(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"
* Place project files for 'Gallery', 'Tutorials', and 'EtoysActivity' in the image directory.
Identifier "Screen0"
* Set screen size to 1200@900 ("Display inspect" helps).
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.
* Save as 'etoys.image'.
* And execute:
ReleaseBuilderSqueakland new prepareReleaseImageForOLPC.
* Save the image again (Alt + W - save and quit).


xrandr -s 1280x1024
How to upload to the master repository.

=====building release image=====

Open etoys-dev.image, and execute following expression.

<pre>
| 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.
</pre>

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 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 revert etoys-dev.* (etoys-dev should be updated from clean each time)

* svn ci -m 'Update to {update#}, {some messages}'
* svn ci -m 'Update to {update#}, {some messages}'


=====Synchronize translations=====
* Go to the git directory for etoys and update Contents/ if necessary.
* ./mkPootle pot
* git commit -a -m 'some message'
* git push


Go to the git directory for etoys and update Content/ if necessary.
Note: It is no more necessary though, it might be useful for a developer to do "GetTextImporter importAll" before you save etoys-dev.image.
Makefile will do everything you need (copy pot from Content to git,
copy po from git to Content, and build mo into Content)


* make
How to update translation files
* git commit -a -m 'some message'
* Go to the git directory
* git push
* ./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===
===Running OLPC Etoys if you do not have OLPC laptop yet - For Content Creators/Testers/Teachers===
Line 219: Line 262:
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.
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.


* '''Download'''.<br>V-toys for XO and squeakland-OLPC image (English version):
http://community.ofset.org/wiki/V-toys
**[http://www.squeakland.org/showcase/project.jsp?id=7516 Download from Showcase]

I'll put some references to English examples in this page :
[[v-toys English]]


* '''Documentation.'''
Most of the French pages are now translated in english, see:
[http://community.ofset.org/wiki/En-V-toys En-V-toys]
**[http://community.ofset.org/index.php/V-toys_international V-toys international] (tutorial and download).
**French pages and link to the english pages: <br> http://community.ofset.org/wiki/V-toys
**Download the Video of the v-toy's presentation at the C5 conference in Poitiers:<br> [http://uptv.univ-poitiers.fr/web/canal/61/theme/54/manif/168/video/1489/index.html video at c5 2008]
**Some references to English examples :<br>[[v-toys English]]
**Translation of the French pages, see:<br>[http://community.ofset.org/wiki/En-V-toys En-V-toys]


== Version history ==
== Version history ==
Line 231: Line 276:
; Build 542 (Trial-2): Etoys-53.xo, etoys-2.0.1468, squeak-vm-3.9-11olpc4. Native activity.
; 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 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 650, 653, 656 (Ship.2, final version for first mass-produced machines): Etoys-71.xo, etoys-2.2.1796, squeak-vm-3.9-12olpc3. PO translations, Quick guides, sharing via presence service.
; Build 703 (Update.1, first big update): Etoys-80.xo, etoys-2.3.1894-2, squeak-vm-3.9-12olpc5.
; Build 703 (Update.1, first big update): Etoys-80.xo, etoys-2.3.1894-2, squeak-vm-3.9-12olpc5. Bug fixes.
; Build 767 (8.2, G1G1 2008): Etoys-94.xo, etoys-3.0.2153-1, squeak-vm-3.10-3olpc10. Use tubes for sharing, Pango text rendering.
; Build 802 (8.2.1, Uruguay 2009): Etoys-99.xo, etoys-4.0.2205-2, squeak-vm-3.10-3olpc11. Fully under MIT+Apache license.
; XO-1.5 (10.2, 2010): Etoys-113.xo, etoys-4.0.2339-1.fc11, squeak-vm-3.10.5-2.fc11. Fedora-packaged.


== See also ==
== See also ==
*[[Sugar Etoys]]
*[[Sugar Etoys]] (introduction / tutorial)
*http://squeakland.org/
*http://squeakland.org/ (resources about Etoys in education and on non-XO platforms)
*http://lists.laptop.org/pipermail/etoys/
*http://lists.laptop.org/pipermail/etoys/ (mailing list)
*[[Smalltalk Development on XO]] (advanced Etoys use)
*http://www.swa.hpi.uni-potsdam.de/projects/olpc/
*[[Etoys RPM and XO bundle]] (how to build and release etoys and squeak-vm)
*[[Smalltalk Development on XO]]
*http://www.hpi.uni-potsdam.de/swa/projects/olpc/ (game activities written in Etoys)


[[Category:Sugar|Etoys]]
[[Category:Software ideas]]
[[Category:Software ideas]]
[[Category:Etoys]]
[[Category:Etoys]]
[[Category:Build system]]
[[Category:Build system]]
{{Activity page
|icon=Image:Activity1.png
|genre=General Search and Discovery
|activity group=Activities/G1G1
|short description=Etoys is a cross-platform, media-rich authoring environment and visual programming system for teaching children powerful ideas.
|contact person=User:Bert
|i18n=https://dev.laptop.org/translate/projects/etoys
|team=Bert Freudenberg, Ted Kaehler, Alan Kay, Yoshiki Ohshima, Ian Piumarta, Kim Rose, Scott Wallace, Takashi Yamamiya, many others
|bundle URL=http://etoys.laptop.org/rpms/Etoys-98.xo
|activity version=98
|releases=8.2.0 (767)
|devel status=6. Mature
}}

Latest revision as of 23:07, 5 September 2014

  english | español | 日本語 | 한국어 | română | français HowTo [ID# 296578]  +/-  
Activity1.png This activity was core
Trac print.png Tickets all - active - new
OlpcProject.png Bert Freudenberg, Ted Kaehler, Alan Kay, Yoshiki Ohshima, Ian Piumarta, Kim Rose, Scott Wallace, Takashi Yamamiya, and many others

see more templates or propose new

Etoys running on the OLPC display for the first time (Sep 11 2006)

Squeak Etoys was inspired by LOGO, PARC-Smalltalk, Hypercard, and starLOGO (see discussion). 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: OLPCEtoys.pdf

Further reading: http://www.squeakland.org/resources/articles/

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 the general public

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.
  • Waveplace has created thirty video tutorials that teach Etoys.
  • 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 through 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):

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 (translations available here)

Documentation in French

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:


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 is done in Sugar Labs Pootle: http://translate.sugarlabs.org

With Pootle you can translate online, or download a PO file, edit locally, and upload. NOTE: uploading does not work currently due to the Etoys PO file size.

Committing in Pootle pushes translated POs into git: http://dev.laptop.org/git/projects/etoys/tree/po

For the release, POs with enough translated phrases are copied to SVN 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:

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
  1. 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.
  2. 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: Squeak Desktop Item
  3. 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.
  4. 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: OLPC Etoys menu, 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

  1. apt-get install squeak-vm # or use synaptic as noted above
  2. mkdir etoys # put this directory whereever you like, with any name you like
  3. cd etoys
  4. wget http://etoys.laptop.org/src/etoys-image-and-pr.zip
  5. unzip etoys-image-and-pr.zip
  6. squeak etoys.image

Benchmarks

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.

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. PO translations, Quick guides, sharing via presence service.
Build 703 (Update.1, first big update)
Etoys-80.xo, etoys-2.3.1894-2, squeak-vm-3.9-12olpc5. Bug fixes.
Build 767 (8.2, G1G1 2008)
Etoys-94.xo, etoys-3.0.2153-1, squeak-vm-3.10-3olpc10. Use tubes for sharing, Pango text rendering.
Build 802 (8.2.1, Uruguay 2009)
Etoys-99.xo, etoys-4.0.2205-2, squeak-vm-3.10-3olpc11. Fully under MIT+Apache license.
XO-1.5 (10.2, 2010)
Etoys-113.xo, etoys-4.0.2339-1.fc11, squeak-vm-3.10.5-2.fc11. Fedora-packaged.

See also

Activity Summary

Icon: Sugar icon::Image:Activity1.png
Genre: Activity genre::General Search and Discovery
Activity group: ,|x|Activity group::x}}
Short description: Short description::Etoys is a cross-platform, media-rich authoring environment and visual programming system for teaching children powerful ideas.
Description:
Maintainers: ,|x|Contact person::x}}
Repository URL:
Available languages: ,|x|Available languages::x}}
Available languages (codes): ,|x|Language code::x}}
Pootle URL: Localization URL::https://dev.laptop.org/translate/projects/etoys
Related projects: Related projects,|x|Related projects::x}}
Contributors: ,|x|Team member::x}}
URL from which to download the latest .xo bundle Activity bundle::http://etoys.laptop.org/rpms/Etoys-98.xo
Last tested version number: Activity version::98
The releases with which this version of the activity has been tested. ,|x|Software release::x}}
Development status: Devel status::6. Mature
Ready for testing (development has progressed to the point where testers should try it out): ,|x|Ready for testing::x}}
smoke tested :
test plan available :
test plan executed :
developer response to testing :