Thursday, March 20, 2008

The Good, The Bad, and The Compatible

Joel Spolsky posted something interesting on March 17th.  Joel writes about the ongoing debate over what constitutes a "web standard" and how to overcome the inertia of several billion web pages and finally create browsers that both conform to these standards and yet allow the web to work...as is...as ugly as it is.

 

Please read:

 

http://www.joelonsoftware.com/items/2008/03/17.html

 

If you get through the whole post and find it compelling because it recognizes correctly that there is a clash going on between the pragmatists and the idealists, maybe you drew the same conclusion I did:

 

This is good.

 

The web is as pervasive and enabling as it is because many millions of people have contributed to the web experience.  Many of those people were not professional engineers or designers.  Stacks of companies and organizations were (and are) trying to figure out what the web means, and what its future will  look like.  At the same time hundreds, then thousands, then tens of thousand of people were getting hooked up to this new universe.  Now there are hundreds of millions of people hooked up...

 

The net effect was a constant ratcheting up of technology at a pace that is unheard of in human history, so far as I know.  Most industries have what I call "physical feedback mechanisms and friction."  Put another way, it is hard for most industries to inflate and permeate as rapidly as the internet because of a high barrier of entry: entry costs loads of money, entry is regulated, entry involves capital facilities such as factories and other heavy infrastructure, and the common man is left way, way out of directly contributing to the expansion, except as a consumer.  It should be noted that the physical systems that support our interconnected world are expensive, but the relative growth of network hardware and infrastructure versus the explosion of software, users, and the internet the is astonishing--which is partly the reason so many people made so much money.  For every dollar spent on physical systems to support the internet, there were tens of thousands of dollars exploited by those who had no expenses minus a few computers and some years spent learning (albeit badly in some cases) their trade.

  

As it has been pointed out countless times, and even proven many times, a couple guys in a dorm room or a garage can have an almost instantaneous and broad reaching impact on millions of people and very quickly (remember that Google's inception is circa 1998).  There has been little friction, and the feedback by industry and society has been to accept, encourage, and invest.  This is the magnetic super train, the superconducting, the quantum mechanical information revolution.  And as consumers, we aided and abetted these snake oil sales men and the boom-town carpetbaggers that bought brains on the cheap and made their own slaves very rich.

 

And I am glad for it.  I love the internet.  As is the case with all things, we paid a bring for this new world. 

 

Lets return to standards for a moment.  Keep in mind that in other industries including banking, petroleum, communications, and power the consumer got way ahead of regulation and standards.  By the way, I am not proposing we regulate web standards through government at all--just to clear that up before I get a bunch of hate mail.  Consumers getting ahead of standards is not uncommon--and requiring backwards compatibility to bridge the gap between systems built on pragmatic present-time requirements versus newer standards-based systems is not uncommon.  What is unique about the internet, in my opinion, is the following:

  1. Speed of adoption, depth of penetration, and the extremely low barrier of entry

  2. The relative young age of the underlying engineering disciplines--lets face it, part of the reason why we are struggling with these standards issues is because those who are responsible for establishing, implementing, and disseminating these standards were all trying to figure what the heck it all meant.  Others, such as Microsoft, were not in the business of trying to do what's right in twenty years or thirty years from now--especially when nobody has a crystal ball and shareholders are in play

  3. Lack of physical consequences for acts of stupidity, negligence, or poor engineering and lack of real-world systems, which are therefore expensive and highly inspected. 

This is the most important point of this post.  Joel mentions in his post the Martian who plugged in his earphones and blew his ear drums out because the manufacturer had failed to implement the headphones pseudo-standard correctly.  This scenario is a small example of physical consequences related to poor engineering. 

 

We have become complacent and acceptant of failures in our software and internet experiences because there are few alternatives (more and more each day however).  In the history of the automobile there are examples of similar tolerance and acceptance.  My favorite happens to be the story of the starter.  For many years, automobile engines where hand-cranked into life.  This method of starting was fraught with peril and many suffered broken bones and even death--but we kept buying automobiles and things got better over time.

 

To take the automobile starter story to the internet, we are faced with the hand-cranked browser and we seem to be stuck because there are like, thirty five trillion hand-cranked web pages out there.

 

I don't think that a better future includes idealists forcing us to change our ways by failing to render our web pages as we are accustomed.  Microsoft and almost every other browser producer has been part of the problem and needs to be part of the solution, as incremental and painful as it is likely to be.  The internet is not something that any one organization or company controls--in fact, it is by design the most loosely coupled system in the universe.  If Microsoft throws pragmatism to the wind we will have a serious economic, technological, and social problem on our hands.

 

I hope we arrive at a day when our browsers, pages, and minds are free of the "compatibility tag".  I really think it will happen someday as a result of many companies, standards groups, and consumers coming together to solve the problem.  It is not unlike the war for opinion in humankind's impact on the environment.  We have systems in place that simply cannot be shut off because "it is the right thing to do."  Sure, we could do that and millions of people would die.  Sure, Microsoft could finally release a standards based browser, but then everybody would have to stop looking at their hand-cranked web sites and give up their internet addiction for a clean, pure, standards-based experience. 

 

Sure...

 

This is good.  The internet isn't global warming, it isn't war, it isn't world politics or poverty, but it is important and we should have debates about it--and those responsible should be accountable.  We the consumers need to start inflicting physical consequences (stop buying products, stop frequenting horribly designed sites, start yelling louder) on the software industry...but let's not throw the baby out with the bath water.

No comments :

Disclaimer

Content on this site is provided "AS IS" with no warranties and confers no rights. Additionally, all content on this site is my own personal opinion and does not represent my employer's view in any way.