Squeak on the iPhone!

11 June, 2008

John M McIntosh announced on the squeak-dev mailing list that “I’m pleased to say that I’m one of the 1.5% of the iPhone developer population that has been accepted to officially build applications for distribution via Apple’s iPhone Application Store.”

He’s prepared a 93-day plan to build a new fully documented Objective C based source tree to host the Squeak VM on the iPhone and in addition as a 64bit VM on OS-X. He’s already collaborating with Impara who are looking at adapting the Squeak UI to the iPhone’s multi-touch paradigm and platform widgets, and is looking for further support (and funding) for this work.

John is also looking to offer support for Squeak developers hoping to make their applications available through the iPhone Store, although he notes that Apple has a number of restrictions limiting the types of applications that can be made available in this way.

The screenshot above shows a “visually exciting” 3.4 image running on an iPod Touch, the result of 15 days’ work. John does sound a note of caution: the VM is currently running at a speed equivalent to a 233Mhz 603e PowerBook, and 64MB of memory use is pushing the Apple’s imposed safety limits right to the max, so developers may have to relearn all those optimisation techniques they may have forgotten in recent years!

Avi Bryant joined Gemstone’s Bob Walker at RailsConf last week for a presentation (summarised here) describing MagLev, a Ruby VM built on the same technology as Gemstone/S, offering transparent persistence, and so the possibility of massive scalability, to Ruby applications. Despite only being under development for three months, with the initial focus being on scalability rather than speed, MagLev is already able to run Ruby code at speeds comparable or better than established Ruby implementations, with orders of magnitude improvements in some cases.

The presentation caused lots of excitement at the conference, and has sparked lots of heated debate within the Ruby development community with some very different views of MagLev from Charles NutterGiles Bowkett,  Obie Fernandez, and Antonio Cangiano, as well as an article at Slashdot and posts all over Reddit.  Avi has a blog-post addressing some of the discussion, as does Patrick Collison.

For Smalltalkers, one particularly interesting feature of MagLev, from an interview with Bob Walker by InfoQ, is that it retains the ability to execute Smalltalk code as well as Ruby, and should support image-based development.

[Edit: Chad Fowler had access to MagLev well before the presentation, and so offers a more considered assessment of it]

The German Squeak Association (Squeak e. V.) had its annual meeting on May 17. For the second time, the meeting was hosted by the Software Architecture Group at the Hasso-Plattner-Institut in Potsdam. Before the official part, attendees of the meeting were given the opportunity to demonstrate their Squeak projects.

First, Tobias Pape and Arian Treffer, students of HPI, demonstrated SwaLint, a source code checker for Squeak. SwaLint is intended as a successor to SmallLint and, thanks to its flexible plug-in architecture, supports running SmallLint checks seamlessly. SwaLint can be configured in great detail: thresholds for all kinds of values can be set, and output can be filtered. Users can easily implement their own plug-ins for the tool.

Next, Michael Haupt (HPI) gave a brief demonstration of SqueakFS, which was implemented by Johan Björk and Eskil Andréen from Stockholm University, Sweden. SqueakFS makes the contents of a running Squeak image available as part of the file system. Currently, it is limited to read-only access, but the image can already be viewed from three perspectives: all classes as a flat collection, assorted by category, and by class hierarchy.

Robert Krahn presented SqueakSVN, which is an ongoing development effort in the Software Architecture Group at HPI. The purpose of SqueakSVN is to make Subversion version control available to Squeak developers; it is able to import Monticello projects. SqueakSVN will be released in June.

Martin Beck is currently working on his MSc thesis in the HPI Software Architecture Group. His work is dedicated to implementing NXTalk, a Smalltalk virtual machine for the Lego Mindstorms NXT platform. Development of NXTalk application takes place in a Squeak image, and assembled NXTalk images are transferred to the NXT for execution by the dedicated NXTalk VM. In the current state, simple images can be assembled and run: Martin demonstrated a program that can be used to steer a simple NXT bestowed with two motors.

The popular introduction to the Seaside web application framework that was produced at HPI was briefly presented by David Tibbe, one of its co-authors.

Robert Krahn had another appearance presenting the collection of games for the XO laptop developed by HPI students. All of the games are available for download as project or SAR files.

Finally, Carl Friedrich Bolz (Düsseldorf University), Adrian Kuhn (University of Bern), and Toon Verwaest (University of Bern) presented SPy, their ongoing effort to implement the Squeak VM in Python using the sophisticated PyPy tool chain. SPy is currently lacking GUI  and other I/O support, but is able to load images and run the tinyBenchmarks. Right after the Squeak association meeting, a PyPy development sprint in Berlin will, amongst others, bring new improvements.

After the official part of the association meeting, special guest Dan Ingalls gave a demonstration of Lively, his current project at Sun Labs. It looks and feels, admittedly, a bit like Squeak in disguise, but in Dan’s opinion, there is nothing bad about building the “same” system several times if it’s cool. That is certainly true for Lively.


On 15/16 May, the workshop on Self-Sustaining Systems (S3) took place at the Hasso-Plattner-Institut in Potsdam. An exciting event at a beautiful place, it featured invited talks by Ian Piumarta, Dan Ingalls, and Richard P. Gabriel, and five presentations of reviewed papers that approached self-sustainment from different angles.

Read the rest of this entry »

Noury Bouraqadi has some very exciting news for anyone interested in using Squeak for robotics. He writes on the mailing list that Squeak is now running on yet another platform: WifiBot robots. This work is a step towards both a smart software architecture that drives individual robots and  system that manages robots interactions and cooperation.

If you’re interested in being watched by crowds of robots as you work, Noury and his colleagues are now seeking a PhD student to contribute to this project. See the project website for more details.

One of the stumbling blocks for experienced developers looking at Squeak for the first time is the concept of the “image”. Many developers, especially from the UNIX world are used to managing their source code and other resources with a host of file-based utilities, including editors, archivers and change-management tools.

The Squeak philosophy that everything happens within the image can make the transition to Squeak painful for such developers, but there are tools out there to help with the transition. Two such tools were discussed recently on the #squeak irc channel.

Johan Björk announced the release of SqueakFS, which allows you to browse and search all objects contained in your squeak image from your local file system. SqueakFS is currently read-only, but the developers are interested in adding editing capabilities. The file system functionality is provided by a socket client built on top of FusePython. This client translates file system paths into squeak objects and queries a server running in the squeak image for details on these objects. In order to do this, SqueakFS uses FusePython for file system support and is dependent on both FUSE and Python and will only work on UNIX systems. SqueakFS has been developed and tested on Linux 2.6 and MacOS Leopard running on Intel systems.

Brian Rice pointed to another recent project, Stave, which mounts sources on a webDAV share, and so provides an editable WebDAV interface to Squeak’s class system. With the use of a WebDAV filesystem or a webDAV-enabled editor, this enables a file-based view on Squeak. Stave is intended primarily for use with external editors, and hasn’t been tested with search tools.


WavePlace 2

Hi everyone,
We’ve just posted two new videos from the St John Waveplace pilot, which concluded three weeks ago. The first shows mentoring during the pilot. The second shows students presenting their Etoys storybooks.
1) Scenes from the St John pilot (4 minutes)
2) The St John Storybook Awards (8 minutes)
We will be posting the actual storybooks to our website soon so you can see them for yourself.
In other news, the Haiti pilot will resume next week, since things have calmed down in Port-Au-Prince. The kids and teachers are well.
As always, if you’d like to hear more from us, please subscribe to our newsletter or donate money on our website to help with our courseware and pilots.
Take care,
Timothy Falconer
Waveplace Foundation


Squeak has just been ported to Syllable Desktop OS by Kelly Wilson. The Syllable project has an active community which aims to develop easy-to-use Free Software operating systems for the home and small office user. Syllable Desktop OS is a continuation of work on AtheOS operating system, which has been around for a few years, being originally inspired by the AmigaOS.

There are no video and sound drivers available yet, but headless Squeak programs run happily – the site has a screenshot showing the Seaside web application framework running in the ABrowser web browser. Kelly’s now looking for advice to get video working.

Dan Ingalls gave an interesting Tech Talk on the Lively kernel (best viewed in Safari 3 apparently) at Google a few weeks ago – what better way to (re)introduce our new board member?

Randal Schwartz and Leo

Don’t miss this fun new video from Randal Schwartz and Leo about Squeak, EToys and OLPC.  Randal builds a very nice car demo.