The past ten days has been yet another hectic sprint toward another IIS7 milestone. While it is not as major as the last one (that one was to make sure that IIS7 shipped with the Longhorn wave... period), it is nonetheless significant as it is the first time that the full glory of the componentized IIS7 server core becomes evident at setup time.

IIS7 and Ice Cream: So Many Flavors!

You know the 40+ modules which implement distinct IIS features, each with their own config section handler such that it nicely integrates into the distributed .config files? Well, they are now selectable from setup (with some granularity, of course...). The idea is that you can mix and match functionality of your IIS server, a la carte, but there are definitely a lot of kinks to be worked out.

Now, I tend to think of this problem as analogous to the ice cream dessert problem. Most of the time when you have dessert, the dining establishment gives you between 2-4 distinct choices of ice cream -- vanilla, chocolate, strawberry, and something exotic like lime, kiwi, or peach sherbet -- and the choice is pretty easy for most people to make. Some people may grumble, but they are usually satisfied by the available choices.

However, when you confront the same decision at a Baskin Robbin's where you have 31+ distinct choices of ice cream -- from plain vanilla to exotic mango or pineapple -- human dynamics start to creep in. I think people tend to fall into two camps at this point:

  1. One camp would have their eyes all glazed over and end up choosing the "vanilla" flavors because it is safe and does not require too much thinking.
  2. Another camp would brood over all the flavors and try something really exotic and risky, possibly not liking the choice at all.

Now, while I agree that choice is good (i.e. NOT having choice is bad), I think that having too many fine-grained choices is similarly bad. Come on, admit it, you get tunnel-vision and just click "Next" on most of the installer steps anyway, yet you still complain about the absence of your specific choice.

Now, tell me how are we supposed to figure out which options are relevant to you, specifically, while refraining all choices so as to not confuse you? If you have a brilliant idea about this, now is a good time to speak up. :-)

Wait... Again?

A couple of us had a moment of deja vu this afternoon as we watched the installation of... the first x64 build using componentized setup and selected all of the IIS7 components, and watched it all install and run all of the BVTs successfully on the 64bit machine (of course, all successful on the very first try, thank goodness).

Wait, didn't we do this like three weeks ago, with the same group of people watching the very first x64 build miraculously "just work"? Yeah, it happened again, mostly with a different set of folks this time since this was setup-related, though some of us were veterans by now.

The feeling is still quite novel - that combination of fear and trepidation because this is the first time a combination is attempted (so you have no idea whether the whole thing is just going to crash and burn to grinding halt in front of you - I see enough of that on a daily basis that I am somewhat desensitized by now), and then extreme relief when everything succeeds and you know you did not just "break the world". Whew. :-)

Well, the party is just getting started. There will be a couple more mini-milestones of significant accomplishments happening in the next couple of months, and I am sure something interesting will crop up for each. The amount of crazy hours that some of us put in to make this happen... is truly outrageous. There is just a lot of details...

Anyways. Onward!

//David