Discussion:
Etoys, Alice and tile programming
ajbn at cin.ufpe.br ()
13 years ago
Permalink
Folks,

I have been trying the new version of Alice <www.alice.org>. It also uses
tile programming like Etoys.Just for curiosity, does anyone know the history of Tile Programming?
TIA,

Antonio Barros
PhD Student
Informatics Center
Federal University of Pernambuco
Brazil
Alan Kay
13 years ago
Permalink
This particular strand starting with one of the projects I saw in the
CDROM "Thinking Things" (I think it was the 3rd in the set). This
project was basically about being able to march around a football
field and the multiple marchers were controlled by a very simple tile
based programming system. Also, a grad student from a number of years
ago, Mike Travers, did a really excellent thesis at MIT about enduser
programming of autonomous agents -- the system was called AGAR -- and
many of these ideas were used in the Vivarium project at Apple 15
years ago. The thesis version of AGAR used DnD tiles to make programs
in Mike's very powerful system.

The etoys originated as a design I did to make a nice constructive
environment for the internet -- the Disney Family.com site -- in
which small projects could make by parents and kids working together.
SqC made the etoys ideas work, and Kim Rose and teacher BJ Conn
decided to see how they would work in a classroom. I thought the
etoys lacked too many features to be really good in a classroom, but
I was wrong. The small number of features and the ease of use turned
out to be real virtues.

We've been friends with Randy Pausch for a long time and have had a
number of outstanding interns from his group at CMU over the years.
For example, Jeff Pierce (now a prof at GaTech) did SqueakAlice
working with Andreas Raab to tie it to Andreas' Balloon3D. Randy's
group got interested in the etoys tile scripting and did a very nice
variant (it's rather different from etoys, and maybe better).

Cheers,

Alan
Post by ajbn at cin.ufpe.br ()
Folks,
I have been trying the new version of Alice <www.alice.org>. It also uses
tile programming like Etoys.Just for curiosity, does anyone know the
history of Tile Programming?
TIA,
Antonio Barros
PhD Student
Informatics Center
Federal University of Pernambuco
Brazil
--
ajbarrosbr
13 years ago
Permalink
Alan,

Thanks a lot for your quick reply.
My best,

Antonio Barros
Informatics Center
Federal University of Pernambuco
Brazil
Post by Alan Kay
This particular strand starting with one of the projects I saw in
the
Post by Alan Kay
CDROM "Thinking Things" (I think it was the 3rd in the set). This
project was basically about being able to march around a football
field and the multiple marchers were controlled by a very simple
tile
Post by Alan Kay
based programming system. Also, a grad student from a number of
years
Post by Alan Kay
ago, Mike Travers, did a really excellent thesis at MIT about
enduser
Post by Alan Kay
programming of autonomous agents -- the system was called AGAR --
and
Post by Alan Kay
many of these ideas were used in the Vivarium project at Apple 15
years ago. The thesis version of AGAR used DnD tiles to make
programs
Post by Alan Kay
in Mike's very powerful system.
The etoys originated as a design I did to make a nice constructive
environment for the internet -- the Disney Family.com site -- in
which small projects could make by parents and kids working
together.
Post by Alan Kay
SqC made the etoys ideas work, and Kim Rose and teacher BJ Conn
decided to see how they would work in a classroom. I thought the
etoys lacked too many features to be really good in a classroom,
but
Post by Alan Kay
I was wrong. The small number of features and the ease of use
turned
Post by Alan Kay
out to be real virtues.
We've been friends with Randy Pausch for a long time and have had a
number of outstanding interns from his group at CMU over the years.
For example, Jeff Pierce (now a prof at GaTech) did SqueakAlice
working with Andreas Raab to tie it to Andreas' Balloon3D. Randy's
group got interested in the etoys tile scripting and did a very
nice
Post by Alan Kay
variant (it's rather different from etoys, and maybe better).
Cheers,
Alan
Post by ajbn at cin.ufpe.br ()
Folks,
I have been trying the new version of Alice <www.alice.org>. It
also uses
Post by Alan Kay
Post by ajbn at cin.ufpe.br ()
tile programming like Etoys.Just for curiosity, does anyone know
the
Post by Alan Kay
Post by ajbn at cin.ufpe.br ()
history of Tile Programming?
TIA,
Antonio Barros
PhD Student
Informatics Center
Federal University of Pernambuco
Brazil
--
Jecel Assumpcao Jr
13 years ago
Permalink
Post by ajbn at cin.ufpe.br ()
I have been trying the new version of Alice <www.alice.org>. It also
uses tile programming like Etoys.Just for curiosity, does anyone know
the history of Tile Programming? TIA,
My first experience with tile programming was in the Helix database for
the Mac (http://www.helixtech.com/1Product/index.html). But it also had
arrows between tiles, so it felt a little like a dataflow system (such
as Prograph or Fabrik).

-- Jecel (who is thinking of starting a Smalltalk user's group in
Brazil)
Jeffrey T. Read
13 years ago
Permalink
Post by Jecel Assumpcao Jr
My first experience with tile programming was in the Helix database for
the Mac (http://www.helixtech.com/1Product/index.html). But it also had
arrows between tiles, so it felt a little like a dataflow system (such
as Prograph or Fabrik).
I remember messing around with an Amiga-based tile programming system. After about half an hour of making the voice synth say crude or funny things, I quit the program and never looked at it again. Building anything complex (and even at 15, to me all the interesting stuff was complex) would have tired out my mouse hand in a hurry.
--
Jeff Read <***@snet.net>
Alan Kay
13 years ago
Permalink
Jeff --
...
Yes, I think this is generally true. The tile stuff is great for just
starting, and especially for younger kids, but it gets awkward when
it is scaled up. However, the tile version that the Alice folks did
is for older kids and does scale better than the etoys (I think).
Another version of assisted programming -- popups for next possible
stuff -- could really do a better job these days.

Cheers,

Alan
Post by Jeffrey T. Read
--
--
Ned Konz
13 years ago
Permalink
...
What gets awkward first? Is it the vocabulary growing, or is it the
connection between the scripts, or what?

Do individual scripts get unwieldy or is it the large number of them
that does?
--
Ned Konz
http://bike-nomad.com
GPG key ID: BEEA7EFE
Karl Ramberg
13 years ago
Permalink
...
For the stuff I have done with etoys I usually get into real trouble
around the point where I have 10 objects with 10 scripts. It's a
combination
of
-screen real-estate
-multiple stepping scripts
-system slowness when realigning a script that change contents size
-hard to reuse code
-hard to extend code
-hard to refactor

Lot's of these points come generally from bad planning/ no planning in
advance :-)

Also I usually get into trouble with etoys copy functions (they run astray),
collections and data types.

All this aside, I enjoy etoy scripting :-)

Karl
Alan Kay
13 years ago
Permalink
Good questions ....
...
Well, I try to use the etoy scripting for as much media programming
as possible and for testing out what high schoolers might do (in
anticipation of a true Omniuser scripting system someday), and this
often leads to dead-ends in etoys.

The two things that get awkward quickest are (a) the difficulties
involved with building expressions (it was not in the scope of the
original design to deal with more than the simplest linear
concatenations for expressions), and (b) the constant changing back
and forth from one viewer to another given that only one viewer is
visible at a time. We have created various designs for UIs to go to
the next stages of assisted scripting but are just starting to
implement UIs for them.

A third awkwardness happens if there has been some success with the
first two, and that is (c) the difficulties of making changes in
tile-based scripts. For many cases, one doesn't really want to undo
back through the hierarchy of subexpressions. Perhaps one wants to do
something like a simple text selection to indicate the aggregate that
is going to be replaced, and then use the DnD tiles to make the next
expression ....

The idea of having the system try to show you what can come next in a
script goes all the way back to the 60s and was pretty awkward in the
manifestations I've seen -- and there have been many attempts since
-- still kind of awkward. But I still think this is a good idea that
hasn't found a good UI yet. The CMU folks did a nice job of trying to
deal with the tradeoffs of endusers making Pythonesque scripts using
tiles and menus ...

This is worthwhile thinking about, because in our 3+ years of testing
etoys with children (and parents and teachers) there is no doubt that
one of the biggest selling points to them is the DnD tilebased
scripting. It just gets rid of a lot of stuff that is normally in the
way for beginners and gives them more initial braincells to think
about their first projects.
Post by Ned Konz
Do individual scripts get unwieldy or is it the large number of them
that does?
Yes and yes. Scott Wallace and I have come up with what we think is a
cleaner and nicer look for the scripts that also has the virtue of
being able to turn the tile look off and wind up with cleaner and
more compact scripts that can hold more. This looks like it will work
nicely for (some of) the transitions to more sophisticated scripting.
Josh Gargus has been experimenting with DnD tile UIs for making full
expressions including parens. Nathanael has been experimenting with
using his Genie recognizer for recognizing hand drawn 2D expressions,
etc.

Cheers,

Alan
Post by Ned Konz
--
Ned Konz
http://bike-nomad.com
GPG key ID: BEEA7EFE
--
ajbarrosbr
13 years ago
Permalink
Jecel,
Post by Jecel Assumpcao Jr
-- Jecel (who is thinking of starting a Smalltalk user's group in
Brazil)
I second that ;)

<Portuguese>
se precisar de ajuda, estamos aqui ;)
</Portuguese>

Cheers,

Antonio Barros
Bert Freudenberg
13 years ago
Permalink
Post by Karl Ramberg
Also I usually get into trouble with etoys copy functions (they run
astray)
Yep, we were bitten by this, too. Nothing helped except killing Squeak,
and then you have to redo everything. Now if the etoys had some kind of
autosave for the current project ... I wonder if that would be possible
in the current framework - saving a project is not exactly the fastest
operation.

OTOH, given enough RAM and HD capacity, one could just memcpy the whole
image and save it. Or even better, interleave that with the garbage
collector! It knows what objects were touched, enabling an incremental
image save. Heck, I could even imagine a journaling object memory, now
how cool would that be? ;-)

-- Bert

Loading...