Browser Wars, Reloaded

Via Simon’s blogmarks, Smoke, Mirrors and Silence: The Browser Wars Reignite; a brave article by Nigel McFarlane, author of Rapid Application Development with Mozilla.

Nigel talks about the importance of standards to keep the Internet open as level playing field for all, drawing interesting parallels between where we are now and the impact of SQL standards on RDBMS vendors in the early eighties.

The article gets pretty heated towards the end;

The web is used to provide a variety of services and communities. Part of the Longhorn strategy is to extract from the web all of the services with any profit model at all: web magazines, auction sites, news, online retailers, and so on. When Microsoft tempts these organizations and communities to Longhorn, the web suffers the death of a thousand cuts. Over here will be the standards-based web, with a gradually shrinking set of web sites. Over there will be the future Longhorn-based proprietary global infrastructure

Free book: Jump Start HTML5 Basics

Grab a free copy of one our latest ebooks! Packed with hints and tips on HTML5's most powerful new features.

  • http://www.sitepoint.com/ mmj

    “if you follow Simon’s lines of thought on Simple mini-languages with PHP, you could use output buffering + tidy to make more or less any HTML output XHTML”

    One problem I have with this approach is that Tidy is not built expressly for this purpose. Tidy is intended firstly as a code beautifier, and secondly as a tool which can automatically fix a limited number of common errors in your code. When it encounters something it doesn’t know how to fix, it ignores it and gives a warning or error. Therefore, you cannot rely on Tidy to produce valid XHTML. Tidy is not capable of transforming any HTML into XHTML.

    Another problem, specifically with the approach of running Tidy over all output from a web application using output buffering, is that it is inefficient. This is based on the principal that it is better to calculate something once and give the result many times than it is to re-calculate each time you give the result. It could be useful as a temporary stopgap, while you fix the underlying problem at its source (you can use Tidy to help you with that).

  • http://www.digitale-wertschoepfung.de Sasa

    “fix the underlying problem”

    Well said. And you certainly don’t need a php extension to do it. Sun could have done the tidying for years. It’s not that tidy is only available to the world through php.

  • http://www.phppatterns.com HarryF

    When it encounters something it doesn’t know how to fix, it ignores it and gives a warning or error. Therefore, you cannot rely on Tidy to produce valid XHTML. Tidy is not capable of transforming any HTML into XHTML.

    Can’t yet really comment on how good Tidy is at tranforming – have so far only played with it. My guess would be the expectional cases are likely to be common to a given website though (the same problem repeated many times) so, with luck, fixable on a per case basis.

    Another problem, specifically with the approach of running Tidy over all output from a web application using output buffering, is that it is inefficient. This is based on the principal that it is better to calculate something once and give the result many times than it is to re-calculate each time you give the result.

    Very true but you could cache the generated output and have PHP skip parsing with Tidy if the page has already been “cleaned”. You’d still have the overhead of PHP itself and it’s output buffering but that should be bearable.

    “fix the underlying problem”

    Well said. And you certainly don’t need a php extension to do it. Sun could have done the tidying for years.

    The reason for pointing at Javas API docs was by way of illustration; they are made of thousands of static HTML pages. Sure Sun could update javadoc to solve the problem but there are still many static sites out there where the effort required to be XHTML compliant means a massive effort in updating HTML.

    It’s not that tidy is only available to the world through php.

    Agreed – been idly playing with tsWebEditor, which uses Tidy and is quite nice. Think the PHP Tidy extension has the potential to bring it to a huge installed base though – looks like it will be a default part of the PHP5 distribution.

  • http://cyberskills4hire.com phpWillow

    I have to make comment on this issue. Tidy is definitely where all thoughts need to be. Yeah, there is a certain amount of inefficiency involved that should only be concerned with processor speed. Not with program development speed.

    I work with applications on the Web, but I also work on big IBM’s where Tidy ‘is becoming’/’has become’ a major issue for re-usability. These shops are still working on old legacy code and are learning how not to make previous mistakes.

    With that noted, standards committees are working on efficient ways to improve the idea’s of re-usability (think CSS vs. tables, browser efficiency, client/server, and sheer processor horsepower, just to name a few) which will turn around current day processing needs.

    I just do not understand the thought of Tidy as being slow when so much as been brought to the tables, so quickly, to answer yesterday’s delimma’s. People forget that 28K modems, 233Mhz processors, image laden Website’s, etc. were not so lomg ago. How long do you think today’s delimma’s will be answered? I bet sooner than yesterday’s.

    The aspect of looking at programming on a linear basis leaves little room for expansion, all though it has it’s place in a limited realm.

    Don’t program yourself in a corner.

    ~Gregg

  • http://cyberskills4hire.com phpWillow

    I need to re-evaluate my previous comment on Tidy. Should have read the links to the article on how it relates HTML to CSS. I thought I was reading OOP and re-useability. Learn something new every day. Admin, remove my comments if you see fit. They do not seem pertinent to the issue.

    My humble apologies…

    ~Gregg