Standards: An alternate take
Tuesday 18th March, 2008 @ 02:26
As I get older I find myself becoming more pragmatic. A few years ago I probably would write off a guy like Joel Spolsky. He used to work for Microsoft, still comes over as very pro-MS and seems indifferent to open-source software.
All that really matters however is that the guy seems to be a really great software engineer and his blog Joel on Software is probably one of the best technical blogs around. Not only does he get into some real technical nitty-gritty sometimes he challenges us younger programmers to be a little more pragmatic and a little less dogmatic about what we believe.
A great example of this appeared in Akregator today (the best RSS feed reader I’ve ever used on any platform) where he weighs in on the recent debate about whether Internet Explorer should ship in “standards-compliant mode” out of the box. As much as I hate to admit it, I’m tending to agree with him that it may well be a bad idea to do so. If you look at the amount of websites that seem to be broken by IE8 then accessing the web will be a pretty horrible experience for its users, which will mean either people still use IE7 or move to Firefox.
It just seems a real shame to me that the IE team, admittedly through past incompetence, has got themselves in a situation where they are damned if they do and damned if they don’t. Ultimately there are a lot of websites that just won’t be rewritten for IE8 so it will be interesting to see what solution they come up with to solve this.
Proprietary or open, algorithmic problems fascinate me but making great software that actually works for “normal people” fascinates me a lot more so I’m intrigued to see how the team will handle this as I believe it is a far harder problem than simply making things go fast or have lots of features.
(For those of you interested in another good software engineering blog I thoroughly recommend Coding Horror, written by a Windows .NET developer but a very good read and is full of language/platform agnostic advice.)
Posted in Software Development
6 Comments »
It is a well-established ‘tradition’ for Microsoft to incrementally introduce new APIs and to support all kinds of legacy stuff, bloating the system (without actually fully achieving its aims). Why should it be different in this case? IE8 introduces lots of new stuff, is somewhat backwards compatible while still breaking many things that used to work. The question is not whether they suddenly abandon their old algorithms and thus ‘betray’ users and developers counting on that they work, but what direction the changes take. An utter unwillingness to work with the rest of the software world for the sake of its own profits cannot be explained away with posing an all-or-nothing alternative. I think you fell prey to a simple logical fallacy.
Comment by mutlu — Tuesday 18th March, 2008 @ 03:57
I thought it was an excellent blog post. The only complaint being that he describes web standards as some impossibly complex thing that can’t ever be correctly implemented. Well that is pretty much proven wrong by the fact that Opera/Firefox/Webkit all have reasonably compatible implementations of the standard and only IE gets it completely backwards. Sure it’s complicated, but its not an impossible task. The IE team dug their own hole. I’m not particularly sad to see them wallow in it now.
Comment by Leo S — Tuesday 18th March, 2008 @ 04:36
That said I also think the only sane thing to do is to default to quirks mode.
Comment by Leo S — Tuesday 18th March, 2008 @ 04:36
Yes, pragmatism is fine, but I find Joels blog post dishonest because he pretends that there are only two interests in play. When in fact there is a third interest which is Microsofts financial interest in sabotaging standards.
The refusal to add SVG capability to IE8 is an example of this interest as far as I can see.
Comment by Viktor — Tuesday 18th March, 2008 @ 10:25
If IE8 does not follow the standards, by default, then do you think that will
1) Improve the current broken system
2) Make it worse.
Comment by John Tapsell — Tuesday 18th March, 2008 @ 11:34
@mutlu: What new stuff does IE8 introduce that isn’t standard improvement based? I’m not saying you are wrong I just haven’t seen any evidence of that. The whole point is that they are now trying to work with the rest of the software world at the cost of their own profits but yet people still criticise them! I think you fell prey to your emotions which have misled your evaluation of a software engineering decision.
@Leo: I agree that the team did dig their whole, I just lament when I see software engineers trying to fix a problem in a sensible way but being screwed by previous mistakes.
@Viktor: How is passing ACID2 sabotaging standards? Sabotaging SVG would be extending it with proprietary extensions, instead they are just not implementing it. I think that is a bit lame but you can’t say that they are sabotaging standards by implementing them!
@John Tapsell: I don’t know what you refer to by “system”. If you mean will it improve IE as a product, I’m not sure either way.
I find it a bit of a shame when people can’t discuss a software engineering problem without becoming overly emotional about it. Leo, I’m glad at least someone seemed to enjoy the blog post and at least you seem to have actually read it! My discussion was aiming to be about the software engineering teams decision as, as a software engineer, this interests me far more than MS’s politics or past actions.
Comment by Mike Arthur — Wednesday 19th March, 2008 @ 01:44
Leave a comment