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.
Longhorn
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 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.
Help
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.
Structure
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
Hide Table
conceptual |
<conceptual>
<title />
<content>
<para />
...
</content>
<sections>
<section>
<title />
<content>
<para />
...
</content>
</section>
...
</sections>
</conceptual>
|
FAQ |
<faq>
<title />
<faqDiv>
<title />
<introduction>
<para />
...
</introduction>
<faqEntry>
<question />
<answer />
<faqEntry>
...
</faqDiv>
...
</faq>
|
glossary |
< glossary>
<title />
<glossaryDiv>
<title />
<glossaryEntry>
<terms>
<term />
</term>
<definition>
<para />
</definition>
</glossaryEntry>
...
</glossaryDiv>
...
</glossary>
|
procedural |
<procedural>
<title />
<content>
<para />
</content>
<sections>
<section>
<content>
<procedure>
<steps>
<step>
<content>
<para />
</content>
</step>
...
</steps>
</procedure>
</content>
</section>
...
</sections>
</procedural>
|
reusable |
<reusableContent>
<entry>
<para />
</entry>
...
</reusableContent>
|
troubleshooting |
<troubleshooting>
<problem>
<symptom />
<cause />
<solution>
<para />
...
</solution>
</problem>
...
</troubleshooting>
|
tutorial |
<tutorial>
<title />
<content>
<para />
...
</content>
<sections>
<section>
<title />
<content>
<procedure>
<steps>
<step>
<content>
<para />
</content>
</step>
...
</steps>
</procedure>
<para />
<mediaLink>
<image />
</mediaLink>
<para />
</content>
</section>
...
</sections>
</tutorial>
|
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:
help://timetrak/?language=EN&version=1.0&topic=custadd.xml
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.
|
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.
|
Diagram: Microsoft
|
Conclusion
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.