Squeak Smalltalk

Squeak is a free, OpenSource version of the SmalltalkLanguage.

See http://www.squeak.org

Although Squeak was led by AlanKay, it isn't the definitive SmalltalkLanguage. The goal of Squeak is not to recreate Smalltalk-80, but to start with Smalltalk-80 and then move to the next level. Squeak supports the ModelViewController (MVC) model, but the preferred UI framework is called "Morphic" (MorphicInterface), and is based upon the framework of the same name developed for the SelfLanguage.

(It's important to note that Squeak's use of Morphic hasn't the slightest resemblance to Self's. As far as look and feel go, they might as well be radioactive napalm and life-giving water. Given Squeak's misuse of direct manipulation and the sheer ugliness of its default look, UI design can't possibly have been a consideration. In fact, the radically different UIs in Self and Squeak prove just how little importance using a particular framework makes to the end user. -- RichardKulisz)

Other Squeak sites:

Note that several of these sites are running on Squeak.

The Squeak wiki, the mailing list, and Squeak People (URLs above) are all good places to go to see what's been happening in the Squeak community lately. The main squeak.org site isn't updated very often (which is probably silly :).


Interesting testimony about choosing Squeak (over JavaLanguage): http://developers.slashdot.org/comments.pl?sid=52080&cid=5170468


DanIngalls, TedKaehler, JohnMaloney? and others at Apple research (now at DisneyImagineering) have implemented a Smalltalk virtual machine in an easily transliterated subset of Smalltalk and have converted this into executables for Macintosh computers. Subsequently there have many ports to all sorts of machines and OperatingSystems, including MicrosoftWindows and most flavours of Unix (notably Linux).

Others around the net have repeated the process for a wide variety of machines. StephenPope? hosts a mailing list, archive and mirror for sites where these highly compatible implementations can be download.

Many of Squeak's original implementors followed AlanKay to DisneyImagineering where they continued to coordinate Squeak's development. Now, according to a link on the AlanKay page, he and others have left Disney. Does anyone know where they ended up?


The license is at: http://www.squeak.org/license.html. It looks like an open-source license, in that you are free to use and modify it in commercial and non-commercial settings, but if you release modifications to the virtual machine or the base classes, you must make them available in source form over the internet.

Plain English Examples of License Terms

Our license agreement contains conditions intended to keep Squeak open and available to the user community, while allowing users to do useful things with Squeak. You will see the license once you begin installing Squeak. These following examples are provided as illustrations and are not legally binding. See the license for the real terms. To the extent that the examples and the license conflict, the license will govern.

You are allowed to change Squeak, write extensions to Squeak, build an application in Squeak, and include some or all of Squeak with your products. You may distribute all of these things along with Squeak, or portions of Squeak, for free or for money. However, you must distribute these things under a license that protects Apple in the way described in our license to you.

If you modify any of the methods of class objects (or their relationships) that come with Squeak (as opposed to building on top of what we provide), you must post the modifications on a web site or otherwise make them available for free to others, just as we have done with Squeak. Our license to you explains how you must do this.

The same is true if you port Squeak to another machine or operating system - you must post your port on a web site or otherwise make it available for free to others under the terms described in our license to you.


Now that I'm finally getting used to Smalltalk from working in PocketSmalltalk, I decided to come back and give Squeak a try. It is still ugly, but I'm more forgiving now (and I'm trying to figure out how to for the Xserver to run in an 8bit grayscale mode). Now, I think, this thing could almost be an OS by itself. Which of course was the original DynaBook idea. So, who wants to help me port squeak to run on linux's frame buffer console, and make it so that it can use raw partitions for data storage?

raw partitions for data storage??? Maybe a filesystem optimized for small files like ReiserFS, on Linux, would be more appropriate, so you do not have to implement (reinvent) your date storage mechanism.


I just downloaded it. It is very cool. I like the fact that it does MIDI. I used to write a lot of fun little C++ programs to read and write MIDI to my keyboard.., automatic composers, harmonizers, software delays that with periods of about an hour which frighten the dog and houseguests. C++ never seemed liquid enough for some of what I wanted to do.

Very cool. I haven't sat this close to Smalltalk and known what it is before. It feels like an operating system. I got the book SmalltalkTheLanguageAndItsImplementation to get started. I like the fact that Squeak is starting at Smalltalk-80 but there are plans to move on to new things. It feels like I'm packing for a trip I've been looking forward to. -- MichaelFeathers

Exactly! I got butterflies. And that was before I only found out yesterday that Smalltalk actually did start out (around the same year I was born, for goodness sake) as the OS for Xerox PARC's very very early 'Alto' personal computer. Amazing. -- RichardEmerson

Very cool. The paper at ftp://st.cs.uiuc.edu/Smalltalk/Squeak/docs/OOPSLA.Squeak.html is worth a read, even if you never use the language: Wiki people might like their approach to development. -- MartinPool

Get free Web space for your Squeaklets at http://www.squeakspace.com -- FridemarPache


Has anyone thought about the effects of Squeak's "different" looking GUI has on its chances of becoming more popular? It's a really cool language and environment, but it must be the ugliest GUI I have seen, ever. How many people download Squeak, start it up, look at the graphics, and then shut it down directly? I enjoyed a few hours playing with it, but if I hadn't known Smalltalk before I surely wouldn't have given it a chance. Sadly, first impressions do matter. -- AndersBengtsson

In version 2.8, things look a bit better if you switch it to the Morphic world. In 3.0, things look a look a lot better. Now that Morphic is default, I finally find information on some mods that make MVC downright good looking. Sigh. Anyway, Morphic could be much better. Thankfully, there is a lot of support for themes, but that still doesn't help with the first impression, it just makes it easier on the eyes of us who decide to stick it out. See http://wiki.squeak.org/squeak/1008.

There seems to be a project called "cheese" that implements Squeak's GUI with native widgets. Or, at least, I saw a screenshot of it on the screenshots page. -- AnonymousDonor

I like the spartan quality of the Squeak 3.0 user interface. And all the source code is there, so if you want to make it fancy, it shouldn't be too difficult. But it does leave one wondering if it would be possible to develop a "marketable" piece of software with it without doing a lot of work on the UI. -- KrisJohnson


AnswerMe: Would it be unfair to say that Squeak is not up to application development? Has anyone out there actually participated or even heard of an application being developed in Squeak? Does anyone use SqueakSmalltalkForRealWork?

"Ohshima: I come from Japan. A student of technology. I wrote Squeak for Sharp PDA?? with 320x240 color display. This has a scheduler and other base functions. This has a serial port and infrared port. I can get PPP?? by cellular phone or telephone line. This can record sound. The other important feature is a card with a camera. (Takes picture of audience´┐Żapplause, cheers). The price range is $700-$1000. (Can you shave with this?) The person at the registration desk said "Wow, you are James Bond!" This has 70% of Japanese market..." http://jeffsutherland.org/oopsla98/squeak98.html [Would this count? Are the capabilities of this PDA Squeak-enabled? I know the Japanese student ported Squeak to the PDA, but I don't know if the applications he talked about were done with Squeak. The transcript isn't very clear.]

Here is an example of a standalone application http://wiki.squeak.org/squeak/1976

That's a pretty weak example.

How so? I think the idea was to demonstrate that you can use SqueakSmalltalk to produce standalone applications. I grabbed the tarball for my system, and, sure enough, it worked.

It's not exactly what I would call an 'application'. The real question is whether the average organization could make money developing software with it.

Your real question is "Can I make more money developing software with Squeak than with whatever tools I'm using now.". The answer is probably "no". But Disney has supposedly been using it for real-world applications. Check the link on the AlanKay page. -- KrisJohnson

Also note that several of the Web sites listed at the top of the page are running on Squeak-based Web servers.

There is actually a page on the main Squeak Swiki called "Production Squeak" which lists various applications which have been written in Squeak: http://wiki.squeak.org/squeak/556.

In short, there are not a lot of people developing standalone applications in Squeak right now (more people use it for research, teaching, and learning), but there are some people doing this. The number of people developing standalone apps should increase further as Squeak proceeds in its modularization/partitioning effort, and new applications appear on the SqueakMap registry. --DougWay

OpenCroquet a distributed VirtualWorld? somewhat like SecondLife was developed using squeak, it is a very significant project. http://www.opencroquet.org/index.php/Squeak explains some of their reasons for choosing squeak. --AndrewMcMeikan


For two introductory books (as drafts) see/review http://coweb.cc.gatech.edu/squeakbook.

Wiki denizens might be most interested in the chapter "Embracing Change with Squeak: Extreme Programming (XP)": http://coweb.cc.gatech.edu:8888/squeakbook/uploads/xp.pdf.


(9-Feb-2003) This page was last edited nine months ago. What's the latest on the future of Squeak? The Squeak.org page hasn't updated its "where is squeak headed" section for years. Google doesn't reveal a lot of current activity. Is Squeak slowly dying? IsSqueakDead?

(19-Feb-2004) SqueakIsNotDead?, there is a lot of activity. Look for example here: http://people.squeakfoundation.org/.

Someone please Squeak up.

Dead? Hardly! The Squeak community has been furiously active lately, but virtually all of the effort has gone into improving the contents, not the box. The main Squeak site is certainly long overdue for updating, though with Squeak advancing so quickly the website will seldom be truly current. The various Squeak mailing lists are the best place to look for info on what's hap'nin' now. -- gf

Squeak will soon be on millions of laptops, since eToys will be built into OneLaptopPerChild's first release.


In the moment I saw the Squeak webpages and the interface I really squeaked out ("Argh, my eyes!" most of the time). I mean what is this for instance: http://www.squeakland.org/ ? They should either get a good designer to brush up these designs - or just switch to a google-like approach of simple design. Well I know that design is not everything, but people who see those pages will just run away. -- Thomas Veil


I think generally, the hyper-colourful Morphic looks beautiful. I'd love to work there. But why the hell can't they accept that

a) 99.9% of the population don't have a three-button mouse and don't want to learn how to map Red / Yellow and Blue onto combinations of keys and mouse buttons. (Nor, are they likely to be impressed by the helpful suggestion of the intro tutorial to buy a new, 3-button mouse.)

Basically LateBinding is a wonderful thing ... when the computer does it. But the Squeak interface wants the benefit of late-binding your hardware to an abstract interface model, where the user has to remember the transformation between the two.

b) there are symbols which have become conventions for "open", "maximize", "minimize" windows. Windows uses them, Linux uses them, I'm pretty sure Mac has something not too unintuitively disimilar. My suspicion is that Squeak loses 50% of it's audience the first time people actually try to maximize and then minimize the windows and find they don't work "normally". Of course, we can learn to get over this, but it screams that this is going to be complicated and difficult to use - if even the windows are difficult, what about the rest of it?

-- PhilJones


Does the name "squeak" derive from the noise made by a certain animal, an animated rendition of which turned AlanKay's previous employer into a wealthy and powerful media company?

No, it was called "Squeak" before the team joined Disney.

Hmmm.... Question: 1 Comprehension: 0. Correction to the above -- YES, it is named for the sound that a mouse makes, of which Mickey is a rendition of. :-) --SamuelFalvo?


See also: LearningSqueak, SqueakAlice, SqueakSmalltalkForRealWork, ExamplesOfEscapingComplexity, SqueakEe


CategoryProgrammingLanguage CategoryLanguageImplementation CategorySmalltalk CategorySoftwareTool CategoryHypercard


EditText of this page (last edited December 31, 2009) or FindPage with title or text search

Meatball