A short sidenote concerning Joel Spolsky

Joel Spolsky is wrong. In his very well known article, known as How Microsoft Lost the API War, he claims that:

There are two opposing forces inside Microsoft, which I will refer to, somewhat tongue-in-cheek, as The Raymond Chen Camp and The MSDN Magazine Camp.

The MSDN Magazine Camp is always trying to convince you to use new and complicated external technology like COM+, MSMQ, MSDE, Microsoft Office, Internet Explorer and its components, MSXML, DirectX (the very latest version, please), Windows Media Player, and Sharepoint… Sharepoint! which nobody has; a veritable panoply of external dependencies each one of which is going to be a huge headache when you ship your application to a paying customer and it doesn’t work right. The technical name for this is DLL Hell.

The Raymond Chen camp is all about consolidation. Please, don’t make things any worse, let’s just keep making what we already have still work.

For those of you who haven’t heard of Raymond Chen, he’s a developer who has been with Microsoft for around 15 years or so, and is the author of a fairly popular blog called The Old New Thing. Raymond Chen happens to work on the same team that I do, Windows Shell, and I’ve nearly knocked him over in the hallways on more than one occaision (he’s really not a big dude… and I don’t really pay attention to where I’m walking all the time). One of the things that Raymond is known for is writing about the herculean task of ensuring backward compatibility in Windows. It’s one of the hardest things we have to do here, since we have to account for every possible way that a developer could misuse an API, or depend on some minor implementation detail of an API. When Joel Spolsky tells the world that the “Raymond Chen Camp” is dead, he’s dead wrong.

For starters, application compatibility, or AppCompat as it’s known here, is just much of a priority as it ever was before. When a company tells us that our latest beta of Vista breaks an application they’ve been using on XP, we work with the company to determine if there is a solution to their problem, or if we need to add special compatilibity code for their application. From the perspecitve of an idealist, this may seem distasteful. In the end, however, it has no effect on the performance of Windows, and the net effect for our customers is very positive. Joel is completely correct in stating that Apple has never cared about application compatibility in the same way that Microsoft has. The end result is that corporations tend to stay away from Apple products, since Apple makes no garuntees that the next version of OSX won’t break their multi-million dollar enterprise application. The tradeoff, of course, is that Apple can adopt new technologies very quickly, and is one of the reasons why OSX is technically superior to XP in several ways.

My second point is that Joel fails to comprehend the technologies he claims are destroying AppCompat. For one thing, he mentions COM+, DirectX, and DLL Hell all in the same breath. DLL Hell is completely unrelated to anything he mentions, and is a problem that was mostly solved by WFP (Windows File Protection) and SxS (Side by Side) component technology. In fact, DirectX and COM+ are both based on COM, which is yet another windows technology that helps ensure application compatibility between different versions of the same DLL. Any time someone writes a program that depends on some cool “MSDN Camp” component, the installation of said component will work on any new version of windows, since these components are included in AppCompat measures just like everyone else. There’s no difference between Microsoft releasing some cool speech recognition package and a third-party ISV releasing a cool speech recognition platform, both will always continue to be compatible with every new version of windows.

This is getting too long, so I have one final comment to make regarding Joel’s article:

Microsoft got big enough, with too many developers, and they were too addicted to upgrade revenues, so they suddenly decided that reinventing everything was not too big a project. Heck, we can do it twice. The old Microsoft, the Microsoft of Raymond Chen, might have implemented things like Avalon, the new graphics system, as a series of DLLs that can run on any version of Windows and which could be bundled with applications that need them.

What’s that you say Mr. Microsoft? Avalon is implemented as a series of DLLs that will be available on Windows XP? Oh I see, that’s very interesting. You can take your foot out of your mouth now, Mr. Spolsky.

-Tim

Comments

  1. Chris says:

    Where do you get off calling this a short sidenote?

    On another note this is pretty cool, I think I’ll flag Spolsky about it. It’ll be fun to watch you two discuss it.

  2. Tim says:

    It was meant to be short, but it didn’t turn out that way. Go ahead, flag him. I’ll take him on any day of the week (except friday… I slack off on friday)

  3. Ryan says:

    IMHO… Joel doesn’t care as much about being precise as being discussed.

    He’s a publicity whore, which is why I stopped listening to him and his guerilla hype tactics. There are a million better programmers and a million better products to pay attention to.

    Let me say it again, ‘Joel doesn’t care as much about being precise as being discussed’.

    I’ve got a great business plan – let’s setup shop in NY where our burn rate is extremely high and then compete head to head with Bugzilla and VNC, which are free… and dice.com while we’re at it. Any takers?

    What’s that? You want your programmers to be “hardcore” (OCAML, C++ ATL, MFC) and in return you train them in the art of some proprietary version of VB?

    If I had to label Joel Spolsky’s legacy, I think I would call him the Heraldo Rivera of software development.

    In a competition between Paul Graham and Joel Sposlky, Paul wins. Paul doesn’t have to work. Furthermore Paul doesn’t have to generate controversy to get noticed.

    If you disagree, you can send your thoughts to Ryan@givesAshit.com

  4. Robert Moir says:

    “What’s that you say Mr. Microsoft? Avalon is implemented as a series of DLLs that will be available on Windows XP? Oh I see, that’s very interesting. You can take your foot out of your mouth now, Mr. Spolsky.”

    At the time he wrote that, back in 2004, I believe that Avalon was considered to be a Vista only technology. You know, back when Vista was going to be new and exciting, rather than being to Windows XP what Windows ME was to Windows 98.

  5. Gabriel Ross says:

    Well.. that MS press release anouncing availability of Avalon on XP is from Aug 4, 2004. Joel’s article predates it: Jun 13th. It’s almost as if they listened to him! Nahhh…

  6. Tim says:

    MS listen to Joel? That’s about as likely as MS listening to Dvorak. Bringing as many Vista features as possible downlevel (ms slang for “the last version”) is something that’s been adopted across the board. Even many esoteric features in Windows Shell will be brought to XP in the form of a service pack or some sort of seperate download.

  7. Robert Moir says:

    Microsoft? Listen to anyone?

    If you find yourself thinking that Microsoft listen to customers, just ask yourself “Which customer asked for WGA?”

  8. Tim says:

    Who asked for WGA? The “customer” that downloaded XP on bittorrent. The entire nation of China. And the retailers that sell modified pirated versions of XP to people like Paul Thurott.

    http://www.winsupersite.com/showcase/wga.asp

    If you bought windows legitamately, why would you care about WGA? It hasn’t inconvenienced me once.

  9. Ryan says:

    Man, who cares about the latest deck chair on the Titanic.

    You guys should listen to Larry Wall’s speech on Empire Building at Waterloo:

    “Microsoft is not at the forefront of this debate. Anyone who produces XBox is NOT at the forefront of this debate.”

    “Mr. Gates doesn’t know. Mr. Gates DOES NOT KNOW. He has a semi-state-licensed, quasi-monolpoly, and he has a hard time making a profit. Do you not think other mortal companies will have the same problem?”

    “The old Microsoft didn’t worry about prescription drugs. They worried about sticking it to the consumer, and to a large extent they did.”

    “You show me a company that’s now engaged in Cost Control, and I presume it means they’ve run out of things to sell profitably.”

    Peace out, yo.

  10. Robert Moir says:

    But Tim, I thought product activation was supposed to take care of the pirates?

    Obviously the thieves didn’t ask for WGA. But they ain’t worried about it either, the software crackers will get right around it just as they did product activation.
    Product Activation already works to keep honest people honest. So who is it targetting?

    WGA has inconvenianced paying customers. I’m a MVP fwiw, I’ve therefore drank the kool aid, and have no reason to pirate Windows because I’ve got more ‘free’ copies in MSDN than I know what to do with. Yet I’ve been inconvenianced with WGA, twice in fact.

    Once on a retail copy of Windows XP that was a gift from the XP Beta test team for the little bit of testing I did for them. So unless Microsoft stole that software from Microsoft, which doesn’t seem likely, WGA popping up must have been an error.

    Second time on an OEM copy of XP Home I was putting back onto a laptop I was selling. I was restoring the manufacturer’s OEM image of XP Home and – you’ve guessed it – WGA again.

    Now you may be about to point out that the second time could have been down to a dishonest OEM and you’re right, it *could* have been.

    It wasn’t though, the OEM concerned is one of the largest in the UK and maybe even Europe, and the software was a legitmate OEM licenced version of XP.

    Anyway, this was my ‘side issue’ example of not listening to customers. I don’t want to hijack your blog with too much off topic arguing about something that wasn’t part of the original article.

  11. Tim says:

    @Ryan: I honestly don’t know what you’re referring to. Are you saying that MS is trying to cut costs? They’re hiring something like 12,000 more developers this year.

    @Robert: I won’t argue that WGA is an inconvenience sometimes. Personally, it never causes me any trouble, even when I’m reinstalling windows from my OEM CDs, so I’m not sure why it gave you trouble. But realistically speaking, do you know how much pirating goes on in China? Close to 1.5 billion dollars, and that’s in China alone, not counting nations like Vietnam, which has traditionally been another center for software piracy. I would guess that these places are the real target of things like WGA.

  12. Alexei says:

    Hmm… Joel got beat up? Kewl!

  13. Anonymous says:

    WGA inconvenienced us; we bought VLKs from Microsoft, installed XP and it updated fine. A few weeks later when we tried to use Microsoft Update we were told we weren’t running a genuine copy of Windows. Really reassuring.

    Will WGA make any difference to Windows (and Office and pretty much everything else, Microsoft and non-Microsoft alike) being counterfeited across most of Asia et al by well organised groups that are practically businesses? (Hell, they’ve even been counterfeiting hardware, running their own factories!) On past experience, almost certainly not.

    Will it be yet another annoyance to those who have bought legitimate copies (with the whole vendor doesn’t trust customer issue), and even more annoying on those occasions it goes wrong? Of course.

  14. Leonardo Herrera says:

    Tim,

    Do you really believe that WGA is going to bother those millions of chinese pirates?

  15. Ryan says:

    You link to an August 2004 press release to somehow discredit something called for in June of 2004? How does this undermine Joel?

  16. Ryan says:

    PS I am not the other “Ryan”

  17. Ryan says:

    @Tim: I’m just saying Microsoft is a dinosaur and ‘you can see the comet trails in the skies’. And so is Joel for that matter. If you really want to understand WHY I bring it up, check out Larry’s speech:

    http://www.csclub.uwaterloo.ca/audio/Larry%20Smith%20Talk.mp3

    LOL, 12,000 more! LOL. Understand the force you will.

    peace

  18. Tim says:

    @Ryan2: The article I was critiquing is one of Joel’s most well known articles, and it gets quoted entirely too often, despite being wrong. I don’t intend to discredit Joel, since I tend to agree with much of what he writes.

    @Ryan1: Thanks for the link, I’ll check that out,

  19. Andrew says:

    That makes sense, attack an IT article written 5 years ago.

    What will you do next, attack the Old Testament for not being relevant to modern life?

  20. Ryan1 says:

    @Andrew: I think you’re on to something. It may take a crusifiction for Joel to change ;) j/k

  21. Anonymous says:

    @Andrew: You realize you’re commenting on an post I wrote months ago? That’s totally not ironic.

    The point is that Joel made many dire predictions, all of which turned out to be wrong.

  22. Tim says:

    @Andrew: You realize you’re commenting on an article I wrote months ago? That’s totally not ironic.

  23. Ryan1 says:

    ROTFLMAO!!!

  1. [...] It seems like my blog posts are always popular when I talk about Joel Spolsky. On the topic of Joel, I recently read one of his blog posts where he mentions that he lost an intern to Microsoft: Last year we set the application deadline for internships to February 1st, which was fine, and the deadline did a good job of forcing students to get off their butts and apply, but we made the mistake of not considering applications until they were all in, which we thought would be most fair. It was fair, but it also meant that by the time we even looked at the resumes, some great applicants had already accepted summer jobs at Microsoft. Grr… [...]

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>