index.html 34.4 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662
<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator"
content="HTML Tidy for Windows (vers 1st November 2002), see www.w3.org" />
<title>Requirements for the Ink Markup Language</title>
<meta http-equiv="Content-Type"
content="text/html; charset=windows-1252" />
<style type="text/css">
/*<![CDATA[*/
.ref { font-size: 80% }
.requirement { background-color: #c1dbff }
/*]]>*/
</style>
<link href="http://www.w3.org/StyleSheets/TR/W3C-NOTE"
type="text/css" rel="stylesheet" />
</head>
<body lang="EN-US">
<div class="head">
<p><a href="http://www.w3.org/"><img height="48" width="72"
alt="W3C" src="http://www.w3.org/Icons/w3c_home" /></a></p>
<h1>Requirements for the Ink Markup Language</h1>
<h2>W3C Note 22 January 2003</h2>
<dl>
<dt>This version:</dt>
<dd>
<a href="http://www.w3.org/TR/2003/NOTE-inkreqs-20030122/">http://www.w3.org/TR/2003/NOTE-inkreqs-20030122/</a></dd>
<dt>Latest version:</dt>
<dd>
<a href="http://www.w3.org/TR/inkreqs/">http://www.w3.org/TR/inkreqs/</a></dd>
<dt>Previous version:</dt>
<dd><em>This is the first public version</em></dd>
<dt>Editors:</dt>
<dd>Yi-Min Chee, IBM
<a href="mailto:ymchee@us.ibm.com">ymchee@us.ibm.com</a></dd>
<dd>Sai Prasad, Intel
<a href="mailto:sai.prasad@intel.com">sai.prasad@intel.com</a></dd>
<dt>Contributors:</dt>
<dd>See <a href="#Acknowledgements">Acknowledgements</a></dd></dl>
<p class="copyright">
<a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a>
&copy;2003
<a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">
W3C</abbr></a><sup>&reg;</sup>
(<a href="http://www.lcs.mit.edu/"><abbr title="Massachusetts Institute of Technology">
MIT</abbr></a>,
<a href="http://www.ercim.org/"><acronym title="European Research Consortium for Informatics and Mathematics">
ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</a>),
All Rights Reserved. W3C
<a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">
liability</a>,
<a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">
trademark</a>,
<a href="http://www.w3.org/Consortium/Legal/copyright-documents">document
use</a> and
<a href="http://www.w3.org/Consortium/Legal/copyright-software">software
licensing</a> rules apply.</p></div>
<hr title="Separator from Header" />
<h2><a id="Abstract" name="Abstract">Abstract</a></h2>
<p>This document describes requirements for the Ink Markup Language
that will be used in the multimodal interaction framework as
proposed by the <a href="http://www.w3.org/2002/mmi/">W3C
Multimodal Interaction Working Group</a>. The Ink Markup Language
will serve as the data format for representing ink entered with an
electronic pen or stylus in a multimodal system. The markup will
allow for the input and processing of handwriting, gestures,
sketches, music and other notational languages in web-based
multimodal applications. In the context of the
<a href="http://www.w3.org/TR/mmi-framework">W3C Multimodal
Interaction Framework</a>, the markup provides a common format for
the exchange of ink data between components such as handwriting and
gesture recognizers, signature verifiers, and other ink-aware
modules.</p>
<h2><a id="Status" name="Status">Status of This Document</a></h2>
<p><em>This section describes the status of this document at the
time of its publication. Other documents may supersede this
document. The latest status of this document series is maintained
at the
<abbr title="the World Wide Web Consortium">W3C</abbr>.</em></p>
<p>W3C's <a href="http://www.w3.org/2002/mmi/">Multimodal
Interaction Activity</a> is developing specifications for extending
the Web to support multiple modes of interaction. One mode of
interaction that is expected to play a role in many multimodal use
cases is pen input. The requirements described in this document
will be used to guide the development of a markup language for
representing ink data captured by a pen-enabled multimodal system.
The Ink Markup Language is intended to be deployed within the
<a href="http://www.w3.org/TR/mmi-framework">W3C Multimodal
Interaction Framework</a> as a means for exchanging and storing
such information.</p>
<p>This document is a NOTE made available by the W3C for archival
purposes, and is not expected to undergo frequent changes.
Publication of this Note by W3C indicates no endorsement by W3C or
the W3C Team, or any W3C Members. A list of current W3C technical
reports and publications, including Recommendations, Working
Drafts, and Notes can be found at
<a href="http://www.w3.org/TR/">http://www.w3.org/TR/</a>.</p>
<p>This document has been produced as part of the
<a href="http://www.w3.org/2002/mmi/">W3C Multimodal Interaction
Activity</a>,<span class="c1"><a href="http://www.w3.org/2002/mmi/Activity.html">
</a></span> following the procedures set out for the
<a href="http://www.w3.org/Consortium/Process/">W3C Process</a>.
The authors of this document are members of the
<a href="http://www.w3.org/2002/mmi/Group/">Multimodal Interaction
Working Group</a>
(<a href="http://cgi.w3.org/MemberAccess/AccessRequest">W3C Members
only</a>). This is a Royalty Free Working Group, as described in
W3C's
<a href="http://www.w3.org/TR/2002/NOTE-patent-practice-20020124">Current
Patent Practice</a> NOTE. Working Group participants are required
to provide <a href="http://www.w3.org/2002/01/mmi-ipr.html">patent
disclosures</a>.</p>
<p>Please send comments about this document to the public mailing
list:
<a href="mailto:www-multimodal@w3.org">www-multimodal@w3.org</a>
(<a href="http://lists.w3.org/Archives/Public/www-multimodal/">public
archives</a>). To subscribe, send an email to
&lt;<a href="mailto:www-multimodal-request@w3.org">www-multimodal-request@w3.org</a>&gt;
with the word <em>subscribe</em> in the subject line (include the
word <em>unsubscribe</em> if you want to unsubscribe).</p>
<h2><a id="TableOfContents" name="TableOfContents">Table of
Contents</a></h2>
<ul class="toc">
<li><a href="#Abstract">Abstract</a></li>
<li><a href="#Status">Status of This Document</a></li>
<li><a href="#TableOfContents">Table of Contents</a></li>
<li><a href="#Introduction">Introduction</a></li>
<li><a href="#GeneralRequirements">1. General Requirements</a> 
<ul class="toc">
<li><a href="#ApplicationScope">1.1 Application Scope</a></li>
<li><a href="#RecognitionSupport">1.2 Recognition Support</a></li>
<li><a href="#EaseOfUse">1.3 Ease of Use and
Adoption</a></li></ul></li>
<li><a href="#InputRequirements">2. Input Processing
Requirements</a> 
<ul class="toc">
<li><a href="#InkCapture">2.1 Ink Capture</a></li>
<li><a href="#ExternalEvents">2.2 External
Events</a></li></ul></li>
<li><a href="#OutputRequirements">3. Output Processing
Requirements</a></li>
<li><a href="#Architecture">4. Architectural&nbsp; Requirements</a>

<ul class="toc">
<li><a href="#Reuse">4.1 Reuse</a></li>
<li><a href="#Modularity">4.2 Modularity</a></li>
<li><a href="#Deployment">4.3 Deployment</a></li>
<li><a href="#Integration">4.4 Integration</a></li></ul></li>
<li><a href="#MobileRequirements">5. Mobility Requirements</a></li>
<li><a href="#Synchronization">6. Multimodal
Synchronization</a></li>
<li><a href="#Acknowledgements">7. Acknowledgements</a></li>
<li style="list-style: none"><a href="#Appendices">Appendices</a> 
<ul class="toc">
<li><a href="#Glossary">A. Glossary</a></li></ul></li></ul>
<h2><a id="Introduction" name="Introduction">Introduction</a></h2>
<p>The Ink Markup Language is the data format used to represent ink
entered with an electronic pen or stylus in a multimodal
system.</p>
<p>These requirements have been compiled based on review of the
fundamental <a href="http://www.w3.org/TR/mmi-reqs/">Multimodal
Interaction Requirements</a> and additional considerations
pertaining to the role of the markup in pen-enabled systems. For
each requirement that has been derived (in whole or in part) from
fundamental <a href="http://www.w3.org/TR/mmi-reqs/">Multimodal
Interaction Requirements</a>, the derivation is noted.</p>
<p>The Ink Markup will consist of <a href="#PrimElts">primitive
elements</a> that represent low-level ink data information and
<a href="#AppSpecElts">application-specific elements</a> that
characterize meta information about the ink. Examples of primitive
elements are <a href="#Device">device</a> and
<a href="#ScreenContext">screen context</a> characteristics, and
<a href="#Trace">pen traces</a>. Application-specific elements
provide a higher level description of the ink data. For example, a
segment tag could represent a group of ink traces that belong to a
field in a form. Consequently, the requirements for the Ink Markup
Language could fall in either of the two categories. This document
does not attempt to classify requirements based on whether they are
low-level or application specific.</p>
The requirements are organized into six categories: General
Requirements, Input Processing, Output Processing, Architectural,
Mobility, and Multimodal Synchronization.<br />
<br />
 
<h2><a id="GeneralRequirements" name="GeneralRequirements">1.
General Requirements</a></h2>
<h3><a id="ApplicationScope" name="ApplicationScope">1.1
Application Scope</a></h3>
<p>The Ink Markup is intended to enable a broad range of ink
related applications.</p>
<p class="requirement"><strong><a id="InkG1"
name="InkG1">(INK-G1)</a></strong>: The Ink Markup MUST have a rich
set of expressive features to directly support a range of
<a href="#DigitalInk">digital ink</a> capabilities as needed by the
wide spectrum of multimodal applications targeted by the
MMIWG.<br />
<i>&nbsp;&nbsp;&nbsp;Derived from MMI-G1</i></p>
<p>Examples of pen-enabled multimodal applications can be found in
the <a href="http://www.w3.org/TR/mmi-use-cases/">Multimodal
Interaction Use Cases</a> and an
<a href="http://lists.w3.org/Archives/Member/w3c-archive/2002Apr/att-0109/01-Pen_MM.pdf">
internal presentation</a>
<a href="http://cgi.w3.org/MemberAccess/AccessRequest">(W3C Members
only)</a> to the working group.</p>
<p>Pen-enabled applications can be divided into broad application
types depending upon the way in which the ink data is used.</p>
<p class="requirement"><strong><a id="InkG2"
name="InkG2">(INK-G2)</a></strong>: The Ink Markup MUST support
both persistent <a href="#InkDoc">ink documents</a> and interactive
applications (MUST specify).<br /></p>
<p>Persistent ink documents include forms in a distributed forms
processing application. Another example is a distributed
recognition environment where ink is captured on a device and
processed at a later time and place. In this case, user and device
profile information might need to be included with the ink data at
the time of capture, because the recognizer may not have access to
it.</p>
<p>Electronic whiteboarding is an example of an interactive
application.</p>
<h3><a id="RecognitionSupport" name="RecognitionSupport">1.2
Recognition Support</a></h3>
<p>Recognition of digital ink is expected to be an important
application of the Ink Markup.</p>
<p class="requirement"><strong><a id="InkG3"
name="InkG3">(INK-G3)</a></strong>: The Ink Markup MUST provide a
mechanism to reference external resources and constraints that are
common across recognition-based input modalities (MUST
specify).<br />
<i>&nbsp;&nbsp;&nbsp;Derived from MMI-G3, MMI-I16</i></p>
<p>Examples of resources are syntactic constraints such as
<a href="#RecoGrammar">grammars</a> and lexicons. The markup must
link to these resources to avoid duplication of effort in
authoring.</p>
<p class="requirement"><strong><a id="InkG4"
name="InkG4">(INK-G4)</a></strong>: The Ink Markup MUST provide
means to indicate the language that the handwritten ink represents
(MUST specify).<br />
<i>&nbsp;&nbsp;&nbsp;Derived from MMI-G8</i></p>
<p>In this context, the term language refers not only to human
languages, but also to music, mathematical, and other
notations.</p>
<p>This requirement ensures that the Ink Markup has multilingual
support. The language information is important not only as input to
handwriting recognizers but also to represent the results from the
recognizer.</p>
<p>This language information might come from the user profile,
application or device context, or it might be generated by a
language identification module. It could be treated as an external
resource (see INK-G2 above).</p>
<p>It is assumed that the Ink Markup will need to support
annotations on ink made in different languages. For example, a
particular ink document may contain handwritten ink that represents
multiple languages. Even for a particular piece of ink data, it may
be necessary to allow for annotations in multiple languages which
may not be the same as the language of the handwritten ink itself.
In addition, the character encoding of the ink document may not
match the language represented by its ink data. For example, a
document which is encoded in ISO646-US may contain ink data which
represents handwritten katakana.</p>
<p class="requirement"><strong><a id="InkG5"
name="InkG5">(INK-G5)</a></strong>: The Ink Markup MUST allow for
the representation of all information needed for the training of
adaptive recognition systems.</p>
<p>In order for the Ink Markup to be widely adopted as the data
representation for handwriting recognition systems, it must contain
an application-specific module covering all elements required to
support handwriting recognition training and development. For
example, in training a handwriting recognition system, it is often
necessary to label the ink data at various levels (e.g.
corresponding to characters, words, and phrases) and to be able to
affiliate traces or portions of traces with those
<a href="#InkLabel">labels</a>.</p>
<h3><a id="EaseOfUse" name="EaseOfUse">1.3 Ease of Use and
Adoption</a></h3>
<p class="requirement"><strong><a id="InkG6"
name="InkG6">(INK-G6)</a></strong>: The Ink Markup MUST not require
special hardware to implement (MUST specify).<br />
<i>&nbsp;&nbsp;&nbsp;Derived from MMI-G11.</i></p>
<p class="requirement"><strong><a id="InkG7"
name="InkG7">(INK-G7)</a></strong>: The Ink Markup MUST be readable
by developers/authors of multimodal applications and be able to be
automatically generated by software (MUST specify).<br />
<i>&nbsp;&nbsp;&nbsp;Derived from MMI-G10</i></p>
<p>Readable means we do not need a software decoder to make sense
of the ink data. However, we need to weigh the benefits of
readability against the increased storage/bandwidth that would be
required in order to make each element of the markup human
readable. For example, it might make sense at the trace level, but
not at the granularity of individual points/samples.</p>
<p class="requirement"><strong><a id="InkG8"
name="InkG8">(INK-G8)</a></strong>: The Ink Markup MUST be aligned
with the W3C specifications for security and privacy (MUST
specify).<br />
<i>&nbsp;&nbsp;&nbsp;Derived from MMI-G13.</i></p>
<p>Ink data often represents information that is sensitive, such as
a signature. Similarly, the application of privacy issues to user
profile data is relevant to the Ink Markup. However, at this time,
we don't anticipate any specific measures within the Ink Markup
itself for guaranteeing security and privacy of ink data.</p>
<p class="requirement"><strong><a id="InkG9"
name="InkG9">(INK-G9)</a></strong>: The Ink Markup SHOULD provide a
mechanism for checking markup integrity (NICE to specify).</p>
<p>This refers to the integrity of the ink data itself, rather than
well-formedness or validity of the Ink Markup, which can be
verified by the use of readily available validation tools. One
example of a simple integrity check would be an optional count
attribute on items within an element, such as the number of points
within a trace, which could be validated against the contents found
between the trace's start-tag and end-tag.</p>
<h2><a id="InputRequirements" name="InputRequirements">2. Input
Processing Requirements</a></h2>
<h3><a id="InkCapture" name="InkCapture">2.1 Ink Capture</a></h3>
<p class="requirement"><strong><a id="InkI1"
name="InkI1">(INK-I1)</a></strong>: The Ink Markup MUST allow for
the capture of a wide variety of different <a href="#Channel">data
channels</a> according to the needs of the target engine (i.e.
processor) or engine type, and it must allow for extension into new
channel definitions to support future devices and applications
(MUST specify).<br />
<i>&nbsp;&nbsp;&nbsp;&nbsp;Derived from MMI-I1</i></p>
<p>Typical data channels include x- and y-coordinates, pen tip
force, and pen angle.</p>
<p>Examples of engine types include handwriting/gesture recognition
and <a href="#SigVer">signature verification</a>.</p>
<p class="requirement"><strong><a id="InkI2"
name="InkI2">(INK-I2)</a></strong>: The Ink Markup MUST allow for
recording of information about user profile and ink capture that
contributes to the performance of recognition algorithms used in
handwriting and gesture recognition (MUST specify).<br />
&nbsp;&nbsp;&nbsp;<i>Derived from MMI-G14, MMI-I1, MMI-I10,
MMI-A5</i></p>
<p>User profile includes writer information such as handedness,
age, style and skill. Device profile includes elements such as
manufacturer, model, tablet <a href="#Resolution">resolution</a>,
sampling mode, and <a href="#SamplingRate">sampling rate</a>.</p>
<p class="requirement"><strong><a id="InkI3"
name="InkI3">(INK-I3)</a></strong>: The Ink Markup MUST allow for
the representation of information about the screen context in which
the ink data was captured (MUST specify).<br />
<i>&nbsp;&nbsp;&nbsp;See also <a href="#InkA5">INK-A5</a></i></p>
<p>Screen context includes such information as the relationship
between the digitizer and the display device during pen input. This
information can be important for applications such as handwriting
and gesture recognition. For example, the display resolution may
affect the size of the user's handwriting, and this information can
be used during normalization of the ink data for recognition.</p>
<p class="requirement"><strong><a id="InkI4"
name="InkI4">(INK-I4)</a></strong>: The Ink Markup MUST provide a
means to represent trace attributes that could influence
interpretation (e.g. highlighting vs. strikethrough) (MUST
specify).</p>
<p class="requirement"><strong><a id="InkI5"
name="InkI5">(INK-I5)</a></strong>: The Ink Markup SHOULD define
mechanisms to allow clients to query device characteristics that
may be important in determining how to adapt to platform
capabilities, e.g., quality metrics (NICE to specify).<br />
<i>&nbsp;&nbsp;&nbsp; Derived from MMI-I8, MMI-I17, MMI-A15</i></p>
<p>The Ink Markup should provide device and context information
that can be used to decide how to prioritize ink input relative to
other modalities (this could be in addition to a higher-level
processor's judgment of the uncertainty of its semantic
interpretation of the ink). The markup doesn't need to know about
which other modalities it is being combined with, but it needs to
provide the necessary information to the higher layers for making
decisions. For example, the Ink Markup can provide device level
information that can be cached by a driver or the layers above.</p>
<p>The multimodal system may also invoke different ink processors
depending on how the ink was captured. For example, ink captured on
low-resolution devices may be handled by a specific processor.</p>
<h3><a id="ExternalEvents" name="ExternalEvents">2.2 External
Events</a></h3>
<p class="requirement"><strong><a id="InkI6"
name="InkI6">(INK-I6)</a></strong>: The Ink Markup MUST provide a
way to preserve relative positioning of external events with
respect to the ink stream (MUST specify).</p>
<p>Time-stamps will allow Ink Markup data to be integrated with
other types of logged data. Alternatively, the Ink Markup will
support time-stamped comment fields, which may contain
application-specific (even proprietary) information, that may be
used to integrate references to external events directly into the
ink event stream.</p>
<p class="requirement"><strong><a id="InkI7"
name="InkI7">(INK-I7)</a></strong>: The Ink Markup MUST allow for
the representation of changes to screen context or to
<a href="#InkAttr">ink attributes</a> that are the result of
commonly occurring control events in pen applications (MUST
specify).</p>
<p>An example of a control event which results in an ink attribute
change is a user action (button press, voice command, or other
means) which switches pen colors.</p>
<h2><a id="OutputRequirements" name="OutputRequirements">3. Output
Processing Requirements</a></h2>
<p>Since MMI is intended for design of interactions, the ink
specification should consider the role of ink in the output portion
of interactions as well as input.</p>
<p>Consideration of the output portion of interactions requires two
elements: output of ink, and; synchronization of ink input/output
with other output modalities. Aside from making ink visible as it
is being written, ink will also be displayed later or in different
places, and in some cases may be generated and used by the
application as a user prompt (e.g. in a cursive writing
tutorial).</p>
<p>However, the ink specification is intended primarily to support
representation of captured ink. Output specifications generally are
driven by many requirements that are distinct from input
requirements. In particular, it will often be desirable to modify
the attributes of ink prior to display, for example in color, line
width, or even resolution. Adding the flexibility to handle a wide
range of output attributes would add unnecessary complexity to the
specification and minimum implementation. Accordingly, the Ink
Markup will concentrate instead on those attributes that are
required for accurate representation of ink capture, not display.
It will include attributes for capture that may have use in
display, such as color or force, but display is not the driving
consideration.</p>
<p>It is possible that some display services, such as windowing
systems or browsers, may implement support for display of Ink
Markup directly. More generally, we anticipate the transcoding of
the Ink Markup to other encodings that are more widely supported
(e.g. image formats or SVG), for use on display devices that do not
directly support the Ink Markup.</p>
<p class="requirement"><strong><a id="InkO1"
name="InkO1">(INK-O1)</a></strong>: The Ink Markup MUST be
displayable on a wide variety of output platforms and must be
convertible to a variety of different display formats (MUST
specify).<br />
<i>&nbsp;&nbsp;&nbsp;Derived from MMI-O8</i></p>
<p>It must also support transformation to alternative output media
types: to text via handwriting recognition, to commands via gesture
recognition etc.</p>
<p class="requirement"><strong><a id="InkO2"
name="InkO2">(INK-O2)</a></strong>: The Ink Markup MUST support the
specification of how presentation of ink, when used as output
media, could be adapted or styled on different devices (MUST
specify).<br />
 <i>&nbsp;&nbsp;&nbsp; Derived from MMI-O9, MMI-A13</i></p>
<h2><a id="Architecture" name="Architecture">4. Architectural
Requirements</a></h2>
<h3><a id="Reuse" name="Reuse">4.1 Reuse</a></h3>
<p class="requirement"><strong><a id="InkA1"
name="InkA1">(INK-A1)</a></strong>: The Ink Markup MUST reuse
standard language specifications, where possible (MUST
specify).<br />
<i>&nbsp;&nbsp;&nbsp;Derived from MMI-A1, MMI-S12</i></p>
<p>One example is the use of CC/PP to encode device
characteristics.</p>
<h3><a id="Modularity" name="Modularity">4.2 Modularity</a></h3>
<p class="requirement"><strong><a id="InkA2"
name="InkA2">(INK-A2)</a></strong>: The Ink Markup MUST be defined
in a modular fashion. Mandatory functionality should be
encapsulated in a base module which is usable by other XML based
languages (MUST specify).<br />
<i>&nbsp;&nbsp;&nbsp;Derived from MMI-A2</i></p>
<p class="requirement"><strong><a id="InkA3"
name="InkA3">(INK-A3)</a></strong>: The Ink Markup MUST provide for
modular extensions. It must specify mechanisms for defining and
using extension modules for application specific
functionality.<br />
<i>&nbsp;&nbsp;&nbsp;Cross reference with
<a href="#InkA2">INK-A2</a></i></p>
<h3><a id="Deployment" name="Deployment">4.3 Deployment</a></h3>
<p class="requirement"><strong><a id="InkA4"
name="InkA4">(INK-A4)</a></strong>: The Ink Markup MUST support
multiple levels of granularity of <a href="#Streaming">ink
streaming</a> for real-time input (MUST specify).</p>
<p class="requirement"><strong><a id="InkA5"
name="InkA5">(INK-A5)</a></strong>: The Ink Markup MUST provide
information to enable 'consistent' input behavior and display
across devices with differing capabilities, and across multiple
<a href="#Session">sessions</a> (MUST specify).<br />
<i>&nbsp;&nbsp;&nbsp; Derived from MMI-A6, MMI-A12</i></p>
<p>A user may start to fill out a form on one device using ink and
complete the form on a different device with a different display
and <a href="#Digitizer">digitizer</a>. The specification must
allow merging of ink data with previously entered data that may
have been captured with different devices and contexts, and even in
different modalities.</p>
<p>At the session level, the user may change modalities, e.g., from
speech to pen, or from a PDA to a tablet PC. The UI should allow
editing of previous entries even though modality or device
characteristics are different. This influences the ink
specification indirectly in that it requires sufficient device
information to allow correct merging of new pen data with
previously entered data.</p>
<p class="requirement"><strong><a id="InkA6"
name="InkA6">(INK-A6)</a></strong>: The Ink Markup MUST provide a
mechanism to support changes in delivery context that impact ink
characteristics or their interpretation (MUST specify).<br />
<i>&nbsp;&nbsp;&nbsp;Derived from MMI-A4, MMI-S1</i></p>
<p>One way to support changes in the delivery context is to start a
new ink session whenever a change is detected.</p>
<h3><a id="Integration" name="Integration">4.4 Integration</a></h3>
<p class="requirement"><strong><a id="InkA7"
name="InkA7">(INK-A7)</a></strong>: The Ink Markup MUST allow other
systems to identify subsections or portions of an ink document for
annotation or markup purposes (MUST specify).</p>
<p>The purpose of this requirement is to provide reliable external
references to an ink document. This is a MUST specify requirement
for static documents. In addition, it would be desirable to have a
mechanism for either preserving or invalidating references when
document editing or modification occurs.</p>
<p class="requirement"><strong><a id="InkA8"
name="InkA8">(INK-A8)</a></strong>: The Ink Markup SHOULD provide
mechanisms to facilitate random access and application specific
grouping or structuring of ink traces (NICE to specify).</p>
<p>In this context, random access refers to the ability to navigate
to a trace or group of traces within an ink document without undue
processing overhead.</p>
<p class="requirement"><strong><a id="InkA9"
name="InkA9">(INK-A9)</a></strong>: The Ink Markup MUST allow other
systems to embed ink documents within documents of other types
(MUST specify).</p>
<p>The embedding capability should support anchoring, alignment,
and registration of ink within other documents.</p>
<h2><a id="MobileRequirements" name="MobileRequirements">5.
Mobility Requirements</a></h2>
<p class="requirement"><strong><a id="InkR1"
name="InkR1">(INK-R1)</a></strong>: The Ink Markup MUST allow
lightweight client implementations for thin mobile devices (MUST
specify).<br />
<i>&nbsp;&nbsp;&nbsp;Derived from MMI-R1</i></p>
<p class="requirement"><strong><a id="InkR2"
name="InkR2">(INK-R2)</a></strong>: The Ink Markup MUST provide a
mechanism to allow for communications over low bandwidth network
connections (MUST specify).<br />
<i>&nbsp;&nbsp;&nbsp;Derived from MMI-G15, MMI-R2, MMI-S13.</i></p>
<p>This has an impact on how ink is transmitted over the network.
Low bandwidth may require smaller transmission size of ink
documents. Common mechanisms for achieving this goal include
downsampling and compression.</p>
<h2><a id="Synchronization" name="Synchronization">6. Multimodal
Synchronization Requirements</a></h2>
<p>The Ink Markup must provide mechanisms to allow higher levels of
an MMI system to coordinate the ink input with other aspects of the
user interface dialog, including both input and output modalities.
Consequently, the Ink Markup will preserve information about time,
time delays, and granularity that is useful to the MMI manager in
coordinating the elements of the user interface. This information
should also enable manipulation of ink data by output interface
components to synchronize rendering of ink data with other output
data.</p>
<p>The temporal information of ink data may also be useful to other
processes involved in interpretation of MMI interactions, if it can
be resolved against temporal information from other aspects of the
UI, allowing accurate reconstruction of the sequence of user
prompts and responses.</p>
<p class="requirement"><strong><a id="InkS1"
name="InkS1">(INK-S1)</a></strong>: The Ink Markup MUST preserve
and make available sufficient time information to support
chronological positioning and sequencing, grouping and
synchronization of data and events across different input
modalities (MUST specify).<br />
<i>&nbsp;&nbsp;&nbsp; Derived from MMI-G4, MMI-G5, MMI-G6 MMI-I2,
MMI-I3,MMI-I7, MMI-I18, MMI-I19 MMI-O1, MMI-O2, MMI-O3, MMI-O4,
MMI-O5, MMI-O6, MMI-O7 MMI-A17, MMI-A18.</i></p>
<p>Ink elements must be time-stamped to support this requirement.
Ink elements include traces and groups of traces..</p>
<h2><a id="Acknowledgements"
name="Acknowledgements">Acknowledgements</a></h2>
<p>This document was jointly prepared by members of the pen input
subgroup of the W3C Multimodal Interaction Working Group.</p>
<p>Special acknowledgements to Giovanni Seni (Motorola) and Greg
Russell (IBM) for their contributions.</p>
<h2><a id="Appendices" name="Appendices">Appendices</a></h2>
<h3><a id="Glossary" name="Glossary"></a>Appendix A. Glossary</h3>
<p><b>Accuracy:</b> (1) Percentage of words correctly transcribed
by a handwriting recognition engine; (2) Error bounds of a
coordinate measurement, relative to a physical reference frame</p>
<p><b>Annotation:</b> Elements in an Ink Markup file that describe
meta-data, or semantic information, about the traces themselves
(See ink annotation)</p>
<p><b><a id="AppSpecElts" name="AppSpecElts">Application-specific
elements:</a></b> Provide higher-level description of the digital
ink captured in the primitive elements</p>
<p><b>Bounding box:</b> A minimal-sized rectangle that encloses a
group of traces</p>
<p><b>Canvas:</b> Widget or window in a graphical user interface
where ink is drawn during ink capture</p>
<p><b>Capture:</b> Digitally recording physical measurements of
handwriting, typically using a stylus</p>
<p><b><a id="Channel" name="Channel">Channel:</a></b> A measurement
recorded by the digitizer (e.g. coordinates, force, tilt) when
capturing pen input.</p>
<p><b>Chunks:</b> A group of pen traces</p>
<p><b>Compression:</b> The coding of data to save storage space or
transmission time</p>
<p><b><a id="Device" name="Device">Device:</a></b> See
<a href="#Digitizer">digitizer</a></p>
<p><b><a id="DigitalInk" name="DigitalInk">Digital ink:</a></b> An
electronic representation of the pen movement, pressure, and other
characteristics of handwritten input using a digitizing device</p>
<p><b><a id="Digitizer" name="Digitizer">Digitizer:</a></b> A
hardware device capable of sensing the digital pen tip position.
The digital pen can be a passive stylus containing no electronic
components, or an active stylus containing electronic components
(a.k.a. tablet).</p>
<p><b>Electronic ink:</b> See <a href="#DigitalInk">digital
ink</a></p>
<p><b>Events:</b> An action, either human or machine generated; for
example, page turn, pen up, or ink color change</p>
<p><b>Force:</b> The pressure applied to a writing implement,
typically measured in grams, ounces, or newtons</p>
<p><b>Gesture:</b> Collection of ink traces that indicate a certain
action to be performed</p>
<p><b>Ink:</b> See <a href="#DigitalInk">digital ink</a></p>
<p><b>Ink annotation:</b> A handwritten note or markup referencing
(by proximity) another visible writing or printed matter</p>
<p><b><a id="InkAttr" name="InkAttr">Ink attribute:</a></b> A basic
named value for an ink trace, such as color and width</p>
<p><b><a id="InkDoc" name="InkDoc">Ink document:</a></b> A
collection of one or more pages containing ink traces</p>
<p><b><a id="InkLabel" name="InkLabel">Ink label:</a></b> A
descriptive or identifying word or phrase accompanying some ink
traces</p>
<p><b>Ink point:</b> An element in the stream of data recorded by a
real-time digitizer of handwriting; for example, a tuple &lt;x, y,
pressure, tilt&gt;</p>
<p><b>Ink-enabled system:</b> A system capable of recording digital
ink data</p>
<p><b><a id="PrimElts" name="PrimElts">Primitive elements:</a></b>
Set of rudimentary elements sufficient for all basic ink
applications</p>
<p><b><a id="RecoGrammar" name="RecoGrammar">Recognition
grammar:</a></b> Specification of words and patterns of words that
a recognizer should expect when processing input ink</p>
<p><b><a id="Resolution" name="Resolution">Resolution:</a></b> The
minimal change or difference in a measurement (coordinate, force,
tilt) that a digitizer reports</p>
<p><b><a id="SamplingRate" name="SamplingRate">Sampling
rate:</a></b> The frequency at which a digitizer reports coordinate
(or other) information. Sampling rate is not always directly
related to the bandwidth.</p>
<p><b><a id="ScreenContext" name="ScreenContext">Screen
context:</a></b> The characteristics of the display area and the
correspondence between the display area and the ink-capturing
device.</p>
<p><b>Semantic:</b> A contextual interpretation of handwriting,
such as character, word, sentence, and paragraph</p>
<p><b><a id="Session" name="Session">Session:</a></b> (1) The span
of time from a user beginning an interaction to ending the
interaction with the system; (2) The data gathered during this span
of time.</p>
<p><b><a id="SigVer" name="SigVer">Signature verification:</a></b>
Confirmation that a presented signature is the same as the one on
file (a.k.a. one-to-one matching)</p>
<p><b><a id="Streaming" name="Streaming">Streaming:</a></b>
Continuously sending handwriting events over a communication
channel</p>
<p><b>Stroke:</b> Ink resulting from an elementary pen movement,
such as bounded by two consecutive velocity extrema. A sequence of
strokes constitutes a trace.</p>
<p><b>Tilt angle:</b> The angle of the pen with respect to the
writing surface, which is usually measured as angles of the
projection onto x and y vertical planes</p>
<p><b><a id="Trace" name="Trace">Trace:</a></b> A complete pen-down
movement bounded by two pen-up movements or a complete pen-up
movement. A sequence of traces accumulates to meaningful units,
such as characters and words.</p>
</body>
</html>