Re: Introducing NetscapeML

 From: David Perrell <davidp@earthlink.net>

| I believe you are confused. I certainly crave additional formatting =
| control, not the least being element spacing and multiple columns. But =
| "simple" and "simplistic" are not synonymous. And it seems to me =
| Netscape's extensions are never as powerful as they could be with a =
| little more foresight and consideration (the center tag vs a more =
| general and powerful "align=3D " being one of many examples).

I tend to agree - Netscape seems to under-design its interfaces.  In
most shops this is a sign that external design has been left to the
implementing engineers, without enough oversight by architects.

| <SPACER> seems relatively innocuous. But powerful? Unless negative =
| numbers are allowed, it gives no control over the arbitrary spacing =
| automatically inserted after paragraphs and headings. And why "spacer?" =
| If planning on supporting CSS anyway, why don't you use the same =
| semantics and accept margin and spacing parameters for the <Hn>, <P>, =
| and <DIV> tags?

Assuming I'm interpreting the intention correctly (I haven't downloaded
it yet to try out), the name spacer is appropriate because it just
inserts a piece of empty space at a point.  You seem to be interpreting
it as a container that controls spacing within a block of content.

SPACER could be used, for instance, to provide the indentation of lines
of prettyprinted source code or to set poetry or other material whose
format doesn't fit the simple text model of HTML.

Doing this kind of thing in stylesheets would be really, really ugly.
Providing a tab stop capability might be better for some uses, but for
some real uses, direct, local control of spacing is the only reasonable

| Hooray for multiple columns. But why <MULTICOLS COLS=3Dn>? Won't <DIV =
| COLS=3Dn> do as well without the added tag?

Note that MULTICOLS has three attributes, not just COLS.  Adding GUTTER
and WIDTH (meaning column width) to DIV would, to my eye, have been
broken.  Interfaces should do one thing.  It's always a bad sign when
the value of one argument controls which other arguments are applicable
- usually, the interface should have been split into two separate
interfaces specific to their separate purposes.  It would be nice to have
polymorphism here (so a MULTICOLS icould be a specialized DIV)...

By the same argument, I think SPACER is a poor interface - it's really
two or three interfaces hiding under a single name.  My own
inclination would have been to drop the TYPE and SIZE attributes and add
a BREAK attribute, then always insert a block of space, optionally
forcing a line break first.

Remember, though, that they're aiming at concepts they can describe to
people who aren't software people.  We may not be good judges of what is
hard or easy for those users to understand.


scott preece
motorola/mcg urbana design center	1101 e. university, urbana, il   61801
phone:	217-384-8589			  fax:	217-384-8550
internet mail:	preece@urbana.mcd.mot.com