Wikipedia — Anatomy of an Error
My previous postings about wikipedia drew some fire, so in the interests of fairness I thought I’d examine a problem I recently found in more detail, as well as analyse what went on “under the hood”, so to speak. This means this post will be a rather long one, as I will be dealing with both the text of the article and the discussion behind the text, so please bear with me.
The subject is “quirks mode,” so first some background: The first attempts by browser makers to follow the CSS specification were rather abysmal. IE5 fixed many of the bugs in IE4, but still left all too many unfixed (including the infamous broken box model, probably the worst of the old bugs). By the time of IE6 and Mozilla, browser makers had a dilemma: make the browser work correctly and they would break all the designs which currently counted on old behavior.
Their solution was to require the designer to do something extra (include a correct DOCTYPE) to trigger the newer, more correct, behavior. They called this “Standards Mode.” And, since naming one behavior requires you to name the alternative, the previous, incorrect rendering mode was called “quirks mode.”
For quite a while, WP had a stub of an article there on quirks mode, and a request for someone knowledgeable to write a better one. Someone did. And then the fun began. The following will summarize, including some quotes, the ensuing discussion between “Ubernostrum” and “Warrens”. To keep some perspective, you should be told that Ubernostrum is a professional web designer, working for a newspaper. Warrens doesn’t tell us anything about his own level of experience or knowledge in the field of web design, but does explain that his main mission on WP is to counter the anti-Microsoft bias which often creeps in.
As we pick things up, Ubernostrum has just raised Warrens’s ire for daring to describe pages which rely for proper rendering on the bugs in legacy browsers as “legacy pages.” Warrens reverted those changes out of the article, and questioned the term, Ubernostrum put them back in and the discussion begins:
Ubernostrum:”…Something which functions according to outdated or deprecated behavior and is supported only through explicit backwards-compatibility features is, by definition, “legacy”.”
Warrens:”No, that’s not the definition of legacy. See Wiktionary or reference.com… New things which are created now absolutely can not be defined as “legacy”.”
So begins the pedantry. It seems quite reasonable to me to call pages which rely on legacy behavior “legacy pages,” and I wouldn’t hesitate to call designs which rely on legacy behavior “legacy designs.” And, for the record, let me state that I have in production today some designs which fall under that term. Sometimes using legacy design techniques is useful; it doesn’t stop them from being legacy designs, however.
Ubernostrum replies with a defense of the term using Wiktionary’s own definition, and then mentions Eric Meyer. This pushes another hot button with Warrens, who immediately rules anything Meyer may have to say on the issue as out of bounds, because Meyer has a clear POV (point of view) on the subject, which is a violation of WP’s POV-neutral policy.
Now we have my first seriously major disconnect. Every expert, by definition, has formulated a clear POV about the field he is expert in. If indeed it were WP’s policy to exclude everyone with a definite POV, then how could an article about evolution (to pick just one subject out of many) be written? I looked it up, and found that anyone who objects to evolution is, apparently, by definition not a scientist. I find the phrase “junk science” featured prominently in the WP description of Intelligent Design.
These observations are not meant to discuss whether or not I agree with that characterization. The point is to test just how a topic which has engendered some controversy recently is treated in WP’s “POV-neutral” atmosphere. WP clearly takes the stance that evolution is good science and anything else is either non-scientific or junk science. So much for POV neutrality.
Warrens tries to make the point that pages are currently designed for quirks mode, and pages built today cannot be called “legacy pages.” On the face of it, a commonsensical remark. But is it? Take the field of woodworking, an area I’ll claim a little expertise in. Woodworking techniques vary from one worker to another, but there’s no real confusion about the characterization of those techniques. Hand-made techniques are legacy, while power tools are modern. You’ll get plenty of differences of opinion about which is better, just no quarrelling about what legacy may mean.
To further illustrate his point, Warrens names sites like CNN, BBC World News, and MySpace. Two are sites whose design hasn’t been refreshed since “quirks mode” was normal behavior, and all of whom depend upon automated management systems to deliver content. It’s not an easy task to pull an entire CMS switchover to current web standards. Just ask ESPN. Or, for that matter, have a couple of conversations with the Joomla development team; they’ve been working for years to recode first Mambo, then Joomla, to bring it into the standards-compliant age.
Warrens goes on to say that since the sites he named are among the most frequently visited pages, they cannot be considered legacy. By now it should be clear that Warrens has his own definition of a legacy page, which doesn’t mean relying on legacy browser behavior but probably something more along the lines of what we generally call “orphan pages,” that is to say pages which are very old and no longer maintained.
Ubernostrum reverts the changes and answers the comments, noting a similarity between building codes and web standards that is a bit overreaching (you don’t go to jail for violating a web standard, for example) noting that Eric Meyer is a noted expert in the field of CSS, hence his choice of terminology should be given some weight (can’t argue with that) and notes that the fact some people continue to rely on legacy behavior doesn’t make the behavior any the less “legacy” behavior and therefore the pages are legacy pages.
Warrens then notes that none of the cited sources uses the phrase “legacy pages”. A valid point, if still in the pedantic vein.
Let’s examine how well this holds up: Microsoft equates quirks mode with the term “legacy: ” “Legacy (which is similar to how markup was rendered in previous versions of ASP.NET)”. For that matter, Microsoft is also willing to call entire websites that rely on quirks mode “legacy web sites:” “DOCTYPE Switching was introduced to enable browsers to render both standards-compliant and legacy Web sites correctly.” It’s just a small step from “Legacy web sites” to “legacy pages” so it should be clear now that “legacy pages” isn’t an inappropriate term. It should also be noted both references are from the MS website, not so much because I believe MS to be more authoritative on this subject, but because I want to avoid charges of bias against MS. No matter how I might personally feel about them, this is not MS-bashing, simply a discussion of appropriate terminology.
Why have I gone to these lengths? Just to give a little greater detail to the reason why WP is an unreliable source. Here we have a professional, working in the field, whose expertise is tossed out because the powers within WP don’t happen to like his POV. So people without specialized knowledge are entitled to revert changes made by people with the knowledge, simply because they don’t like their POV.
In the interests of full disclosure: I am a professional web developer with more than a decade of experience and thus with knowledge of the field. I have, through these many years, formed a very clear POV about the utility of standards-compliant designs, CSS, quirks mode, and many other topics, mainly because I have spent time coding designs on all sides of these issues, not just one side. And because I have learned many things about what is useful and what is not, all too often the hard way, I might add, I am clearly unfit to contribute to WP.