[UI] Squeak UI guidelines/heuristics

tim Rowledge tim at rowledge.org
Sat Aug 25 01:06:42 UTC 2007


On 24-Aug-07, at 5:40 PM, David Mitchell wrote:
> I'm (historically) partial to IBM CUA, but I know it isn't exactly  
> sexy.

As it happens I was one of the reviewers of the original CUA  
documents waaaaaay back. It was certainly comprehensive - in my  
opinion far too comprehensive. The problem I saw was that it came  
fairly close to the union of all the sets of UI flibbery that IBM   
knew about. But, almost anything was better than the mess that  
prevailed in those distant days. Even Windows looked good.

I do like most of Jef's Humane Interface ideas and we pretty much  
agreed to differ on the bits I didn't like. It would certainly make  
an interesting project to implement the principles for Squeak. The  
Apple guidelines are pretty good and certainly well documented.

Perhaps the key initial activity needed for a better Squeak UI is to  
try to understand what is there so it is possible to work out what  
widgets exist and what ones are needed. Does anyone know how many  
kinds of button there are? If we can build a catalogue of what is  
needed and list of what is there then we can make some kind of plan  
for 'fixing' things. After we have a decent base set of widgets (and  
of course the underpinnings to allow creation of others) then it is  
possible to work through them to make everything self-consistent.

Morphic is a reasonable implementation technology but many of the  
current widgets built with Morphic are nasty. It would be nice to see  
a better bottom layer (under morphic unless anyone wants to rewrite  
everything) that can take advantage of OS facilities for accelerated  
graphics; Sophie has been using a binding to the Cairo libraries for  
example. Tweak has many interesting points but the version Sophie has  
been using (and I have no idea how out of date it might be) has been  
the cause of much gnashing of teeth when trying to debug or work out  
wtf is happening when.


tim
--
tim Rowledge; tim at rowledge.org; http://www.rowledge.org/tim
Strange OpCodes: LOW: Launch on Warning




More information about the UI mailing list