This question was asked recently on The Weekly Squeak blog. They asked, “Is it a toy or an instrument?” This was inspired by a discussion on the Squeak developers mailing list. The discussion got started when someone posted their concern that Squeak is perceived too much us a toy, in a derogatory sense. People take one look at it, and it looks like something a kid could play with, but no serious developer would consider.
It’s a fact of life. Image can create prejudice against a perfectly good technology. It’s happened to the best of them. Apple Computer went through this. Even though it was going gangbusters in the late 1970s, it hadn’t really managed to penetrate business. Companies just didn’t trust Apple. When IBM came out with its PC, businesses took a second look at microcomputers, and Apple sales actually went up as a result. The carefully crafted image of IBM helped legitimize the microcomputer platform in general.
Atari and Commodore, who used to be in the microcomputer business, were perceived by their more popular offerings. Atari was big in video games. Commodore was big in cheap microcomputers that a lot of people played games on. When they came out with more powerful machines: the Atari ST, and the Commodore Amiga, they were generally perceived as game machines. I can remember that even Consumer Reports called them that. As machines they were much more capable than the IBM PC or Apple II (though the IIGS caught up on many fronts). The Apple Macintosh, released one year before the ST and Amiga, was also very capable, more so than a PC, but lacked a color display at the time.
The Mac found a niche with graphics artists and publishers. They liked its expressiveness and its graphical capabilities. The Atari ST managed to find a niche with musical artists, because of its best-in-class MIDI capabilities and supporting software. The Commodore Amiga found its calling in multimedia, media production, and video editing.
The niche that Smalltalk seems to have found (I’m basing this on people’s comments in discussion forums) is in very high-end applications, and specificly financial analysis.
Getting back to the discussion, some said, “Yes, it’s a toy,” in a non-derogatory sense. They like that it’s fun and encourages experimentation, like a toy does. Alan Kay chimed in, saying it was more like an instrument: one can “mess around” with it, or get into the realm of art and produce serious work. He said this was the intent that went into designing Squeak.
This is an interesting point. Many developers think like artists. I count myself as one of them. So an “instrument” is appealing. Depending on the user, they may like the idea of using an instrument, or not. A lot of home and educational users would probably like the idea, so long as the instrument is not too complicated. A lot of business users, however, think of technology as a machine, almost in the industrial sense (think masculine): something that does useful work, can handle massive amounts of “material” (data) efficiently. It can store massive amounts of it, “slice it and dice it”, and produce tables and charts. An “instrument” to them is fragile, and would be unable to handle “the load”.
It doesn’t matter if this doesn’t match reality. Perception matters.
In the discussion some complained that Squeak needed a “decent interface”, and that outsiders have been turned off by Squeak’s UI, which is unlike Windows or Mac OS X. Some follow-on messages got into the perception of Squeak. This is only important if anyone is interested in Squeak being adopted more. I certainly am.
A good point made by one respondant was that if you’re interested in making Squeak look like a more popular UI, people should check out wxSqueak, which interfaces it with the open source, multi-platform wxWidget library. It provides a more native UI look and feel to Squeak programs, depending on what platform (Windows, OS X, or Linux(?)) it’s running on.
This is a definite possibility. I was wondering recently about how to create Smalltalk programs in Squeak that would reach a wider audience of non-Squeakers. This is one solution. Another is one I pointed out earlier, the Squeak-.Net bridge. Just presenting all of the options. If you’re looking for a cross-platform OS-native UI solution, wxSqueak would seem to be the way to go.
Some said Squeak is a development platform: a VM, a set of APIs, an IDE, etc.
As for me, I think Squeak is a universal platform. It can be your desktop environment, complete with multimedia features, if you want it to be. It can be a web application server. It can be a behind-the-scenes VM for running desktop applications on another operating system. To say it’s just an environment in which one can experiment, or a VM, or a set of APIs and IDE, etc. is too limiting. It’s all these of things and more.
In homage to the idea that it’s an instrument, I give you this 😀 (Yeah, I’m a cat person. No I did not make this video. Just found it.):