OPEN SLATE PROJECT

Squeak


 
Back to Open Slate Home Page Date: 2010.02.09 (2010.02.09)


"Should the computer program the kid, or should the kid program the computer?"

S. Papert[1]

Introduction

A cornerstone of the philosophy behind the Open Slate project is student involvement. The Slate is more than a tool. It is self-made, customized to reflect individual taste. Everything about it will be accessible, including the software. All of this accessibility encourages exploration. How far each individual student chooses to go in exploring their Slate is up to them.

The Slate software should be just as open and accessible to the student as the hardware. To gather a collection of FOSS applications fails to meet this requirement, in that only the most advanced students will master programming languages sufficiently to understand how these applications work.

Smalltalk was designed to reduce the gulf between programmer and user. It accomplishes this by making programming more intuitive, more fail safe, and highly interactive. Conceived in 1969 by Alan Kay,[2] it was to be the foundation for his concept of a personal computer, which he called the Dynabook.[3] Keep in mind that when Kay conceived of the Dynabook a small computer filled a room.

Around 1996 a group including some of the original Smalltalk developers, among them Alan Kay, Dan Ingalls, Ted Kaehler, Scott Wallace, John Maloney, Andreas Raab, and Mike Rueger decided to create a new version of Smalltalk, which they called Squeak.[4] Today this version is still undergoing active development and is supported by several web sites, including www.squeak.org and the Squeak Swiki. Of this original group, Andreas Raab is still very active and is a regular contributor to the mailing lists.

Squeak, Morphic, and eToys

The original Smalltalk created windowed applications which ran on a GUI desktop. This was what inspired Steve Jobs to develop the Apple Lisa, and its far more successful offspring, the Macintosh. In Squeak, the developers added a new user interface called Morphic, and with it a new, more standardized way of developing classes. The result was a much more object oriented experience that was easier for students to learn. The success of Morphic encouraged the developers to bring Squeak to a younger audience, but for this they decided it would be better to conceal the deeper and potentially hazardous aspects of the language. To do this they created a web browser plug-in and a more structured set of classes called eToys. This is what is included in Sugar, the OS for the One Laptop Per Child project.

Squeak and Chalk Dust

Simply put, Squeak is the preferred language for Chalk Dust applications. Eventually, any software tool a student requires should be available in Squeak. It should even be possible to replace the X window manager with Squeak. Until we get there (and let's be serious, this is a long way off!), Squeak will exist as it does today, as an application that runs along side other tools, like web browsers, movie editors and mail clients.

Apps versus Web Sites

The Apple iPhone has reintroduced average users to the concept of small, specialized applications. At first this may look like a complete reversal of the recent rush towards cloud computing. Look a bit closer and what you will see is that apps replace the web browser, that ponderous, bloated, monolithic information interface. Some apps operate independently of the Internet, and some rely on Internet based data and services.

There is no better language for building apps than Squeak. Picture Chalk Dust as a large assortment of iPhone-like apps -- mostly "educational" -- and you will see the future of the Open Slate project.

More details about implementing Squeak are available on the wiki.

References


1. Quoted in "A Personal Computer for Children of All Ages." Alan Kay, 1972. (PDF)
2. "Smalltalk." Wikipedia.
3. "Dynabook." Wikipedia. More on the Dynabook at Thinkubator, Simon Fraser University, Canadian Centre for Studies in Publishing.
4. "Squeak." Wikipedia.

Gary Dunn



To Open Slate Home Page