Opera on Teaching

by Tina Holmboe 18th of March 2009 (archive)

Last Monday — the 7th of July 2008 — Opera released a document series under the umbrella name of «Opera Web Standards Curriculum» a quote <q cite=«http://www.opera.com/wsc/»>complete course to teach you standards–based web development</q>, consisting of twenty–three articles, with another thirty to come. Those among us who are familiar with Terry Pratchett’s «future pork» concept understand this form of completeness very well. I can only assume that the idea of «publish (first), or be damned» applies here — because the irony is elsewhere. More on that later.

The documents themselves are surprisingly correct, well written, and informative. There are a few nagging little details that I’d wish to bring to y’all’s attention, like the rule–of–thumb that goes: never, ever name a section, quote, [http://dev.opera.com/articles/view/1–introduction–to–the–web–standards–cur/][])) Why not web standards?] and then proceed to tell the reader why, instead of why not. But I’m being picky. There are things to grab onto here, however.

Could I perhaps entice Mr. Francis to mention Vannevar Bush and Nicola Pellow in his condensed history, with a link to, for instance, W3C’s [http://www.w3.org/History.html][])) Little History of the World Wide Web]? Ms. Pellow does, in many ways, rate up there with Ada Lovelace in terms of impact on the history of computing, and Mr. Bush ought some recognition for the concepts of the Memex. I could add that the Web Design Group has also been working to promote web standards since 1995, but since I’ve been a member there for so long I have more or less accepted that we are doomed to the historical scrapheap, despite still being at it.

The meat of these articles is as one would expect in the technical information — and there is plenty. I have neither the time nor the time (no pun intended) to take it all apart, but … let’s clear up a few terms.

The DOCTYPE is an SGML declaration of grammar, or, in layman’s terms, a label that you put on your document to tell others — people and computers — which syntactic rules it follows — or is supposed to follow. Having such a label give you several advantages, among them the ability to automatically check that you didn’t make any serious typing errors which will present problems for browsers. Another, less logical but more widespread, advantage is mode–switching, where browsers change they way they lay out your page depending on which grammar it follows. I wish I was kidding.

The DOCTYPE, however, does not necessarily reference a DTD — even if a DTD can be embedded in the DOCTYPE. The DTD — Document Type Definition — is a method of describing the syntax rules of a specific document type — for instance HTML 4.01 Strict. Other such methods exists, however, such as W3C’s XML SCHEMA language, and while the most common use of the DOCTYPE is to talk about a DTD, there is really nothing that forbid us from referencing another grammar definition — for instance a schema for XHTML. It’d be up to the parser — even if, today, the XML specification define things a little bit differently. But I digress.

On to the irony. While Opera’s people (<a href=«http://dev.opera.com/author/974138»><span class=«hyperLink»>Chris Mills</span></a> et al.) publish fairly well–written, informative, and useful documents on the topic of web standards, Opera’s people (<a href=«http://dev.opera.com/author/55399»><span class=«hyperLink»>Anne van Kesteren</span></a>) work hard to create and promote that tagsoup–turning–more–soupy–by–the–day HTML 5, in the process railroading or ignoring those sadly few who voice a disagreement. Opera is, hence, both in the process of giving us a good web standards textbook and giving us a markup language which not only redefine the non–existing semantics of the I–element, but also describe how to send stuff over Bluetooth. Did I mention the SQL bits? I wish I was kidding again.

Compare, for a sad, weary, chuckle, the very correct <a href=«http://dev.opera.com/articles/view/5–web–standards–beautiful–dream–bu/#standardscheck»><span class=«hyperLink»>How do you check for standards compliance?</span></a> by <a href=«http://dev.opera.com/author/1072078»><span class=«hyperLink»>Jonathan Lane</span></a> with <a href=«http://www.w3.org/html/wg/html5/#the–doctype»><span class=«hyperLink»>9.1.1 The DOCTYPE</span></a> by the HTML 5 working group. For posterity, let me quote the latter: <q cite=«http://www.w3.org/html/wg/html5/#the–doctype»>A DOCTYPE is a mostly useless, but required, header.</q> (Editor’s Draft 9 July 2008).

By the way, Chris? Love what you are doing there, but toss a thin space before and after your horizontal ellipsis, would you?