HyperWrite - Consultancy and Training 

Help Systems, Structured Authoring, DITA, Hypertext, Documentation Technologies

HyperWrite Logo
Skip Navigation Links
Skip Navigation Links

Help.Longhorn - What is it?

by Tony Self

The Help platform for Microsoft Windows is changing once again. Since 1995, Microsoft HTML Help has been the standard for Help systems for Windows applications, but the release of the next generation Windows operating system in 2005 will see a brand new XML-based Help platform. It is currently known as Help.Longhorn, or "Longhorn" Help, or sometimes as Help3 or TrésHelp.


To understand what Help.Longhorn is, it is important to understand what "Longhorn" is. 

For many years, Microsoft has applied code names to its products under development. Windows 95, for example, was known as "Chicago". The version of the Windows operating system which will ultimately replace Windows XP is currently known as "Longhorn". 

Although Longhorn is not due for release until at least 2005, Microsoft has distributed pre-release versions of the operating system to developers, reviewers and affiliates, and some of these have found their way to unofficial FTP sites on the Internet.

Longhorn LogoLonghorn features a revamped Windows Explorer, a new file system (WinFS) to replace NTFS, a new graphics sub-system (with its own code name of "Avalon"), a built-in bi-directional firewall, and a speech recognition engine. The user interface is also quite different from NT, and features a new device called the "sidebar", which is a derivative of the more familiar task bar.


The key features of Longhorn's new Help system are:

  • A new structured authoring model built around an XML file format known as MAML - Microsoft Assistance Markup Language.
  • A Help viewer pane, shared by all applications.
  • A focus on task-orientation for a Help system's organisational structure.
  • A progression beyond context-sensitivity to "active content", which aims to display the most appropriate content, based on the user's current system state.
  • A revamped publishing model to provides connected users with the newest content, through downloaded iterative update files.

Structured Authoring and MAML

MAML consists of several distinct content types, each one specific to a type of document. The MAML content types include: conceptual, FAQ, glossary, procedural, reusable content, task, troubleshooting, and tutorial. Within a MAML document, there can be several orders of markup, including:

  • Hierarchical structures such as lists, glossaries, and procedures.
  • Block structures such as paragraphs, procedures, and lists.
  • Inline markup which is used for various semantic purposes within a body of text.


Under the Help.Longhorn structured authoring model, user assistance is made up of a small number of categories, or "content types":

  • conceptual
  • FAQ
  • glossary
  • procedural
  • reusable
  • troubleshooting
  • tutorial

Conceptual content type, for example, is made up of titles and paras, grouped into sections, while glossary content type comprises terms and definitions containing paras, grouped into glossaries. For those interested in the structure of the various content types, the following table serves as a summary.

Show Table

Help Pane

The Help Pane is the common Help viewer for "Longhorn", and is shared by all applications that run on "Longhorn". In addition to displaying Help topics, it provides users with the ability to search Help content, browse tasks, and provide feedback. The Help Pane docks to the side of the desktop by default and can also be manually undocked, functioning as a standard window. The Help Pane is described as providing a "unified assistance experience". 

The Help Pane consists of a title bar and the canvas. The title bar just contains the name of the Help file, and a set of navigation buttons. The canvas is made up of tiles; typically header, body and footer tiles. Tiles can be arranged into various configurations. 

Help.Longhorn documents have a .HELP extension, and are displayed using a new help:// protocol. A typical URL for the Help for a product called TimeTrak might be:


where the product "timetrak" is associated in the Longhorn WinFS equivalent of the registry to timetrak.help.

Task Orientation

It is envisaged that Help authors will use a task-based structure for their content. In most cases, task orientation makes Help more useful as it directly addresses the use of the software to perform a task, which might be made up of a number of procedures. For example, the task of adding a new customer to a file note system might include creating a new customer record, linking an address record, setting up a new billing account, and adding customer project details. 

Help.Longhorn allows "tasks" to be defined within XML schemas, and tasks are mapped to topics. In a way, tasks share some conceptual similarities with A-links in HTML Help, where relationships between elements of the Help are maintained as metadata.

Active Content

"Active Content" is a new term which describes the interactivity that permits the Help system to interpret the state of the user's computer, and modify the content to suit. This is really a form of context-sensitivity, but goes way beyond simply displaying a topic that corresponds to the location of the cursor in the user's window. Active content takes into consideration conditions such as:

  • user preferences
  • user security rights
  • whether a printer is connected
  • whether an Internet connection is available
  • whether another program is installed.

It encompasses conditional markup (where text is displayed or hidden), reusable content (where a block of text is dynamically substituted as the Help is displayed), expandable sections, and a "Show It" or "Do It" automation facility called Active Content Wizard (where a scripting language can be used to "drive" the supported application to demonstrate a procedure or to actually perform a function).

Publishing Model

Like earlier Help formats, Help.Longhorn is a compiled format. However, the format is not compressed. This makes it easier to distribute an iterative or incremental update to a .HELP file. The name of a .HELP file's "Help server" can be stored within the file. This allows the .HELP file to be installed locally, but updated across the Internet; this process is described as a "continuous publishing model". This model follows a similar methodology to the now familiar Windows Update facility.

The Help Publishing Model.

Diagram: Microsoft


Authoring Longhorn.Help

Obviously, current Help Authoring Tool vendors will already be working on ways to build Help.Longhorn support into their software products. To date, ComponentOne, AuthorIT, eHelp, E-Jot, KeyWorks, WebWorks and Rascal have all indicated that they will support Help.Longhorn.

The files used in the authoring process are shown in the following table.

  Extension Purpose HTML Help Equivalent
  .help Help file .chm
  .xml Help Build Manifest or Packing List (Project file) .hhp
  .taskimp Task Implementation file -
  .helpmd Help Metadata file -
  .xml Topic files .htm
  helpcompilere.exe Help Compiler hhc.exe

As the diagram below shows, the compiling process is very similar to earlier Help file creation processes.

Help project file relationships.

Diagram: Microsoft


Help.Longhorn presents technical writers with many conceptual and philosophical challenges, particularly those related to the rigid structured authoring model. Technologically, the use of the MAML format, which is closely related to DocBook, is very sound. As Help Authoring Tools come to grips with the new environment, Help.Longhorn will provide an interesting and rich authoring platform.

Valid XHTML 1.0 Transitional Valid CSS!


HyperWrite provides training in a number of authoring software tools, and in structured authoring, technical writing and Help authoring techniques. Find out more...