Paul Stubbs and I both work on the Visual Studio Tools for Office team at Microsoft. Other bloggers from VSTO include Eric Lippert and the User Education team, but Paul and I work closely together on the same sub-team, doing stuff I can’t really talk about yet. <sigh>.
Paul and I get along very well, but we disagree on some important aspects of the product. This is good, because it means we explore many possible avenues for the feature set, user model, etc. and the whole team gets to have their say and weigh in on what we should be doing. We also get a small set of influential customers coming in (under NDA) to give us their opinions on the software, and we do usability testing on prototypes to find out how “real users” interact with the software. The best parts of each idea influence the other ideas, and we iterate on the designs. Sooner or later we’ll gather all this information together and make a decision for each contentious issue in the product, and then spend the next few years building it.
The sad thing is though that whatever we do, we are guaranteed to make the wrong decision. Why? Because there’s no such thing as the “right” decision. We have so many customers that want to accomplish so many scenarios with our software that it’s impossible for us to make the right decisions for every customer every time.
For example, look at the Internet Connection Firewall and Automatic Updates in Windows XP. If we’d shipped XP “Gold” with both these things turned on by default, customers would have complained because a lot of their software (games, file swappers, IM clients, etc.) would not have worked properly without tweaking the firewall rules, and there’s a chance that some patches might have broken existing software. Now you can bet your bottom dollar that the people on those teams had long and colourful debates about whether these things should be turned on or not, and in hindsight (after the Blaster worm) many customers and most of the press seem agree that turning these things on is a good idea. But at the time, there was no right decision — only two wrong decisions.
Or let’s take the Word file format. Word’s XML file format is full-fidelity, so in theory they could have made it the default save format and made a lot of people who want to “data mine” documents or interoperate with other systems happy. But then nobody would be able to open these files in older versions of Office, which would have caused them a lot of pain. Again, there’s no right answer — only two wrong answers.
I guess I’m just pro-actively asking for your forgiveness when we eventually ship something that you don’t like. Chances are we thought about whatever it is you want, but decided against it for one reason or another. Hopefully it was a good reason.