index.html 75.6 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 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  <title>Delivery Context Overview for Device Independence</title>
  <style type="text/css">
code { font-family: monospace; margin-left: 2em }
.ref { font-size: 80% }
.quote { margin-left: 5%; margin-right: 10% }
.definition { margin-left: 5%; margin-right: 10%; font-style: italic }
.diagram { text-align: center; font-size: 80%; font-weight: bold }
.changed {background-color: rgb(255, 255, 224)}
.deleted {background-color: rgb(240, 240, 240); text-decoration: line-through }
.comment {background-color: rgb(0, 204, 204)}
.pending {background-color: rgb(255, 224, 224)}
  </style>
  <link href="http://www.w3.org/StyleSheets/TR/W3C-WG-NOTE.css"
  rel="stylesheet" type="text/css" />
</head>

<body xml:lang="en" lang="en">

<div class="head">
<a href="http://www.w3.org/"><img alt="W3C" height="48"
src="http://www.w3.org/Icons/w3c_home" width="72" /></a>

<h1>Delivery Context Overview for Device Independence</h1>

<h2>W3C Working Group Note 20 March 2006</h2>
<dl>
  <dt>This version:</dt>
    <dd><a
      href="http://www.w3.org/TR/2006/NOTE-di-dco-20060320/">http://www.w3.org/TR/2006/NOTE-di-dco-20060320/</a></dd>
  <dt>Latest version:</dt>
    <dd><a
      href="http://www.w3.org/TR/di-dco/">http://www.w3.org/TR/di-dco/</a></dd>
  <dt>Previous version:</dt>
    <dd><a
      href="http://www.w3.org/TR/2005/NOTE-di-dco-20050118/">http://www.w3.org/TR/2005/NOTE-di-dco-20050118/</a></dd>
  <dt>Editors:</dt>
    <dd>Roger Gimson (HP)</dd>
    <dd>Rhys Lewis (Volantis Systems Ltd.)</dd>
    <dd>Sailesh Sathish (Nokia)</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>
&#169; 2006 <a href="http://www.w3.org/"><acronym
title="World Wide Web Consortium">W3C</acronym></a><sup>&#174;</sup> (<a
href="http://www.csail.mit.edu/"><acronym
title="Massachusetts Institute of Technology">MIT</acronym></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>
and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document
use</a> rules apply.</p>
</div>
<hr title="Separator for header" />

<h2 id="abstract">Abstract</h2>

<p>This document provides an overview of the role of delivery context in
achieving a device independent Web. It describes the kind of information that
may be included in the delivery context, and how it may be used. It surveys
current techniques for conveying delivery context information, and identifies
further developments that would enhance the ability to adapt content for
different access mechanisms.</p>

<p>This document is one of a series produced by the W3C Device Independence
Working Group. Other documents in the series address the implementation of
solutions to the requirements raised here. For example, there are documents
in the series reviewing current techniques that can be used to address these
requirements and exploring how future versions of existing W3C specifications
can provide solutions.</p>

<p>Details of the entire series of documents can be found on the <a
href="http://www.w3.org/2001/di/">W3C Device Independence Activity</a> home
page.</p>

<h2 id="status">Status of this Document</h2>

<p><em>This section describes the status of this document at the time of its
publication. Other documents may supersede this document. A list of current
W3C publications and the latest revision of this technical report can be
found in the <a href="http://www.w3.org/TR/">W3C technical reports index</a>
at http://www.w3.org/TR/.</em></p>

<p>This document is a W3C Working Group Note. It represents the views of the
W3C Device Independence Working Group at the time of publication. 
The document may be updated as new technologies related to the delivery
maxf context emerge or mature. Publication as a Working
Group Note does not imply endorsement by the W3C Membership. This is a draft
document and may be updated, replaced or obsoleted by other documents at any
time. It is inappropriate to cite this document as other than work in
progress.</p>

<p>This document is one of a series produced by the <a
href="http://www.w3.org/2001/di/Group/">Device Independence Working
Group</a>(Member Only Link), part of the <a
href="http://www.w3.org/2001/di/">W3C Device Independence Activity</a>. The
DIWG activity statement can be seen at <a
href="http://www.w3.org/2001/di/Activity">http://www.w3.org/2001/di/Activity</a>.</p>

<p>Comments on this document can be sent to <a
href="mailto:www-di@w3.org">www-di@w3.org</a>, the public forum for
discussion of the W3C's work on Device Independence. To subscribe, send an
email to <a href="mailto:www-di-request@w3.org">www-di-request@w3.org</a>
with the word subscribe in the subject line (include the word unsubscribe if
you want to unsubscribe). The <a
href="http://lists.w3.org/Archives/Public/www-di/">archive</a> for the list
is accessible online.</p>

<p>This document was produced by a group operating under the <a
href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February
2004 W3C Patent Policy</a>. This document is informative only. W3C
maintains a <a rel="disclosure"
href="http://www.w3.org/2004/05/di-charter-2004-06.html#ipr">public
list of any patent disclosures</a> made in connection with the
deliverables of the group; that page also includes instructions for
disclosing a patent. An individual who has actual knowledge of a patent
which the individual believes contains <a
href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential
Claim(s)</a> must disclose the information in accordance with <a
href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
6 of the W3C Patent Policy</a>.</p>

<h2 id="contents">Table of Contents</h2>
<ul class="toc">
  <li><a href="#introduction">1 Introduction</a>
    <ul class="toc">
      <li><a href="#characteristics">1.1 Delivery context
      characteristics</a></li>
      <li><a href="#DIcontext">1.2 Delivery context for device
        independence</a></li>
    </ul>
  </li>
  <li><a href="#motivation">2 Motivation</a>
    <ul class="toc">
      <li><a href="#user">2.1 User perspective</a></li>
      <li><a href="#appdev">2.2 Application developer perspective</a></li>
      <li><a href="#implementer">2.3 Implementer perspective</a></li>
    </ul>
  </li>
  <li><a href="#role">3 Role in Web architecture</a></li>
  <li><a href="#existingapproaches">4 Existing approaches</a>
    <ul class="toc">
      <li><a href="#httpheaders">4.1 HTTP headers</a></li>
      <li><a href="#httpnegotiation">4.2 HTTP negotiation</a></li>
      <li><a href="#ccpp">4.3 CC/PP</a></li>
      <li><a href="#uaprof">4.4 UAProf</a></li>
      <li><a href="#wurfl">4.5 WURFL</a></li>
      <li><a href="#mediaqueries">4.6 Media Queries</a></li>
      <li><a href="#smil">4.7 SMIL</a></li>
      <li><a href="#otherapproaches">4.8 Other approaches</a>
        <ul class="toc">
          <li><a href="#tcn">4.8.1 TCN</a></li>
          <li><a href="#conneg">4.8.2 Conneg</a></li>
          <li><a href="#mediafeatures">4.8.3 Media Feature Sets</a></li>
          <li><a href="#mpeg-21">4.8.4 MPEG-21</a></li>
        </ul>
      </li>
    </ul>
  </li>
  <li><a href="#DIWGwork">5 Areas of ongoing DIWG work</a>
    <ul class="toc">
      <li><a href="#representation">5.1 Delivery context
      representation</a></li>
      <li><a href="#protocol">5.2 Delivery context protocol</a></li>
      <li><a href="#processing">5.3 Delivery context processing</a></li>
      <li><a href="#vocabulary">5.4 Delivery context vocabulary</a></li>
      <li><a href="#access">5.5 Access to delivery context
      information</a></li>
      <li><a href="#metadata">5.6 Document metadata</a></li>
    </ul>
  </li>
  <li><a href="#issues">6 Open issues</a>
    <ul class="toc">
      <li><a href="#source">6.1 Source identification</a></li>
      <li><a href="#negotiation">6.2 Negotiation</a></li>
      <li><a href="#trust">6.3 Trust and privacy</a></li>
      <li><a href="#otherdomains">6.4 Use in other domains</a></li>
    </ul>
  </li>
  <li><a href="#conclusion">7 Conclusion</a></li>
  <li><br />
    <a href="#references">References</a></li>
  <li><br />
    <a href="#acknowledgements">Acknowledgements</a></li>
  <li><br />
    <a href="#diff">Changes since last version</a></li>
</ul>
<hr />
<!-- ===================================SECTION 1========================================== -->

<h2 id="introduction">1 Introduction</h2>

<p>The earlier <a href="http://www.w3.org/TR/di-princ/">Device Independence
Principles</a> document <span class="ref">[<a href="#DIP">DIP</a>]</span> set
out a number of principles that can lead to greater device independence in
delivering Web content and applications. Terms from this document, and others
related to device independence, are collected in the <a
href="http://www.w3.org/TR/di-gloss/">Glossary of Terms for Device
Independence</a> <span class="ref">[<a href="#GLOSS">GLOSS</a>]</span>. A
link is provided to the Glossary definition when a term is first used in the
following text.</p>

<p>The term <a
href="http://www.w3.org/TR/di-gloss/#def-delivery-context-v2">delivery
context</a>, as used when discussing web delivery (first introduced in <span
class="ref">[<a href="#DIP">DIP</a>]</span>), refers to:</p>

<p class="definition">A set of attributes that characterizes the capabilities
of the access mechanism, the preferences of the user and other aspects of the
context into which a web page is to be delivered.</p>

<p>In this document, the kind of information that may relate to the delivery
context is described. The role of delivery context and adaptation in Web
architecture is illustrated. Techniques for representing, conveying and
processing delivery context are considered. Existing technologies that
address these needs are reviewed. Areas that are under development by the W3C
Device Independence Working Group to address remaining needs are outlined.</p>

<p>Delivery context includes many factors that could have some effect on the
resultant experience of the delivered content by the user. Section <a
href="#characteristics">1.1</a> gives some illustrations of possible
characteristics of the delivery context. Section <a href="#DIcontext">1.2</a>
focuses on those characteristics that are particularly relevant to device
independence.</p>

<h3 id="characteristics">1.1 Delivery context characteristics</h3>

<p>There are many aspects of the delivery context that may influence which
representation of some Web content is best delivered in response to a
request. In this section, we hint at the range of <em>potential</em>
characteristics that might be expressed in the delivery context. However, the
set of potential characteristics is open-ended, so this list is only
illustrative.</p>
<ul>
  <li>Interaction
    <ul>
      <li>presentation (output) modalities and their parameters</li>
      <li>capture (input) modalities and their parameters</li>
    </ul>
  </li>
  <li>User agent capabilities
    <ul>
      <li>processing (scripting etc) capabilities</li>
      <li>accepted and generated formats (e.g. MIME types)</li>
    </ul>
  </li>
  <li>Connection
    <ul>
      <li>bandwidth, latency</li>
      <li>networks and protocols</li>
      <li>information associated with telecommunications operators</li>
    </ul>
  </li>
  <li>Location
    <ul>
      <li>geographic coordinates</li>
      <li>proximity to other resources</li>
      <li>time of day</li>
    </ul>
  </li>
  <li>Locale
    <ul>
      <li>local language</li>
      <li>local time zone</li>
    </ul>
  </li>
  <li>Environment
    <ul>
      <li>temperature</li>
      <li>light</li>
      <li>noise</li>
    </ul>
  </li>
  <li>Level of discourse
    <ul>
      <li>literacy (text content complexity)</li>
      <li>verbosity (content detail)</li>
    </ul>
  </li>
  <li>Trust
    <ul>
      <li>privacy and security</li>
      <li>content restrictions</li>
    </ul>
  </li>
</ul>

<p>It is worth noting here that some of these characteristics could be
considered as conveying sensitive information. Issues associated with privacy
and trust are considered outside the scope of this particular note. Some of
the challenges are discussed in <a href="#trust">6.3 Trust and
Privacy</a>.</p>

<p>Some of the above characteristics may be intrinsic to, or can be evaluated
by, the delivery device; others may be set, or overridden, by the user. Some
characteristics may stay fixed for long periods (such as the communications
protocols supported by the device); others may vary from one moment to the
next (such as geographic coordinates, or temperature). Any particular device
will only support a subset of all possible characteristics, though that
subset may change over time.</p>

<p>Because of such variability, it is unlikely that any complete definition
of a <em>well-defined</em> set of delivery context characteristics can exist.
However, to allow for the evolution of a set of characteristics that can be
of practical use in delivering appropriate content across a wide range of
contexts, it is important that definitions of well-defined characteristics
for subsets of the context can be re-used.</p>

<p class="diagram"><img alt="Scope of delivery context characteristics"
longdesc="Concentric areas showing scope of delivery context characteristics, in which well-defined is a subset of potential, and application-independent is a subset of well-defined."
src="characteristics.png" /> <br />
Diagram 1.1: Scope of delivery context characteristics</p>

<p>In some situations, there may be delivery context characteristics that are
specific to a particular application. However, many characteristics may be
useful to many applications. If each application were to define a different
representation for its delivery context characteristics, it would require
each delivery device to maintain delivery context information on a
per-application level. Applications would need to know about devices, and
devices would need to know about applications. This goes against the 'network
effect' that the Web encourages, whereby Web content and applications, and
the delivery devices use to access them, can be developed independently but
in a mutually reinforcing manner.</p>

<p>For the remainder of this Note, we will focus on the issues that must be
addressed when defining and sharing delivery context information in an
<em>application-independent</em> way. This is particularly the case when
trying to provide general solutions to achieve device independence.</p>

<h3 id="DIcontext">1.2 Delivery context for device independence</h3>

<p>Within the set of well-defined, application-independent delivery context
characteristics, an important subset are those that may help deliver web
content more effectively across a wide range of delivery devices.</p>

<p class="diagram"><img
alt="Scope of delivery context characteristics relevant to device independence"
longdesc="Concentric areas showing scope of device independent delivery context characteristics. Within application-independent delivery context characteristics are those relevant to device independence, and within those are a set of core presentation characteristics."
src="core.png" /> <br />
Diagram 1.2: Scope of delivery context characteristics relevant to device
independence</p>

<p>The characteristics that are most relevant for achieving <em>device
independence</em> are those that characterize the capabilities of the <a
href="http://www.w3.org/TR/di-gloss/#def-access-mechanism">access
mechanism</a>, the capabilities of the network and some of the preferences of
the <a href="http://www.w3.org/TR/di-gloss/#def-user">user</a>. In
particular, a user may specify <a
href="http://www.w3.org/TR/di-gloss/#def-adaptation-preferences">adaptation
preferences</a> and <a
href="http://www.w3.org/TR/di-gloss/#def-rendering-preferences">rendering
preferences</a> that affect the <a
href="http://www.w3.org/TR/di-gloss/#def-user-experience">user experience</a>
they have of the delivered content (see <span class="ref">[<a
href="#DIP">DIP</a>]</span> for further details).</p>

<p>For device independence, delivery context information is typically used to
provide an appropriate format, styling or other aspect of some web content
that will make it suitable for the capabilities of a delivery <a
href="http://www.w3.org/TR/di-gloss/#def-device">device</a>. The <a
href="http://www.w3.org/TR/di-gloss/#def-adaptation">adaptation</a> required
to achieve this may be performed by an <a
href="http://www.w3.org/TR/di-gloss/#def-origin-server">origin server</a>, by
an intermediary in the delivery path, or by a <a
href="http://www.w3.org/TR/di-gloss/#def-user-agent">user agent</a>.</p>

<p>From the point of view of device independence, the main concern is
accurately reflecting the capabilities of the access mechanism and the
preferences of the user. Given appropriate information about the delivery
context, the delivered content can be adapted to provide a <a
href="http://www.w3.org/TR/di-gloss/#def-functional-user-experience">functional
user experience</a> on that device, or may be further adapted to provide a <a
href="http://www.w3.org/TR/di-gloss/#def-harmonized-user-experience">harmonized
user experience</a> (as defined in <span class="ref">[<a
href="#DIP">DIP</a>]</span>). The possible adaptations that could be
performed on the available content can only be determined once the delivery
context information is known.</p>

<p>The W3C Device Independence Group is defining a set of specifications
related to the use of delivery context for delivering and running adapted
content accross a wide range of devices. One activity is the Delivery Context
Interfaces work that aims to provide a platform independent API for accessing
delivery context information that can be used during both server-side and
client-side content adaptation. This goal is described in more details in
section <a href="#access">5.5</a>.</p>

<p></p>
<!-- ===================================SECTION 2========================================== -->

<h2 id="motivation">2 Motivation</h2>

<p>In this section, motivation for more effective use of delivery context
information is provided from the perspectives of users, authors and
implementers.</p>

<h3 id="user">2.1 User perspective</h3>

<p>From the perspective of the user, the technology for conveying delivery
context information is largely invisible. For example, a user is not usually
aware of the values inserted into an HTTP request header. But the user may
need a mechanism to set preferred delivery context characteristics when
necessary.</p>

<p>Some aspects of the delivery context, such as the underlying capabilities
of the access mechanism, can be set automatically by software through
internal configuration parameters. An example of such a characteristic might
be the screen size of a visual rendering device.</p>

<p>Other aspects of the delivery context, such as user preferences, will
normally require user configuration. User preferences related to user
experience choices, may be managed by the user agent responsible for
rendering some Web content. User preferences related to <a
href="http://www.w3.org/TR/di-gloss/#def-application-personalization">application
personalization</a> could also be transmitted as part of the delivery
context, but are outside the scope of this document since they are inherently
application-dependent.</p>

<p>Because the kind of content that is delivered may depend on the
characteristics that are conveyed in the delivery context, it is important
that the user is provided, through appropriate software and interaction, with
sufficient flexibility to control those characteristics. This is particularly
important where the needs of the user may differ from those provided in
standard configurations.</p>

<p>Currently it is not clear how privacy of delivery context information is
best addressed. The user may not wish certain pieces of information contained
in the delivery context to be made available to untrusted components along
the delivery path. For example, the user may wish information about their
location to be made available to a trusted application, but not to any
intermediate node through which the delivery context information may pass.
This and other characteristics in the delivery context, individually or
collectively, may indirectly constitute personally identifiable information,
and so are subject to the security and privacy concerns considered in more
detail in Section <a href="#trust">6.3</a>.</p>

<h3 id="appdev">2.2 Application developer perspective</h3>

<p>From the perspective of the application developer or content author, it is
important to be able to access delivery context information in order to
deliver the most appropriate kind of content.</p>

<p>In some situations, the application developer may rely on some underlying
adaptation process to select and format the appropriate content version. For
example, commercial image servers are available that can scale and convert
the format of images to suit the rendering capabilities of different
devices.</p>

<p>In other situations, the content author may indicate within their content
that different selections should be made according to the client
capabilities. For example, markup to express context-dependent styling has
been included in CSS Media Queries <span class="ref">[<a
href="#MQ">MQ</a>]</span>. Proposals to allow context-dependent content
selection are under development <span class="ref">[<a
href="#DI-sel">DI-sel</a>]</span>.</p>

<p>In yet other situations, the application developer may explicitly create
transformations which can adapt their content for different devices. For
example, stylesheets written in XSLT may be applied to content expressed in
XML to produce different deliverable presentation markup.</p>

<p>In order to make effective use of the delivery context information, the
application developer needs the characteristics to be both well-defined and
common across as many devices as possible. This raises issues of the
definition and re-use of vocabulary elements, as discussed in Section <a
href="#vocabulary">5.4</a>.</p>

<h3 id="implementer">2.3 Implementer perspective</h3>

<p>Delivery context support may need to be implemented in system components
such as user agents, web servers and proxy servers. From the point of view of
a delivery context system implementer, several components need to be defined
to ensure interoperable implementations:</p>
<ul>
  <li>a data structure and vocabulary for exchanging delivery context
    information</li>
  <li>a protocol for conveying the delivery context information</li>
  <li>a processing model for handling the delivery context information</li>
</ul>

<p>Specific implementations might further define ways in which delivery
context information might be accessed via application program interfaces or
cached in data repositories.</p>

<p>Delivery context information may capture diverse aspects of an access
mechanism, may be augmented or processed by different kinds of
intermediaries, and may be used by different application components in an
origin server or intermediary. This means delivery context has to be
supported by many software components along the delivery path. It will not
necessarily be the case that a single software component creates the whole
delivery context, and another single component accepts it and adapts content
accordingly.</p>

<p>From the perspective of the implementer, software components must be able
to create a delivery context, augment an existing delivery context with their
own characteristics, replace parts of a delivery context to reflect the
possible adaptation capabilities of the component, and decompose a delivery
context to extract the characteristics which will control their
processing.</p>

<p>To date, the user agent, usually based on the client, has been the
software component that has been responsible for constructing a request for
some Web content, and has therefore also assumed responsibility for creating
any client-related delivery context. However, with access mechanisms that may
increasingly include several hardware or software components, a more flexible
way of building the delivery context will be required.</p>

<p>For example, a mobile device may be temporarily within range of a local
LAN which provides fast Internet access as well as connection to a nearby
printer and a large screen. By interacting with their mobile device, the user
may wish to deliver some Web content on the printer or the screen. The
delivery context may include characteristics, or references to
characteristics, contributed by several components. Hardware characteristics
may be provided by the printer, the screen and the mobile device. Software
characteristics may be provided by the mobile device's operating system, user
agent, and local media handling capabilities. Network characteristics may be
provided relating to the LAN connection. User preferences may be provided
relating to the user experience of the content to be accessed.</p>

<p>As the range of characteristics made available through the delivery
context grows, so the implementer of the content adaptation process requires
better mechanisms to extract the relevant characteristics from the delivery
context.</p>

<p>For example, if multiple overlapping characteristics exist within the
delivery context, such as the pixel dimensions of the presentation spaces of
each of the mobile device, the printer and the screen in the previous
example, resolution rules or other mechanisms are required to determine which
characteristics should be used.</p>
<!-- ===================================SECTION 3========================================== -->

<h3 id="role">3 Role in Web architecture</h3>

<p>The overall Architecture of the World Wide Web <span class="ref">[<a
href="#WEB-arch">WEB-arch</a>]</span> describes how information resources can
be accessed and how multiple representations of the resource may be
retrieved. This section looks at the role of delivery context within this
overall architecture.</p>

<p>The role of the delivery context in accessing web-based content and
applications is illustrated in the following diagrams.</p>

<p class="diagram"><img
alt="Client shown as originating HTTP Request which may include delivery context"
src="client_ad.png" /> <br />
Diagram 3.1: Client provides delivery context as well as request</p>

<p>The client which originates a request for some web content may also
include some delivery context information which can help that request to be
handled appropriately. In practice, the context information may be included
as part of the request, or some (or all) of it may be supplied indirectly as
a reference to information that is stored separately.</p>

<p>Delivery context information may also be used locally. For example, the
amount of ambient light may be part of the delivery context information that
is used to alter the brightness of a display. However, this use of delivery
context is independent of the Web architecture.</p>

<p class="diagram"><img
alt="Server shown as receiving HTTP Request and adapting HTTP Response depending on delivery context"
src="server.png" /> <br />
Diagram 3.2: Server uses delivery context to adapt response</p>

<p>The server which responds to some request for web content may use delivery
context information to adapt its response to better suit the needs of the
client. Such server-side adaptation may include providing an appropriate data
(MIME) type for the response, or an appropriate natural language in which to
express text content, or even selecting appropriate application-specific data
suited to the locale of the client.</p>

<p class="diagram"><img
alt="Transcoding proxy shown as intermediary, forwarding HTTP Request and adapting HTTP Response"
src="intermediary.png" /> <br />
Diagram 3.3: Intermediary may augment delivery context and adapt response</p>

<p>An intermediary in the path between client and server may also provide
adaptation. The intermediary may modify the request, including providing new
delivery context information, in such a way that the response can be adapted
appropriately. For example, a transcoding proxy may offer to accept a media
type not included in the original request. When the response is received by
the proxy, that media type is adapted to one that is acceptable to the
originator of the request.</p>

<p>In the most general situation, a sequence of intermediaries may provide
additional delivery context information at different points in the request
path from client to server and may modify the response in the response path
between the server and the client. The response may be modified based on any
delivery context information available at that point in the response path.</p>

<p>In some situations, an intermediary may block delivery context information
from being passed further along the request path. For example, a phone may
pass information about its location only as far as a mobile gateway, which
does not make it available to the origin server.</p>

<p>The delivery context also has wider significance than its usage in
developing adapted content. The application that runs on the user agent
(typically the client device) can utilize the device and environment context
information for providing contextual adaptation. One mechanism for accessing
the system and environment context is the Delivery Context Interfaces (DCI)
developed by the DI working group. Here, through the use of application
scripts, a decision can be made as to whether adaptation can continue on the
client side or new content is needed from server based on the current
context.</p>

<p></p>
<!-- ===================================SECTION 4========================================== -->

<h2 id="existingapproaches">4 Existing approaches</h2>

<p>Various approaches to defining delivery context, or at least some aspects
of it, already exist. Indeed, the need to negotiate which version of a
document should be delivered to a user was recognized in the early days of
the Web <span class="ref">[<a href="#HTTPneg">HTTPneg</a>]</span>.</p>

<p>In this section, the main approaches that are already in use on the Web
are reviewed.</p>

<h3 id="httpheaders">4.1 HTTP headers</h3>

<p>The Hypertext Transport Protocol HTTP <span class="ref">[<a
href="#HTTP">HTTP</a>]</span> is the basis for most current Web-based
information delivery. It defines a number of standard accept headers that can
be used to match the capabilities of a requesting device (or, in particular,
its user agent) to the information that is delivered from an origin server.
Standard HTTP 1.1 accept headers include:</p>
<ul>
  <li>Accept: media types (MIME types) accepted by the user agent</li>
  <li>Accept-Charset: character sets accepted by the user agent</li>
  <li>Accept-Encoding: preferred reply encoding (compression) for the user
    agent</li>
  <li>Accept-Language: natural languages preferred by the user</li>
</ul>

<p>In addition to the accept headers, the User-Agent header usually contains
a string giving information about the user agent. Typically this includes the
name of the manufacturer, the version number and a name. For mobile devices,
it often includes information about the device hardware and the browser being
used. There are no standards about how user agent information is constructed.
Nevertheless, sophisticated algorithms may use it to try to identify the
device and browser software being used. A number of existing systems use this
identification to access a repository of information about the capabilities
of the device and browser. Adaptation of content for user experience can then
be made based on knowledge of these capabilities.</p>

<p>While HTTP headers are currently the most widely used delivery context
information, they are difficult to extend, and have (particularly in the case
of the User-Agent header) free-form values that are difficult to
interpret.</p>

<h3 id="httpnegotiation">4.2 HTTP negotiation</h3>

<p>It is possible for a server to select content based simply on the HTTP
header information. In HTTP 1.1 <span class="ref">[<a
href="#HTTP">HTTP</a>]</span> this is called <i>server-driven
negotiation</i>.</p>

<p>In this case, the server determines which alternate to send to a user
agent as a result of examining the user agent's request header fields.
Currently HTTP 1.1 uses the following request-header fields, as described in
the previous subsection, for server-driven negotiation: Accept,
Accept-Charset, Accept-Encoding, Accept-Language. Each of these fields is
referred to as a dimension of negotiation. In order to express user or
browser preferences, the request-header fields may include an associated
quality value for each dimension of negotiation.</p>

<p>For example the following header indicates that French resources are
preferred to English resources.</p>

<p><code>Accept-Language: fr; q=1.0, en; q=0.5</code></p>

<p>There are some disadvantages associated with server-driven negotiation.
Firstly the information sent in the request header does not give a complete
description of the capabilities of the client. For example there is no way to
distinguish between images intended for handheld computers from desktop
computers if they both use the same MIME type. Secondly it is inefficient for
a user agent to describe its full capabilities to a server for every request
it makes. Finally server-driven negotiation causes problems for caches shared
by multiple devices.</p>

<p>It is also possible within HTTP 1.1 to support <i>agent-driven
negotiation</i>, in which the user agent is responsible for selecting the
most appropriate content. The server initially responds with a list of
available representations, which then allows the user agent to make another
request for the preferred representation. However, this has the disadvantage
of introducing additional delay through multiple request-response round
trips.</p>

<h3 id="ccpp">4.3 CC/PP</h3>

<p>The W3C has specified a data structure and sample vocabulary for profiles
which can convey delivery context information. The current Composite
Capabilities/Preferences Profile (CC/PP) <span class="ref">[<a
href="#CCPP-struct-vocab">CCPP-struct-vocab</a>]</span> is based on the
original XML serialized Resource Description Framework (RDF) <span
class="ref">[<a href="#RDF">RDF</a>]</span>.</p>

<p>The CC/PP structure is vocabulary independent and allows the use of one or
more vocabularies which may be optionally described using RDF Schema.
<span>(See also the RDF Primer <span class="ref">[<a
href="#RDF-primer">RDF-primer</a>]</span> section 6.7 on "Describing Device
Capabilities and User Preferences".)</span></p>

<p>As CC/PP is vocabulary neutral, it allows different vocabularies to be
developed and implemented by communities involved in developing applications,
devices and browsers. It also allows for the dynamic composition of a
delivery context profile from fragments of capability information that may be
distributed among multiple repositories on the web.</p>

<p>CC/PP is the preferred approach to communicating delivery context
information between clients, intermediaries and origin servers. It is the
basis for <a href="#uaprof">UAProf</a>, which is currently used to express
the capabilities of many mobile devices. There are a number of
implementations available <span class="ref">[<a
href="#CCPP-coordination">CCPP-implem</a>]</span> which consume CC/PP
profiles, and there is also a Java Community Process interface definition for
profile consumers <span class="ref">[<a href="#JSR188">JSR188</a>]</span>.</p>

<p>The current CC/PP Recommendation <span class="ref">[<a
href="#CCPP-struct-vocab">CCPP-struct-vocab</a>]</span> provides a structure
and a sample vocabulary based on the version of RDF current during its
development. It is expected to be brought up to date with the latest
revisions of RDF <span class="ref">[<a
href="#RDF-concepts">RDF-concepts</a>]</span> and RDF Schema <span
class="ref">[<a href="#RDF-schema">RDF-schema</a>]</span>, and to be extended
to include support for capabilities asserted by intermediate proxies and
gateways. Further work is also required to specify a protocol for exchanging
CC/PP profiles, and to specify how a profile should be processed and used
within any mechanism for content adaptation. See Section <a
href="#DIWGwork">5</a> for further details of ongoing work.</p>

<h3 id="uaprof">4.4 UAProf</h3>

<p>The <a href="http://www.openmobilealliance.org/">Open Mobile Alliance</a>
(OMA, formerly the WAP Forum) has defined a User Agent Profile <span
class="ref">[<a href="#UAProf">UAProf</a>]</span> as an implementation of
CC/PP for WAP-enabled mobile terminals, providing convergence of mobile web
technologies with those of the Web.</p>

<p>WAP 1.2.1 recommends transporting UAProf information over the Internet
using the HTTP Extension Framework <span class="ref">[<a
href="#HTTPex">HTTPex</a>]</span> which was originally suggested for CC/PP
<span class="ref">[<a href="#CCPP-exchange">CCPP-exchange</a>]</span>. WAP
defined the WSP protocol, which includes a compressed encoding, for use
between the phone and the gateway onto the Internet. Due to the lack of
implementations of HTTPex, WAP 2.0 instead defined an extension of HTTP 1.1
as an Internet protocol (W-HTTP) that uses custom headers.</p>

<p>The WAP Forum also defined a UAProf vocabulary, based on CC/PP, that
includes hardware and software characteristics as well as WAP specific
features of the mobile terminal and associated transport network. Subsequent
updating, to UAProf V2.0, by OMA has based the definition on the latest
version of RDF and RDF Schema.</p>

<h3 id="wurfl">4.5 WURFL</h3>

<p>WURFL , [<a href="#WURFL">WURFL</a>], is a free, open source project that
provides an alternative source of information to UAProf. It tries to provide
a comprehensive resource of device information, and contains device
information for 4500 variants of devices. Because WURFL is open source,
anyone can correct device information, not just device manufacturers. WURFL
provides its own XML format for device characteristics description.</p>

<h3 id="mediaqueries">4.6 Media Queries</h3>

<p>In W3C recommendations, such as CSS and HTML, style markup can be made
conditional on delivery context by using Media Queries <span class="ref">[<a
href="#MQ">MQ</a>]</span>. These introduce another vocabulary for accessing
device characteristics.</p>

<p>Media Queries build upon the use of 'media types' as defined in CSS2 <span
class="ref">[<a href="#CSS2">CSS2</a>]</span>, which allow styles to be
conditional on a number of named categories of device: aural, braille,
embossed, handheld, print, projection, screen, tty and tv. In Media Queries,
device characteristics ('media features') may be queried and combined using a
restricted expression syntax. The style used to present an element of HTML,
XHTML or XML can therefore be made conditional on the characteristics of the
delivery device. By making use of the CSS 'display' property, it is also
possible to conditionally include or exclude complete elements from the
presentation.</p>

<p>In the future, it should therefore be possible to add device-dependent
styling to common device-independent content, at least as far as the CSS
media types and media features will allow.</p>

<p>Like CSS, Media Queries are typically expected to be processed directly in
user agents, based on local delivery context information. However, they could
also be fully or partially processed at servers or intermediaries in the
response path, based on delivery context information passed as part of a
request for content. This highlights the need for the vocabulary used for the
device capabilities passed in the delivery context to correspond to the
vocabulary used within Media Queries.</p>

<h3 id="smil">4.7 SMIL</h3>

<p>A further W3C standard, the Synchronized Multimedia Integration Language
(SMIL) introduces yet another vocabulary for accessing a limited number of
device characteristics.</p>

<p>SMIL 2.0 <span class="ref">[<a href="#SMIL">SMIL</a>]</span> is defined as
a set of markup modules that can be integrated into specific language
profiles. In particular, it defines a BasicContentControl Module that defines
certain system characteristics that may be used to control a SMIL
presentation. These characteristics may be given dynamic values according to
the runtime environment. Like Media Queries, they therefore allow a user
agent that supports dynamic SMIL characteristics to access local delivery
context information.</p>

<p>System test characteristics included as part of the SMIL
BasicContentControl Module cover presentation-related capabilities such as
screen size, network bandwidth, and text and audio captions, as well as
system-related characteristics such as CPU and operating system identity.</p>

<h3 id="otherapproaches">4.8 Other approaches</h3>

<p>The following approaches have been proposed, but have not been widely
implemented to date.</p>

<h4 id="tcn">4.8.1 TCN</h4>

<p>Transparent Content Negotiation <span class="ref">[<a
href="#TCN">TCN</a>]</span>, was first proposed as an experimental protocol
in <a href="http://www.ietf.org/rfc/rfc2295.txt">RFC 2295</a>.</p>

<p>Transparent negotiation uses both HTTP server-driven and agent-driven
negotiation mechanisms (as described in Section <a
href="#httpnegotiation">4.2</a>), together with a caching proxy that supports
content negotiation. The proxy requests a list of all available
representations from the origin server using agent-driven negotiation, then
selects the most appropriate and sends it to the client using server-driven
negotiation. However, this technique has not been widely implemented.</p>

<h4 id="conneg">4.8.2 Conneg</h4>

<p>The IETF Content Negotiation working group <span class="ref">[<a
href="#Conneg">Conneg</a>]</span> focused on defining the features which
could form the basis for negotiation. In particular, in <a
href="http://www.ietf.org/rfc/rfc2506.txt">RFC 2506</a>, a procedure was
defined for registering Media Feature Tags in a central Internet Assigned
Numbers Authority (IANA) <a
href="http://www.iana.org/assignments/media-feature-tags">registry</a>.</p>

<h4 id="mediafeatures">4.8.3 Media Feature Sets</h4>

<p>A further result of the Conneg work was a proposal for combining Media
Features Tags into Media Feature Sets <span class="ref">[<a
href="#MFS">MFS</a>]</span>. In <a
href="http://www.ietf.org/rfc/rfc2533.txt">RFC 2533</a>, a syntax for
expressing Boolean combinations of features is proposed and an algorithm for
feature set matching (see also <span class="ref">[<a
href="#FSM">FSM</a>]</span>) is also described.</p>

<h4 id="mpeg-21">4.8.4 MPEG-21</h4>

<p>ISO/IEC is defining the MPEG-21 <span class="ref">[<a
href="#MPEG-21">MPEG-21</a>]</span> framework which is intended to support
transparent use of multimedia resources across a wide range of networks and
devices. The fundamental unit of distribution is the 'digital item', which is
an abstraction for some multimedia content with associated data.</p>

<p>One aspect of the requirements for MPEG-21 is Digital Item Adaptation
which is based on a Usage Environment Description (see section 4.7.2 in <span
class="ref">[<a href="#MPEG-21-req">MPEG-21-req</a>]</span>). It proposes the
description of capabilities for at least the terminal, network, delivery,
user, and natural environment, and notes the desirability of remaining
compatible with other recommendations such as CC/PP and UAProf.</p>
<!-- ===================================SECTION 5========================================== -->

<h2 id="DIWGwork">5 Areas of ongoing DIWG work</h2>

<p>While existing techniques provide some basic support for delivery context
information, there are a number of areas that remain to be addressed. The W3C
Device Independence Working Group (DIWG) is chartered <span class="ref">[<a
href="#DI-charter">DI-charter</a>]</span> to carry out further work on
delivery context and its use in web authoring.</p>

<p>The W3C Delivery Context Workshop held in March 2002 <span class="ref">[<a
href="#DCW">DCW</a>]</span> gave an opportunity for presentation and
discussion about technologies associated with device independent delivery,
and delivery context in particular. The workshop identified a number of areas
relating to delivery context where further work was necessary.</p>

<p>For example, among some of the topics discussed were:</p>
<ul>
  <li>device capability classes</li>
  <li>versioning and merging of profiles</li>
  <li>delivery context for multiple devices</li>
  <li>document profile relationship to delivery context</li>
  <li>standard vocabulary definition</li>
</ul>

<p>For further details see the <a
href="http://www.w3.org/2002/02/DIWS/submission/">position papers</a>, <a
href="http://www.w3.org/2002/02/DIWS/final.html">presentations</a> and <a
href="http://www.w3.org/2002/02/DIWS/notes.htm">workshop notes</a>.</p>

<p>This remainder of this section summarizes the areas of ongoing work within
DIWG and the issues that are currently being addressing.</p>

<h3 id="representation">5.1 Delivery context representation</h3>

<p>The current W3C recommendation for representing delivery context
information is CC/PP, as described in Section <a href="#ccpp">4.3</a>.</p>

<p>Some aspects of the original proposals of the CC/PP working group were
omitted in the current recommendation due to lack of implementation
experience. These include support in the profile for describing the
capabilities of transcoding proxies, which may in some cases extend the
effective capabilities of a device. For example, they may allow a wider range
of image formats to be accepted in an HTTP response from a server, since the
proxy can transcode them into an image format accepted by a particular
device.</p>

<p>It has already been mentioned that a revised version of CC/PP is under
consideration that would make fuller use of the latest version of RDF. In
particular, RDF now supports the explicit association of data values with
their data type. This has the potential to allow CC/PP profiles to be more
self-describing, in that type information about capabilities would no longer
need to be defined in an RDF schema that was separately conveyed to the
profile consumer.</p>

<h3 id="protocol">5.2 Delivery context protocol</h3>

<p>In order to implement the interoperable exchange of delivery context
information, it is necessary to specify how the information is conveyed as
part of a request protocol. Apart from the use of HTTP headers to express
some limited aspects of delivery context as described earlier, no consensus
has been reached on how more general delivery context information can be
conveyed.</p>

<p>A proposal was made for a protocol for CC/PP based on the HTTP Extension
Framework <span class="ref">[<a
href="#CCPP-exchange">CCPP-exchange</a>]</span>, but in practice this
framework has not been widely implemented.</p>

<p>UAProf <span class="ref">[<a href="#UAProf">UAProf</a>]</span> has defined
a protocol based on additional <i>ad hoc</i> HTTP header fields.</p>

<p>However, there is still a need to standardize an extensible way of
conveying delivery context, beyond the existing header fields, as part of an
HTTP 1.1 request.</p>

<p>Protocol design is non-trivial. Care must be taken, especially if it is to
affect many web requests, not to introduce inefficiencies. For example, to
minimize additional use of network bandwidth, a protocol should encourage
optimizations such as indirect reference to static parts of the context
information or caching of unchanging characteristics. A protocol should also
allow intermediaries, if necessary, to access and augment the contextual
information with minimal overhead.</p>

<p>Session-based management of context could be considered, complementing the
widely implemented HTTP state management using cookies, as described in <a
href="http://www.ietf.org/rfc/rfc2965.txt">RFC 2965</a>. If delivery context
information were associated with a session, it might not be necessary to
convey the full context with each request. Instead, it might be possible to
simply notify changes from the previous context data.</p>

<p>Further work on CC/PP Protocol is included in the charter of the Device
Independence Working Group <span class="ref">[<a
href="#DI-charter">DI-charter</a>]</span>. This will focus on a protocol for
use with conventional stateless HTTP requests. Work on session-based
protocols is out of the current scope.</p>

<h3 id="processing">5.3 Delivery context processing</h3>

<p>It is not sufficient simply to define how delivery context information can
be conveyed as part of a communication protocol. For the end-to-end semantics
of the delivery process to be well defined and predictable, it is also
necessary to consider how the context information is resolved and made
available to the adaptation or negotiation mechanisms at the different points
in the delivery chain described in Section <a href="#role">3</a>.</p>

<p>Profile information could be distributed across multiple locations on the
web. It may not be consolidated and made available all in one place. For
example, a hardware manufacturer and a software provider may make the static
capabilities of their respective parts of an access mechanism available on
their own websites, whereas network capabilities may depend on the routing of
a particular request. So it should be possible to retrieve distributed
capability information and compose or derive the delivery context at any
appropriate point in the delivery path. To do this flexibly, a delivery
context should be able to use combinations of characteristics from multiple
vocabularies, or multiple versions of a single vocabulary, that relate to
different aspects of an access mechanism. For example CC/PP uses XML
namespaces to distinguish characteristics from different vocabularies.</p>

<p>Since a delivery context may be built from characteristics provided by
different components along the delivery path, it should be possible to
accumulate delivery context information provided by different components. The
means of accumulation could simply consist of appending the information from
different sources in separate profiles, or of combining them into a single
profile. It should not be assumed that any particular component along the
path is capable of resolving the information further.</p>

<p>Resolution rules can be used to describe how characteristics may default
or override. However, if different rules are created for different
characteristics, the complexity of the resolution process can quickly grow.
Resolution mechanisms may be specific to each application, or application
independent resolution mechanisms may be used for all applications that
depend on the same profile. For example the UAProf standard specifies
application independent resolution rules.</p>

<p>Processing rules are also necessary to define the behavior of processing
sequences such as a client, an intermediary acting as a proxy and an origin
server. Here the client device and the proxy may provide different versions
of the same characteristics, so it is necessary to disambiguate. Similarly,
there may be a need to deal with aggregated devices, such as connecting a
phone and PDA in order to provide voice and text browsing. Here one of the
devices may merge the profiles from the phone and the PDA in order to allow
the server to provide a multimodal interface. In this case it is necessary to
determine which of the client devices, and possibly which modality or other
grouping on that device, provides a particular characteristic.</p>

<p>Delivery context characteristics must also fit into authoring and
adaptation environments, and allow individual characteristics to be accessed
as part of page adaptation on origin servers as well as by intermediaries and
clients.</p>

<p>In DIWG, it is intended to cover CC/PP processing at the same time as work
on CC/PP protocol, since the two are closely related in their
implementation.</p>

<h3 id="vocabulary">5.4 Delivery context vocabulary</h3>

<p>Delivery context information is expressed in terms of values of
characteristics which may be drawn from, and are defined in, one or more
vocabularies.</p>

<p>In the overview of existing and proposed approaches, it is clear that many
groups have started to define vocabularies that could be used to express
aspects of delivery context. For device capabilities alone, there are already
Media Features defined in the IANA registry as part of the Conneg work,
different versions of the UAProf vocabulary defined by the Open Mobile
Alliance, Media Queries as part of CSS style, system characteristics in SMIL,
and an example CC/PP vocabulary.</p>

<p>Vocabularies for delivery context characteristics need to be standardized
so that authoring and adaptation processes can use them in a consistent
fashion to select or generate suitable user experiences.</p>

<p>It is inevitable that vocabularies for characteristics will evolve through
a number of different versions. It is also likely that they will need to
incorporate characteristics that have been defined in other approaches for
other purposes, as illustrated in the range of potential characteristics
described in Section <a href="#characteristics">1.1</a>. There is a danger
that vocabularies and their versions may proliferate so that the task of
interpreting them and making appropriate adaptations to delivered content
becomes unmanageable.</p>

<p>It should be possible to declare a set of characteristics as a vocabulary
that can be combined with other vocabularies for other characteristics. By
sharing sets of characteristics between vocabularies, it should be possible
to minimize the number of different characteristics that might be introduced
for essentially similar capabilities. CC/PP, by being based on RDF, naturally
supports such definition and re-use.</p>

<p>It is preferable to re-use characteristics whenever possible during
vocabulary definition. However, it may also be possible to separately
identify equivalences between characteristics from different vocabularies at
a later date. The Web Ontology Language <span class="ref">[<a
href="#OWL">OWL</a>]</span> provides a means both for defining the properties
and classes that might make up a vocabulary as well as making explicit the
relationships, such as disjointness and equivalence, there might be between
them.</p>

<h3 id="access">5.5 Access to delivery context information</h3>

<p>Some of the markup languages referred to in Section <a
href="#existingapproaches">4</a> already provide mechanisms for authors to
refer to delivery context characteristics when creating web pages. In
particular, CSS Media Queries and SMIL introduce ways of referring to a
limited set of characteristics. CSS is intended to be used for adding styling
information to other markup languages, such as XHTML and SVG, and so allows
delivery context dependent styling to be expressed in a uniform way for the
languages which incorporate it, at least for the few characteristics it
defines. The set of characteristics introduced by SMIL is also small, and
defined in a way specific to that language.</p>

<p>In anticipation of the need to express content selection for web pages
that is dependent on delivery context, a draft proposal has been produced by
DIWG for a context-dependent way of expressing Content Selection <span
class="ref">[<a href="#DI-sel">DI-sel</a>]</span>. In particular, this
advocates the potential use of XPath or RDF Query to access delivery context
information, using modular markup that could be incorporated in other
languages such as Modular XHTML.</p>

<p>The Delivery Context Interfaces (DCI) work being developed by DIWG defines
a platform independent API for accessing delivery context information. The
interface allows mechanisms to both query and update properties. For dynamic
properties, it is important to be able to respond to changes when they occur,
consequently a mechanism to subscribe and unsubscribe to events is provided.
The DCI is designed to allow for properties to be defined by different
organizations. The Open Mobile Alliance (OMA) has developed a set of
properties for describing static characteristics of mobile phones. Device
vendors are expected to define additional properties for proprietary
features.</p>

<p></p>

<h3 id="metadata">5.6 Document metadata</h3>

<p>A set of XHTML Document Profile Requirements were proposed in 1999 <span
class="ref">[<a href="#XHTML-docprofile">XHTML-docprofile</a>]</span>. These
could be seen as complementary to delivery context characteristics, in that
they could potentially define document characteristics that would be required
in order to successfully deliver a document.</p>

<p>This leads to considering the broader use of metadata, created as part of
document authoring, as a means of guiding the adaptation of content for a
particular delivery context. At the time of writing, W3C is about to hold a
<a href="http://www.w3.org/2004/06/DI-MCA-WS/">Workshop on Metadata for
Content Adaptation</a> to explore this topic further.</p>
<!-- ===================================SECTION 6========================================== -->

<h2 id="issues">6 Open issues</h2>

<p>While it is not the purpose of this document to identify specific
requirements, it is useful to collect together some remaining open issues,
beyond the work described in the previous section.</p>

<h3 id="source">6.1 Source identification</h3>

<p>It may be useful to identify the source of delivery context information
provided by different components along the delivery path, and to extract the
information from the delivery context provided by each source.</p>

<p>By identifying the source of some delivery context information, it may be
possible to do a better job of adapting the content. For example, a request
for printed output made via a phone may include device capabilities for the
printer (so that the output can be formatted for it) as well as for the phone
(so that any print control or error messages can be displayed on it). It is
important that these can be distinguished and separately extracted.</p>

<p>In addition, it may be important for assessing the reliability of the
delivery context information, or the trust to be placed in it, for its source
to be identified.</p>

<h3 id="negotiation">6.2 Negotiation</h3>

<p>If document metadata (as mentioned in Section <a
href="#metadata">5.6</a>), or some similar mechanism, is used to describe the
capabilities required of the delivery device, there needs to be a way of
matching this to the delivery context information so that appropriate content
can be delivered.</p>

<p>With the modularization of markup languages such as XHTML, SVG, CSS and
SMIL, a mechanism is also required for representing and negotiating which
modules are supported by a user agent and which modules are required to
successfully deliver a document. For example, the 3GPP specification for
Packet Switched Streaming service <span class="ref">[<a
href="#_3GPP-PSS">3GPP-PSS</a>]</span>, which is based on SMIL, defines its
own vocabulary for capability exchange based on UAProf and includes a means
of enumerating supported SMIL modules.</p>

<p>Several techniques have been proposed to perform capability negotiation
between devices: for example SyncML for data synchronization or the Wireless
Village Initiative for instant messaging - both of these are now consolidated
into the <a href="http://www.openmobilealliance.org/">Open Mobile
Alliance</a>.</p>

<h3 id="trust">6.3 Trust and privacy</h3>

<p>Since delivery context could be used to convey user-specific information,
it is important to consider how much trust the user can place in how that
information is handled. Ultimately this could extend to providing security
measures for ensuring the privacy of sensitive information.</p>

<p>An early working draft of CC/PP Implementors Guide on Privacy and
Protocols <span class="ref">[<a href="#CCPP-trust">CCPP-trust</a>]</span>
includes a discussion on privacy issues within the CC/PP framework, including
examples of how the recommendations of the Platform for Privacy Preferences
Project <span class="ref">[<a href="#P3P">P3P</a>]</span> could be used with
CC/PP. It also includes an Appendix on "<a
href="http://www.w3.org/TR/2001/WD-CCPP-trust-20011220/#req-turst-frame">Basic
requirements for trust management frameworks</a>".</p>

<p>Issues that relate to trust include:</p>
<ul>
  <li>Identification, and possibly authentication, of the source of delivery
    context information</li>
  <li>Restriction of delivery context information, under user control, only
    to non-sensitive characteristics</li>
  <li>Release of delivery context information only to trusted applications or
    intermediaries</li>
  <li>Encryption and decryption of subsets of delivery context
  information</li>
</ul>

<p>Many of these issues are beyond the scope of device independence. If
limited information about device and network capabilities can be freely
shared, the user can benefit from receiving content better suited to the
delivery device. This is the case currently, for example, in the use of HTTP
header information. However, if such capability information is withheld, the
user should still be provided with a functional user experience.</p>

<p>However, it is necessary to consider the potential misuse of any
characteristics that are provided in good faith in order to achieve a better
user experience, and to balance this against the benefits. Ultimately, the
user should be given control over whether user experience-related
characteristics are made available by a user agent as part of the delivery
context. In addition, it may be necessary to include in the delivery context
itself, or in the definition of its processing, rules that indicate what may
or may not be changed or acted on by intermediaries.</p>

<h3 id="otherdomains">6.4 Use in other domains</h3>

<div>
<p>This document has focused on delivery context in a traditional Web
delivery environment. In other words, the focus has been on the conveying of
delivery context information from a client to a server, via possible
intermediaries, using HTTP.</p>

<p>However, the general principles may be applicable to other environments
using other protocols. For example, <a
href="http://www.w3.org/2002/mmi/">Multimodal Interaction</a> and <a
href="http://www.w3.org/2002/ws/">Web Services</a> use alternatives to, or
extensions of, HTTP. However, they both have the need to describe the
characteristics of the context into which they are delivering the results of
web requests.</p>

<p>In particular, even if the details of conveying delivery context
information in a particular protocol may differ, the representation of that
information, and the vocabularies on which it depends, may be shared across
many environments. The benefits of re-using the syntax and semantics of
device and other delivery context characteristics in different environments
are greater interoperability and reduced implementation costs.</p>
</div>
<!-- ===================================SECTION 7========================================== -->

<h2 id="conclusion">7 Conclusion</h2>

<p>Delivery context information may be useful across a wide range of
distributed application domains, and not least for achieving device
independence for the Web. In this domain, it provides the key information on
which better adaptation of content across different access mechanisms must
depend.</p>

<p>This document has provided an overview of progress in representing and
using delivery context for this purpose. The W3C Device Independence Working
Group is chartered to continue work on further topics in this area.</p>
<hr />
<!-- ===================================REFERENCES========================================== -->

<h2 id="references">References</h2>
<dl>
  <dt>[<a name="_3GPP-PSS" id="_3GPP-PSS">3GPP-PSS</a>]</dt>
    <dd><a
      href="ftp://ftp.3gpp.org/specs/2002-06/Rel-5/26_series/26234-510.zip">Transparent
      end-to-end packet switched streaming service (PSS) Protocols and codecs
      (Release 5)</a>, 3rd Generation Partnership Project TS 26.234 V5.1.0
      June 2002</dd>
  <dt>[<a name="CCPP-coordination"
  id="CCPP-coordination">CCPP-coordination</a>]</dt>
    <dd><a
      href="http://www.w3.org/TR/2001/NOTE-CCPP-COORDINATION-20011220/">CC/PP
      Implementors Guide: Harmonization with Existing Vocabularies and
      Content Transformation Heuristics</a>, W3C Note 20 December 2001<br />
      <i>For latest version see:</i>
    http://www.w3.org/TR/CCPP-COORDINATION/</dd>
  <dt>[<a name="CCPP-exchange" id="CCPP-exchange">CCPP-exchange</a>]</dt>
    <dd><a href="http://www.w3.org/1999/06/NOTE-CCPPexchange-19990624">CC/PP
      exchange protocol based on HTTP Extension Framework</a>, W3C Note 24
      June 1999<br />
      <i>For latest version see:</i>
    http://www.w3.org/TR/NOTE-CCPPexchange</dd>
  <dt>[<a name="CCPP-ra" id="CCPP-ra">CCPP-ra</a>]</dt>
    <dd><a href="http://www.w3.org/TR/2000/WD-CCPP-ra-20000721/">Composite
      Capability/Preference Profiles: Requirements and Architecture</a>, W3C
      Working Draft 21 July 2000<br />
      <i>For latest version see:</i> http://www.w3.org/TR/CCPP-ra/</dd>
  <dt>[<a name="CCPP-struct-vocab"
  id="CCPP-struct-vocab">CCPP-struct-vocab</a>]</dt>
    <dd><a
      href="http://www.w3.org/TR/2004/REC-CCPP-struct-vocab-20040115/">Composite
      Capability/Preference Profiles (CC/PP): Structure and Vocabularies
      1.0</a>, W3C Recommendation 15 January 2004<br />
      <i>For latest version see:</i>
    http://www.w3.org/TR/CCPP-struct-vocab/</dd>
  <dt>[<a name="CCPP-trust" id="CCPP-trust">CCPP-trust</a>]</dt>
    <dd><a href="http://www.w3.org/TR/2001/WD-CCPP-trust-20011220/">CC/PP
      Implementors Guide: Privacy and Protocols</a>, W3C Working Draft 20
      December 2001<br />
      <i>For latest version see:</i> http://www.w3.org/TR/CCPP-trust</dd>
  <dt>[<a name="Conneg" id="Conneg">Conneg</a>]</dt>
    <dd><a
      href="http://www.ietf.org/html.charters/OLD/conneg-charter.html">IETF
      Content Negotiation Working Group</a>, concluded October 2000<br />
      http://www.ietf.org/html.charters/OLD/conneg-charter.html</dd>
  <dt>[<a name="CSS2" id="CSS2">CSS2</a>]</dt>
    <dd><a href="http://www.w3.org/TR/1998/REC-CSS2-19980512/">Cascading
      Style Sheets, level 2 CSS2 Specification</a>, W3C Recommendation 12 May
      1998<br />
      <i>For latest version see:</i> http://www.w3.org/TR/REC-CSS2</dd>
  <dt>[<a name="DCW" id="DCW">DCW</a>]</dt>
    <dd><a href="http://www.w3.org/2002/02/DIWS/">W3C Delivery Context
      Workshop</a>, INRIA Sophia-Antipolis, France, 4-5 March 2002<br />
      http://www.w3.org/2002/02/DIWS/</dd>
  <dt>[<a name="DI-charter" id="DI-charter">DI-charter</a>]</dt>
    <dd><a href="http://www.w3.org/2004/05/di-charter-2004-06.html">W3C
      Device Independence Working Group Charter</a> <br />
      http://www.w3.org/2004/05/di-charter-2004-06.html</dd>
  <dt>[<a name="DIP" id="DIP">DIP</a>]</dt>
    <dd><a href="http://www.w3.org/TR/2003/NOTE-di-princ-20030901/">Device
      Independence Principles</a>, W3C Working Group Note 01 September
      2003<br />
      <i>For latest version see:</i> http://www.w3.org/TR/di-princ/</dd>
  <dt>[<a name="DI-sel" id="DI-sel">DI-sel</a>]</dt>
    <dd><a href="http://www.w3.org/TR/cselection/">Content Selection for
      Device Independence (DISelect) 1.0</a>, W3C Working Draft 11 June
      2004<br />
      <i>For latest version see:</i> http://www.w3.org/TR/cselection/</dd>
  <dt>[<a name="FSM" id="FSM">FSM</a>]</dt>
    <dd><a href="http://www.ninebynine.org/Software/Conneg-FSM/">Feature Set
      Matching</a>, sample software by Graham Klyne<br />
      http://www.ninebynine.org/Software/Conneg-FSM/</dd>
  <dt>[<a name="GLOSS" id="GLOSS">GLOSS</a>]</dt>
    <dd><a href="http://www.w3.org/TR/di-gloss/">Glossary of Terms for Device
      Independence</a>, W3C Working Draft January 2005 <br />
      <i>For latest version see:</i> http://www.w3.org/TR/di-gloss/</dd>
  <dt>[<a name="HTTP" id="HTTP">HTTP</a>]</dt>
    <dd><a href="http://www.w3.org/Protocols/rfc2616/rfc2616.html">Hypertext
      Transfer Protocol -- HTTP/1.1</a>, IETF RFC-2616 June 1999<br />
      http://www.w3.org/Protocols/rfc2616/rfc2616.html</dd>
  <dt>[<a name="HTTPex" id="HTTPex">HTTPex</a>]</dt>
    <dd><a href="http://www.ietf.org/rfc/rfc2774.txt">An HTTP Extension
      Framework</a>, IETF RFC-2774 February 2000<br />
      http://www.ietf.org/rfc/rfc2774.txt</dd>
  <dt>[<a name="HTTPneg" id="HTTPneg">HTTPneg</a>]</dt>
    <dd><a href="http://www.w3.org/Protocols/HTTP/Negotiation.html">HTTP
      Negotiation algorithm</a>, Tim Berners-Lee 1992<br />
      http://www.w3.org/Protocols/HTTP/Negotiation.html</dd>
  <dt>[<a name="JSR188" id="JSR188">JSR188</a>]</dt>
    <dd><a href="http://jcp.org/en/jsr/detail?id=188">JSR 188: CC/PP
      Processing</a>, Java Specification Request<br />
      http://jcp.org/en/jsr/detail?id=188</dd>
  <dt>[<a name="MFS" id="MFS">MFS</a>]</dt>
    <dd><a href="http://www.ietf.org/rfc/rfc2533.txt">A Syntax for Describing
      Media Feature Sets</a>, IETF RFC-2533 March 1999<br />
      http://www.ietf.org/rfc/rfc2533.txt</dd>
  <dt>[<a name="MPEG-21" id="MPEG-21">MPEG-21</a>]</dt>
    <dd><a
      href="http://www.chiariglione.org/mpeg/standards/mpeg-21/mpeg-21.htm">MPEG-21
      Overview (v.5)</a>, ISO/IEC JTC1/SC29/WG11/N5231 October 2002</dd>
  <dt>[<a name="MPEG-21-req" id="MPEG-21-req">MPEG-21-req</a>]</dt>
    <dd><a
      href="http://www.chiariglione.org/mpeg/working_documents/mpeg-21/requirements/requirements.zip">MPEG-21
      Requirements v.2</a>, ISO/IEC JTC1/SC29/WG11 N6264 December 2003</dd>
  <dt>[<a name="MQ" id="MQ">MQ</a>]</dt>
    <dd><a
      href="http://www.w3.org/TR/2002/CR-css3-mediaqueries-20020708/">Media
      Queries</a>, W3C Candidate Recommendation 8 July 2002<br />
      <i>For latest version see:</i>
    http://www.w3.org/TR/css3-mediaqueries/</dd>
  <dt>[<a name="OWL" id="OWL">OWL</a>]</dt>
    <dd><a href="http://www.w3.org/TR/2004/REC-owl-features-20040210/">OWL
      Web Ontology Language Overview</a>, W3C Recommendation 10 February
      2004<br />
      <i>For latest version see:</i> http://www.w3.org/TR/owl-features/</dd>
  <dt>[<a name="P3P" id="P3P">P3P</a>]</dt>
    <dd><a href="http://www.w3.org/P3P/">Platform for Privacy Preferences
      Project</a>, W3C Initiative<br />
      http://www.w3.org/P3P/</dd>
  <dt>[<a name="RDF" id="RDF">RDF</a>]</dt>
    <dd><a href="http://www.w3.org/TR/1999/REC-rdf-syntax-19990222/">Resource
      Description Framework (RDF) Model and Syntax Specification</a>, W3C
      Recommendation 22 February 1999</dd>
  <dt>[<a name="RDF-concepts" id="RDF-concepts">RDF-concepts</a>]</dt>
    <dd><a
      href="http://www.w3.org/TR/2004/REC-rdf-concepts-20040210/">Resource
      Description Framework (RDF): Concepts and Abstract Syntax</a>, W3C
      Recommendation 10 February 2004<br />
      <i>For latest version see:</i> http://www.w3.org/TR/rdf-concepts/</dd>
  <dt>[<a name="RDF-primer" id="RDF-primer">RDF-primer</a>]</dt>
    <dd><a href="http://www.w3.org/TR/2004/REC-rdf-primer-20040210/">RDF
      Primer</a>, W3C Recommendation 10 February 2004<br />
      <i>For latest version see:</i> http://www.w3.org/TR/rdf-primer/</dd>
  <dt>[<a name="RDF-schema" id="RDF-schema">RDF-schema</a>]</dt>
    <dd><a href="http://www.w3.org/TR/2004/REC-rdf-schema-20040210/">RDF
      Vocabulary Description Language 1.0: RDF Schema</a>, W3C Recommendation
      10 February 2004<br />
      <i>For latest version see:</i> http://www.w3.org/TR/rdf-schema/</dd>
  <dt>[<a name="SMIL" id="SMIL">SMIL</a>]</dt>
    <dd><a href="http://www.w3.org/TR/2001/REC-smil20-20010807/">Synchronized
      Multimedia Integration Language (SMIL 2.0)</a>, W3C Recommendation 7
      August 2001<br />
      <i>For latest version see:</i> http://www.w3.org/TR/smil20</dd>
  <dt>[<a name="TCN" id="TCN">TCN</a>]</dt>
    <dd><a href="http://www.ietf.org/rfc/rfc2295.txt">Transparent Content
      Negotiation in HTTP</a>, IETF RFC-2295 March 1998<br />
      http://www.ietf.org/rfc/rfc2295.txt</dd>
  <dt>[<a name="UAProf" id="UAProf">UAProf</a>]</dt>
    <dd><a
      href="http://www.openmobilealliance.org/release_program/uap_v20.html">OMA
      User Agent Profile</a> <br />
      http://www.openmobilealliance.org/release_program/uap_v20.html</dd>
  <dt>[<a name="WAP2" id="WAP2">WAP2</a>]</dt>
    <dd><a href="http://www.wapforum.org/what/technical.htm">Wireless
      Application Protocol 2.0 specifications</a>, WAP Forum 31 July 2001<br
      />
      <i>For latest version see:</i>
      http://www.wapforum.org/what/technical.htm</dd>
  <dt>[<a name="WEB-arch" id="WEB-arch">WEB-arch</a>]</dt>
    <dd><a href="http://www.w3.org/TR/2004/WD-webarch-20040816/">Architecture
      of the World Wide Web, First Edition</a>, W3C Working Draft 16 August
      2004<br />
      <i>For latest version see:</i> http://www.w3.org/TR/webarch/</dd>
  <dt id="WURFL">[WURFL]</dt>
    <dd><a href="http://wurfl.sourceforge.net">WURFL Open Source
      Project.</a><i>See: http://wurfl.sourceforge.net/</i></dd>
  <dt>[<a name="XHTML-docprofile"
  id="XHTML-docprofile">XHTML-docprofile</a>]</dt>
    <dd><a href="http://www.w3.org/TR/1999/WD-xhtml-prof-req-19990906/">XHTML
      Document Profile Requirements</a>, W3C Working Draft 6 September
      1999<br />
      <i>For latest version see:</i> http://www.w3.org/TR/xhtml-prof-req</dd>
</dl>
<hr />
<!-- ===================================ACKNOWLEDGEMENTS========================================== -->

<h2 id="acknowledgements">Acknowledgements</h2>

<p>Members of the W3C Device Independence Working Group have helped develop
this Working Group Note through their comments, proposals and discussions at
teleconferences, face-to-face meetings and via the group discussion list.</p>

<p>At the time of publication, the principal and active members of the group
were as follows:</p>
<dl>
    <dd>Stephane Boyera (W3C)</dd>
    <dd>Roger Gimson (HP)</dd>
    <dd>Mark Butler (HP)</dd>
    <dd>Rotan Hanrahan (MobileAware Ltd)</dd>
    <dd>Kazuhiro Kitagawa (W3C)</dd>
    <dd>Augusto Aguilera (Boeing)</dd>
    <dd>Cedric Ulmer (SAP)</dd>
    <dd>Rhys Lewis (Volantis Systems Ltd)</dd>
    <dd>Roland Merrick (IBM)</dd>
    <dd>Andreas Schade (IBM)</dd>
    <dd>Gabriel Guillaume (France Telecom)</dd>
    <dd>Fabio Paterno (CNR--Instituto Elaborazione dell'Informazione)</dd>
    <dd>Sailesh Sathish (Nokia)</dd>
    <dd>Rafah Hosn (IBM)</dd>
    <dd>Matt Womer (France Telecom)</dd>
    <dd>Keith Waters (France Telecom)</dd>
    <dd>Max Froumentin (W3C)</dd>
</dl>

<p>The following were members of the group at earlier stages of its
drafting:</p>
<dl>
    <dd>Shahid Shoaib (NTT DoCoMo)</dd>
    <dd>Ryuji Tamagawa (Sky Co. Ltd.)</dd>
    <dd>Greg Ziebold (Sun Microsystems)</dd>
    <dd>Yoshihisa Gonno (Sony Corp)</dd>
    <dd>Luu Tran (Sun Microsystems)</dd>
    <dd>Michael Wasmund (IBM)</dd>
    <dd>Jason White (University of Melbourne)</dd>
    <dd>Masashi Morioka (NTT DoCoMo)Tayeb Lemlouma (INRIA)</dd>
    <dd>Guido Grassel (Nokia)</dd>
    <dd>Amy Yu (SAP AG)</dd>
    <dd>Candy Wong (NTT DoCoMo)</dd>
    <dd>Stan Wiechers (Merkwelt)</dd>
    <dd>Franklin Reynolds (Nokia)</dd>
    <dd>Markus Lauff (SAP AG)</dd>
    <dd>Steve Farowich (Boeing)</dd>
    <dd>Yasser AlSafadi (Philips Research)</dd>
    <dd>Abbie Barbir (Nortel Networks)</dd>
    <dd>Einar Breen (Adaptive Media)</dd>
    <dd>Shlomit Ritz Finkelstein (invited expert)</dd>
    <dd>Vidhya Golkar (Argogroup)</dd>
    <dd>Luo Haiping (Comverse)</dd>
    <dd>Eric Hsi (Philips Research)</dd>
    <dd>Lynda Jones (SHARE)</dd>
    <dd>William Loughborough (Smith-Kettlewell Institute)</dd>
    <dd>Stephane Maes (IBM)</dd>
    <dd>Kaori Nakai (NTT DoCoMo)</dd>
    <dd>Hidetaka Ohto (W3C/Panasonic)</dd>
    <dd>Garland Phillips (Motorola)</dd>
    <dd>Lalitha Suryanarayana (SBC Technology Resources)</dd>
    <dd>Yoshifumi Yonemoto (NTT DoCoMo)</dd>
</dl>

<h2 id="diff">Changes since last version</h2>

<p>Since the last version,
the document underwent changes to reflect client and server side adaptation.
The role of delivery context was clarified with regard to adaptation and content access.
Diagram 3.1 was changed to reflect client side context access.
An introduction to DCI work was provided.
DCI was added as a possible candidate for device delivery context access mechanisms.</p>

<hr />
</body>
</html>