Help - The Squeak Environment - Summary of What you may have learned in this lesson

Previous - The Squeak Environment

Here is a summary of points with links to the appropriate place in the text (to follow later)

A Workspace is a window in which you can edit text (and do many more things). It can be picked up and moved about and resized with the mouse.  Many windows in Squeak including Workspaces have a topbar with title, remove, collapse, shrink/expand and menu button.  That you can write text in Workspaces, save this to disk, and open many Workspaces and copy and paste between them.

- How to save, quit, and save and quit Squeak.
- How to recognize a walkback and react to it (click Abandon).
- How to escape from a loop in Squeak (press Alt-. = "Alt" combined with a dot ".")
- How to collapse, expand, shrink windows, and scroll in them.

All things you can select in Squeak can be copied, dragged, resized, expanded and can be attached program code to, that makes it do things you wish it to do. 

- Squeak presumes a 3- or 2-button mouse. (It can be tweaked for a 1-button mouse but this is inconvenient.)
- What Projects are: Full screens with all manner of Morphs
- What Morphs are: Parts of the screen you can select and manipulate in many ways, some standard for every morph, and arbitrarily many up to you.

What Squeak is:
a programming environment and a programming language bundled together. Convenient abbreviations for these two aspects are SL and SE. It is free open source, with ALL source code for EVERYTHING made available you, to understand, to use and to change.
That for much you can do with the Squeak environment you need little or no programming (other than moving the mouse and hitting the keyboard)

What you can do with Squeak:
Anything a computer is capable of - write, draw, compose and edit music, do mathematics (in new and old ways), make presentations, play games, write and send e-mails, chat, browse the internet and more. It is a universal environment for doing art, science, programming and having fun using computers creatively.

Why Squeak is so different and in which ways:

programming environment
programming language
free
open source

written in itself
full source
fully comprehensible
fully alterable
fully programmable

Squeak is an environment you can use, and a language in which you can program anything in the environment - in the sense that you can tell it what it can do when and how.

Much of the environment is easy and fun to use, and requires no programming

A programming environment is a program to write programs in.

Programs are messages to a computer, by which the human user tells the computing machine what to do.

The simplest kind of programming any one using a computer in fact does and knows how to do: Moving and clicking the mouse and hitting the keyboard.

All programming is is a human being sending messages to a computer, that responds to these messages after which the human being can respond to these by sending new messages.

Real programming is the writing of code that gives the computer new systematic responses to certain messages (i.e. behavior by the human user).

Squeak is very flexible:
Everything you see can be altered in many respects - size, color, mode of presentation and can be set in many ways.

Squeak is very versatile:
You can write, draw, compose, calculate, program, make presentations, edit pictures edit sound, go on the internet, and many other things

Squeak is very powerful:
The user environment you are in and see itself is written in Squeak, which is a universal programming language of great elegance. Anything that a computer may compute, may be written in the Squeak Language, while the Squeak Environment gives you full command and access to it, and to everything Squeak is and can do.

Squeak is very easy:
Much of Squeak powers is very easy to access and use, though again it takes some getting used to because Squeak is so different and so powerful, complex and many-facetted.

Squeak is fun:
It is great fun once one has gotten used to the environment. Also, it can be very helpful very fast, especially in education and in art.

Squeak is quite complex:
Squeak, and especially using its programming language, also is complex, many-layered, and dificult to learn in all its many aspects. And learning to program a universal programming language, such as Squeak is, is never easy.

The Squeak environment is different from any other environment because of is it's very great versatility and power

The Squeak environment looks different in part because of what it is - an interpreted programming environment of great versatility and power - and in part because of how it came to be. For Squeak is in fact the result of a continuous development of the Smalltalk language and environment, that date back 25 years.

Squeak is interpreted unlike most other programming environments, that usually ar compiled. In simple practical terms, compiled means faster but far less versatile and easy to use and change.

Squeak works with a loaded image a comparatively very large precompiled set of programming code, ready to run, and designed for very many different ends.

With and inside Squeak absolutely everything a computer can do it can be made to do, but "everything a computer can do" is a lot, and will take a lot of learning

Learning with a computer is for a considerable part playing with it, in a somewhat systematic mood.

Some ins and outs about

The project
The mouse
The pop-up menus
The flaps
The key-board

For these you are referred to the text, but I'll summarize some:

In Squeak, you are always inside some project.

A project is a full window in which you can put whatever you please, and save, store and access as one packet full of things - text, drawings, sounds, whatever - about some topic the project is about.

Projects are started with project buttons, which are windows that display a thumbtail image of their full-screen display.

Projects are left by mousing up a menu that contains a "Previous Project" option, and clicking that.

The Squeak Environment is built around using the mouse. (You cannot fully use it without a working mouse.)

The pop-up menus: Most windows when clicked in have a pop-up menu with options and explanations. These are specific to those windows.

The Worldmenu (or Project Menu) comes via Cmd-LeftClick in a project and gives access to many other pop-ups.

Most pop-ups have a first option "Keep this menu up" or an icon of a pin, to keep it on screen.

Many pop-ups show a help-balloon for most or all options if you put the cursor on the option. (This may need setting in the "Preferences" pop-up.)

The flaps: In a Project a.k.a. World window you will see a number of flaps at the sides of the screen. If not, open the Worldmenu, click "flaps..." and click on the squares beside the options. This displays the flaps (or takes them off the screen).

There are seven standard flaps on the "flaps..." menu:

Navigator
Squeak
Supplies
Widgets
Stack Tools
Tools
Paint

For more see the text.

You can open any flap by clicking it's handle, and close it by clicking the handle again, and resize it by dragging the handle.

All of the flaps open windows that are partially see through and that serve as containers for options and stuff - text, pictures, buttons, program code, you name it - you might want to use and keep in a store.

By dragging any item in a flap onto the screen, you put a complete working copy of it on screen.

Morphs are parts of the Squeak Environment that you can send messages to and attach program code to.

You can pick up and drag any morph with the mouse, and in generally do many things to and with them you can NOT do with parts of the screen in other environments.

Morphs are one thing that makes Squeak so special and powerful: Almost anything you see in a Squeak Environment either is a Morph or can be made into a Morph.

What you can name or select in Squeak you can alter and program systematically.

There is a Morph Catalog in the Widgets flap that lists many morphs and lets you put copies of them on the screen.

Halos and morphs: With any morph indeed a lot of possible behavior and appearance-changes is possible, and Squeak has a very neat way to deal with this: Move your cursor to a morph and do Cmd+Click on it: It will suddenly show what's called a halo of buttons around it each of which when clicked triggers some behavior of the morph or changes some aspect of it.

Any morph has a halo, and every halo belongs to a morph.

Halos are activated by Alt+LeftClick on a part of the screen.

You can successively click to series of halos in case you are in a so-called sub-morph i.e. a morph inside another morph.

Halos are de-activated by clicking anywhere outside the morph.

Halos contain a collapse button: The upper left circle. Clicking collapses the morph to a bar on the screen.

Halos contain a remove button: The upper left cross. Clicking it removes the morph to the trash bin.

Halos contain a drag button: The middle button in the upper row. Clicking it allows dragging the morph over the screen.

Tools: If you click the Tools flap, you see a list of tables that include Workspaces, Transcripts, Browsers, Filelists, and Preferences.

Painting: Squeak contains a basic Paint program that for all its simplicity is quite versatile. The Paint flap starts it. (It also can be started from the Navigator flap).

(This is a revision of material on the site of : http://www.xs4all.nl/~maartens/ )

Previous - The Squeak Environment