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

On 6/30/05, Ian Hickson <ian@hixie.ch> wrote:
> 
> On Thu, 30 Jun 2005, Orion Adrian wrote:
> > > >
> > > > One small problem. No one implemented CSS 2.0. No one really even
> > > > implemented all of 1.0. My guess given those two data points: no one
> > > > will fully implement 2.1.
> > >
> > > What parts of CSS1 are not implemented by Mozilla, Opera, and Safari?
> >
> > I'm fairly sure that I can find some bugs in their implementation. It's
> > been awhile, but give me time.
> 
> Oh well sure, bugs. All software has bugs. You'll never find an
> implementation of CSS (or any other spec) in which I can't find bugs. Same
> goes for any alternatives to CSS, too. There are bugs in GDI+. There will
> be bugs in Avalon.

Point granted. However, until I actually see 2.1 implemented fully in
IE, it's a dead standard as long as IE retains its position as 80%+.
 
> That doesn't affect my point, which is that CSS development is ongoing,
> and that CSS2.1 has been revised just like GDI+ has been revised.
> 
> > > As you say, I'm going to say that we do. There's a limit to how many
> > > changes can be made, though, without breaking existing sites (those
> > > that were written based on the previous version). And we cannot do
> > > that.
> >
> > That's the beauty of moving this solution to a new language
> 
> So what, you want Web browsers to implement five dozen styling languages?
> Implementors will never do that. Implementors are already reluctant to
> implement new features, let alone new languages; if entire new languages
> were being released every other year, replacing the previous ones, the
> standardisation process would completely fail.

Exaggeration doesn't make your case. I think they would want 4
languages which are all simple over the three (HTML, CSS, JavaScript)
they currently have.

Simplicity wins in my book over complexity. If I can remove the layout
properties of CSS, I've greatly simplified the language and then it
becomes both easier to implement and easier to write for.

In your mind how many languages is the target? 1? I'd hate to see the
monstrosity that woud be one monlithic language.

> Not to mention that each language would need a whole separate test suite
> (who is going to write that? We have enough trouble getting test suites
> written for the "old and crusty" CSS specs).

Separate test suites that are each simpler to write than the previous
ones. N-tier has been very popular because it abstracts each layer
allowing each layer to match the mental models of the people using it.
Each layer also provides the tools necessary to accomplish the tasks
that need to be done without having to worry about the whole (a very
cumbersome problem).

> And of course if you keep replacing languages, you're very quickly going
> to lose the interest of Web authors, who, by and large, have enough
> trouble learning one language without having to start over every other
> year. They would just stick with what they knew and ignore the new
> languages.

The consistency argument only wins when you have a winning solution
already, but we don't. CSS layout isn't where it needs to be. It was a
failed experiment and saying, let's not rework the problem because
authors might have to adjust to not being stabbed in the eye (my own
personal exaggeration), is a flawed argument. Yes users will have to
learn where the new knobbies are, but they'll like the end result.
 
> > but honestly breaking existing pages is the group's own fault.
> > Versioning was invented for a reason.
> 
> Versioning is a cop-out solution that doesn't actually solve anything and
> introduces a raft of new problems, for example lack of backwards-
> compatibility with existing UAs, and the requirement that every user agent
> implement every past version of the spec as well as the current one,
> massively multipling the cost of implementation (requiring exponentially
> more test suites, exponentially more testing time, and resulting in
> exponentially more bugs).

Technically it's geometrically, but hey exponentially has a better
ring doesn't it? Whether or not versioning, the cop-out (sounds like a
movie title doesn't it?), could be argued as necesarry or not, the
system CSS has been using hasn't been fairing much better.

It locks you into a bad design years after you learn it was a bad
design. Developers have the pleasure of implementing code to cover the
use of that bad design for the lifetime of the language. Rather than
each version being a set size and clean of bad design elements that
came before, now the language simply gets more and more complex to the
point that the developers have to rip their browser apart to cope with
the obscene (yes, obscene) interaction issues that arise. Versioning
at least let's us get rid of the garbage of years before.

> It would also massively increase the complexity of the code base and the
> download size of the user agents, something that user agents are actively
> competing on.
> 
> In short, versioning doesn't work on the Web, and technologies that rely
> on it are pretty much doomed.

So instead of having small, tight libraries, we're going to have the
monolithic language that covers every conceivable possibility, every
bad design decision, and all the bugs that people have come to rely
upon for years? To me this is not a good idea. Flash by the way is
versioned and it's done alright. So is PDF, which has been suggested
for use many times.

Converters are cheap. They also have the added benefit of taking code
created with bad design and moving to a platform with better design.

Orion Adrian

Received on Thursday, 30 June 2005 12:52:24 UTC