Help -
The Squeak Environment - 7. What you can do with
the environment?
Previous -
The Squeak Environment -
Next
The brief answer is: Absolutely everything a computer can do - in a
comparatively easy and pleasant way. But indeed "everything a computer can do"
is a lot, and will take a lot of learning - although it deserves stressing that
"learning" with a computer is for a considerable part playing with it, in a
somewhat systematic mood.
So here I will be concerned only with the most basic and universal elements in
the Squeak Environment:
The project
The mouse
The pop-up menus
The flaps
The key-board
The project: In Squeak, in fact you are always inside some project, which
basically 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 mouse: The Squeak Environment is built around using the mouse. You can
select many things on the screen, and click, double-click, Alt-click, resize,
move, close, and collapse them (where "collapse" means: keep on screen in a
reduced form, as this textwindow when you click the righthand circle in the top
bar).
In part, this concerns textwindows, browsers, and other stuff we shall learn
more about, and is connected to windows you see on the screen.
More complicated options for the mouse follow:
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 project windows when
left clicked come with a World Menu (or Project Menu). This gives access to many
other pop-ups. These we shall meet later in this User Manual. Here I only note
you can get rid of a pop-up by clicking outside it, while you can keep it on the
screen by clicking its first option "Keep this menu up". Most pop-ups have this,
and so you can put a lot of pop-ups on your screen to survey the very many
options you have and get some help. Also most 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, that's briefly discussed in the following subject.)
The flaps: In a Project a.k.a. World window you will see a number of flaps at
the bottom of the screen. If not, open the World Menu, click "flaps..." and
click on the squares beside the options. This displays the flaps (or takes them
off the display).
There are seven standard flaps on the "Worldmenu-flaps..." menu:
Navigator
Squeak
Supplies
Widgets
Stack Tools
Tools
Paint
The Navigator flap on the bottom of the screen contains "PREV" for "Go
to previous project" and a version of the "Make a painting" flap. This last one
we shall return to in the next lesson in this User Manual. Also, this option
contains "Escape browser" which in fact means Squeak takes over the full screen.
Here we turn first to the six flaps, and discuss them briefly.
How to work with the flaps
First, 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.
What are these flaps? 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.
You can drag things on screen to a flap, and drop it into the flap, and close
the flap as if you had put the thing you dragged there in a cupboard. Reversely,
by dragging and dropping any item in a flap onto the screen, you put a complete
working copy of it on screen. And some flaps hold more specific options. Here is
a basic survey:
Navigator
This pops up if you mouse over it, and contains the following, all with their
help-balloons
Share
a project
NEW
project
NEXT
project
PUBLISH IT
project
Newer?
project
Tell!
a project
Find
a project
Escape Browser
Make Squeak take over the full screen
Hide Tabs
Hide flaps
Paint flap
Start a new painting
Undo
Undo last command
NEW
project
Only a few deserve any comment here and now: "Escape Browser" does as the
explanation says (no more Windows stuff visible!) and can of course be undone;
"Hide Tabs" still follows an alternative naming convention for flaps; "Paint
flap" starts a simple program to paint with, that for all its simplicity is very
handy and elegant; "Undo" can be shown by picking up a morph (see below under
"Supplies") with the mouse, putting it elsewhere on the screen and clicking
"Undo", and "NEW" very simply and neatly starts a new project.
Squeak:
This flap contains a number of options that I list here for brief comments:
< Go.. >:
An easy way to shift to another project.
Snapshot:
An easy way to save the whole state of the Squeak system. See
image.
File out changes:
Puts your latest programming work in a file on disk.
Clock:
An active clock showing the current system time.
Preferences:
Pops up a window in which you can set very many preferences.
Load code updates:
Get the lastest code-additions to Squeak from the internet. (You need be
connected.)
About this system:
Shows you how many code-additions you have loaded from the net.
Trash bin:
Contains what you have deleted, ready for restore or definite removal.
Doubleclicking on it shows its content plus a little help.
There is more to say on each option. All I say here is that the Go switch is
convenient, and saving your image OFTEN helps not loosing your work.
Supplies:
This flap contains more morphs about which more will be said later.
However, here is one very important point about morphs.
Open the Supplies flap, select the star with the mouse and drag and drop it
somewhere on your screen. (If you check Supplies you will see you have indeed a
copy, not the original.)
If you click this star it shows a shadow, and you can grab and drag and drop it
with the mouse. This is what you can do with any morph, and the star indeed is a
morph.
Furthermore: With any morph indeed a lot of possible behaviors and
appearance-changes are possible, and Squeak has a very neat way to deal with
this: Move your cursor to the star and do Alt+LeftClick on it: It will suddenly
show what's called a halo of buttons around it. Like so:

This halo of buttons suddenly opens very many possibilities for this simple
star, one of which is by way of the lower right hand button, by which you can
resize it, or the lower left hand button by which you can rotate
it , or by the
button above the resize button, with which you can change its color.
Try these, for while both are very simple examples of what you can do with
Squeak that show things other environment just cannot do with what they display.
Any morph has a halo, and every halo belongs to a morph. About halos and morphs
there is much more to say, which will happen later. For morphs are one of the
great new things of Squeak, and the halos are a new way of communicating with
morphs.
Here just three more basic things about halos and morphs are mentioned, all
important and all making life with Squeak a lot easier:
Halos are activated by Alt+LeftClick on a part of the screen. (This part may be
itself be a morph that is part of a morph, so in fact 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.) And 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.
remove button:
The upper left cross. Clicking it removes the
morph to the trash bin.
drag button:
The middle button in the upper row. Clicking it allows
dragging the morph.
copy button:
The upper right button. Clicking it gives you a copy.
So at this point you have already learned that the screen the Squeak Environment
offers you many more capacities than ordinary environments, where parts of the
screen are usually far less versatile, programmable, alterable, or open to
thought and change by the user.
Widgets:
This flap is a collection of useful morphs. As before, a copy of any of them can
be dragged onto the screen and played with. The most comprehensive of these is
the Morph Catalog, which is a sorted list of morphs available to you in the
current Squeak. Some of these will be discussed later on.
Now for some morphic fun and beauty!
Open the Widget tab, and get a Morph Catalog on your screen. This is in fact
list of lists of morphs you can easily search through by clicking.
Use the Morph Catalog to find the 3-D morphs for a moving 3D-cube and the
several magnifiers (round and rectangular) you can use to magnify arbitrary
parts of the screen.
Since these are morphs grabbing them with the mouse is sufficient to put a
working copy on your screen. If you do so, you will liven up your view with
things other environment cannot do at all or not as well - and I have just
explained how to collapse or remove these if you're tired of them. (The
magnifiers are stunning with pictures on your screen to magnify. Moving your
mouse while having a magnifier indeed turns it into the likeness of a real-life
mirror or TV-screen.)
Stack Tools:
This flap contains morphs for a HyperCard system. Hypercards or a hyperstack are
textwindows with hyperlinks to all manner of relevant material, and Stack Tools
gathers the basic bits and pieces. I will say more of it later, and show and use
these, for in fact hypertext is a very useful new way to deal with text and
illustration in a computer. Incidentally: Html is another form of hypertext.
Hypertext is text on a computer that contains links (urls in html) to other
files, with supplementary information.
Incidentally, "morphs" are parts of the Squeak Environment that you can send
messages to and attach program code to. The word is derived from the Greek, in
which it means "form". You can pick up and drag and drop any morph with the
mouse, and in generally do many things to and with them you cannot do with parts
of the screen in other environments. Morphs are one kind of thing that makes
Squeak so very special and powerful - for in fact 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.
This is a very fundamental feature of Squeak, and one that is missing in almost
all other computer languages. (The exception is the programming language Self,
which is a precursor of Squeak.)
Tools:
If you click the Tools flap, you see a list of tables that include Workspaces,
Transcripts, Browsers, Filelists, and Preferences. All of these will be
discussed in what follows, and mostly belong to the art of coding with the
Squeak Language. (Meanwhile, you can look at any of these, for these too are
morphs, and you can get rid of them by their x-remove buttons. Nothing will be
lost if you do so.)
Painting:
Squeak contains a basic Paint program that for all its simplicity is quite
versatile. The Paint flap or the Navigator tarts it , and the next part of the
User Manual will describe it in a little detail. (It also can be started from
the Projects flap on the bottom of the screen.)
What went into the design of the present project?
Compared to what other environments show you, in fact in this first lesson to
Squeak, you will have seen a lot of rich detail and niceties missing in other
environments. Yet what I have done is all very easy and can at this point be
easily done by you. Here are the steps and a brief explanation:
Making a project
Getting a workspace
Writing the text
Making Drawing
Setting Background
Making a project: A project is a full-screen window in which there is whatever
Squeak enables you to put into the project - text, drawings, music - it's up to
your ingenuity and time. A new empty one is very easily started from the World
Menu - projects - create new morphic project. This will make a new
project-button for you, which in fact is a thumb-nail of the project-window.
Getting a workspace: This is as easy as opening the Tables flap and dragging a
Workspace on the screen. (It's explained above how you resize, recolor and
rename it. Precisely the same goes for the Project windows.) Or as easy is
putting the cursor in the Project window outside a morph and typing Alt-k.
Writing the text: For this all you need is something to say, a facility to say
it well, and the handiness to type. These are all up to you, and typing you will
have to learn and will learn by doing it (with or without the help of some
program). There is one problem with Squeak-as-is: The key-board does need some
getting used to, and is a bit different and in part less slick than is a Windows
text-editor. Also, on the moment Squeak has fewer fonts available than one would
wish. The available fonts and the keyboard handling will be soon improved, and
there is a convenient workaround for those writing long texts: You can do it in
any editor you please; save it as text or html; and then load that into Squeak.
This you can do by a filelist or by Scamper - and a filelist is indeed a list of
files from which you can choose, much like MicroSoft's Explorer, while Scamper
is Squeak's internet browser and displays html.
When writing long texts I found this more convenient - but all of the present
text has been typed inside a Workspace inside Squeak in the first version. After
having done that I have copied the result to my html-processor, and re-edited it
some and added the last section of summary points, saved the result to disk and
loaded it back into Squeak - which illustrates that while all things a computer
can do can be done inside Squeak, Squeak also makes it perfectly easy to work
interactively with other programs at the same time.
Finally, the coloring of the text in the Workspace is done by way of the menu
popped up when pressing Alt-6 i.e. "Alt" plus "6", while the size is set by way
of Alt-a (select all text) and Alt-k (font-size).
Making a drawing: Here I used the Paint program of Squeak, which will be more
fully explained in the next lesson. All I did was in fact to use a tool to paint
stars, resize the drawing, and drag it about to a convenient place.
Setting Background: One of the many things Squeak is is a Graphical Programming
Environment. It is very easy to work with pictures, drawings, bitmaps and the
like in Squeak. To set a background all you need is to open a filelist on a
gif-file, right-click on it for a pop-up window and use the option "open image
as background".