[In case this starts a major holy war, I didn't want to hijack the previous
thread, so I've begun a new one.]
In message <NGBBKBFKOLLKIBIKEAOEAEBECBAA.list@swordandpen.com>
dated Tue, 13 Aug 2002 12:42:54 -0400 (EDT), stylo~ wrote:
>One last point: there has been so little use of floats to date because of
>problems, it is wise that a solution be included now so it is there as
>people come onboard fully with CSS layout. -And to get the stragglers
>onboard who are sticking to table layouts and align until this, vertical
>centering, and a few other issues are resolved.
Alas, I believe the problem is much deeper than this.
Since at least two decades ago, folks have recognized the difference
between word processors and page layout programs. Consider the problems of
desktop publishing, say, a term paper and a flyer advertising a yard sale.
To publish a term paper, you'd use a word processing program. If you have
experience, you'd use "styles" --- a system analogous to XML markup and CSS
presentational specifications. The markup codes may be hidden, but they're
there: you tag section headers, quotations, end notes, etc. with style
names that correspond to their *function* within the paper, and you define
the presentational characteristics of each style to get a pleasing and
legible effect. The result is consistent and easy to maintain; you can add
a new section, change the indentation of quotes, etc., with minimal effort.
The markup reflects the logical structure of the document; the presentation
is guided by the markup; and the layout is derived from the presentation.
It's not even necessary to know the exact dimensions of the pages on which
you'll print --- this can be determined at print time, and the logic of the
markup/presentation system will take care of generating proper formatting.
HTML and XML come from SGML, which is precisely this kind of language.
Combined with CSS, these tools are perfect for publishing term papers,
contracts, instruction manuals and doctoral theses on the web.
To publish the flyer, you'd use a page layout program, which makes it easy
to place different page elements wherever you want them and see the result.
You've got pictures, a schedule, an address and maybe phone number, lots of
random bits of information: there is no *structure* that relates these
fragments of content. The layout isn't derivative of anything: it comes
purely from your judgement of what is most visually effective. There is no
such thing as semantic markup, because no two elements serve the same
function. Everything is "ad hoc," because each page element is unique.
Page layout programs are also used to incorporate word processing documents
in a larger design, as when laying out a newsletter or a product brochure.
Some of the component documents have internal structure, but the overall
layout arranges them side by side, continues them from page to page, etc.
as chosen by the layout artist to make practical and effective design.
(This is the function once served by "paste up" when printing was a mostly
physical job instead of a mostly electronic one.)
This kind of work is traditionally WYSIWYG: it's necessary to know the
dimensions of the pages, the exact fonts available, etc. to make decisions.
The problem in adapting this to the web should be obvious from the last
sentence above: one *doesn't* know the details of the system on which the
page will be displayed. Yet the markup/presentation model isn't
appropriate either. A new language is needed for this kind of layout: at
present, we have only the (mostly deprecated) layout tools in HTML 4.01,
and the "saddle-on-an-aardvark" approach of using CSS to do a job which is
completely at odds with the principles of its design.
The next time you're casually surfing the web, I invite you to make note
of how many pages you encounter that are best described as primarily
exhibiting markup/presentation (word processor) logic, and how many would
be best represented as "page layout" designs.
Then ask what's wrong with the current focus of web standards.
--
Randall Joseph Fellmy aka Randy@Coises.com