In the world of grammarians there are two competing camps: descriptivists and prescriptivists. Edward Finegan of the University of Southern California sums up the difference:
Descriptive grammarians ask the question, “What is English (or another language) like — what are its forms and how do they function in various situations?” By contrast, prescriptive grammarians ask “What should English be like — what forms should people use and what functions should they serve?”
In the prescriptivist camp falls Lynne Truss, The “blog” of “unnecessary” quotation marks, and your high school English teacher. Prescriptivists aim to help us use the English language properly. The intention is noble: if we all speak the same language, we can communicate much more effectively. But it’s a bit Quixotic: if language was static, we’d all still write like Chaucer.
The descriptivist camp, on the other hand, simply aims describe how the language is used today. This camp is perhaps best embodied by the Urban Dictionary, a lexicon open to input from anyone. Unfortunately, this purely descriptive approach to language implies that language doesn’t matter as long as intent can be communicated; generations of poets would beg to differ.
Neither camp is “right” — both parties are needed to keep language moving forward at the right speed. Think of it as like a nuclear reactor: too much descriptivism and the language will melt down into a radioactive mess; too much prescriptivism and the lights go out.
Lately, it’s become obvious to me that the W3C is increasingly irrelevant. Though I think the W3C has done wonders for the web development community, these days I simply don’t think about the W3C in my daily work. Nor do any of the web professionals I know.
Why?
CSS3 is stuck in a chicken and egg situation: browser vendors won’t want to implement draft standards, and the W3C won’t call CSS3 final until they’ve got several implementations.
HTML5’s timeline is a joke. Thirteen years ago the majority of the world had no idea what the Internet was; thirteen years in the future who knows what the computing landscape will look like. Will computers-as-we-know-them-now even exist? That far out, the probability of an accurate prediction rapidly approaches zero.
XHTML is basically a niche technology — it’s certainly not appropriate for the web at large. And XHTML2 is even worse.
WS-* is just insane.
SVG is neat tech and gaining some ground, but it’s nowhere near as useful on the web as the completely-non-standardized <canvas> element (thanks, Apple!).
I could go on, but why bother?
In the beginning, it seemed that the W3C’s job was mostly descriptive: the first versions of the DOM and CSS standards mostly rationalized what browsers were already doing, resolving conflicts where necessary. The “get a better browser” campaign threw a healthy dose of prescriptivism into the mix. But it wasn’t a hard sell since the specs in question mostly matched what browsers were already doing.
But these days that’s far from the case. The W3C is off in lalaland building this supposed next generation of web standards, and we’re told to just wait until these specs are finished. Just another decade; no big deal.
And because these new standards are so pie-in-the-sky, browsers themselves are getting less standardized. Something simple like opacity, while supported by most browsers, is actually pretty complicated to get right — is it opacity? rgba? -moz-opacity? What about mouseovers and such? A descriptive spec could answer these questions.
What happened to the web standards descriptivists?
Comments:
HTML 5 *is* the descriptivist camp. The "13 year" comment was kind of a distraction, as the HTML 5 effort is really an umbrella for a wide variety of kinds of standardization, some of which will take longer than others to complete.
As an example, HTML 5 indicates how HTML should be parsed, based largely on how browsers actually parse HTML 5. It includes a specification of the canvas element, a description which is more thorough and prescriptive than any documentation produced by a browser, but based on the browser implementations. They've introduced Javascript code to allow the new HTML 5 elements (like section) to be used in IE (they already worked in most other browsers).
HTML 5 is really exactly what you are describing. So... be happy?
I mostly agree. I hold out a little more hope for SVG though since, even though canvas is gaining traction, SVG and canvas do very different things. With SVG you can make first class vector graphic elements that fit into the page, have ids and classes (and can thus be styled with CSS), moved around and modified independently, and have javascript event listeners attached to them. Canvas just gives you a rectangular graphics buffer that you can draw into.
"HTML 5 *is* the descriptivist camp."
Really? <article>? <aside>? <section>? <video>? <audio>? Date, time, color inputs? <input pattern>? Form constraints? Drag & drop? UndoManager? WebSocket? These things describe the web as it exists today?
Ian's right, the WHATWG are actually the descriptivists you seek.
New elements (<section>, etc.) are only introduced when a study of millions of @class and @id values revealed the widespread use of things like <div class="section"> for ad-hoc sectioning.
Where they do new development, it's to ensure the open web platform doesn't fall behind proprietary tools like Silverlight and Flash--we have to advance the open web platform simultaneously with writing down how it actually works.
Edward: but, see, this "competition" with Silverlight/Flash/whathaveyou is the problem.
Look, Flash video is a standard. Every browser under the sun will play a YouTube video. A descriptive view of the web would recognize that Flash has won the web video war, and design a <video> container around that. Instead, we get Ogg. Great.
I want specs that encapsulate how the web actually works, not how a group of academics wish it worked.
Jacob, Flash is a non-free technology. By default, Debian Web browsers will not play YouTube movies properly because Debian can only include a crippled free software Flash clone. Do you consider this important?
Noah: I really don't want to get into a argument over free software philosophy, so I'll just say this: today I'm using a non-free OS, a non-free text editor, writing both free and non-free software, deploying it onto a free software stack.
I use the best tools available; often they're the best because they're free. When it comes to web video, though, the free software community has lost.
Any machine that won't play Flash will be seen as "broken" by the vast, vast majority of computer users.
Flash isn't a standard, and won't be a standard, because Adobe doesn't want it to be. Being a standard doesn't just mean "widely installed". It means: well specified and repeatable. Flash won't be those things.
The HTML 5 effort *has* been providing retroactive standards for a variety of defacto standards, like canvas, XMLHttpRequest, and other common browser extensions. Unlike Flash, there are multiple viable software products that actually care about these standards, and are making the adjustments to normalize their implementations. This doesn't include IE, of course, but a great deal of effort is also put into standards to make them viable even in a world where IE exists.
And yes, <section> is a fine direction for a standard. With the IE Javascript fixup, you can use <section> *right now*, and style it with CSS. It's an extension of the semantic markup of HTML so it can better reflect the structure of typical documents. If you look at the process taken by the HTML 5 effort, it is very openly and explicitly based on empirical study of the web as it exists, including what the most common CSS classes are, what attributes are used most often, how often they are used correctly, etc.
I can understand the criticism of HTML 5 that it is overreaching. That's probably correct, though I'm sure not everyone would agree on *where* it is overreaching. But for the specific criticism of your post -- your desire for descriptive specifications -- HTML 5 and WHATWG are where it's at.
Remember, "standard" doesn't just mean "something considered by an authority as an approved model;" it can also refer to "an object that is regarded as the usual or most common size or form of its kind" (both definitions from my crappy RH desktop dictionary).
I'm deliberately conflating them because I'm trying to make the point that to the vast majority of web users, Flash *is* a standard -- is the "usual or most common form" of web video. Only those with something invested in the philosophy of software freedom care. If the WHATWG ignores non-free software they're not doing a very good job describing how the web really works these days.
Yes, the WHATWG is doing a better job documented the web-as-it-is than anyone else. That doesn't mean they're doing a particular good job, though.
I think W3C still has a great chance to win the <audio> and <canvas> battle. I won't have to write <object><embed>.
opacity and rgba() both came out of the prescriptive camp. The -vendor-property-syntax came out of the prescriptive camp because a descriptive specification of vendor properties would be the mess that reality was a decade ago.
The seemingly duplication of opacity and rgba() is not a duplication - both models of transparency are needed. A purely descriptive spec in 2000 would not have answered both use cases.
Jacob, I am surprised by your attitude. One of the reasons the Web has become so popular is because of open and patent-free standards with free software implementations.
Positioning Flash (which is non-free, non-standards track, closed, and patented) as a "standard" is absurd. Either we pressure Adobe to free Flash or we abandon the idea of accepting it as canon.
Whether people like it or not, Flash is the way everybody views video on the web. It's how I do it, how my friends do it, and how my mom does it. It is a standard in the true sense of the word.
It will never become a W3C standard because it is proprietary. Free software is great but I think some people are blinded by idealism and can't see the real software world. People use Flash because it works for them and because Flash is great software.
I wish Flash were free but the Adobe guys have mouths to feed and should be compensated for their hard work.
I guess everybody who calls Flash video "a standard" has never tried to use it on a platform other than 32-bit Windows, 32-bit Mac OS, 32-bit linux and maybe in very recent 64-bit versions of those. Of course you still have to take all the browser (or -plugin) crashes added to the fun (fortunately there are some good firefox addons to prevent most damage).
But a "standard" that on "non-supported systems" (declared as such by one single vendor!) requires you to use all sort of strange unofficial scripts (or even decompilers) to find the URL of and download the main video so that you can finally play it in an unofficial (and patent-infringing, in some countries) standalone application, that can't be a standard by any reasonable definition.
BTW: the result of all this is that most of the time I don't even bother to follow links to video on the web anymore, because of all the issues involved.
About the W3C: they currently recommend you use CSS 2.1, not CSS 3, and CSS 2.1 is a non-backwards-compatible evolution from CSS 2.0, to be able to include what was actually implemented in most browsers. It also seems like most browsers are implementing CSS 3 features one by one, so I'm sure we'll get there...
PS: your preview button seems to be broken, as it posted my previous message before it was complete. Maybe will post this one too... ;)
Leave a comment: