When a Standard Isn’t

When a Standard Isn’t

Since I’ve been in full bore “old fart” mode for the past week or so, I may as well get this gem off my chest to cap off the week.

A recurring theme this week for me, professionally and personally, is the use (or misuse / misappropriation) of the meaning of words.

Take Standards. I wrote a post earlier today about “the emerging standard of OpenSocial” (emphasis mine). A standard is usually one thing by which some other thing is measured. Since there is an absolute dearth of any applications supporting OpenSocial, how can it be called an emerging “standard?” Hell – it doesn’t even purport to be a specification. At the very most optimistic is a very strongly worded letter with very strong recommendations as to what should be supported – but you can define any extensions you like. What the hell is “standard” about that?

Out here in the wilds of the World Wide Web, people bandy about “standards” as if they are passed down on high, when by and large standards are the most flimsiest of figments of the imagination.

Don’t believe me?

In reality, most “standards” come about because someone is first to crack an idea or concept, make it wildly popular, and everyone follows a “compatibility” formula to success. It is only after the market leader has been established that someone comes along behind, codifies what is in fact a fait accompli, and declares a “standard” now in place. Rarely has it worked the other way around, where someone publishes a document, calls it a “standard” and a successful market spring up around it.

I can think of a set of successful “standards” documents that arguably worked this way: the Q’uran, the Bible, and the Torah – but they are entirely outside the scope of this discussion.

I can cite several early technology examples: the IBM PC compatible (possible because IBM published the ROM code and opened the door to the wild success of PC compatible systems); the Hayes Modem AT command set, which revolutionized the ability of PC software to control modems of any make or manufacture as long as they could recognize the Hayes AT command set; the SoundBlaster audio card and command set, which allowed anyone who could communicate with SoundBlaster’s original code set to talk to anyone else’s SB compatible plug in cards.

This is just a handful of the pioneers who were wildly successful, created the “standard” first, and then had it codified by the marketplace. Again, the emphasis is mine.

Even in the web world, though there exist many so called “standards”, all of the successful ones came about as a result of one company dominating (for a time) and everyone else following behind and calcifying a “canon.” Netscape (plus their extenstions) for HTML; 3COM and Ethernet; Internet Explorer and DOM and XMLHTTPRequest (“Ajax” to many of you); with very few exceptions, the “standard” always recognized the de facto market leader, and THEN became codified canon.

Working code is always the coin of the realm.

If we all had to wait around for specification bodies to waive their hands and declare what standards we’d all use nothing would ever get done. Perfect is the enemy of the good.

I had a conversation with a new Facebook contact yesterday and he was talking about how things would get so much better for communication across social networks once social networking “standards” equivalents like XHTML and Acid were adopted. I reminded him that having a standard like XHTML and Acid codified did not force anybody to use them. How many websites follow XHTML? Far too few. How many browsers are fully Acid compliant? You could count them on one hand and 99 out of 100 people don’t use them.

First movers who capture the market set the standard. Twitter isn’t the best designed site, it’s not the prettiest. But they were first out the gate to capture lightning in a jar and it would damn near take a stroke of timing and luck to knock it out of position merely on the basis of looks, speed, and technical merit. The market has spoken, for good or ill.

So, the next time someone starts yammering about the OpenSource “standard” API, be polite. Smile. Nod. If you’re from the South, think “Bless their heart.”

The market always dictates the standard, not the other way around.

This old fart is now going back into his house and you kids can get your ball out of my yard before I call the cops.

Perspective and Vantage Point

Perspective and Vantage Point

I read a post this morning concerning OpenSocial and how Facebook was becoming like Microsoft, because they were “closed” and “not compatible” with the “emerging standard” of OpenSocial (as opposed to the “de facto” standard of Facebook).

First of all, if there is a dearth of OpenSocial apps (and there are) and if everyone is paying lip service but putting very few real dollars behind it, how in the hell is OpenSocial an “emerging standard?” If anything, it is a “hoped for” emerging standard for everyone kicking themselves for not being first mover in the market. By the time the OpenSocial folks get their act together, everyone will realize that it is NOT write once, run everywhere, but instead write fifty separate times to SAY you run everywhere – and of course the novelty of widgets long worn off and we’re off to the next thing.

The other thing that got my juices going was reading another blogger parroting the canard that Microsoft is not compatible with itself (probably wrote that on an Apple system, which makes the irony even more laughable). I bet Raymond Chen of MS would have something to say about how compatible MS has been over the years.

In fact, it can be argued that to its detriment MS has clung tenaciously to keeping its systems entirely backward compatible and has forced it to not recognize the right time to jettison old technologies and embrace the new world order (web, mobile, online TV, gaming – at least initially).

I can give a real world personal example of how well MS has kept consistent and compatible with itself. I wrote an MS-DOS C language (version 1 or 2 of the compiler – so long ago I forget) program that did electrical contractor estimating in 1987. It was used to estimate the “new” (at the time) Nashville airport terminal project for the prime contractor.

I wrote my own screen and form handling (replete with direct video memory writes) using the old Btrieve B-tree data handler (not database – schemas were for wusses back then). Pretty cool stuff for the time and fast as well.

Fast forward to 2006. I get a call from the contractor. HE WAS STILL USING THE ORIGINAL PROGRAM. He wanted me to add a few new features. I would have been glad to do so… except after almost 20 years I couldn’t find the original source. Long story short, the project was re-written as an MS Access application by a friend common to me and the customer.

Folks, that is an application that ran for nearly 20 years (!!!) without modification across multiple generations of MS operating systems. And almost spanned a generation of human life.

Look, Microsoft can be said to many things. Many bad things. Most of them true.

But please – if you say that they (Microsoft) are not consistent with themselves, that they break with each generation, you gotta do more than parrot the basement losers who have never held a paying job in their life. Because the fact of the matter is that most companies do a damn good job at remaining as backward compatible as they can to remain as profitable as they can for as long as they can.

I challenge anyone to show me an Apple application that has run continuously on whatever hardware is current at the time with no code changes from 1987 in a working production environment.

I really would like to see it, but I wouldn’t hold my breathe. These are the same guys, remember, that come out with a new iPod the minute you buy one; a new iMac with an OS that is not compatible with the old hardware. The makers of the Newton.

Disclaimer: I have owned both PCs and all generations of the iMac, have two iPhones, and a handful of iPods spanning all generations.

We tend to make ridiculous generalizations because we lack perspective or our vantage point is too close to the ground to see above the horizon (forward and backward pointing).

I’m not saying one’s point of view is only valid after years of experience (though there is much to be said about that assertion), nor am I saying that wisdom comes only with age (it doesn’t).

I am saying that before we make pronouncements about what is standard, what is reality, we should at least try to do a sanity check beyond the view of a couple of years, beyond the span of our echo chamber that is the social media / social graph / web two oh hype machine, beyond our personal knowledge.

Without context, continuity, and perspective all we are doing is generating is comedy. And it’s not even that funny.