November 21, 2009
June 24, 2009
June 22, 2009
Recently on a travel/study cruise focused on ancient Greece and the classics, we toured the Temple of Apollo at Delphi, from which the Delphic oracle spoke.
When does someone consult the oracle? I carry a pocket oracle: an iPhone "Magic 8-Ball" application which I consult at times, usually when I can't make up my mind, but don't want to waste any more time thinking about the decision.
Did the ancients also consulted the oracle when the course of action wasn't clear? Having weighed the pros and cons, the choices seem balanced. But often making some decision is imperative.
In a tyranny, the tyrant can decide. But if there is a group decision process and a need for agreement, then sometimes some external force is still needed to help the group come to a timely conclusion. Even if the ancients couldn't agree on a decision, they could agree to consult the oracle, and the oracle's pronouncements could then be used as justification for the ultimate decision.
The treasuries at the Delphi site impressed me; they were large constructs to hold treasures given as gifts to the gods who provided help in deciding important issues. The treasuries at the Delphi site clearly represent a community contribution, a kind of endorsement, sign, of the oracle as an authority.
The W3C TAG is an Architecture Group to which I was elected. The W3C TAG produces "findings" -- readings of general principles for the World Wide Web. Our pronouncements might be used as justification one way or another to encourage consensus, in those cases where otherwise reasonable participants cannot come to a conclusion on a course of action, but where a coming to a decision is important. Standards are often about making difficult choices. Let Sir Pythia speak, and we Delphic priests will interpret (alas, not in elegant hexameter).
Let's focus on the goal: insuring that everyone "on the web" can reliably communicate. HTML was intended to be the "common language" that every device, browser, computer could read and interpret, even though there are other languages and systems and formats and features. Increasing the capabilities of the common language to include "web applications" is an important subsidiary goal, as long as the original purpose of HTML isn't lost.
It is important to avoid the tragedy of the commons, where individuals and organizations acting independently in their own self-interest can ultimately destroy a shared limited resource. The "commons" is "global interoperability".
W3C provides a forum where organizations that might otherwise be in competition can get together and agree on a common technical goals -- one that they all agree to implement -- and to document that agreement in a way that anyone who wishes to can participate in interoperability. I don't think the quibbles about "Standard" vs "Recommendation" matter. It's critical, though, that whatever is documented and published (and promoted as a "standard") actually represents agreement.
I don't see how it is helpful if the status of the agreement of the participants is obscured. Calling something a "standard" (even if qualified as "under development") before there is agreement doesn't distinguish between "proposed but not agreed", "agreed but incomplete", or even "agreed, but document not finished". How does this help reach agreement?
Is shipping an implementation of a proposal before there is agreement helpful? Perhaps as a way of resolving disagreement by "fait accompli", but if different vendors ship different, incompatible versions of their own interpretation of the "draft standard", that would be counter-productive. If vendors ship implementations and call them "standard", but in the end the feature doesn't ever become standard -- doesn't this encourage users to create content that only works in some browsers and not others? It becomes another instance of "best viewed by".
I can't see how continuing independent tracks of web development (one for browsers and another for XHTML/XML/SVG-based workflows) can evolve into a single web useful for all.
Whether something is called a "Standard" or not doesn't matter as much as whether doing so helps or hinders where we need to go. Let's focus on that.
May 28, 2009
How Power Corrupts: Indirect Force
Consider the following: if you take white noise -- sound at all frequencies -- and filter it, you get bias: if you filter out all the low frequencies, you'll get noise that sounds high-pitched. If you filter all the high frequencies, you get a low-pitched sound. If you filter everything below 339 and above 441, you will hear a 440 A tone, even though you started with white noise.
Something similar happens with software. There was a time when Microsoft was accused of introducing OS bugs that impacted other people's applications more than theirs! Of course, they hotly denied this. They hate bugs! They spend an enormous amount of energy on reducing bugs.
However, bugs in its software are "noise": fallout from adding features, working on tight schedules without much time to think. Software vendors rely on testing. Testing is a kind of filtering for bugs. And of course, filtering is, unfortunately, selective. It is somehow more important to eliminating bugs that affect you or your friends more than it is those that affect your competitors. The result is bias with no paper-trail: you did nothing wrong, every act is above-board, open, transparent, improving software, etc.
The same thing can happen in standards! People take positions, have opinions! There are lots of ideas generated, some good, some bad, suggestions, positions, what have you. Many contributors are independents, students, and many -- most really -- are sincere employees and software developers.
However: not everyone gets funded. Not everyone has a PR person assigned to report "this week". Not everyone is friended or employed or encouraged, or have the luxury of spending half- or full-time on their life's work.
Those with an agenda, implicit or not, apply filters: fund those whose work supports their agenda, not fund those whose work is counter. Individuals who are promoting a position which is in favor will be amplified, invited to meetings, recommended, and those whose position is not in favor will not. It's natural. Bias is endemic. No individual needs to work according to an agenda to be a player.
Of course, I'm part of this game. I work for Adobe. I don't think I shill for Adobe, and most of my view of "the Web" was formed when I worked for Xerox, or later AT&T. But I can see Adobe's point of view, the sincerity of the people who work on its software, the lunacy of some of the silly anti-Flash attitudes not based on anything other than polemics that evaporate on examination.
Does this make me biased? Not any more than anyone else in the process. If there's bias, you've already shown it by choosing to read this.
May 19, 2009
I'm still working out where/how to blog. I took a mailing list posting on 'meaning of names and operations of services' with a discussion around it and posted it to the W3C Technical Architecture Group blog. Is this useful? More likely to survive as a meme than just leaving it on the mailing list? I think this is an area of language design policy that's worth elaborating, but is blogging about it effective?
May 7, 2009
- Internationalization conflicts between IRI and the new (non-ASCII) domain names. As far as I can tell, the conflicting methods of encoding and display haven't been resolved. This seems like a major disaster.
- Distributed responsibility means more changes for messing up: the more registrars and domains and domain policies, the more likely it is that someone will allow spoofing domain names to be registered.
- Trademark issues: the assurance that the concerns of trademark holders about squatting, monitoring, and having to spend much more to protect trademarks -- well, the assurances aren't particularly convincing.