Squeak IDE Look-n-Feel

Doug Way dway at riskmetrics.com
Wed Dec 13 07:45:50 UTC 2000

Stephane Ducasse wrote:
> Still the look of Squeak sucks!!
> Sorry to be provocative but I'm right.
> The out of the box feeling is horrible.

I've mostly gotten used to the look by now, but generally I agree with you.

> May be one day we will have something decent. Who knows.
> (I'm already hearing people saying "just do it this is open source")

Probably the reason someone hasn't already "just done it" yet is that
it's hard to get any sort of agreement on what would be the best
improvements. (as you can see from the wide variety of responses on this thread)

Still, after seeing a few of these threads pop up over the last couple
of years, I think there are a few things that there is some consensus on:

- Don't use native widgets for the base Squeak IDE.  Rewriting the IDE
to use native widgets would be a huge amount of work, even for a
cross-platform toolkit such as WxWindows.  Plus it would make Squeak
less portable than it is now.  It still might be useful for someone to
create a package which lets you write end-user applications with native
widgets, but that would probably always remain a separate add-on to
Squeak.  (Then there's also the issue of optionally supporting the
opening of native windows (not widgets) from within Squeak, a la
VisualWorks, which is somewhat more justifiable.)

- Don't try to imitate a specific existing UI, such as Windows, Mac,
etc.  Since Squeak draws its own widgets, it should just try to define
it's own look.  (In the same way that Java Swing defines its own look,
for example.  Not that Squeak should try to imitate Swing either, but
you get my point.)  It should still be a clean, not-too-clunky look.
(should be better than it is now, IMHO)

- Better font support in Squeak.  Some nicer fonts would go a long way
to making things look good.  There are a few options... adding more
bitmap fonts, adding some sort of native font support like TrueType, or
something like Henrik's antialiased fonts.  I kind of agree with Ted's
response that the antialiased fonts would be coolest addition for
relatively little effort, it's completely portable unlike TrueType (I
think?), and it didn't seem to incur a performance penalty that I could
notice.  Although I guess you need either 32-bit color, or only white
backgrounds with 8-bit color to use these... but they could simply be
alternatives to bitmap fonts.  (What's the status of the antialiased
fonts with 2.8?  I know that a separate plug-in with additional BitBlt
primitives is needed... is there any chance these primitives could be
added to the base release?)

Anyway, aside from the font issue, I think it should be possible to
tweak the base Morphic look so that it looks a bit more clean & sharp,
and friendly.  A big improvement would be to simply make the rectangles
in SystemWindows have raised (1-pixel-thick) borders instead of the ugly
black borders.  (Might need to improve the Color>>lighter/darker methods
with this.)  Also, switch the titlebars to a more contrasting color and
fix the lopsided "O" collapse button (yes, it is not symmetrical). 
Maybe change the default window colorset to "Pastel" instead of
"Bright", since we now have halftoning in 8-bit mode?

I may try to put together a changeset with the above improvements, and
see how things look.  I'm thinking of Morphic as the place to make these
improvements rather than MVC, since it's the UI that's being worked on
the most currently, and there was some talk of Morphic eventually being
the startup project in Squeak.  Also, I tend to think that people more
resistant to changing the look might be using MVC.  (plus, we already
have SMA's "Blue Look" for MVC)

- Doug Way
  dway at mat.net

More information about the Squeak-dev mailing list