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>
©2003
<a href="http://www.w3.org/"><abbr title="World Wide Web Consortium">
W3C</abbr></a><sup>®</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
<<a href="mailto:www-multimodal-request@w3.org">www-multimodal-request@w3.org</a>>
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 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> 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> 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> 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> 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> 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> 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> 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 />
<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> 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> 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> 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> 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> 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> 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> 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> 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> 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> 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> 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> 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 <x, y,
pressure, tilt></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>