Back in January 2006, I blogged about how much I wanted an IIS 7.0 that handles extensionless URL rewriting. Well this week I just got my March 2007 copy of Microsoft’s MSDN Magazine in which they ran a detailed technical preview of the features and functionality of Internet Information Server 7.0. Reading through it, I found myself salivating over it’s capabilities that I’ve needed for literally a decade. Those who follow some of my other escapades know that the #1 feature I want it to provide over IIS 6.0 and prior is the ability to fully control the URL with our without an extension. Yet, something is different now. Five years ago I would metaphorically have killed for that functionality. Even a few years ago, I wanted it badly. But reading about all the great things in IIS 7.0 today for future availability on server hosting platforms next God-knows-when (i.e. after Longhorn ships *and* most Windows-offering web hosts upgrade) sadly comes across to me as just too little, too late.
Too Little
Too little because Microsoft won’t deliver IIS 7.0 to run on Windows 2003 Server necessitating a costly and in some cases problematic operating system upgrade. This will drastically limit the number of situations in which people can choose to switch to develop for the new features of IIS 7.0. For example, when the funds for operating system upgrades are not in the budget or simply because the developer doesn’t have the corporate clout to convince management of the need to upgrade. And the only people who will even be able to experiment with IIS 7.0 will be those with Windows Vista. And since upgrading to Vista also requires funds and often new hardware, it is not a foregone conclusion. Consequently there will only be a small percentage of Microsoft-centric developers writing web apps that uses the functionality of IIS 7.0 over the next several years. Given the limitations of IIS 6.0, I just find this scenario to be unacceptable.
Too Late
Too late because Microsoft’s outdated process and slow release cycle, which I blogged about last month, has given rise to compelling alternatives on the Linux platform. And Apache has has many of the key features that IIS 7.0 provides, most importantly via it’s mod_rewrite functionality, that by the time IIS 7.0 is ready for prime time, there’s a good chance only a tiny percentage of web developers will care. I for one need to develop web apps I can run on web hosts today, not wait around and dream for some yet-to-be-determined future brighter day. Microsoft, the rules have changed and you are not immune. You can no longer schedule product updates years out and expect people to wait to pay you for them years from now when free-to-use open-source alternatives addressing the same need exist today. I can no longer bring myself to design or run a web app on IIS 6.0[1] when the URL management functionality I crave is already available on Apache. And by the time IIS 7.0 is released I doubt I’ll even consider running an IIS server.
Unless…
However Microsoft, there is a solution if you will only listen, which I highly doubt. Microsoft You should know more than any other tech company that your key to success is getting developers to write programs for your platforms. Yet on the web developers are voting with their feet and most new web applications not sponsored by a "You don’t get fired for buying Microsoft" large company IT organization are choosing to build on Linux and Apache. IIS was once the leading server on the web, but today it can barely eek out more than 1/3rd market share. If you don’t stem this time, things will only get worse. Much worse. Here’s what to do: Release IIS 7.0 as an update for Windows 2003 Server and Windows XP that gets installed automatically via Windows update. Offer it in parallel to IIS 6.0 so it must first be configured by an admin and IIS 6.0 disabled, if necessary. Feel free to restrict it in whatever ways you must given 2003/XP’s lack of Longhorn/Vista infrastructure, but don’t use that as an excuse to eliminate key features such as URL management and HTTP response filtering. Doing this won’t change the minds of those who have already given up on Windows, but it will certainly minimize the profuse bleeding.
Footnotes
- Given how much I dislike ASP.NET and how frustrated I am with IIS 6.0, I can’t wait till I find the time to move my blog to another program besides dasBlog.
