Home Site Stocks Machine

Squeak - the ultimate tool
for the advanced information worker

You searched long for a program with which you can do everything? The answer for you may be Squeak. Squeak is a combined programming and desktop environment, which is its own self contained world that is build purely of Smalltalk, arguably the most easiest to learn programming language. So you can use Squeak's existing programs, objects and facilities, modify them or combine them in new ways and build your own personal application. This is done by coding with the fully object oriented language Smalltalk or by interactively creating, manipulating, scripting and browsing objects on the screen.

Introduction to Squeak

Squeak = programming Smalltalk +
manipulating Objects + creating Multimedia = Fun

This screenshot of Squeak tries to demonstrate a few of its unique aspects. Everything on this screen is an object. That means it is alive, not just some pixels in the graphic memory, and thus it can receive messages and react to them. With the mouse you can bring up the halo, a graphical menu, for every screen object. In this case the system window labelled "Project-B" shows its halo, and had been clicked on its debug-button, which brought up an Explorer, a tool with which you can inspect the whole data structure of an object hierarchically. It enables you to get to and change every object of the whole system. The screen shows that Project-C is contained in Project-B which is in Project-A, and the Explorer allows you to send messages to them, in this example to Project-B.

Messages do not only result in answers, but in actions of the objects themselves - like the Boy becoming smiling. Of course Squeak also offers ordinary menus, buttons and so on to do something, so you don't have to type in messages for everything. A fusion of both is the scripting tile, with which you can assemble real programs. Here you see a tiny program with the single tile at the bottom, which makes the Workspace rotating.

Not shown is the standard way of programming. You are able to browse and change Squeak's complete code with many browsers, debuggers and inspectors. For instance you are able to change instantaneously what exactly happens on any single menu click of the whole system. A Squeak program is simply some lines of message sending like the shown examples, and the scripting tiles will help you to learn programming. It is up to you, which level of programming you want to achieve. You can just browse projects from others, create your own ones and use Squeak's existing programs. Or you start to build your own little programs with scripting tiles - this is accomplished by 10 year old kids, make changes to the system here and there and finally arrive at your very personal program.

The other world

In the computer world of today you are accustomed to start programs in a screamingly animated environment - the operating system's standard desktop - where you find a messy mass of occasions to click on, being able to initiate lots of activity. This appearance disguises that you can only run programs rigidly as they come out of the box; a black box as it turns out. Changing them means programming, and programming yourself is hard, because you would have to descend to another world - the isolated hades of the programmer. In the world you know there is no possibility to combine existing parts or to change existing programs beyond clicking on and off some options. There is no chance to get to your data in a direct manner other than through prefabricated programs and their often proprietary data formats.

Effectively this glamorous world captured your data, and you are thought to be the trained monkey who is allowed to be clicking down the beaten path. The latter may sound exaggerated, and it surely is in many cases, but companies like M$ are having thousands subtle or not so subtle tricks to remotely control their cash deliverers. Many useful options and functions, which could have been programmed easily, are left out on purpose, and much nasty behavior is intrinsic to commercial software.

Current software is usually divided in the three isolated worlds Program, Data and guess what, you - the User - are the third world. For big companies these three worlds are lined up: programs first, users last. Their main design goal in program development is to control your computer, your data and therefore you, forcing you to buy the next upgrade and educating you to be a willing victim of ecommerce. That such programs are imposing security and privacy risks on you is unimportant. Users are only important in the sense, that not too many understand this scheme. You don't believe this? Look at open source software, which has much less inherent security risks, which uses open data formats and which is free. So open source doesn't want to control you, but it usually consists of exactly the same three isolated worlds.

Highlights of Squeak, the integrated Smalltalk Multimedia environment

Let's start with some general qualities: Some more specific facts: Who should be interested in it: Something more technical:

And finally some especially for the beginner selected Squeak links to get started.


Home ии System ии Machine