Base image, Windows look

Doug Way dway at mat.net
Wed Sep 2 06:35:21 UTC 1998


On Tue, 1 Sep 1998 vuletich at ar.ibm.com wrote:

> The Cheese project from Boris Shingarov is at
http://www.plugcom.ru/~squeak
> . It is a new environment, based on Squeak, but evolving to using only
host
> native windows. It runs on OS/2, but Boris needs help for making it work
on
> other OSes.

I didn't realize that Cheese was something that might be ported to other
OSes... sounds great!  I had assumed it was OS/2-specific.  (I haven't
tried Cheese yet, as I don't have access to OS/2 right now.)

> I thank these folks for their great work, but I don't think this stuff
> should be in the base image. I worked with Smalltalk/V Windows and
> VisualAge Smalltalk for several years and got a lot of headaches because
of
> native widgets. The frameworks for native widgets are more convoluted
than
> MVC and Morphic, and what's worse, they are seriously limited by the
> functionality supported by the OS, because you can't control all the
code
> that runs. Also, when something breaks, there are things you can't
inspect.
>
> The reason for leaving something out of the base image is not only to
keep
> it small. It is also to keep it consistent and easy to understand. And
to
> follow Squeak's philosophy.

I mostly agree with you.  I could definitely see a complete native widget
framework being an unwieldy thing, which would add a lot of work for
people porting the VM to new platforms.

I guess my thought was that native windows (only) might be a reasonably
small subset of an OS's entire native widget set which could then be
supported in the base image/VM.  Definitely keep it simple... all you'd
really need is to support two types of windows: regular application
windows, and modal dialogs.  (These two types are present in pretty much
all windowing systems.)  On the other hand, I'd say there's a greater
variability in the types of native non-window widgets (scrollbars, menus,
etc.) between platforms which makes supporting a general framework much
more complex for them.

It wouldn't even necessarily have to replace the current Squeak windowing
system, it could be a separate NativeView class or something for when an
application wants to open a native window. (although having to deal with
both types of views at once could be a bad thing).

(Okay, maybe I've worked with VisualWorks for too long that I'm a little
biased toward just supporting native windows but not native widgets... :-)
I suppose having this functionality outside of the base image wouldn't be
the end of the world.)

- Doug Way
  dway at mat.net
  dway at transom.com
  http://www.transom.com





More information about the Squeak-dev mailing list