{"id":225,"date":"2004-01-20T23:26:19","date_gmt":"2004-01-21T04:26:19","guid":{"rendered":"https:\/\/www.goer.org\/wordpress\/helpful_fascism"},"modified":"2004-01-20T23:26:19","modified_gmt":"2004-01-21T04:26:19","slug":"helpful_fascism","status":"publish","type":"post","link":"https:\/\/www.goer.org\/Journal\/2004\/01\/helpful_fascism.html","title":{"rendered":"Helpful Fascism"},"content":{"rendered":"<p>Quite a <a href=\"http:\/\/weblogs.mozillazine.org\/hyatt\/archives\/2004_01.html#004702\" title=\"XML Error Handling in Web Browsers\">storm<\/a> <a href=\"http:\/\/weblogs.mozillazine.org\/hyatt\/archives\/2004_01.html#004716\" title=\"'XML, Not HTML'\">of<\/a> <a href=\"http:\/\/weblogs.mozillazine.org\/hyatt\/archives\/2004_01.html#004721\" title=\"'More on XML Error Handling'\">activity<\/a> going on over at <a href=\"http:\/\/weblogs.mozillazine.org\/hyatt\/\" title=\"Apple's point man on Safari\">Dave Hyatt<\/a>&#8216;s developer weblog.<\/p>\n<p>Dave is clearly annoyed with the difficulty of parsing broken HTML.  It&#8217;s an extremely hard problem to solve, and not very well-defined.  It must be even more frustrating to have to be judged against the quirky behavior of the <a href=\"http:\/\/www.microsoft.com\/windows\/ie\/default.asp\" title=\"Can I get a big round of applause for...\">dominant browser<\/a>.  And Dave is exactly right about Safari&#8217;s XML parser: it must be &#8220;<a href=\"http:\/\/diveintomark.org\/archives\/2004\/01\/16\/draconianism\" title=\"I come not to bury Tim Bray, but... oh hell, I come to bury him.\">Draconian<\/a>&#8220;.  Otherwise, by definition it&#8217;s not an XML parser.  (The more interesting question is whether one should actually <em>use<\/em> an XML parser to parse XHTML.)<\/p>\n<p>All of this kerfluffle has generated various proposals for solving the problem of broken XHTML.  Presumably the web would be a better place if all XHTML files were well-formed and therefore parseable with a standard XML parser.  But the reality is that about <a href=\"https:\/\/www.goer.org\/2003\/Apr\/index.html#29\" title=\"Welcome back, Mr. XHTML 100!  We... missed you.\">75% of XHTML home pages are invalid, and over 90% of XHTML sites have at least one invalid page<\/a>.<sup>[<a href=\"#20-1\">1<\/a>]<\/sup>  So how do we improve the situation?<\/p>\n<p>One commenter on Dave&#8217;s weblog said that he dreamed about a &#8220;fascist&#8221; browser, one that would refuse to display any page with any errors.  Unfortunately, a recent <a href=\"http:\/\/weblogs.mozillazine.org\/mt\/mt-comments.cgi?entry_id=4702\" title=\"Hyatt's explanation is a little ways down.\">weblogs.mozillazine.org server error<\/a> swallowed that comment forever.  It seems that the Great Spirits of the Internet have spoken.  Fascist browser: bad idea.  Let us never speak of it again.<\/p>\n<p>A friendlier variation on this proposal is to design a browser that still displays a malformed XHTML page, but provides some sort of obtrusive error message.  The basic idea is that the users will then know about the errors, the website will receive a flood of complaints, the designers will fix the page, and XHTML quality will improve.  <a href=\"http:\/\/weblogs.mozillazine.org\/hyatt\/archives\/2004_01.html#004721\">As Dave puts it:<\/a><\/p>\n<blockquote>\n<p>&#8220;Many people suggested that there be a built-in validator in the browser that could show the errors to the developer.  The validators basically break down into two types: obtrusive validators and unobtrusive validators.<\/p>\n<p>If the validator is unobtrusive, then I would argue that it won&#8217;t receive sufficient usage to make a difference.  If the browser doesn&#8217;t impose a penalty of some kind, then there will be no incentive for the author to correct mistakes.&#8221;<\/p>\n<\/blockquote>\n<p>Never before has the gulf between developer and end user been more stark.<\/p>\n<p>I&#8217;m hoping this is simply the result of sheer frustration on Dave&#8217;s part.  That at some level, he realizes how quickly this &#8220;feature&#8221; will destroy Safari.  In a sense, it&#8217;s kind of reassuring.  Proves he&#8217;s human.<sup>[<a href=\"#20-2\">2<\/a>]<\/sup><\/p>\n<p>Unfortunately, I don&#8217;t think any browser could survive pulling such a stunt.  Maybe Internet Explorer could&#8230; after all, IE users have been trained for years to ignore annoying technical messages, and most of them don&#8217;t know how to change their browser anyway.  It would be a close one, at least.  Actually, here&#8217;s a clever evil plan.  If we could <em>somehow<\/em> convince the IE development team that the &#8220;helpful fascist&#8221; browser was a good idea, we&#8217;d be in a win-win situation.  Because either:<\/p>\n<ul>\n<li>XHTML quality would magically improve all over the web, OR<\/li>\n<li>Firebird and Opera would capture 50% of the Windows browser market.<\/li>\n<\/ul>\n<p>Oops, did I say that last part out loud?  Damn.  Being an evil mastermind is harder than I thought.<\/p>\n<p><a name=\"20-1\"><\/a><small>1. Note that the <a href=\"https:\/\/www.goer.org\/2003\/Apr\/index.html#29\">XHTML 100<\/a> does not distinguish between well-formedness errors and validity errors.  However, I can assure you that very few sites were invalid but well-formed.  Most of the failed sites generated a torrent of errors of all kinds.<\/small><\/p>\n<p><a name=\"20-2\"><\/a><small>2. Although we really ought to run Dave through the <a href=\"http:\/\/www.thewavemag.com\/printarticle.php?articleid=24031\" title=\"If Angela Alioto isn't a replicant, I'll eat my hat\">Voight-Kampff Empathy Test<\/a>, just to be sure.<\/small><\/p>\n","protected":false},"excerpt":{"rendered":"<p>One commenter on Dave&#8217;s weblog said that he dreamed about a &#8220;fascist&#8221; browser, one that would refuse to display any page with any errors.  Unfortunately, a recent <a href=\"http:\/\/weblogs.mozillazine.org\/mt\/mt-comments.cgi?entry_id=4702\" title=\"Hyatt's explanation is a little ways down.\">weblogs.mozillazine.org server error<\/a> swallowed that comment forever.  It seems that the Great Spirits of the Internet have spoken.  Fascist browser: bad idea.  Let us never speak of it again.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-225","post","type-post","status-publish","format-standard","hentry","category-web"],"_links":{"self":[{"href":"https:\/\/www.goer.org\/Journal\/wp-json\/wp\/v2\/posts\/225","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.goer.org\/Journal\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.goer.org\/Journal\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.goer.org\/Journal\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.goer.org\/Journal\/wp-json\/wp\/v2\/comments?post=225"}],"version-history":[{"count":0,"href":"https:\/\/www.goer.org\/Journal\/wp-json\/wp\/v2\/posts\/225\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.goer.org\/Journal\/wp-json\/wp\/v2\/media?parent=225"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.goer.org\/Journal\/wp-json\/wp\/v2\/categories?post=225"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.goer.org\/Journal\/wp-json\/wp\/v2\/tags?post=225"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}