June 17th, 2004

full steam ahead

Me on Joel on Software on Microsoft ;-)

People keep asking if I've read Joel on Software - How Microsoft Lost the API War so yes, I have now ;-)

I don't agree that "the only reason they don't outright give away development tools for Windows is because they don't want to inadvertently cut off the oxygen to competitive development tools vendors". The high end tools are applications that they sell and that matters. Selling Windows matters more, agreed, but wanting Windows to be a credible developer platform doesn't automatically mean giving high-end tools away. There are umpteen low-end tools and utilities but I think Visual Studio and especially Visual Team Studio are products for them too.

Not supporting Windows isn't the only reason Apple and Sun don't ell as much hardware as the PC makers; there's also the fact that they're proprietary hardware platforms closely coupled to the OS and apps (like the multimedia copro on the Mac uses by iLife applications for signal processing) not commodity hardware - so there will always be a price premium and there will never be the same open hardware market that's made Windows so successful, and given Linux its current position too.

"SharePoint! which nobody has"
Apart from anyone who has Windows Server 2003 where it's one of the free services. By the time of Longhorn it'll be almost the default way of dealing with files in custom lists rather than grab-bag, chockful, why should I waste my time organising it by hand folders. Say instead that 'no-one knows they have' because it doesn't default install. SharePoint Team Server - now that's the pay-for one that maybe isn't widely used.

DLL Hell is not the technical name for generic external dependencies; it's specific DLL dependencies and it's now about bad programming practice by developers not specifying in their manifest which DLL version they need rather than the sheer mess of Windows it used to be caused by. And while the side by side DLL installations on Windows XP certainly don't fix it entirely they take away a lot of the pain; application packaging for enterprise installs will deal with most of the rest of it.

Are you going to get shot in the foot by using complicated external technologies like MSMQ, Office and SharePoint? Could we say these are three different tiers of external technologies please? Low-level like COM+ and MSMQ, you’re doing your own specific coding. You might have problems indeed. They're complicated and they change and you can end up stuffed royally.

Developing around applications; the Office platform is changing and while the tools are exciting they're often not mature yet. the second version of the Visual Office tools are neat and rock and do very exciting things and I still spent half an hour berating the team lead about them. But though each version of Office is different, you typically develop for your customer for the version of Office they have rather than trying to sell them a version of Office and your app with it, unless you're very very big or a consultant and you can probably boss them around. Developing with Internet Explorer and Media Player; yup that's trickier because there are more different versions to have to cope with.

But developing around server applications like SharePoint, BizTalk... these are actually orchestrated together pretty well these days and they're not at the same level as working with MSMQ and low-level systems.

The main argument, I think, is that it's not worth having the new Windows WinFX API in Longhorn, or making Avalon only work with Longhorn because there's not enough in Longhorn to make it special, and developers would rather use Web protocols. I think there are may reasons why Web development is going to be hugely significant and the failures of Microsoft are part of it but the huge potential of the Internet as a platform is far more to do with it. I don’t see how we get good new systems without moving on from the old ones and I think a lot of this is rhetorical exaggeration around some interesting points that raise some of Microsoft's big issues. But the things that excite me about Longhorn are a lot more than the WinFS search - the data schema and Indigo matter rather more, and the search falls out of the first and a lot of Web solutions falls out of the second. As always, we'll see when we actually see the platform and what developers are inspired to do with it.
  • Current Mood