Re: Dream GUI toolkit (Was: GUI programming.)
From: Programmer Dude (Chris_at_Sonnack.com)
Date: 06/08/04
- Next message: Programmer Dude: "Re: Programming "efficiently" on given hardware - what does it mean really?"
- Previous message: Programmer Dude: "Re: [OT] Forms and ideals"
- In reply to: MSCHAEF.COM: "Re: Dream GUI toolkit (Was: GUI programming.)"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Tue, 08 Jun 2004 08:22:53 -0500
MSCHAEF.COM writes:
> 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'.
Isn't the real problem crappy software FOR WHATEVER REASON? I'd say the
artistic quality is a separate criteron from "works good", since either
can vary apart from the other.
Maybe one overall point here is that creating a good looking UI is a
separate skill from programming one. Programmers who create UIs should
(I think) avail themselves to learning this skill.
>> UI design /is/ an art.
>
> UI design differs [...] 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,...
I think you're not comparing alikes. UIs aren't "fine" art, they are
"working" art--that is, they are user objects that *also* have an added
aspect of beauty or elegance. If you compare them to fine guitars,
fine guns or fine cabinetry, you'll see the similarities.
> 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.
Similar, in my mind, to a drum track or synth arpeggio. Mechanistic and
based on comparatively simple rules. The human hand/eye/voice/ear is
capable of infinitely greater degrees of freedom.
A reminder: this isn't about what's "better"; that depends on how you
define "better". Certainly drum tracks and auto layout are faster and
easier and by some measures "cheaper". So are mass-produced guitars &
guns. But given the willingness to spend, which would you own?
So just remember, this is about what I *prefer*/*like* and will choose
to do given the willingness to spend. Given resource constraints, I
might well prefer the mechanical assist.
One other point. The absolute requirement is visual prototyping in real
time. That isn't negotiable. I've designed on paper, and I've designed
with a visual tool. No one in their right mind chooses the former given
the option (that's not my opinion, that's inarguable fact! BY DEFINITION
if you'd rather design a GUI by calculating spacing and positioning on
paper, You Are Out Of Your Friggin' Mind!! :-).
Given visual prototyping, a layout manager wouldn't be a bad thing IF
it were (A) sufficiently smart and (2) noticably easier to program than
just writing the code in the first place (given the most GUI APIs let
you move windows around pretty simply).
There would, in my mind, need be a noticable improvement "cost-wise"
to justify having Yet Another language in an application.
> 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.
So, I'm hearing, there isn't necessarily a time savings AND I have to
master a separate skill. (-:
> Since controls generally ought to be logically grouped in a good UI
> anyway, that's hardly much of a cost to pay.
(Off the cuff) My gut says visual layout has no coupling with the
logical layout. I reserve the right to be wrong about this after
thinking more about it. But I think you don't *want* the code to
be coupled with the window....
> 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.
Or, does it lock a designer into boxes and make it harder to find "out
of the box" solutions? Free form CAN be very freeing (used wisely :-).
(Yes, I realize that sounds tautological, but that's why it's *called*
"free form"...it's freeing!)
> 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.
In most situations in life...which would you rather have? A "great deal
of control" over things? Or total control? (-:
-- |_ CJSonnack <Chris@Sonnack.com> _____________| How's my programming? | |_ http://www.Sonnack.com/ ___________________| Call: 1-800-DEV-NULL | |_____________________________________________|_______________________|
- Next message: Programmer Dude: "Re: Programming "efficiently" on given hardware - what does it mean really?"
- Previous message: Programmer Dude: "Re: [OT] Forms and ideals"
- In reply to: MSCHAEF.COM: "Re: Dream GUI toolkit (Was: GUI programming.)"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]