Improving the aesthetics and usability of Squeak

Jim Benson jb at speed.net
Tue Jul 9 03:10:46 UTC 2002


Steven,

>
> Also, I noticed in an earlier thread that to devise a way to allow
> separate OS windows seemed like a popular feature. I'll gamble and say
> that that would be a project not as dependent on having modules as an
> alternative widget set or look-and-feel. Anyone have an idea of how hard
> it would be?

As far as implementing native widgets and windows, there's one "trick" and
the rest is straightforward. You know all this, but I'll write it anyway.

The "trick" is to implement callbacks, which requires some VM/Squeak
compiler support. Various solutions to this problem have been discussed on
the list, and there are several commercial implementions available. I
happened to use the Smalltalk/V product a bunch 'o years ago that did this.
I seem to recall that on the list a few months ago David Simmons outlined a
strategy for a callback implementation for Squeak that seemed to make sense,
but there is more than one strategy.

Digitalk also brought the event dispatcher "up into" the image, which I
thought was a good idea. You could do this currently using the Squeak FFI
facilities, but you still have the callback problem to deal with and at some
point you'd probably have to address the performance issues with the FFI
call overhead. The mechanism that Smalltalk/V used seemed to be less
expensive, but fortunately I've forgotten how exactly it worked.

I lied when I said the rest is straightforward ;-)  The easiest solution is
to come up with a new windowing model, and you have to figure out where to
draw the line about native toolbox calls. Naively, the best way is to come
up with a parser that goes through the toolbox headers and generates the
appropriate interface methods to place into Squeak. As Tim Rowledge will
tell you, this is a lot of horrible work. OTOH there's really no cutting
edge rocket science going on, just a lot of head down coding.

Overall, it's doable, a caffeine based project. I seem to remember that VW
is redoing their UI stuff currently, maybe there are some good ideas there
to lift.

I think what the real question is, what happens after that? On the Mac and
Linux side the current market of native platform Smalltalks is pretty small,
so there be some value there. Windows is covered by Dolphin at the very
least. You can kind of estimate that you're going to need three or four guys
in a coordinated effort to build this for multiple platforms. It's pretty
nasty work, and I would think it's probably a lot of work to maintain.

At the end of the day, though it's not Squeak anymore. That's OK, if enough
people are willing to support it.

Jim




More information about the Squeak-dev mailing list