[Bf-committers] UI layout engine

Matt Ebb matt at mke3.net
Wed Nov 28 04:16:20 CET 2007


On Nov 28, 2007 1:52 PM, Ben Batt <benbatt at gmail.com> wrote:
> If the system had smart widget resizing behaviours, it would be even
> nicer. For example, the "Show" column of buttons in the camera edit
> panel could be made using a column layout container which tries to be
> as narrow as possible, while each button calculates a minimum size
> based on its text width and all buttons stretch to fill the layout
> container (taking margins and padding into account). This would give a
> column of buttons all the same width, and just wide enough to show the
> widest button text nicely.

Well perhaps when you're talking about layout within a predefined
column area, but that's not a good way to go to make the columns
themselves. You don't want to get too 'smart' unless that smartness
knows about how to make good layouts :) It's not just about cramming
buttons in - it's also having a good grid system that enables easy
reading and wayfinding. Right now, in many of the button areas in
Blender, the sizing is very haphazard, and not only does it give a
cluttered messy appearance with differing widths and margines, but it
also hinders skim-reading a bit, since it loses that sense of rhythm.

It helps reading to have consistent distances for the eye to jump from
one item to the next - that is why a left-aligned vertical column of
items is much easier to read quickly than a horizontal list (like a
sentence). Reading down a list, the eye can track the left edge and
just jump down a consistent amount each time to find the next item.
Going horizontally, when words are all different widths, you have to
do more work looking at the shape of each word and jumping across the
variable width to the next one. This is the sort of thing you learn in
1st year typography ;)

cheers

Matt


More information about the Bf-committers mailing list