Re: Dream GUI toolkit (Was: GUI programming.)

From: MSCHAEF.COM (mschaef_at_io.com)
Date: 05/31/04


Date: Mon, 31 May 2004 14:37:06 -0500

In article <1084913391.602617@radsrv1.tranzpeer.net>,
Corey Murtagh <emonk@slingshot.no.uce> wrote:
>Chris Sonnack wrote:
  ...
><snip>
>>>As a user of software, I couldn't really care less about any
>>>artistic aspirations of the developer.
>>
>> Okay, you're *definitely* off the mailing list, now! (-:
>
>I think Mike's missing the point somewhat.

I'm not sure I was clear. I appreciate a well done, "artistic", UI just as
much as the next guy. The problem arises in my mind when as a user of
software, the software limits me or otherwise doesn't meet my
expectations, simply because the designer or programmer thought he was
being 'artistic'.

>UI design /is/ an art.

Maybe. UI design differs from basically every other kind of 'art' (music,
painting, drama, photography, etc.) in that UI design is intended to
produce a tool that can efficiently be interacted with, and most classical
forms of art are one-way media intended for presentation and appreciation,
but not interaction. Those are pretty remarkably different goals, in my
mind. Just as an example, Picasso's radical visual styles can play in a
painting, but radical visual styles are a lot less effective when a user
has to have confidence in how to interact with them.

>It's certainly not a science. You could throw
>things together in haphazard fashion, or let some layout engine take
>care of the layout for you, but the results would be aesthetically
>displeasing in the extreme to most people.

I think the thing that both you and Chris might be missing is that auto
layout does not mean the computer takes complete control over where
controls are placed on the screen. (I can't get behind that, either.)
Rather, it lets you specify rules like 'place these buttons on the top of
the window, space them evenly'. 'This canvas expands with the window, but
this button doesn't'. There's still a great deal of programmer or
designer control over how the buttons are arranged.
 
The cost of this is that you generally have to spend more time putting
controls into a logical hierarchy so that the layout logic can calculate
window sizes correctly. Since controls generally ought to be logically
grouped in a good UI anyway, that's hardly much of a cost to pay. I
certainly think it's a good thing that the designer working with a auto
layout system is more forced to think about hierarchy than the designer
that can arbitrarily paint controls onto a 2D canvas in free form.

>A good UI designer (who doesn't even need to be a programmer) will
>generally turn out a design that appeals to - or is not completely
>/dis/pleasing to - the majority. There are a lot of factors like
>logical order and so on that are simple to divine from visual clues, and
>the only way to /ensure/ that your design fits those factors is to look
>at it.

Of course. Which is why auto layout tools still give the programmer or
designer a great deal of control over how controls are placed relative to
each other.

-Mike

-- 
http://www.mschaef.com