The newly-launched Microsoft Kinect has been causing a lot of excitement in hacker circles since its recent launch, due to its open interfaces, and the Smalltalk community has already got some great uses of this device.

The Kinect is a device, intended to be used as an accessory for the X-Box, which interprets 3D scene information from a continuously-projected infrared structured light, allowing live controller-less interaction by interpretation of movement and posture. This makes it a great complement to existing project teams working in Smalltalk.

Ricardo Moran was a member of the team from the Grupo de Investigación en Robótica Autónoma at CAETI in Argentina who won the 2010 ESUG Innovation Technology Awards with Physical Etoys, their Arduino-based interface to Squeak which allowed them to monitor and control robots as they drove round the conference hall. They spent their prize money wisely, buying a Kinect! Building on the work done by Stephen Howell in getting the Kinect working with Scratch (a visual programming environment developed at MIT), they have now shown how to use the Kinect to control activities in Etoys, using the existing OSCeleton framework to provide the skeleton interpretation interface. Their approach is documented in more detail on their blog.

Another approach to integrating data from the Kinect is that taken in Nikolay Suslov’s separate and equally impressive implementation which uses the lower-level OpenKinect driver to access the raw colour and depth information and pass this into his bespoke Krestianstvo images, where he then does the detailed video processing and interpretation in Smalltalk, which reduces his reliance on external, platform-specific code. His blog gives more details of his implementation as well as source code, and pre-built images.

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.

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.