Bell's Axioms on Standards
CowboyRobot writes "The inimitable Gordon Bell
has a 5-page article at ACM Queue on the difficulties and necessities of standards adoption, in which he lays out 11 axioms on how to best establish and adopt standards. He quotes MIT's Dave Clark, 'Standards setting sits in a boring trough between two exciting peaks. The first is the peak of technical innovation, and the second is the billion-dollar investment or market.' It's often the rush for money that makes us move to fast to do the job right."
I completely agree. Microsoft attempts to move too fast in completing their products, and often horribly botch them. They also have been known to "Embrace and Extend" someone else's product or standard, marring it in the process, and completely ignoring the concept of standards in the first place; standards in the technology world mostly exist to make things compatible, Microsoft's "embrace and extend" usually ends up with an incompatible standard or protocol.
Patrick "Diablo-D3" McFarland || http://AdTerrasPerAspera.com
6. Consumer investments are never to be undone by a standard.
I think this is the most important one - simply because if it does not make business and market sense, a standard is useless. Being an academic in the industry, I very often come across this - people in the academia want to implement standards without realizing how it would affect the market, and the impacts that it would have on existing businesses. And then they wonder why the standards failed.
Why? Because unless it is beneficial to the businesses at large, and makes technical _and_ business sense, standards are not going to be implemented. Not only that, changing or implementing a standard is going to break a lot of existing stuff, and companies often need to see some kind of adoption before they jump in.
And often, if a few big businesses decided not to jump in, it is going to fail because they would control a large chunk of the market. This is not always true, but sometimes it affects how things work - classic example being that of IE. IE does not follow standards, yet it is popular. Webdesigners design to make things work in the real world (tm) browsers, and not in compliance to XHTML standards. Why? Because it makes practical sense.
Ofcourse, sad part is that business often do not respect standards, and those setting standards do not sufficiently respect business practices. Classic Catch 22.
Well, in all fairness, standards are useless if nobody follows them.
If Microsoft can design standards that the rest of the industry would follow, I'd like to see them do it.
Really, it's quite irritating when you have a standard that the big guys don't follow - you usually design systems which work for others, and which works for the big guys - almost two or more standards.
If MS says they are going to design standards, I suggest we tell them they can - but on the condition that they should adhere to what they design, and not go around breaking it all the place. Maybe tie it up with fair-trade practices and stuff, just to make sure.
That way, we could atleast -know- what the hell is it that they are breaking, and design our systems to accomodate that.
But I don't see that happening because unlike most other big businesses, Microsoft tends to be very -petty- and -cheap- when it comes to following standards. Which is what sucks.
It's one thing not to follow standards for business sense, like I mentioned elsewhere. It's another to do so just because you're a powerful behemoth.
Take even the simple case of support for PNG - why the hell can't they go ahead and do it? Oh wait, it's not because of business or the market. It's because we're fucking big and don't care two hoots about you or your petty little problems. It's that kinda attitude that _really_ pisses me off.
on achieving standards compliance when his own site doesn't validate at all.
So you don't consider HTML to be a standard? I thought I saw some Web site once.... where was that again? Oh yeah, I remember now! It was http://w3c.org/! (I might also add that Netscape (pre-AOL) violated those same standards.)
Then there was something called Java... Wasn't there some legal battle over that and IE? Hmm..... As I recall Microsoft lost that one, too. And that was a proprietary standard at that.
I hate being put in the position of bashing Microsoft (partly because it's so easy, and partly because it's so trendy here on /.) but when they mess up recognize it, and when they do something good recognize that too!
"Like fire and fusion, government is a dangerous servant and a terrible master."~RAH
Let's take a programming language, say C.
Now, I'm a very big company who makes developer tools for my platform, and developer toolkit is the most used. I give out a free C compiler with my developer kit which everyone uses.
Except for one small problem - my compiler expects all ints to be floats, and all floats to be ints.
The developers get around this problem - how? By writing code that works on both other compilers and on my compilers. But wait, there are some lazy ones out there who just do not care about the minority of other compilers out there, and write C code which works only in my compiler.
So what have I done? I've essentially _changed_ the way C is being programmed - because there is now a section of developers who follow MY version of C to cater to folks on my platform, and those that code in good old C.
Microsoft has done EXACTLY this - except that it is HTML instead of C, a web-browser instead of a compiler. Get it now?
I think it is a frightening thing, but very much worth noting, that since the Internet left academia in the early ninetees, not a single new protocol or application has a widely accepted standard. Every single new application that has come along since then has been a hodge-podge of incompatible solutions.
Case in point:
IM - ICQ came first with a proprietary protocol, similiar applications were made AOL, Yahoo, Microsoft all using incompatible, opaque protocols. Industry talk of standardising is a joke, and free software standards like Jabber have no market share to speak of.
Audio: Real, WMV, AAC, etc etc all fighting for acceptance. The only existing standard is MP3, but that is only because it was used by hobyist copiers and never got any corporate attention until it was entrenched.
Video: How many times have you seen this: "Please choose video format: Real - Quicktime - Windows Media". I wonder how much it costs web publishers extra to encode everything in three different codecs, and when the end result is still that you are tied to proprietary players in Windows (and maybe Mac).
Voip: At least here there is some effort, and we have a whole host of different standards, H323 and SIP etc etc. But mostly different companies services are incompatible, and most users use proprietary game chatting software, or Skype.
P2P: Lots of different vendors developing incompatible programs with as opaque and complicated protocols as possible.
Vector animations: Flash...
The only applications for which we have standardized protocols, email, the web, ftp, etc, are those that were around before the Internet became mainstream. I cannot think of a single credible counterexample. I think that is pretty safe to say that Internet standardization is not rare or difficult: it is dead!
in other comments here I have mentioned a bit of history demonstrating how standards can foster the success of your company. But it occurs to me that the situation is more pervasive and more universal when it comes to the benefits of standards to folks who develop software.
The essence of the situation is that virtually all of us who develop products or systems are integrators. No matter how much original code we concoct, we no longer write whole systems from scratch. Instead, we succeed or fail according to how well our bit plays with all the other bits that combine to function in the way the users perceive. Any grown-up software engineer simply MUST either look deeply into the work that [many] others have done or trust and understand the standards to which those others have presumably worked.
SLASHDOT: news for people who can't concentrate on work or have no life at all and got tired of yelling back at the TV.