Wednesday, April 8, 2009

Still more on multi-platform support - standards compliance and fruit plates?

This is a follow-up to my post on Monday, which was based in part on Jake Kuramoto's serious follow-up to an April Fool's joke. And Jake's post, entitled "A Bit More on Our IE6 Stance," is getting as much comment activity as the original April Fool's post did. For example, AmiD stated the following:

I dream of a day when there is a corporate standard for browsers. I am also pro-choice on the matter, so if Firefox is the standard, people are free to use Safari if they like, but only with the "no whining about it " rule in place.

In general, I think users are waiting for direction on a browser standard. Some are resistant to change. I plan to keep telling my contacts that "to get the best functionality from the tool (insert your favorite tool here) you should be using Firefox and here's the link to download it."

This led me to comment:

Rather than having a corporate standard for browsers - which, frankly, is what led us into this mess - it would be better for browsers themselves to comply with some external standard - then any application developed to the external standard will work, no matter which browser you use.

Yes, I know that browsers are supposed to comply to standards today, but perhaps an independent organization could certify compliance? Or is there already a certification body doing this?

And this is where the magic of the tubes comes in. You see, although many people may have forgotten this over the past few days, FriendFeed is an aggregator of content and not just a nausea-inducing application. (Personally, I like the real-time, but that's another story.) Mark Trapp saw my comment via a FriendFeed share, and then chose to weigh in via both Disqus and in the FriendFeed thread. This is what he said, via Disqus:

There isn't a body that determines UA compliance, and none of the major parties would ever agree to such a body. One thing developers and some web designers have been doing is testing for capability (rather than browser), which abstracts progressive enhancement to allow for cases when a browser eventually implements a feature. The jQuery library, for the most part, is one example of this (A List Apart article on it:

One offset of this are tools to test compatibility, which could, in theory, be used for compatibility policy. The famous example of this is the ACID test: you could always require a browser that has at least 90% on it.

Now I wasn't familiar with the ACID test. And it turns out there are, as of this writing, three of them. Here's a description of acid2:

Acid2 is a test page for web browsers published by The Web Standards Project (WaSP). It has been written to help browser vendors make sure their products correctly support features that web designers would like to use. These features are part of existing standards but haven’t been interoperably supported by major browsers. Acid2 tries to change this by challenging browsers to render Acid2 correctly before shipping.

While Acid2 is a pass-fail, Acid3 displays a percentage figure. However, care should be taken in interpreting it:

When successful, the Acid3 test displays a gradually increasing percentage counter with colored rectangles in the background. The percentage displayed is based on the number of subtests passed. It is not representing an actual percentage of conformance as the test does not keep track of how many of the subtests were actually started (100 is assumed).

However, even if Acid3 DID represent a percentage of conformance, this doesn't necessarily help developers. If Browser F is 80% compliant and Browser M is 80% compliant, how do you know which 80% they're compliant to?

In a FriendFeed response to Ian May, Mark offered the following comments regarding the possibility of W3C serving as the certification organization:

W3C is a recommendation body, not an enforcement body. They make recommendations for standards, and it's up to each UA to decide if they will support the standard and how much they will support it. There are also working groups like WHAT-WG that try to build consensus among the big UA players, but members can join and leave at will, or decide to go on their own (most recently, Firefox decided to go against the WHAT-WG on HTML5 and use Ogg as the standard codec for video and audio containers).

Mark also linked to a Joel on Software post that asks the question, "what is a standard?"

Why are “web standards” so frigging messed up? (It’s not just Microsoft’s fault. It’s your fault too. And Jon Postel’s (1943-1998)....

There is no solution. Each solution is terribly wrong. Eric Bangeman at ars technica writes, "The IE team has to walk a fine line between tight support for W3C standards and making sure sites coded for earlier versions of IE still display correctly." This is incorrect. It’s not a fine line. It’s a line of negative width. There is no place to walk. They are damned if they do and damned if they don’t.

And this isn't just a software problem.

If you’ve ever visited the ultra-orthodox Jewish communities of Jerusalem, all of whom agree in complete and utter adherence to every iota of Jewish law, you will discover that despite general agreement on what constitutes kosher food, that you will not find a rabbi from one ultra-orthodox community who is willing to eat at the home of a rabbi from a different ultra-orthodox community. And the web designers are discovering what the Jews of Mea Shearim have known for decades: just because you all agree to follow one book doesn’t ensure compatibility, because the laws are so complex and complicated and convoluted that it’s almost impossible to understand them all well enough to avoid traps and landmines, and you’re safer just asking for the fruit plate.

So, what is the "fruit plate" for people who want to access functions in the cloud?
blog comments powered by Disqus