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:
Such a document needs to be written
I want to learn excelent Squeaking myself
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:
The increase of wisdom of the editors who contribute to the project
Creating a more perfect state of the existing Squeak documentation
Scope of the project
The tutorial will cover the following topics:
Navigating the image
Effective programming using Test-driven development
Laying out Morphs in a Project
Creating a user interface using Morphic
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:
We will seek out other sources of documentation and record these sources in an index. This will indirectly benifit the community by creating a better index of prior documentation.
We will incorporate the contents of that existing documentation into the tutorial (with the consent of its author), thus allowing it to reach a wider audience. We will credit our sources.
As we research the Squeak library and discover how to use it, we will take notes and save them as class comments. This will benefit everyone who uses the library in the future.
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.
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
Core language reference
Extended language libraries (gui, utility classes)
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