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.

Dynamic Web Development with Seaside

A print-on-demand, softcover copy of the book “Dynamic Web Development with Seaside” is now available from Lulu.

Seaside is an source framework for developing highly dynamic and interactive web applications, and makes building web applications as simple as building desktop applications. The book gives you all the instruction and support necessary to get up and running in all the popular distributions of Smalltalk, with separate chapters on Pharo and Squeak, Cincom Smalltalk, Gemstone/S, GNU Smalltalk and VASmalltalk.

The printed book is based on the free online version and the purchasable PDF version of the book, and will be updated regularly. The book costs around €28/£24/$40 and will be delivered within 3-5 working days, so order your copy now!

The authors wish to thank the European Smalltalk User Group (ESUG), inceptive.be, Cincom Smalltalk, Gemstone Smalltalk,  and Instantiations for generously sponsoring this book.

Squeak on Android

13 February, 2010

Andreas Raab has announced a new home for some work he’s been doing recently to port Squeak to the Android platform:

http://code.google.com/p/squeak-android-vm/

He’s aware that lots of things are still missing that would be required to support a full port (including text input and network support). But he’s still interested to hear if (and how well) it works for other Android-based cell phones. So if you have a Motorola Droid or or a T-Mobile G1 give it a shot and post some benchmark results.

Andreas reports that “performance on the Nexus One is about what one would expect: With roughly 1M sends/sec and 30M bytecodes/sec it’s not exactly rocking but it’s quite usable for most tasks on a mobile device. (Input is *terrible* though; Squeak’s UI is not made for fat-fingered clicks like mine :-)”

If you’d like to be added as developer, please send Andreas your Google Account email address so that he can add you to the project. But, he warns that “unless you know how to deal with both the Android SDK and NDK, Java, JNI, and the Squeak VM it will be a very steep learning curve”.

(Of course, for those of us still using iPhones, there also John McIntosh’s iPhone port of Squeak.)

Magma goes HA!

29 August, 2009

MagmaNode

Chris Muller announced release 42 of Magma to the Squeak-dev mailing list. Magma is a multi-user object database for Squeak and Pharo images and which provides transparent access to a large-scale shared persistent object model. Magma release 42 brings unprecedented scale and availability of persistent domain models to Squeak users.  In particular, a single logical repository can now be served from multiple servers simultaneously, each hosting their own physical copy which are kept constantly up to date automatically.

There’s lots more information, introductory material and documentation at the Magma homepage.

iliad

Nicolas Petton recently announced on the squeak-dev mailing list the first public release of Iliad, which is succintly described on the Iliad website as a “a flexible, lightweight but powerful Smalltalk web framework.” Originally developed on GNU Smalltalk, but ported to Squeak/Pharo, Iliad features:

  • standalone stateful widgets
  • nice urls with a simple routing system
  • simple API
  • easy to setup and deploy (no complicated configuration step)
  • javascript layer to update widgets using AJAX. If javascript is not enabled, the behaviour remains the same by making normal requests
  • support for the Magritte meta-description framework, for simple generation of views on data

Iliad combines elements of the other leading Smalltalk web frameworks Seaside, Aida/Web and HttpView2. You can find out more about the installation and use of Iliad by reading the documentation on the Iliad site, and on the GNU Smalltalk site.

back-to-the-future

More exciting conference news for Smalltalk aficionados: James Foster has announced on his blog that this year’s OOPSLA conference will include several tutorials with a Smalltalk theme including his “Back to the Future: Programming in Smalltalk” in which he will look at the “new” ideas from Smalltalk that are still influencing newer programming languages. He will examine some of these ideas and present a number of tutorial exercises that explore some of Smalltalk’s  fundamentally different approach to language design and object orientation, including the following aspects:

  • All values are objects, even integers, booleans, and characters (no boxing/unboxing);
  • Classes and methods are objects (supporting reflection);
  • The language has only five reserved words;
  • All control flow (looping and conditional branching) is done through message sends;
  • Programming is done by sending messages to existing objects; and
  • The base class library can be modified.

James works on Gemstone’s high performance product family based on Smalltalk, but intends the exercises to be relevant across different versions.

This year’s OOPSLA will be held in Orlando, Florida from 25 to 29 October, and will also be co-located with the Dynamic Languages Symposium, which will doubtless have lots to interest Smalltalkers.

On the other hand, if you’re looking for a European break this year, don’t forget that the 2009 International Smalltalk Conference, organised by ESUG, will be held in Brest, France, from 31 August to 4 September, and also has a great set of sessions lined up.

Follow

Get every new post delivered to your Inbox.

Join 46 other followers