Primer for layout/formatting split.

Before I release the new proposal that incorperates the
layout/formatting split, I thought I organize all the reasons behind
the split that have been made accross dozens of posts in many
different threads.

1) Formatting degrades gracefully; layout doesn't.

Looking at some of the properties that degrade gracefully:
    font (mostly), background (mostly), margin, padding, border

and the properties that don't:
    left, right, top, bottom, width, height, z-index, display

If a font isn't applied or a margin isn't exact, you're probably ok
(assuming no layout properties). If any of the layout properties fail,
you're probably in trouble.

2) Layout works by specifying unique zones in space and then assigning
roles. Formatting works by applying itself to non-unique semantic
classes.

A good example of this is the title tag. The UA specifies spaces and
where roles go (in this case the title). The title does not specify
where it goes, but the layout specifies where the data with the role
of title goes.

Formatting, however, does specify semantic classes and then provides
basic formatting for them. Float is a complication I will get to
later.

3) Consistent layout aids in the ability to find things due to spacial
orientation.

While it would be good if all layout and formatting decisions were
made on the client and not by the author, layout is very important.
Moving types of information and navigation to different locations than
standard has shown to have a very negative effect on the user's
ability to work with the object in question.

There is also the matter of the needs of the UA. Given that the UA
knows what it needs better than the author of the stylesheet and that
there are many fewer devices than sites to be styled, it would seem a
better use of manpower to move layout and formatting to the device.

4) Layout reuse requries decoupling from content.

Layouts are often designed with particular content in mind. However,
layout reuse is important so that users can come to trust the
applications they are using. If something changes locations (like
navigation) consumers of the layout will become confused and become
more distrustful of the their knowledge of the layout. Formatting
changes are more of an annoyance, but still important for user
satisfaction.

The other downside of author-based layout is that it force the
application to ingore layout conventions of the platform since it
would not be practical to do so.

5) Formatting and layout coupling promote UI and content coupling.

The reverse could also be said. Coupled UI and content complicate user
interaction. It also promotes a single space for both despite their
differening needs like

6) UI needs to be visible at all times, currently active content only
needs to be visible.

Usabilities studies performed by the Nielson-Norman group show that
users don't scroll for UI navigation. They do scroll for content. UI
chould be visible at all times, content should only show the active
section (showing only the active section improves the user's ability
to find their parsing location (i.e. where they were reading in the
text).

7) Layout can pull from multiple sources, content usually doesn't.

A layout can pull from many data sources to produce it's view. One
section of layout may be stock quotes while another may be navigation
while another may be a content stream. Content sources are usually
singular. They are taken as a whole and presented.

8) Formatting and layout design use different mental models.

Layout design uses the spacial orientation part of the brain while
formatting chioces look the readability and attractiveness of the
text, something that can't be processed until actually looking at the
text in question.

Some of these points might be disputted and some have been, but for me
the form the core of my belief structure as to why there needs to be a
split. The layout language is forthcoming shortly.

Orion Adrian

Received on Tuesday, 5 July 2005 01:54:30 UTC