W3C home > Mailing lists > Public > www-style@w3.org > July 2005

Re: CSS is doomed (10 years per version ?!?)

From: Orion Adrian <orion.adrian@gmail.com>
Date: Fri, 1 Jul 2005 11:03:18 -0400
Message-ID: <abd6c80105070108034771b83e@mail.gmail.com>
To: www-style@w3.org

On 7/1/05, Laurens Holst <lholst@students.cs.uu.nl> wrote:
> Orion Adrian wrote:
> 
> >I used to teach programming languages and web languages. One thing
> >that I noticed time and time again is that new people coming to the
> >language had a lot of trouble with layout in CSS. Other properties
> >were fairly easy to get, some like text-transform gave them a little
> >pause. But by and far the hardest thing was layout.
> >
> >
> Layout in CSS is fine. It is under-supported by user agents. Did you
> ever explain layout to your pupils as declaring divs to be table cells
> and rows, with display: table? I'd say that is surely intuitive.

Except it's not. First, use of table layout usually requires changing
document source which is a big no-no. Go ask the HTML folks - they'll
tell you the same thing. Some people here will say the same thing.

display: table doesn't work because of the requirements it places on
source. It's also kind of kludgy with all the anonymous boxes it
produces.
 
> Other parts of layout may be under-developed by CSS, but that can be
> improved, and is being improved. I do not understand where you got the
> notion that it would be better to drop CSS in favour of something
> entirely new.

Never said that. I said improve CSS in this particular way to make it
easier for web designers to use it directly.
 
> >CSS layout fails on a lot of core usability grounds. I recognized the
> >failure even before I had read the books that described why they were
> >failures.
> >
> >CSS layout isn't obvious. They way float is described doesn't lead
> >many to the idea that it should be used for multi-column layout.
> >
> >
> That is because IT SHOULD NOT. Repeat: floats are NOT for layout.
> 
> It's just that they are currently used so, because absolute positioning
> and display: table is not implemented well by (...drums...) IE.
> 
> Simple.

Yeah, irony aside it still stinks. I use CSS a lot. I was an early
adopter of it, HTML, XML, and XHTML along with XLink, XForms, XSLT and
many other technologies. I'm have a site entirely written in XSLT,
XML, XHTML, CSS. I'm quite proud of it. However, I hate maintaining
it. Not because IE doesn't work well with it, but because the CSS
required to make it work is screwy. I don't just write what I want the
CSS to do based on what in my head. I convert it to what CSS wants to
see. This is where the problem is. If I want a particular font, style
of border or color, it's very clear and obvious. If I want a
particular layout, I must translate.

> >Organizing space on a page, which is usually done from an overhead
> >view all at once here is done by manipulating a lot of properties
> >(margins, padding, etc). These produce complex interactions that are
> >hard to predict for someone whose has less than a lot of experience.
> >
> >
> I'm sorry to disappoint you, but I find paddings/margins/borders to work
> very comfortably. Even collapsing margins make sense. Box models can be
> argued about.

By the way... no one on this list matters. Only the populace who uses
the product does. That's why I brought in the part about the teaching
thing. We're lousy test cases. Why, because we all know the topic too
well. It's hard for a person to realize he's lost his audience unless
he looks at their faces when he is talking.

> >One of the major rules of usability is that your product's model
> >should match the existing mental model of the person using the
> >product. I feel CSS fails on this point.
> >
> If a mental model is broken (e.g. the mental model of HTML with TABLE
> and FONT tags), people need to be educated. That is definitely possible,
> and happening right now with CSS. Key words like semantics and
> separation of content from layout get a lot more attention nowadays and
> more and more people learn about them and are convinced about their
> benefits.

People should never need to be educated. Technology is our servant,
not the other way around. Technology should aid users, not require
years of education. That's the goal. Education is a necessity and fun
for a lot of people, but we shouldn't force people to learn about the
created world, just the natural one.

> >And I'm here not to promote
> >Microsoft, but to promote those values that I feel would make CSS
> >better using Microsoft's success as an example of why I feel they
> >would be benificial.
> >
> >I hope that clears things up.
> >
> >
> Not really. I don't see how you think CSS is insufficient for layout.
> You are reasoning based on what you use for web development now, not on
> what you could use per the CSS specifications.

This is just getting frustrating. I don't like the spec with regards
to layout. I don't like the spec. This isn't about what's implemented.
It's the spec. Please understand. (Limited to layout though).
 
> The only reason why it lacks for layout in practical situations is
> because a web developer cannot use display: table and absolute
> positioning properly, and that is exactly *because* Microsoft failed to
> implement those properly (and let's not even mention all the other CSS
> that needs MS-specific hacks). So it is really quite skewed that of all
> things, you use Microsoft as a 'good example'.

No, it's because we hate them. We really, really do. I have never had
one student voluntarily use display: table. Why, they're messed up.
They don't match the mental model of the average person at all. I
realize I'm starting to loose it from abject frustration here.

> Microsoft stopping development on Internet Explorer after getting a
> monopoly position is the SOLE reason for the standstill of CSS. Today,
> we are still limited to using the same CSS as 4 years ago ONLY BECAUSE
> that is what the user agent 80% of the general public uses supports.
> 
> Imagine how much more we could do if that hadn't happened!

Less than nothing. Microsoft in many ways did CSS a favor by keeping
it at a level that was simple and easy to understand. Growing as it
has, if CSS3 had been implemented by now, people would still be using
a mish-mash of 1 and 2.

Hard to imagine I bet.

Orion Adrian
Received on Friday, 1 July 2005 15:03:25 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 27 April 2009 13:54:39 GMT