Home | Wiki | Blog | FAQ | Contact Us | Contribute

Developing XO activities as Squeak projects

November 7th, 2007 By: · No Comments

We’ve been cooking up a development process that we hope will generate lots of Squeak-based learning activities for Nepali classroom use. We want as much of the math, english, and science curriculum as possible to be taught using interactive exercises on the XO so we have to create a lot of content. We also want the OLPC / Squeak community to know what we’re doing so that you have the chance to offer us advice and learn from our mistakes. So here’s an update on our thinking..

The development process is idealised as a pipeline: the educator chooses what to teach (e.g. addition, addition with carry, etc), the designer invents the activity and creates illustrations, the scripter imports the graphics into Squeak and adds most of the dynamic behaviour with Etoys scripts, and then the programmer writes Smalltalk code for anything that couldn’t be done by script.

The artifacts of our development will be:

  • One Monticello repository containing our Smalltalk source code. The primary location is currently SqueakSource but we’ll need to establish a low-latency local repository on a server here.
  • One Squeak project file (.pr) for each activity. We have a bunch of ways that we want to use these projects that may be somewhat in conflict:
    • Install the bundle of all activities on the XO. This has to be space-efficient: lots of projects will have big images and sound clips in common and we don’t want to duplicate them on disk.
    • Distribute stand-alone activities that can be loaded into the normal XO image.
    • Run individual activities directly from the web.

    We don’t know how to address all of these needs yet and for now we’re focusing on stand-alone projects.

  • Some repository for storing our projects (activities). We don’t know yet whether this should be a shared folder, an SVN or GIT repository, a SuperSwiki server, or what else. We’d like to hear how other people work on projects like Demon’s Castle, Etoys Challenge, etc.
  • Personal Squeak images used by developers. These will be based on the etoys-dev series but must at least include Monticello. If we can make the images SqueakMap-compatible then each developer can also install their own favourite tools (Refactoring Browser, Whisker, etc). We’d like to hear how other people are doing this.

We’ve been reworking our "Adding Game" to serve as a model activity. First this has meant factoring as much functionality as possible into Etoys scripts. Next we wrote Smalltalk code to extend the Etoys vocabulary so that we have everything necessary for the finished product. The last part is making the project file stand-alone and compatible with the XO Etoys image — in this we’ve only been partly successful up to now.

The steps to load the project are:

  1. Start a fresh Squeak using the OLPC XO image.
  2. Scale the display to match the XO screen resolution (using the square button on the toolbar at the top of the screen).
  3. Download (right click!) the OLE.st source code and drag it into the Squeak window and choose ‘fileIn entire file’.
  4. Download (right click!) the AddingGame project file and drag it into the Squeak window to load it.

Then you’ll have a fun little game to play that’s almost entirely written in Etoys tiles!

Good progress but a long way to go yet…

Tags: Uncategorized

0 responses so far ↓

  • There are no comments yet...Kick things off by filling out the form below.

Leave a Comment