[Etoys] Slightly familiar with Squeak, confused by EToys & OLPC, Please give ne some pointers!

Yoshiki Ohshima yoshiki at vpri.org
Tue Jan 8 15:37:10 EST 2008

  Hello, Tom,

> 1. I understand Squeak uses images, so that when I 'save & quit' from
> a squeak session, I am saving my current state in the images file.


> 2. I don't know much about EToys, but I assume there is some way to
> export projects so they can be shared with other EToys users in a way
> that is perhaps like filing in changesets or installing packages from
> SqueakMap??

  A project file conceptually can be considered as a segment of an
image.  It is a binary representation of objects in a project, which
is roughly speaking things reachable from the current World.  (The
actual mechanism we use now is a bit more flexible so that we can do
some conversion upon loading when necessary.  Look at the class
comments of SmartRefStream and its super classes.)

> 3. If I understand OLPC setup properly, the EToys image is read only,
> hence the instructions in
> http://wiki.laptop.org/go/Smalltalk_Development_on_XO to copy the
> image & changes files to a location where they can be updated. This
> is only needed for developers, or people who want access to the full
> set of Squeak tools like the class browser, etc.


> 4. If I understand the OLPC even a little bit, Activity state is saved
> in the datastore, and Activities can be resumed.
> My basic question:  How do the ideas of a. Squeak images being read
> only, b. EToys projects, and, c. OLPC Activities fit together?

  The read only Squeak image is like an application written in Squeak,
and the document file is a project file that contains the objects
tracable from current Project object.  

> - If I make changes to a Squeak image that would require a 'save',
> would I be correct to assume that stopping and resuming my EToys
> activity will NOT save these changes, but would be like starting my
> Squeak session over?

  Yes.  In theory, we could save .image (and .changes) as a DataStore
entry, but your work in an image will be lost because it is not going
to be written onto the read-only file.

> - If I have multiple EToys Activities listed in my Journal, do these
> represent different Squeak sessions or states, and is each independant
> of the others and independantly resumeable?? 


> To me this would involve
> saving a set of image and change data somewhere for each activity, or
> at least deltas against the original image & changes.  Please correct
> me if I am wrong, but aren't change sets just for code changes, or can
> they save what I would call IDE state like the presence and position
> of workspaces, transcript windows, class browsers, etc.??

  Deltas against the original image is what it is.  In the typical use
case of Etoys, it doesn't involve code comments and formatting. so we
doesn't bother to utilize .changes.  (.image is happy without .changes
just to run code.)

> - Assuming I only have the Read Only EToys images and change files, f
> I start working on a new project in EToys, or even make a change as
> minor as changing the speed of the little car, are these changes saved
> when I stop the EToys Activity, and if so, how?

  See above.

> I apologize in advance for these newbie questions, but I'm really
> missing some connections here and have not found a lot on the
> laptop.org wiki about the details of how EToys is implemented on the
> OLPC and how it interacts with the sugar environment.

  Not a problem!

> Thanks for all the hard work on the OLPC, I  think EToys really stands
> out as one of the coolest apps on the OLPC.

  Thank you!

-- Yoshiki

More information about the Etoys mailing list