ElastoLab

David Buck david at simberon.com
Tue Oct 1 16:09:37 UTC 2002


>
>
>Alan Kay wrote:
>
>> It would be great for someone to do Elastolab in Squeak!
>>
>> Cheers,
>>
>> Alan
>
>True - but on the other hand I wish that David's work is an economic success,
>too. Smalltalk needs to be a commercially viable platform, not just a great
>toolbox and environment for thinkers and tinkerers. I and many others who
>don't want to succumb to the dark side (I won't mention that dreaded J-word
>here) depend on Smalltalk jobs which pay. And there are quite some who don't
>have such jobs, sadly. That should not discourage anyone from trying to do
>physics simulation stuff in Squeak to provide such a framework for free -
>however just copying ElastoLab does not smell right to me.
>
In theory, the ElastoLab physics code should translate to Squeak with 
only the obvious syntactic changes. The UI code is well separated and 
would be fairly easy to port to Squeak. The custom controllers would 
have to be re-worked, but shouldn't be very hard.

 From a practical point of view, porting to Squeak is not a priority for 
me.  I have a solution working in VisualWorks (with which I happen to be 
more familiar) and porting to Squeak offers me few advantages.  I may at 
some point release the physics code as freeware and allow people to 
build their own UI's on top.

If anyone would like technical details on implementing their own physics 
simulation code, I would be more than happy to offer advice and 
references and to chat about implementation approaches that work and 
ones that don't. You can contact me at david at simberon.com.

>As far as Windows-only is concerned, VisualWorks comes from the same breed as
>Squeak, and is binary portable to platforms such as Linux and Mac, too. I
>don't know how deeply integrated with Windows ElastoLab actually is, but it
>should be possible to make a Mac or Linux port with a reasonable amount of
>effort. Doing Windows first is a reasonable economic decision (most kids with
>computers will have Wintel stuff on their desks), but following up with Mac
>and Linux would clearly demonstrate that Smalltalk is the "true" write once,
>run everywhere language :-)
>
I would guess that 99% of ElastoLab is pure portable Smalltalk. There 
are only three things stopping me from getting a Mac or Linux port working:

  1) The interface to play multiple sounds at once uses DirectX which is 
Windows-specific.  I'd have to replace that with the Mac or Linux 
equivalent.
  2) The interface to Windows HTML Help files is Windows-specific.
  3) I use the Windows registry for the purposes of maintaining CD-ROM 
keys that enable ElastoLab to run in full non-demo mode.

Other than that, I can see no obstacles to getting the port to work.  I 
haven't done it because I don't have a Mac and I don't know the 
environment well enough to do the port.  I also felt that if I couldn't 
get ElastoLab to be successful on Windows, adding Mac and Linux versions 
wouldn't make the difference.  If ElastoLab is successful on the Windows 
platform, I could easily improve the success by adding Mac and Linux 
 versions.  The real risk is whether this kind of product will be 
accepted in the market place.  So far, it's looking pretty dreary.  I'm 
waiting for the release of the next version before I go all out in 
promotion, but initial sales are on the low side of dismal.  I think I'm 
in for an uphill battle for a program that's not a game, not a 
simulation like SimCity, and not a physics tutorial.  I have a hard time 
explaining to people what it is and what category it fits into.  I think 
it's a lot of fun, but it's hard to convey that to people.

(P.S.  If anyone out there has Mac skills and would be interested in 
working on a port to the Mac, contact me and we can make arrangements to 
get it done.)

David Buck
Simberon Inc.
www.simberon.com





More information about the Squeak-dev mailing list