Software Quality

2/6/2004 1:05:26 PM

Software Quality

Chris Pratley is the Group Program Manager for the One Note. I actually knew him back when I developed in the Excel group (Word and Excel were in the same building). He was a program manager in Word and I visited him regularly.

He recently wrote about Software Quality and the Watson Error Reporting Service and the Microsoft's efforts with the Error Reporting Service, which I feel is one of the most ingenious and innovative work to come out of Microsoft. The Error Reporting Services, upon encountering a hang or crash, will ask the user permission to send a report about the error to Microsoft. After an affirmative response, the report will be logged into a Microsoft server and a counter corresponding to the crash address will be incremented. If the problem has already been fixed, a webpage will be displayed to the user indicating what the problem is and what workarounds or fixes are available. Unfixed problems are examined and fixed by the development team in order of frequency.

I was at Microsoft, when this initiative was launched for OfficeXP, and was blown away by a presentation of this upcoming feature. Although this was before the famous Trustworthy Computing memo, security and reliability had already become very prominent at Microsoft. Stability and data loss began to dominate product support calls. There was now a strong effort to eliminate crashes from software and improve reliability at the expense of adding new functionality. New features to address file corruption were added to Office, such as auto-save in Excel to match Word, auto-recovery across Office applications, as well as the reconstruct documents from corrupted binary files in Word. A controversial feature was the saving of edited documents in the event of fatal exception; on the one hand, the user's data could be easily recovered, but on the other hand, this could lead to a new class of inconsistent files. I bet that the new emphasis probably also pushed Microsoft to abandon the Windows 9X line earlier than it would have.

By the way, have you noticed that each version of Office has a special theme: Office 95 was, of course, about Windows 95 integration. In Office 97, the theme was integration across Office. This is when the Office shared dll mso97.dll came into existence with features like the Office Assistant, Command Bars, Office Drawing, and VBA (actually in another dll). Office apps then began to look and act the same; this was not always true. Office 2000 stressed Web integration, resulting in support for full-featured round-trippable HTML format for all the Office applications, the SharePoint web server, Web queries and HTML editing capabilities in Word. Office XP, as I mentioned above, emphasized security and reliability. Office 2003 introduced rich integration with XML in all the applications as well as a dedicated XML forms package, InfoPath.






Net Undocumented is a blog about the internals of .NET including Xamarin implementations. Other topics include managed and web languages (C#, C++, Javascript), computer science theory, software engineering and software entrepreneurship.

Social Media