Internet Explorer 8 and Postel’s Law

Posted on March 5, 2008 | Filed Under Software Design

For those of you who aren’t familiar with Poestal’s Law, sometimes also known as the robustness principle, it’s generally phrased somewhat like this in the computing industry:

“Be liberal in what you accept, and conservative in what you send”

Generally speaking, this is a great principle to follow in the field of software design, particularly with respect to distributed systems.  However, there are some very obvious exceptions that we as an industry have discovered the hard way.

The most obvious of these dates back to the browser wars in the late 1990s.  Before then, we realized that writing web pages was going to be difficult for non-technical people.  We thought that by allowing users to write invalid HTML and trying to render it as the user had intended, we would make writing web pages easier for non-technical users.  And for a very brief period of time, we were right.

Unfortunately, the browser wars quickly changed that.  No two browsers had implemented the same strategy for rendering malformed HTML.  In fact, no two browsers had even implemented the same strategy for rendering well-formed HTML.  Technical users now had to test their content on multiple browsers to make sure it looked as expected, in the process hacking around numerous browser shortcomings.  Non-technical users, on the other hand, just tested on their browser of choice.  When they’d reached a point where it looked fine for them, they assumed it would work for everyone else.  They were often wrong.

Now the software developers who originally decided to adopt Poestal’s Law realized the extent of their mistake.  By providing a quirks mode as the default rendering mode, they had given the impression that crazy HTML was perfectly valid, and they couldn’t change this behaviour without breaking a large number of web pages.  If they had originally used a stricter mode as the default, there would be far fewer web pages broken by a future change.

So what does this have to do with Internet Explorer 8?  Rather a lot.  The IE team has just announced that a standards compliant mode will be the default.  This is a change from their earlier plan to use a backwards-compatible quirks mode as the default.  As far as I’m concerned, this is the most exciting news I’ve heard about IE 8, much more exciting than the recent press coverage about Acid 2 support.

This will break a lot of websites, and I’m sure it will annoy the hell out of many users, at least at first.  Even bearing all that in mind, it’s still undoubtedly the right thing for Microsoft to do.  Last spring, I compared maintaining backwards compatibility to running a race wearing a lead vest.  As far as I’m concerned, IE has taken a giant step towards reducing their backwards compatibility cost, and I applaud their efforts.

I hope that this is a taste of things to come.

Success is Obsession

Posted on February 13, 2008 | Filed Under Personal Success

I started this post near the end of my fall internship at Microsoft, and never got around to finishing it.  Yesterday’s Macroeconomics lecture by Larry Smith dealt with similar themes, and because he’s such a great speaker, and I was finally inspired to finish the post.

What personality traits correlate with future success? Some people claim it’s organization, time management, intelligence, people skills, or one of any number of other qualities.

Yesterday, in lecture, I was introduced to John Maynard Keynes’ answer, “animal spirits”.  He doesn’t literally mean animal spirits, he’s talking about qualities like ambition, passion:

“Most, probably, of our decisions to do something positive, the full consequences of which will be drawn out over many days to come, can only be taken as the result of animal spirits—a spontaneous urge to action rather than inaction, and not as the outcome of a weighted average of quantitative benefits multiplied by quantitative probabilities.”

History supports this idea.  When you look back at the history of the world, massive technological and economic growth has always been coupled with high levels of ambition and passion within societies. Growth and success are typically driven by desire and human nature, not logic or calculation.

Hearing about this in lecture today reminded me of something Douglas Purdy told me near the end of my Microsoft internship, in a conversation that lead to my initial draft of this post.  He told me that the quality he looks for in people is passion, or as he put it, people who weren’t afraid to be consumed in the fires of their creativity.

I couldn’t agree with him more.  All the people I respect, the people I look up to, have had at least a spark of this quality in them.  They’re the ones motivated by intrinsic factors over money, by cool ideas and the process of creating something new.

There’s a seed of an idea that’s been growing in me for the past several months that’s closely related to this topic.  Success may be all about ambition and passion, but what about those two qualities?  I think that passion and ambition, are both just kinds of obsession.  And, because these are mental qualities, we have a degree of control over them.

If you can learn to create obsession in yourself, then you can be passionate or ambitious about anything.  If you can reign in your obsessions, you’ll be able to avoid burning out, and take an occasional pause for reflection.

The same idea holds for leadership.  Successful leadership is all about guiding and controlling other people’s obsessions.  I think that this is what lies at the heart of transformation leadership.  History’s greatest leaders have all been able to inspire their followers to incredible heights of ambition and passion.  Just look at Mahatma Gandhi, Abraham Lincoln, and Winston Churchill, and how they succeeded in inspiring their followers.  If they can create these qualities in others, there’s no reason we can’t create them in ourselves.

Don’t wait for your passion to find you, get out there and create it in yourself!

Updating Copyright Law for the Digital Age

Posted on December 2, 2007 | Filed Under Intellectual Property, Software Development

There’s been lots of talk recently about Canada’s soon-to-be-proposed copyright law, and like many people, I’m annoyed. Of course, I’m not really worried. This sort of law has been proposed in Canada in the past, and has been quickly shot down. I agree that we need to fix our copyright laws, but nobody in their right mind thinks the DMCA is the right direction to be heading.

Don’t get me wrong. I’m not one of the “intellectual property is evil” zealots. Intellectual property laws exist for a very good reason. These laws help society by providing an incentive for content production, by giving producers a temporary license to exploit it for profit. As somebody who enjoys content, I think this is a wonderful idea.

Unfortunately, current IP laws are broken in many different ways. I’m not going to bother listing them here, because it’s already been explained many times. I’m more interested in the underlying causes of these problems, one of which is that none of this legislation was created with any understanding for digital media or the computer industry. For example, without any requirement to eventually release source code, software companies are free to exploit most of their intellectual property indefinitely.

In an attempt to fix this, clever people came up with the idea of free software, and decided to wage war on the commercial software industry. The problem is that no matter who wins this war, society loses. If commercial software wins, we’re stuck with perpetual exploitation of intellectual property, and if free software wins, content producers lose much of their incentive to innovate.

Both sides will try to tell you that their solution is less harmful for society. I don’t know which side is right, and frankly, I don’t care. This is a false dichotomy. The right way to solve this problem is to fix intellectual property laws, not fight over which way of exploiting existing laws is better. Unfortunately, this is a problem that can’t be fixed until politicians start to understand the digital age. Lobbying doesn’t seem to be cutting it, which means that people from our industry are going to have to go into politics.

I know none of us want to do this, but let’s face it. It has to be done.

We’ll all appreciate your sacrifice for the greater good.


Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported
Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported