Saturday, November 28, 2009

I attempt to develop something with Etoys

I just finished a project for a class in multimedia applications. I used Etoys, the Squeak Smalltalk environment, for the development platform. Here is some reflection of my experience...

Etoys works best, like most things, when it is used for what it was designed for. Etoys is something of a desktop lab for exploring concepts -- check out what's on the shelf, see what happens when you mix things, hope not to blow anything up. The underlying pedagogical theme is Seymour Papert's constructionism (a play on, and an extension of, constructivism). Kids can learn by building things and trying them out and figuring out how to make them better.

So I can see using Etoys in scenarios where students are assigned a task, like "create a virtual aquarium containing virtual fish that swim around", "make a car that moves around a track" or even "display the measure of the angles in a triangle using the tools available in Etoys." In the course of constructing the goal, or exploring a concept, all sorts of learning areas are hit, including problem solving, logic, computer science, math, modeling and design.

These are not strictly multimedia applications though, at least as I understand it. To me, an application is a closed experience. The designer has specific learning goals in mind, and creates a series of paths for the user to follow, with different experiences along the way, using multiple media, that will help the user achieve the learning goals. So multimedia applications are limited by the imagination of the designer and the abilities of the software tools in creating the experiences the learner can have via the application. This is like the difference between a webquest and true open-ended inquiry. How heavily programmed is the user experience?

Trying to create a multimedia application using Etoys was ummm a challenge. I wanted to create an environment for the user that anticipated errors and provided enough feedback (which seems like 80% or more of application development). I wanted to guide the user through stages of the activity. I wanted to program the experience. And for this, I found Etoys to be a clumsy environment, dragging tiles around and opening and closing property views and right-clicking to see halos and such.

My experience was challenged by the absence, as far as I can tell, of complete documentation on the different objects available in the Etoys catalog. (I don't know how much time I spent trying to figure out how to calculate the measure of an angle!) There are various help balloons, quick start guides, and there is free documentation on the underlying Squeak Smalltalk environment and language. But the in-between documentation of various properties and what they mean and how to use them is missing (again, as far as I can tell). There is a fairly active user community, spread across forums, IRC and a mailing list. I had trouble joining the forum, the first place I usually go to find out things. I only figured out I could use IRC late in the process, and hadn't really thought of the mailing list as an option, but that might have worked as well. So support is definitely out there, but better documentation would have served me better. I could perhaps have delved deeper into the mysteries of Squeak Smalltalk to really get under the hood, but quickly getting up to speed with a new language, with the peculiarities of new syntax and operators and precedence and all of that was beyond the investment I wanted to make. There was no Goldilocks solution for me.

But again, I was trying to do something with Etoys (create a multimedia application) that I don't think it was designed for (namely, being a desktop lab for constructionist experiences). I was able to accomplish something, but my product really isn't in the spirit of constructionist learning. My foray has some opportunities for student discovery, but not a whole lot.

But... I could not have figured out the proper niche of Etoys in the classroom except by taking the tortuous route through application development using Etoys. Creating my application (zipped, with a video used in the project) turned out to be my own constructionist learning experience. Now I have an idea of where I might want to use Etoys in the classroom. And while I knew that, as far as computer learning goes, I learn best by having a practical problem that drives me to learn the tools at hand, now I have a name for that learning model: constructionism.


Note: Etoys is free and available for download from the Etoys download page. You can find my project in the Etoys Showcase at this url. I think you need to have Etoys installed on your machine to actually view the project though.

No comments: