[Seaside] Re: Rails and Seaside

Jeremy Shute shutej at crazilocks.com
Sun Jan 15 01:17:44 CET 2006

Squeak's GUI fails on so many fronts and succeeds on so many others. 
There is such great opportunity (as it's open, and Smalltalk to the core),
and yet such a long way to go.

The use of real estate on big text is good.  The bigger an object is, the
easier it is to click!  The rounding of the buttons is BAD -- it's pixel
space you can't click on.  Tighter-radius rounded rectangles, please!

The font choice is basically horrible.  Serif text gives all sorts of
"cues" that the human eye can pick up in order to read faster, when on the
printed page.  The screen, however, is 72 DPI.  Do Apple, Microsoft,
Google, Yahoo, or Sony use Serif on their home page?  No.  Case closed. 
Code should be in monospace because it's easier to communicate repeated
patterns that way (yeah, they still occur).  These changes should be

The shade button is brilliant, as it allows you to store your running
programs positionally (the same way you order the things on your desk). 
You should be able to double-click on the entire title bar in order to
shade it, though.  Windows should snap to the edges of one another for
easy/clean sorting!

Unfortunately, shading is not enough, alone.  Some method to switch
between running processes quickly would be great (such as a representation
of tasks on the screen).  In fact, this would be a great use of the middle
mouse button!  Bury those damned morph controls under a context sensitive

The world menu.  Brilliant idea when the desktop is empty, horrible idea
when it's full.  Why?  Because the most common commands take more time as
you get busier.  And why, WHY would the browser and the transcript be
under "open"?  Someone should turn on an opt-in usage profiler that feeds
back to the Squeak project, and the data should be anonymized and used to
rearrange the menus (and for that matter, buttons), so the most common
tasks are the quickest.

Flaps are "a good idea" -- allowing you to whip your mouse to the edge of
the screen in order to navigate a menu of frequently used things.  Except,
they don't remain atop the other windows, which is a bad idea, because
although you can run your mouse at 90 miles an hour to any edge of the
screen, what you're aiming for isn't there any longer.  ARGH.

Use the F1..F12 keys intelligently.  The keyboard has tactile feedback:
why on earth would you not use these keys effectively??? 
User-programmable behavior should be possible using the world menu.  Maybe
you want a box, where you can drag command snippets and select an icon?

Speaking of icons, USE ICONS.  And for that matter, COLORS (which have
already been admirably used to identify different application types, such
as the browser).

Key bindings.  Please decide on a universal set and then have access
modifiers that are application specific.  For instance, ESC should always
bring up the world menu all the time.  CUA keybindings should have 'meta'
commands (as is already the case).  Emacs keybindings should have 'C-c'
pressed as an accessor, followed by the same commands.

And, in case that wasn't enough, can you please make it sexy (OS 9)
without being ridiculous (OS X)?  Take the time you would spend making it
themeable and use it instead to get it right the first time.  How many
people theme Firefox or OS X?


>> I use Squeak in Linux, and I had some inexplicable crashes (usually
>> caused by the UI I think).
>> I cannot reproduce them :( that's why I never filled a  bug report
>> about it. (maybe the windows/mac version is more stable).
>> When I talk about "annoying" bugs, I refer mainly that some times
>> (at least to me) the debugger pops-up without an apparent reason,
>> that doesn't prevents me to continue using Squeak (some times I try
>> to look in the stack to see what happened... and some times I just
>> forget it and continue with my work) but I think that from the
>> point of view of a newcomer this is ugly.
> Strange on my machine it nearly never crashes.
> I have a mac.
>> I'm pretty ignorant about the internals of the architecture... but
>> when I browse the morphic/ui/kernel classes, I think "mmm this is
>> full of spaghetti code".
> Sure there are really ugly places. Let us face it but now we are also
> cleaning squeak :)
>> For example the last week I was  trying to fix the "splitter" bug
>> in 3.9... and I give up. Having objects is not enough, you can also
>> make a unmaintainable program with a lot of Boolean flags... using
>> the True/False object :P (just browse references to Preferences to
>> see examples). I think that most of those small bugs are a
>> consequence of "spaghetti" code.
> Yes. I would like to remove as much as possible as preferences. Most
> of them are useless.
>> Usability? I've gotten used to the way things work. In fact,
>> I often find other Smalltalks lack Squeak's features.
>> Usability is not about features, and yes there is a lot of features.
>> But give Squeak to a newcomer, and to the non-standard UI add small
>> things like:
>> - menus are full of options without an "intention revealing" title/
>> or sequence of actions, i.e: if you copy a morph to the "paste
>> buffer"... where is the "paste" option? (it takes me a lot to
>> figure that is "World->new morph->from paste buffer").
> Yes!
> Please help.
> We will try to refactor and clean. But for that we need help and
> people supporting changes.
> Because you have a lot of people that prefer not to fix things
> because they have different agenda.
>> - default keys are not mapped in a standard way (in Linux, the
>> default is to use Alt, instead of Ctrl for saving and cut/paste),
>> yes you can configure it in preferences... but now try to find
>> where is the option
>> - the standard pop-up menus with the "Changes not saved...OK to
>> cancel changes?"..."Yes/No".. why not simple a "Save/Cancel" (like
>> in Mac dialog boxes).
> Send good code and we will integrate it.
>> I know that these are small things, but if we are talking about
>> attracting developers to use Squeak and Seaside, we have to look in
>> those small things.
> Yes
>> (after writing down this list.. I think.."oh I'm a little stupid,
>> why I just don't fill bugs/wish reports instead of writing this in
>> an email".. yup)
> Send fixes :)
> and help.
>> Maybe I was too critic about Squeak. The platform has a lot of
>> work, and is good in many aspects...
>> But I want a better open-source St. been critic is just the
>> starting point :)
> Sure the next step is .... help :)
> Stef
> PS: I will have a look at your automatic category organizer. It would
> be nice to be able to nearly avoid to have to enter
> category names :).
> _______________________________________________
> Seaside mailing list
> Seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside


More information about the Seaside mailing list