Always making the wrong decision

Always making the wrong decision

  • Comments 7

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.

  • This is another feature of blogs (specifically MSFT people blogging): Now we might find out why some of these "interesting" decisions are made.

    See also the reasons for shipping know bugs 'thread' from late last year.
  • Mark, which thread is that -- do you have a URL?

    And yes, one of the things we hope to do with blogging is to make things more "transparent."

    Many of us have been doing this for years in the Microsoft newsgroups, but they have a totally different dynamic to blogs (people go to get a specific question answered and then leave) so there wasn't really any body listening :-(
  • I think Mark wrote about this trhead: http://headblender.com/joe/blog/archives/microsoft/001280.html
  • "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."

    No, it means that you choose to make your product compatible with your own products and not other companies'. If you wanted to make the other choice, it would not be difficult to do so. Scenario: Make XML default save format. This opens up MS Word to uses not envisioned by MS, but makes MS Word more usable. Create translator that lets Current Word open up New Word documents. Put translator installer on Word distribution disk. Allow unlimited distribution within a company to add translator to Current Word licenses from copy of New Office they buy. Offer translator program as $25 fee for people who do not buy new version of office, make them register against license database over internet to guarantee that you are getting $25 for each non upgrade installation.

    This encourages upgrade sales as people get 'free' value in new version. Encourages use of new version. Encourages use of Office in ways that are not controllable by MS. Note that this grows your ecosystem as more people use the program for novel ends. If you do not open up program to novel use, then you cannot grow market anymore, except by strong arm license tactics, which gives you "M$ sucks" feedback.
  • Random User -- that's an interesting thought, but it's still a "wrong" answer for at least three reasons:

    1) How is Joe Random User going to know to download the free viewer? Older versions of Office will happily just open up the file as raw XML (or, more likely, he will double-click on the file and it will open in IE).

    2) One reason customers still run old versions of Office isn't because the license cost is too high; it's because the cost of touching desktops is too high. Installing the "free" viewer is just as expensive as installing Office 2003.

    "Free-as-in-beer" software is never "free"

    3) All the 3rd party software out there that knows how to read Word documents but doesn't understand WordML yet (including, yes, OpenOffice) would be broken by this.

    Can you spell "anti-competitive lawsuit"?
Page 1 of 1 (7 items)