21st Century Smalltalk

April 3, 2007

Croquet – A Vision of the Future

Filed under: Animation, Internet Evolution — pfisk @ 5:57 pm
croquet croquet
croquet croquet

Above are images from the The Croquet Consortium website.

Croquet is a powerful open source software development environment for the creation and large-scale distributed deployment of multi-user virtual 3D applications and metaverses that are (1) persistent (2) deeply collaborative, (3) interconnected and (4) interoperable. The Croquet architecture supports synchronous communication, collaboration, resource sharing and computation among large numbers of users on multiple platforms and multiple devices.

The Croquet Project is based upon Squeak and was started by (surprise!) Alan Kay, who also invented the Smalltalk language in the 1970’s.

I think that Croquet (like Smalltalk did before it) is showing us the future of human-computer interaction – but, I don’t think that hundreds of millions of people are going to install Squeak on their computers.

What will be available to a mass audience are Flash and/or WPF or WPF/e.

All three of these technologies have superb 3D capabilities – in fact, better than Croquet.

Of course, sessions will have to be connected – maybe by JSON encoded packages transmitted over a P2P network like Jabber.

Finally, you need scripting support that can describe 3-dimensional structures, similar to AutoLisp used in AutoCAD, and you need to send messages to objects – just like Smalltalk does.

Engineering is an art – it is the process of building what you want with the resources that are available.

Vista Smalltalk is an attempt to create an environment like Croquet using only widely deployed software components.

Animation Canvas

Filed under: Adobe, Animation — pfisk @ 3:29 pm

animation
Vista Smalltalk Site

Open Vista Smalltalk in your browser.

Above is a demo of the new “AnimationCanvas” class. To run it, open a Smalltalk workspace, type “AnimationDemo open”, and “Do It” from right menu. The Lisp source code for the above demo is here.

The graphics model in Vista Smalltalk has three core classes:

  • DesignerCanvas allows users to select and move individual objects in a panel
  • AnimationCanvas (a subclass of DesignerCanvas) provides animation capabilities for objects
  • AbstractSprite is the primitive type for graphic objects

AnimationCanvas simulates physical constraints to help animations appear realistic:

  • boundaries – so that objects remain within the window
  • force fields – such as gravitation or magnetic fields
  • collision detection amongst objects
  • momentum conservation after collisions
  • object behaviors by type
  • control of animation speed

Currently, there are only a few Lisp primitives for setting animation parameters, but the situation should improve quite dramatically over the coming weeks.

Blog at WordPress.com.