Producing the Longhorn SDK (LHSDK) is an amazing undertaking.  The LHSDK, at a minimum, must document every API in the Longhorn OS.  That’s all the Win32 API’s as well as all the amazing new stuff in WinFX.  Care to guess how large that is?  Well, at last count there were over 72,000 documentation pages for Win32 API’s and 175,000 documentation pages for WinFX.  And we’re not done building the OS yet.  We are currently estimating between 200,000 and 500,000 “pages” of documentation for the final Longhorn SDK documentation set.  We’re not likely to turn this into a printed book any time soon.  Anyone old enough to remember the printed Unix reference manuals in the binders?  Used to span an entire bookshelf back in the old days of printed documentation…

 

How does one build and manage such a large doc set?  One TLA:  XML.  It’s hard to imagine building the LHSDK doc set without XML.  Right now, all documentation content comes to us in one or more internal XML formats, and then we make sure it all gets translated into what we call “SDKML” and then we do a bunch more processing in order to spit out Help.2 format for offline viewing and ASP.NET format for online viewing. 

 

The system behind this is built on .NET of course.  For the WinFX reference pages, we “reflect” against the assemblies in the OS and automatically build all the reference page templates.  The programmer writers add descriptions, code snippets and other information to these auto-generated XML templates.  The XML doc processing system also auto-generates portal-type pages for certain subjects.