Today I read a newsgroup post by an academic at my former university, who I know reasonably well, and who I used to work for.  In that post, he talks about things that Microsoft has done to him, and how he views Microsoft today; the fact that the subject he is lecturing and I used to tutor is a Linux subject should be a good indication of those views :).

The funny thing is, I read through it, and can't argue with it.  Although I disagree with his interpretation of what's happening at the moment (discontinuation of UNIX/Linux support for new sales of Sybari products), his previous experience dealing with Microsoft is all too familiar.  Trouble getting solid documentation, not adhering to standards properly, and of course, the legal challenge brought by the US government.

I remember my first Windows SDK shipped with a coupon for the DDK; that coupon had a space where you had to write down why you wanted a copy.  This may have been just for statistics, but the idea of justifying why you need low-level product documentation seems a little strange.

On Tuesday Steve Ballmer was speaking to a bunch of us introducing the Engineering Excellence/Trustworthy Computing Forum.  To summarise one of his points, Microsoft can't deliver trustworthy computing to customers who don't trust us; computers today will store and communicate the most intimate details of our lives, our financial information, and data related to our identity.  When Microsoft talks about security, everyone needs to be able to believe that we're doing it with customer interests in mind - if customers don't believe we're serious about security, they'll switch to another product, not regularly apply patches, and not follow procedures designed to minimise risk.  To deliver Trustworthy computing, Microsoft needs to adhere to the strictest business practice guidelines to foster trust and respect.

These two things came together in my head.  Sure, when I bought my first SDK it retailed for around $1,000.  Today, that documentation is freely available on the web, as are the tools.  Compilers and linkers used to cost that much too.  Now, they're a free download.  So are debuggers, and debugging symbols. The DDK is available for the cost of shipping.  If documentation for a particular Windows API or topic isn't public, then the other teams at Microsoft aren't allowed to use it either.  Required by settlement, enforced at Microsoft.  That helps provide great feedback for platform features, so that everyone else can benefit too.

Today Microsoft leverages standards in nearly all of our products.  The recent announcement of Office moving to an XML-based file format should serve as an example, although there are many others.  NFS support is another free download.  Standards deliver the best experience to our customers, allow them to leverage existing tools, and deploy new Microsoft solutions.  That provides great opportunities for Microsoft into new markets, and enables a smooth transition for our customers.  It's win-win.

A lot of things have changed since the Antitrust case.  It's visible looking around campus culture; culture is not an easy thing to change with such a large group of people.  But here I am talking about these things, with a link so that anybody can contact me, ask me questions, ask for a feature, or anything.  I read all of the posts here, and all of the comments I get.  I follow them up.  I've dug into source code to find answers for people multiple times - not because they pay me, but because Microsoft now understands the benefit of participating in the community to achieve great results.

Maybe we have the government to thank, in a twisted kind of way.  Or maybe the open source community has shown the value of software as a community activity.  Or maybe Steve's right - for Microsoft to grow into new markets, customers have to trust us more than ever, which demands ever more openness, honesty, and accountability.

Great software is the beginning, but a great user experience is what ultimately matters.