Squeak running on iPad

17 June, 2010

Bert Freudenberg has recently got Squeak working on the iPad, and has the video to prove it!

Bert’s work is based on John McIntosh‘s original port of the Squeak Virtual Machine to Apple’s touch-based OS, modified slightly to enable multi-touch and keyboard input. Bert also added multi-touch handling to Morphic. Interestingly, he notes that “Morphic was designed to handle multiple ‘hands’ (pointing devices) from the beginning”, so Squeak has always been multi-touch capable, and just let down by operating systems until now!

Bert’s work will help the Etoys team prepare their application for the next machine from OLPC, the XO-3, which will also be a touch device. The new version of the Sugar OS for the new device is still being developed, so it looks as though Etoys is well ahead of the curve.

Given the recent changes to Apple’s licence terms for iOS developers, it’s looking increasingly likely that we will see Squeak-based applications appearing for the iPad in the future. After a forty year wait, the Dynabook is nearly here!

Joachim  Geidel has published a preview release of JNIPort, a Smalltalk library which allows Java code to be invoked from Smalltalk. It acts as a bridge between the world of Smalltalk objects and a Java Virtual Machine (JVM) where Java code is executing.

The port to Pharo and Squeak is not yet finished: it lacks support for callbacks from Java to Smalltalk, and is a work in progress. Joachim is particularly interested in feedback from Squeak 4.1 users.

JNIPort was originally written by Chris Uppal for Dolphin Smalltalk and published under a liberal licence which permits its use in commercial and non-commercial software. Joachim Geidel originally ported JNIPort to VisualWorks in 2006 and is now building on that work to make it available to Pharo and Squeak. The goal is to publish a stable release for VisualWorks, Pharo and Squeak in Q3/2010.

In addition to giving Smalltalk programs access to Java libraries and services, the interactivity of Smalltalk makes it an ideal environment to experiment and prototype new Java functionality.

Once it’s installed, calling some Java can be as simple as three lines in your workspace:

jvm := JVM current.
class := jvm findClass: #’java.lang.System’.
class currentTimeMillis_null

Installation instructions documentation and much more information are on the JNIPort Wiki.

Juan Vuletich has been working for some time on Morphic 3, a research and development project aimed at building the next standard in 2D user interfaces. One of his aims is to do mathematically proved alias-free rendering. In order to achieve these objectives, he has been experimenting with several techniques and design features, some which are new and others are not, but have never been consistently applied to a 2D GUI.

Juan’s contention is that, although the theory behind sampling is about 80 years old, existing graphics software completely ignore the theory and that his quest for higher quality results has resulted in the idea of applying the Sampling Theory which allows for mathematically proved alias free rendering. He informed the squeak-dev mailing list of his latest post which makes the startling claim that “I developed new drawing algorithms that give better results than those in Cairo, AGG, etc.” and he has created some examples showing some of the problems with existing algorithms, and how his approach improves these issues.

Juan is preparing the algorithms for release, which will involve him publishing it in a  journal or as a Ph.D. thesis, and securing it for free use by either putting the code in the public domain or releasing it under the MIT licence.

Juan’s work on Morphic 3 is supported by ESUG’s Support Your Project programme.

Follow

Get every new post delivered to your Inbox.