|
|
Context Tagging Tips and Tricks
Leszynski Group has gained extensive experience with the Context Tagging Tool in
the Tablet PC Software Development Kit. This article helps to shortcut your
tagging efforts by listing some of the helpful techniques we've learned by tagging
dozens of retail software applications:
-
Understand the manifest file schema.
A context manifest is an XML file and, as such, is human-readable.
You can open a manifest (.ctm file) in your XML editor, or in Excel 2003 if you do not
have an XML editor, and see the fields and values. Understanding what is in a
manifest will help you to understand how tagging works.
-
Use descriptive tag names. Each tag
in a manifest has a unique ControlName attribute. Using descriptive
control names
will help when you test and document your manifests. We use Hungarian
prefixes for control names to make it easy to determine how the control
is parented: pnl for a control on an application
panel or task pane, tbr for a control on a toolbar, and dlg
for a control in a dialog box. In addition, we use full execution-path
syntax when creating a control name so that it is easy to determine how
to get to the tagged control in the application. Here is an example
of one of our control names:
dlgToolsOptions_EditTab_FixedDecimalPlaces
-
Perform
comprehensive data entry when tagging. Many applications
have controls, task panes, and/or dialog boxes that are only displayed
when certain criteria are met. For example, if you are tagging a
tax software package, selecting a Tax Filing Status of 'Single' during
tagging may not display dialog boxes that collect information about
the spouse and children of a married filer. When tagging an
application, enter data into every field, and enter the type of data
that will ensure that all aspects of the software are unlocked.
-
Don't tag too
narrowly or too broadly. Be careful to check the data types
and validation requirements for each field as you tag it. If you
tag too narrowly, you can negatively impact the user's data entry
experience; for example, using IS_DIGITS instead of IS_NUMBER in a
field that allows decimal places to be entered creates a usability setback.
The reverse is also true—entering a tag that is overly broad
provides less value than using the correctly precise tag; for example,
using IS_FILE_FULLFILEPATH will provide an overly broad coercion
experience when used in a file name field where IS_FILE_FILENAME would
suffice instead.
-
Watch out for
re-used controls. When you attempt to tag a control and the
Context Tagging Tool shows 'Already tagged', you may think that this
is good news and that you can move on to the next control.
However, be aware that some applications liberally re-use controls
within the application and that the data context may change in
different instances of the control; this scenario may make your tag
imprecise. For example, if an application uses the same control
in three places (you tag it once and then see 'Already tagged' twice
more), and in all three instances the control collects a phone number,
then tagging the control with IS_TELEPHONE_FULLTELEPHONENUMBER will
work fine. On the other hand, if a control is used to collect
a phone number in one instance and a last name in another, applying a
telephone number tag to the control will degrade the recognition
experience where the control is used for non-phone data. For
controls that are used like this—one control collects more than one
type of data—you will generally want to remove the tag.
-
Check for hidden
executables. Some applications 'shell out' (i.e. spawn) to
related executables for additional functionality (data
import wizards are a common example), and an external executable may
require its own manifest to properly coerce regardless of how it is
launched. Always look in the program files folder of an
application that you are tagging to see if there are additional
executables that also need to be tagged.
-
Test your manifests.
For some types of data, the coercion value provided by context tagging
is subtle, making it hard to determine if coercion is binding correctly
to a specific control or not. The simplest technique for testing
your context manifests is to open the manifest in an XML editor (make a
master backup copy first!) and change each InputScopeEnum attribute to use the
IS_DIGITS tag. Then, test your application using the instrumented
manifest by writing letters of
the alphabet in the Tablet PC Input Panel for each tagged control; if the IS_DIGITS tag is sticking to the
control, the characters that you enter will coerce to digits no matter
what you write.
-
Be careful if you live-update or upgrade an
application while you are tagging it. An
application upgrade can change a software version number, and a context
manifest is tied to its executable by version number, so an upgrade can
render a manifest outdated. Also, an upgrade can modify the window
signature of controls that you have tagged, and/or add or remove
controls on forms. The best approach is to complete the tagging
for a specific version and then save and version-control that manifest,
in case some of your users do not immediately upgrade. Next,
you can upgrade the application and open it in the Context Tagging
Tool, and it will ask you if you want to upgrade the version number of
the manifest to match the new executable. You can agree, and then
review/enhance the manifest against the new executable; this gives you two
versions of the manifest for the price of one.
The Context Tagging Tool is a powerful new technology for penabling existing
software applications. Hopefully, our tips will make your tagging
efforts quicker and more productive.
|
 |