Jump to: navigation, search

roots of eToys: AgentSheets and drag and drop programming

In research it is important to trace the history of ideas. As the creator of AgentSheets - a programming environment for kids- I would like to point out some facts. The AgentSheets project started in 1989 and was, and still is, supported by the National Science Foundation. Over time AgentSheets pioneered a number of programming environments including what eToys calls tile-based programming. Now, our project added a reference from eToys to AgentSheets because we think that AgentSheets did influence eToys. The reference got promptly removed.

21:40, 22 October 2008 Bert (Talk | contribs) (20,494 bytes) (Undo anonymous adding of AgentSheets reference, which the Etoys team thinks had not the same level of influence as the other systems cited - feel free to comment on the discussion page

Perhaps the reference got added hastily. Lets explore a way to all be happy with some added reference. I am all for a discussion. First of all why do we even want to add this kind of reference? As I am presenting our work worldwide at conferences I sometimes get a comment like "this looks like eToys" to which I usually have to reply "no, eToys looks like AgentSheets." When people say this they refer to the drag and drop style programming and the tile-based interface. So, who influenced whom and why is this important?

  • The AgentSheets drag and drop interface predates eToys significantly. You can find a 1996 [movie of all AgentSheets related projects]. You can also find various AgentSheets publications.
  • Sometimes one hears claims such as eToys inventing this kind of tile-based programming. This is simply not true. Again, AgentSheets predates eToys, but perhaps more importantly, AgentSheets does not even claim to have invented tile-based programming. It may have but there were some other visual programming projects predating AgentSheets that could be considered tile-based programming.
  • AgentSheets was demoed to Alan and other members of the squeak team (before Squeak was called Squeak) multiple times, personally by me at Apple Hill events. Ironically, I even helped to co-finance one of the Apple Hill events when Alan was short on cash. This one kind of hurts. I gave the project money, demoed our research and now you claim there is no significant influence even when other researchers seem to think so?

Long story short.. Many researchers in the field of visual programming languages seem to perceive a pretty strong similarity between eToys and AgentSheets. Your comment is one of the degree of influence contrasting Logo and other programming approaches with the influence from AgentSheets. I have no problem in saying that Logo and indeed also Smalltalk had an influence on AgentSheets. However, I think you will find that most researchers think that eToys look closer to AgentSheets than it does to Logo.

At any rate, I do not want to engage into any kind of non-productive flame war. To start a back-and-forth assessing what had what degree of influence would probabaly a futile exercise. You do acknowledge that there is an influence. Perhaps we can just agree on some text acknowledging some qualified influence such as "eToys has also been inspired by visual programming approach of AgentSheets"

all the best, Alexander Repenning

There was tile-based programming before Etoys and before AgentSheets, the Etoys team does not claim to have invented it. But in any case the main Etoys page on this wiki is not the place to recount the history of these systems --Bert 09:57, 2 July 2009 (UTC)


I am familiar with Squeak and eToys, and have the current Squeak VM installed (for Windows). I downloaded the OLPCPlugin-960.image from and was able to get it to run. I like the default text size and font with this image. I noticed this image contains a subset of the objects in the "normal" Squeak image.

I understand that Tinlizzie is both:

1 TinLizzie" is a WYSIWYG wiki that implements Etoys using a special document format."

2 "TinLizzie is essentially a re-engineering of important parts of the Etoy environment to try to put together a more efficient and accessible architecture for the $100 laptop project..."

Is this correct?

Now when I go to and click on benchmark, the Squeak plugin opens to a small screen, but still with the normal Squeak plugin menus. Is this the size of the screen on the OLPC laptop?

I look forward to creating some useful eToys for the OLPC project and contributing to the mailing list. --User:DaveRaftery

1 is correct, 2 turned out different for now. TinLizzie is an experiment, but for the first generation of OLPC machines we will use the "old" etoys as known from Squeakland. The screensize will be 1200x900 so please use this when authoring. Looking forward to your etoys :) --Bert, 22 Oct. 2006

The child need learn english?

  • Hi! I search for Squeak in portuguese and I not found. It's necessary to the children to learn english to use this tool?
    • OLPC-Etoys in Portuguese is more than 50% translated: --Bert 11:56, 1 April 2008 (EDT)
    • There are three parts in Squeak: the language itself, the user interface and eToys. For children the priority is eToys and Paulo Drummond translated those and the user interface to Portuguese. He has also created a site about Squeak in Portuguese but his translation is available in the normal Squeak distribution (at least the Squeakland version) and you just need to select "help..." from the world menu and then "set language" to change eToys and the user interface. Though many people are against the idea, it would be great to translate the actual language too. --Jecel 12:08, 27 September 2006 (EDT)
      See my idea Source-code editor with transparent native-language display for how you could get the benefit of translating the language without losing source compatibility. Homunq 21:40, 28 July 2007 (EDT)
      Do you intend to port that to Squeak? --Bert 11:56, 1 April 2008 (EDT)
  • Hi! There is an other solution, using V-toys for programming. V-toys (visuals toys) is a programming system written with Etoys and fully compatible with it, using icons instead of words in the bricks and therefore independent of language. See:


You may want to standardize the capitalization of Etoys. In this article, I see "Etoys", "EToys", "etoys", and "eToys"; it seems that the itself site refers to the program as "Etoys" in the documentation. I'm not sure if the author is trying to use "Etoys" for the program itself and "etoys" for the "toys" made with the program. —Joe 13:43, 9 April 2007 (EDT)

to run Etoys in a Mac

To run OLPC Etoys independly of Sugar - in a Mac, do the following:

1. Download and install Etoys from Squeakland (similar as for Windows, in the main article)

2. Download the OLPC version of Etoys (similar as for Windows, in the main article)

3. Place the folder you downloaded — etoys-image-and-pr — into, say, the main Squeak folder (inside the Applications folder).

4. Create an alias for the etoys.image and place it on the desktop.

5. If you already have one Squeak alias there, now you have two! No problem. You can use either (not both), depending on your target.

my 2¢ — Ptdrumm 00:01, 12 April 2007 (EDT)

Loading a project

How do you load a project that you saved on eToys? -- 17:24, 2 January 2008

You resume it from the Journal. On a non-XO, drop it into the image (or maybe adjust the preferences to show a "load" button). -- Bert 14:12, 2 January 2008 (EST)