I am by no means a hardcore GUI programmer. The best I've done is a couple of quick hacks written in Tcl/Tk. And even that somehow left me with an uneasy
feeling that "things could have been better". One area that's always bothered me is how monolithic GUI components tend to be. This is especially
problematic in the day and age of mobile, decentralized computing (why can't my A/V remote "jump" back and forth between my cell phone and my PDA?). This
is a tough problem to tackle and the best attempt at resolving this seems to be a research project from Laboratorio de Sistemas
Universidad Rey Juan Carlos Omero: Ubiquitous User Interface.
The next biggest issue is how difficult it tends to be when it comes to specifying the desired visual style of the GUI layout. Especially
under dynamic constraints such as changing window sized and DPIs. Regardless of toolkits and platforms, the layout managers always end up either
too simplistic and dumb or
downright esoteric. There's got to be a better way!
And there is.
Don't mind its scary title, the idea behind
the approach is pure elegance: the layout is all about virtual grids (to which all object align) and the user defined constraints for
how the grid cells related to each other. Of course, with the typical constraint being X is supposed to be twice as large as Y these constraints
are of a nice, linear kind. Once the user is done specifying the constraints the solution actually comes from the computer (ain't it what
computers are good for?). What's even better it can be easily recalculated under changing conditions without *any* feedback from the application.
The Auckland Layout Model just works. Their
example page is pretty convincing, even if
the syntax desperately needs sweetening. Definitely this stuff is worth keeping an eye on!
Roman Shaposhnik's