links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
Squeak Tutorial Project
Last updated at 8:09 pm UTC on 14 October 2006
This is the discussion page for the Squeak Tutorial, the first project of the Squeak Documentation Team.

About this Document

The only way to bring about change is through hard work. I have proposed and volunteered to unify the current documentation about Squeak into a coherent, smooth tutorial that will teach new Squeakers how to become excellent Squeakers. My motivations are simple:
These motivations are enough to get me started, but will not motivate me in the long term. I need a long term vision, a statement that I can believe in, simply because it is worth believing in. Thus, I will begin by stating a good reason why I should do this project. I encourage others, including the other editors on this documentation team, to do the same. Then, when any of us lose our passion, we may turn to the visions of others and of ourselves to build and reconstruct our own passions. –Matthew Fulmer


As I see it, Squeak in particular and Smalltalk in general are building up to a critical mass of radically correct ideas. Programming is built around the metaphor of "objects" and "abilities"; however, every other programming environment divides the program into "instructions" (ie. source code), and the program. Smalltalk, by eliminating this divide, lets the user use exactly the same interface whether they are "using", or "building" the program. By improving Squeak, I wish to build up to a future when computers are no longer complex beasts that must be tamed, but a simple extention of the physical world, where every object will have an obvious purpose, and everyone with a good idea can make it happen. Talk is cheap. I long to embrace the day when I can say the same thing about implementing an idea. I want to help squeak cross the energy barrier that is preventing it from meeting that goal. Furthermore, by writing a tutorial, I may raise up others to continue to build and improve Squeak beyond what any of us have imagined. –Matthew Fulmer


The goal of this roject is to create a clear, well written Squeak Tutorial to teach a programmer who is new to Squeak how to effectively use Squeak to develop a Morphic application.

Contained in that mission are various smaller goals:

Scope of the project

The tutorial will cover the following topics:

The tutorial will not focus on these topics at present, but should do so as a long term goal:

The tutorial will be a text+pictures document, and will not be interactive. An interactive tutorial could be a long term goal.

To maximize the productivity of the editors in this documentation team, we will do the following as we create this document:

Tasks to be done:

Here is a breakdown of most of the steps that need to be done before we can declare this tutorial complete. Choose one of these topics and start writing about it. Put your name after the topic so we will know who is working on it.

Chapter 1 tasks:

Chapter 2 tasks:

Chapters 3 and 4 tasks:

What topics should be in this tutorial? Right now, the criteria for inclusion is:
Is this skill essential to being a good Squeak and Morphic Programmer?

Here are my ratings. Those under yes will be included in the tutorial. –Matthew Fulmer

If you think I misclassified a topic, say which topic, and what classification you think it should be. If you can, please sign your name. I will finalise the topic list once a consensus has been reached –Matthew Fulmer

I would say Installation probably belongs in another tutorial and in this one just do a "If you don't yet have squeak go here for installation instructions". The only reason to do an installation section is to cover all the different ways on the different platforms, which I think is going to fluff up the the begining of the tutorial. Just my 2c. - JJ

Should this tutorial be merged into selfStudy or Discovering Squeak - Contents? – Matthew Fulmer

SmallTalk Language Reference

  1. Core language reference
  2. Extended language libraries (gui, utility classes)
  3. Application reference

Creating a Language Reference is outside the scope of this project. We should, however create class comments in the Squeak image as we see the need. Class comments can be added to the default squeak image –Matthew Fulmer