I'd like to lay out the advantages/disadvantages of building UI's directly
in languages like C (or python, or whatever) vs. using UI builders (e.g.
glade).
For building UI's the old way:
o somewhat smaller footprint (need to quantify).
o lower learning curve, as most people have usually done it this way.
o certain apps, maybe 5% of all apps, are beyond what any UI tool
can handle (e.g. drawing programs). Even most of their UI can
generally built with a UI builder, with only one or a few specialized
widgets.
Against:
o much more work to deal with different display sizes. Right off the
bat, we have the two screen rotations, and you can expect that screen
sizes will continue to evolve. We also have:
- displays like on the Jornada 72x boxes, which are wide and not very
high
- your laptop (mine is 1400x1050)
- Others, from 1024x768 to as high as 4Kx4K.
o very seldom do programmers go beyond minimal support for resizing.
we need to handle serious UI changes as apps are used (and migrated
between) different sized screens (even a simple rotation is a resize).
When you have a big screen, often you want to seriously change the UI.
o Some people are much better at designing UI's than others (and in fact,
some of these are non-programmers). And the UI's can be reworked
without having to understand the C code for consistency. Making
it possible to have UI folks work on tweaking the UI without messing
with the underlying code ends up being a major feature.
o I18N is easier: sometimes simple string substituion just doesn't hack
it: things don't fit and you have to go tweak the UI to make things
fit. The smaller the screen, the more likely this is to occur.
So I believe glade/libglade really carry their weight.
(Un)fortunately, I'm likely to be out of touch this week and next, so
won't be able to add much more to this conversation for a while..
- Jim
-- Jim Gettys Cambridge Research Laboratory HP Labs, Hewlett-Packard Company Jim.Gettys_at_hp.comReceived on Mon Aug 19 2002 - 14:40:36 EDT
This archive was generated by hypermail 2.2.0 : Mon Jul 25 2005 - 17:19:01 EDT