Very exciting for me was the chance to hear April Reagan, a Program Manager at Microsoft Corporation, make the first public announcement about the release of Help 3, the ground-up redevelopment of Microsoft's Help format that she championed and won Bill Gate's backing for in 2007.
Microsoft Help, of course, has been foundering for years, and the 2.x versions devolved into problematic (slow, spotty, irrelevant, click-intensive, complicated, inefficient, confusing) Visual Studio-only formats. Once April won resources for the project to fix it, she did intensive data mining to research how Help needed to change, arriving at this UX vision: "Help is so quick and easy I can find the right answer on the first try." Her internal goals broke out into four areas:
- Usability: Simple viewer, handle multiple software versions, secure and reliable
- Connection: Seamlessly transition to online content, download content
- Platform: Easy application integration, downloadable SDK, simple licensing
- Architecture: Slash costs to deploy and maintain, use standard technologies, transparent and extensible API
Help 3.0, which is soon shipping with the Visual Studio 10 beta, falls short of these goals in several ways, which Help 3.1 (~2010) will address:
- Usability: No personalization, and incomplete handling of multiple software versions
- Connection: No seamless transition to online content and incomplete download abilities
- Platform: No downloadable SDK, and incomplete application integration and licensing
- Architecture: No transparent and extensible API
Help 3 architecture is exciting for several reasons. It delivers as a simple ZIP archive, which can overlay/overwrite earlier versions in a modular way. The ZIP contains simple XHTML content, as well as (as I understand it) a local Index fragment, which the viewer rolls up dynamically (again, supporting modularity). Each topic's metadata covers its product, version, locale, ID, title, F1 keyword, index keywords, TOC parent and order, and (optionally) category and filter. Thus Help 3 can handle complex Help presentations, with multiple levels of product, multiple versions, and multiple locales, without collision or confusion. Since the viewer is browser-based, Help 3 should be able to reside up on a Windows Server yet support users on various platforms and browsers. The metadata enables the viewer to match an F1 (Help button) keyword call to find the right topic(s) in the entire Help catalog.
So, Help 3, if supported by HATs such as Author-it and the DITA Open Toolkit, could very well be the future for Windows-based enterprise software that needs context-sensitive Help support as well as multi-dimensional content management (product vs. version vs. locale) that supports integrated local and online content updates.
References
- http://blogs.msdn.com/aprilr http://blogs.msdn.com/aprilr
- Visual Studio 2010 Beta Releases: http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx
A better summary
This is how Rob Chandler (Help MVP) described it (http://www.facebook.com/note.php?note_id=87985327160&id=66417946198&...):
"In the past we used a help compiler to rip through the help source and build a compressed help file (your content + Indexes etc). This new H3 system is very simple and transparent:
1. Author your content in XHTML 1.1 compliant HTML
2. Add your content (HTML, Images etc) to a ZIP file.
3. Rename the ZIP as a .MSHC (MS Help Container) file.
And that's your help file. Installation:
1. You pass your Help file to the Help 3 system.
2. H3 rips your .MSHC file and creates a Help Index file (.MSHI).
3. This Index fragment is merged with the rest of the VS help.
In future versions, you will be able to ship your own .MSHI file with your .MSHC file (to reduce install time). Microsoft MSDN will be shipping both .MSHC & .MSHI in signed .CAB files. The other big change is in the area of TOC and Visible Index. These are now defined using Meta tags in your HTML topics."