# Etoys (programming language)

Etoys is a child-friendly computer environment and object-oriented prototype-based programming language for use in education.
Etoys is a media-rich authoring environment with a scripted object model for many different objects that runs on different platforms and is free and open source.

## History

* Squeak was originally developed at Apple in 1996 by Dan Ingalls.
* Squeak is a Smalltalk implementation, object-oriented, class-based, and reflective, derived from Smalltalk-80 at Apple Computer. It was developed by some of the original Smalltalk-80 developers, including Dan Ingalls, Ted Kaehler, and Alan Kay. The team also included Scott Wallace and John Maloney.
* Squeak 4.0 is released under the MIT License, with some of the original Apple parts remaining under the Apache License. Contributions are required to be under MIT.
* “Back to the Future: the story of Squeak, a practical Smalltalk written in itself” by Dan Ingalls, Ted Kaehler, John Maloney, Scott Wallace, Alan Kay. Paper presented at OOPSLA, Atlanta, Georgia, 1997 by Dan Ingalls.
* Squeak migrated to Disney Imagineering Research in 1996.
* Etoys development began and was directed by Alan Kay at Disney to support constructionist learning, influenced by Seymour Papert and the Logo programming language.
* The original Etoys development team at Disney included: Scott Wallace, Ted Kaehler, John Maloney, Dan Ingalls.
* Etoys influenced the development of another Squeak-based educational programming environment known as Scratch. Scratch was developed at MIT, after Mitchell Resnick invited John Maloney of the original Etoys development team to come to MIT.
* Etoys migrated to Viewpoints Research, Inc., incorporated in 2001, to improve education for the world's children and advance the state of systems research and personal computing.
* In 2006–2007, Etoys built in Squeak was used by the OLPC project, on their OLPC XO-1 educational machine. It is preinstalled on all of the XO-1 laptops.
* “Etoys for One Laptop Per Child”, paper by Bert Freudenberg, Yoshiki Ohshima, Scott Wallace, January 2009. Paper presented at the Seventh Annual International Conference on Creating, Computing, Connecting, and Collaborating through Computing, Kyoto University, Kyoto, Japan, January 2009.
* In 2009, the Squeakland Foundation was created by Viewpoints Research, Inc., as an initial step in launching the foundation to continue encouraging development and use of Etoys as an educational medium.
* Viewpoints Research Inc. supported Squeakland Foundation in 2009–2010, and in January 2010, the Squeakland Foundation was launched as a separate entity.

## Motivation and influences

Etoys development was inspired and directed by Alan Kay and his work to advance and support constructionist learning. Primary influences include Seymour Papert and the Logo programming language, a dialect of Lisp optimized for educational use; work done at Xerox Palo Alto Research Center, PARC; Smalltalk, HyperCard, StarLogo and NetLogo. The drag and drop tile-based approach is very similar to AgentSheets. Scott Wallace is the main author. Promotion and development of the main Squeak version of Etoys is co-ordinated by the Viewpoints Research Institute, a U.S. educational non-profit.
Etoys was a major influence on a similar Squeak-based programming environment known as Scratch. Scratch was designed with Etoys code in the early 21st century by the MIT Media Lab, initially targeted at after-school computer clubs.

## Features

The Etoys system is based on the idea of programmable virtual entities behaving on the computer screen.
Etoys provides a media-rich authoring environment with a simple, powerful scripted object model for many kinds of objects created by end-users. It includes 2D and 3D graphics, images, text, particles, presentations, web-pages, videos, sound and MIDI, 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, and has been used successfully in United States, Europe, South America, Japan, Korea, India, Nepal, Ethiopia, and Russia.

## Versions

All Etoys versions are based on object-oriented programming languages. Squeak Etoys runs on more than 20 platforms bit-identically. Versions exist written in three programming languages. The original and most widely used is based on Squeak, a dialect of Smalltalk. The second is also based on Squeak, but uses the optional Tweak programming environment instead of Squeak's default Morphic environment. The third is based on Python and is named PataPata . PataPata has been abandoned by its author.
In 2006 and; 2007, the Squeak Morphic version was adapted for distribution on the OLPC XO-1 educational machine, sometimes known as the $100 laptop. Viewpoints Research Institute participates in the One Laptop per Child association, and Etoys is pre-installed on all XO-1 laptops.
The licensing is free and open source.
As of 2010, Etoys 4 conforms to the requirements of free and open source systems, such as the various Linux distributions.
In 1996, Apple had released Squeak under their "Squeak license", which did not qualify as fully free software, due to the presence of an indemnity clause. The source code was available and modification was permitted.
In May 2006, Apple relicensed the Squeak core under the Apache 2.0 license, thanks to Steve Jobs, Dan Ingalls, and Alan Kay. Viewpoints Research collected written relicensing agreements from several hundred contributors under the MIT license, and all code in Etoys not explicitly covered by a relicensing agreement was removed, rewritten, or reverted to an earlier version, mostly by Yoshiki Ohshima. Squeak Etoys is now completely free and open source.