[Accessibility] V2 protocol Friday AM

john goldthwaite jgoldthwaite at yahoo.com
Wed Feb 16 14:56:07 PST 2005


(This is just a copy of Gottfried's slides except for
some Q & A at the end )

V2 protocol  Friday AM
Gottfried Zimmerman
Technical Editor V2

An Emerging Universal Remote Console Standard
Subgroup under ANSI,  V2 is working on American
national standards which will be sent to ISO for
international.
Slides are Linked off agenda for today

--- Slide 1 ---

V2 – 
An Emerging Universal Remote Console Standard
Gottfried Zimmermann
University of Wisconsin-Madison, USA
Technical Editor, V2
International Representative, V2

Presentation Abstract:
Technology is becoming increasingly ubiquitous in our
environments at home, in the workplace and in public
spaces.  Although its potentials are widely
acknowledged, its benefits may not be fully exploited
because of complex and unusable user interfaces, that
are often not adaptable to the context of use.
A Universal Remote Console is a device or software
application through which a user accesses and controls
any electronic and information technology product at
home, in the workplace or in public spaces.  This
presentation will show how the V2 standard on a
Universal Remote Console framework addresses the
challenges that are brought about by technological
advancements in ubiquitous computing.  The design
goals of the V2 standards are introduced along with
technical concepts implemented to realize the design
goals.  A roadmap regarding standardization and
implementation is presented.
The V2 standard on a Universal Remote Console
framework is currently being developed under the
American National Standards Institute (ANSI) and close
to a second public review period.  It has also been
submitted to ISO/IEC Joint Technical Committee 1, and
a working group has been created under JTC1 SC35 with
the charge to make it an international standard.  

--- Slide 2 ---

Recent Technological Advancements
* Moore’s Law 
  - Steady increase in speed and power, decrease in
size and prize 
  - Mobile devices have computing power of big irons
15 years ago
* Ubiquitous Computing 
  - Computers everywhere
  - The “disappearing” computer – in small devices or
remote via wireless
  - Wired and wireless connection technologies
-	Remote operation of networked devices and services

* “Artificial Intelligence”
  - Speech Recognition  -is getting better
  - Natural Language Understanding  -some progress
  - Intelligent user agents

When we have underlying semantic infrastrudture,
intelligent agents will be widespread

--- Slide 3 ---

But There Are Challenges...

* Existing user interfaces are not intuitive and easy
to understand for many users  < not oriented to
everyday experience >

* For remote control, networked devices have to
provide separate user interface specifications for
every controller platform

* Intelligent user agents may be the remedy for
tomorrow, but not mature enough for today   <more
natural interface but not ready>

--- Slide 4 ---

Isn’t it time to think about more universal ways to
interact with the devices and services around us? 
<can we solve problem of separate user interfaces?>

--- Slide 5 ---

longdesc: Picture of a man inserting a key into the
slot of a hotel room door. 

--- Slide 6 ---

longdesc: Man (apparently Japanese) looks at a sign
that says, "Welkom. Prettige Vakantie!" which is
apparently welcoming him to his hotel room in some
foreign language. 

--- Slide 7 ---

longdesc: Shows the man with suitcase open on bed
looking into his smart phone flipped open. On the
other side of the bed is an alarm clock showing
“6:45”.  < sets clock from flip phone >

--- Slide 8 ---

longdesc: The man turns to the TV with his smart
phone.

--- Slide 9 ---

longdesc: TV shows CNN Headline News.  A thought
bubble appears behind the man. The bubble is in
Japanese. The caption below the picture translates it
to "so nice to be able to operate everything in my own
language."   <uses same remote control he might use at
home>

--- Slide 10 ---

... and at the same time facilitate more natural ways
of interaction with tomorrow’s technology

--- Slide 11 ---

longdesc: Man yawning.

--- Slide 12 ---

longdesc: Man says to PDA, "Set alarm clock to 4:30
a.m., Set the coffee maker to 4:00 a.m. Set the VCR to
record the news tomorrow 6:00 p.m. on channel 4. Turn
the house alarm on. 
PDA says, "Alarm clock set to 4:30 a.m."

--- Slide 13 ---

longdesc: Man is lying down in bed. PDA says, "Coffee
maker set to 4:00 a.m." A picture of the coffee maker
is shown in an inset in the corner with 4:00 a.m.
written on it.  <link so they are always done
together>

--- Slide 14 ---

longdesc: PDA says, "VCR set to record 6:00 p.m. on
channel four." Inset shows VCR in another room set to
6:00 p.m. 

--- Slide 15 ---

longdesc: PDA says, "House alarm on." Inset shows
alarm system with words "security on." 

--- Slide 16 ---

longdesc: Same picture of man lying down as in
previous slide, except a voice bubble that says,
"Zzzzzzzzz." 

--- Slide 17 ---

People with disabilities wouldn’t be left out.  
In fact, everybody would benefit.  <unless everyone
benefits, there will not be wide spread implementation
at low cost >

--- Slide 18 ---

longdesc: Two men talking in a living room, one
sitting on a sofa, the other in a wheelchair. The
wheelchair has a notebook computer mounted in front of
the man, fold open.  The man on the sofa says: “So you
can control the thermostat, stereo and most of the
other things in your house from your wheelchair? When
did you buy all this stuff? Since your accident?

--- Slide 19 ---

longdesc: Man in wheelchair responds: “Naw, I had it
all along.  These are all standard products I bought
before the accident. When I bought things, I was
buying all of these V2 compatible products because I
heard they work better together and you can control
them from your cell phone, PDA, etc.  I never thought
I would break my neck and would have to control them
using sip and puff and voice.

--- Slide 20 ---

Overview
* What is the V2 Standard?
  - Universal Remote Console
  - Design goals 
  - Technical concepts
  - Examples
* Who is building on V2?
  - Members
  - Standardization roadmap
  - Prototypes
* Demo (screenshots)
  - if time allows
* Conclusion and where to get more information

--- Slide 21 ---

Universal Remote Console
* a device or software application, such as
  - a Personal Digital Assistant (PDA)
  - a cell phone
  - etc.
* ... through which a user accesses and controls
* ... any electronic & IT product, such as
  - a TV, a washing machine, a thermostat, an alarm
clock
  - a telephone, a copy machine
  - an elevator, a ticket vending machine
  - etc.

--- Slide 22 ---

 Idea: Use any of these controllers...
(“URCs”)

longdesc: Pictures: Futuristic desktop computer,
simputer, cell phone, smart phone, lavalier
microphone, watch <IBM Linux wrist watch>

--- Slide 23 ---

 ... to access any of these products 
(“Targets”)

longdesc: Pictures: microwave oven, refrigerator, TV &
stereo, thermostat, PBX telephone, copy machine,
elevator  < and much more, use URC to control all of
them >

--- Slide 24 ---

Design Goals for the URC Framework
* “Universal” Remote 
* Bi-Directional Communication
* Middleware-Neutrality  
* Device & Modality Independence
·	URC-Specific Custom User Interfaces  < provide not
only abstract interface but custom interfaces that use
all advantages of device>

* Direct Access to Target Functions
* Support for I18n
* Reuse Existing Standards and Technologies
* Easy Target Maintenance
* User Interface Extensions Beyond What’s Built Into
the Target
* Extensibility for Emerging Technologies
* A11y? – implicit <all these give access as outcome>

--- Slide 25 ---

Goal: “Universal” Remote
* One URC can control all Target products
* Targets: devices and services 
* Anywhere
  - at home
  - at work
  - at school
  - in public places
* But: Dedicated remotes for specific Targets possible
  - e.g. TV  < remote only works with TV but uses V2
protocol>
* “Let the user decide”

--- Slide 26 ---

Goal: Bi-Directional Communication
* Bi-directional communication between URC and Target
  - Universal Remote Console
  - Implicit synchronization of the Target’s status
information
  - Push notifications onto URC

--- Slide 27 ---

Concept: Composition of User Interface

longdesc: 
User Interface Socket < low level user interface >
+ User Interface Implementation Description  <tells
how to build interface>
+ Resources (Labels, help, access keys, keywords)
(feed this to a User Interface Generator)
= User Interface (on the Universal Remote Console)

<UUID user interface description>

--- Slide 28 ---

Concept: User Interface Socket
* Socket: machine-operable access and control point
for a Target (or a functional unit of a Target)
* One Target has one or more sockets  <can divide into
functional units, e.g. printer, fax, phone >
* Socket elements
  - variables  - reflects the target status, shared
  - statics
  - commands	- 
  - notifications – messages pushed on the URC
* Socket elements are implicitly synchronized between
URC and Target
* Note: Actual socket implementation (with “living
values”) is platform-specific  < can use UpnP but is
not as rich >

--- Slide 29 ---

Concept: 
User Interface Socket Description (SD)
* Describes the socket elements in a platform-neutral
way, including
  - Named elements
  - Types (subset of XML Schema Definition types)
  - Dependencies (XPath)   < amount of money to
withdraw, account /
* The socket description informs a URC about the
functionality of a socket in terms of its socket
elements
* Socket and Socket Description is everything that’s
needed to access a Target through a “bare-bone UI”

--- Slide 30 ---

Example: Socket Description

<uiSocket
about="http://www.mycorp.com/thermometer/socket“
id="socket"
xmlns="http://www.incits.org/incits390-2005“
xmlns:xsd="http://www.w3.org/2001/XMLSchema">

	<static id="modelNumber"
type="xsd:double">570</static>
	<variable id="temperature"
type="xsd:double"><dependency
write="false()"/></variable>
	<variable id="maximum" type="xsd:double"><dependency
write="false()"/></variable>
	<variable id="minimum" type="xsd:double"><dependency
write="false()"/></variable>
	<variable id="scale" type="scaleType" />
	<command id="reset" />
	<notify id="checkReset" explicitAck="false"
category="alert">
		<dependency
acknowledge="value('confirmReset')='done' or
		value('cancelReset')='done'"/>
	</notify>
	<command id="confirmReset"
type="uisocket:basicCommand" >
		<dependency read="value('checkReset')='active'“
		execute="value('checkReset')='active'"/>
	</command>
	<command id="cancelReset"
type="uisocket:basicCommand" >
		<dependency read="value('checkReset')='active'“ 
		execute="value('checkReset')='active'"/>
	</command>
		<xsd:schema>
		<xsd:simpleType name="scaletype" id="idScaleType">
			<xsd:restriction base="xsd:string">
				<xsd:enumeration value="F"/>
				<xsd:enumeration value="C"/>
			</xsd:restriction>
		</xsd:simpleType>
	</xsd:schema>
</uiSocket>

< all machine code, labels come in through resources >

--- Slide 31 ---

Goal: Middleware-Neutrality
* Implementation of standard should be possible on a
variety of middleware platforms for discovery and
control  < UpnP, UDDI, SOAP  can build gateways to
connect the different middleware systems> 
* Binding to platform should not affect user interface
* Bridging between different middleware platforms

--- Slide 32 ---

Concept: Target-URC Network (TUN)
* TUN is middleware that connects the socket on the
Target with its copy on the URC
* TUN provides services for discovery, control &
eventing
* Possible TUNs
  - Universal Plug and Play (UPnP)
  - Jini/Java
  - Web service technologies (UDDI, WSDL, SOAP, etc.)
  - ZigBee?
  - XForms data model?  <could implement V2 on Xforms,
map events?>
  - Others?
* Note: Implementation guidelines necessary to ensure
interoperability within TUN
* Gateways can bridge between different TUNs

--- Slide 33 ---

Layered Model for URC and Target

longdesc: Chart depicts two stacks:

Left stack (URC) with layers from bottom to top:
* Wireless Connection Layer (Bluetooth, 802.11b, etc.)
* Networking Environment Layer (UPnP, Jini, etc.)
* URC Framework Layer (Socket, PreT, Resources)
* URC User Interface Layer

Right stack (Target) with layers from bottom to top:
* Wireless Connection Layer (Bluetooth, 802.11b, etc.)
* Networking Environment Layer (UPnP, Jini, etc.)
* Target Framework Layer (Portals, Sockets)
* Target Application Layer

--- Slide 34 ---

Concept: Target Description (TD)
* Description of a target for discovery purposes
<describe independent of the middleware layer >

  - Identifier
  - Location description
  - Description of sockets
    . Socket identifier
    . Pointer to socket description
    . Pointer to UIIDs
  - Directory of available resources
  - Other (Dublin Core) properties...
* One TD per Target
* TD is middleware-neutral
  - Can be used across multiple TUNs

--- Slide 35 ---

Al- distinguish the socket description from the UIID,
the TD is used for discovery purposes only, when you
want to connect, you want to look for the UIID (don’t
use TD any more)

Example: 
Target Description

<target 
	about="http://www.myCompany.com/DigitalThermometer" 
	xmlns="http://www.incits.org/incits392-2005" ...>

	<location id="location">
	</location>

	<locator type="audio" id="audio-locator"/>
	<locator type="visual" id="visual-locator"/>

	<dc:identifier
xsi:type="myComp:companyCode">0123456</dc:identifier>
	<dcterms:conformsTo>
	http://www.incits.org/incits392-2005
	</dcterms:conformsTo>

	<socket id="socket“

name="http://www.myCompany.com/DigitalThermometer/socket">
	<socketDescriptionLocalAt>
		socket/socketdescription.xml
	</socketDescriptionLocalAt>
		<category
	
taxonomyName="http://www.unspsc.org">41.11.22.00</category>
	</socket>

	<!-- Resource Directory goes here -->

</target>


--- Slide 36 ---
Want to have full control of any target by any URC
without and user programming or download of softare

Goal: Device & Modality Independence
* Target can be fully controlled by any URC, without
user programming or downloading
  - PDAs
  - Cell phones
  - Wrist watches
  - Computers
  - URC devices
  - AT devices
* Single-source authoring of remote user interface
  - Modality independence of user interface
* Separation of content and presentation
  - Multi-channel delivery of user interface

--- Slide 37 ---

Concept: User Interface Implementation Description
(UIID)
* “View” component for a socket
* UIID provides additional information how to build a
“usable” user interface
  - Structure
  - What user interface components (e.g. “widgets”) to
use
  - How to map components to socket elements
(“binding”)
* One socket may have multiple UIIDs for different
purposes 
(i.e. multiple views) <only one socket >
* UIIDs can be proprietary
  - BUT: One UIID must be written in standard format
<presentation template>

peter- is there a structure so a control can go out
and find a custom UIID and use it instead.  URC
interacts, Host gives some UIIDs but none are very
good for my device, could I go and get a better one
e.g. Braille UIID from AFB database.

URC may know reserves that can provide updates to the
services that are available.  Lots of ways to do that.
--- Slide 38 ---

Concept: Presentation Template (PT)

Boolean can be rendered as check box or dialog

* Subtype of UIID, defined by V2
* Modality-independent user interface description
* Defines UI components and structure for socket
* Elements (“Interactors”) similar to XForms:
  - <group>
  - <input> & <secret>
  - <textarea>
  - <select1> & <select>
  - <range>
  - <trigger>
  - <output>
  - <modalDialog>  [ audio or tactile dialog ]
* “Core Presentation Template”: reflects full
functionality of a socket
-	Mandatory for every socket

[If URC doesn’t find UIID, it can always use the
Presentation template.

--- Slide 39 ---

Example: 
Presentation Template


<pret
name="http://www.mycorp.com/thermometer/corepret"
	id="pret"
	xmlns="http://www.incits.org/incits391-2005">

	<output id="modelNumber" 
ref="http://www.mycorp.com/thermometer/socket#modelNumber"/>

	<group id="readings">
		<output id="temperature“
	
ref="http://www.mycorp.com/thermometer/socket#temperature"/>
		<output id="maximum“
	
ref="http://www.mycorp.com/thermometer/socket#maximum"/>
		<output id="minimum“
	
ref="http://www.mycorp.com/thermometer/socket#minimum"/>
	</group>

	<select1 id="scale"
ref="http://www.mycorp.com/thermometer/socket#scale"/>
	<trigger id="reset"
ref="http://www.mycorp.com/thermometer/socket#reset"/>

	<modalDialog id="checkReset" 

ref="http://www.mycorp.com/thermometer/socket#checkReset">
		<trigger id="confirmReset" 

ref="http://www.mycorp.com/thermometer/socket#confirmReset"/>
		<trigger id="cancelReset" 
	ref="
http://www.mycorp.com/thermometer/socket#cancelReset"/>
	</modalDialog>

</pret>

Peter – is there another presentation template that is
not visual for example a voice recognition,  Maybe I’m
misreading, this seems geared toward a visual
presentation

Gott- doesn’t have to be.  These are not visual only
dialogs
Bill- dialogs have been implemented in non-visual
dialogs
Al- in formal structure of the language, you could
write a voice oriented dialog but it would be a UIID
and not a Presentation Typeplate

--- Slide 40 ---

Goal: URC-Specific Custom User Interfaces
* Ability to implement URC-specific custom user
interfaces
  - (in addition to modality-independent user
interfaces)
  - take advantage of capabilities of URC platform
    . e.g. special UI for iPAQ
  - branding through user interface
  - can be important for differentiation when
functionality is mostly the same across vendors

Difficult for vendors to differentiate products by
features, the allow them to differentiate by user
interface
--- Slide 41 ---

Concept: UIID Format Open
* UIID may be implemented in any technology:
  - Presentation Template (defined by URC standard)
  - Java/Swing
  - Flash
  - SVG
  - Etc.
* Note: All UIIDs are based on the same socket

--- Slide 42 ---

Goal: Direct Access to Target Functions 
* Concept: Direct access to all socket elements
  - at any time
  - without user navigation (“browsing”)
  - URC knows about dependencies

* Concept: UIID may bind to multiple sockets (of
multiple Targets)
  - user doesn’t need to know what Target to pick for
a specific function
  - more usable user interface if task-oriented

to make simpler for user, should have direct access to
function, don’t have to scroll through long menus. 
URC would detect device and offer just the services
available 
--- Slide 43 ---

Goal: Support for I18n 
* Easy to localize user interface
  - even after Target installation
* Localization work may be out-sourced by Target
manufacturers to 3rd parties
* Even graphics may be locale-specific

--- Slide 44 ---

Concept: 
Atomic Resources & Resource Sheets
* Atomic Resource definition:
  - object within a user interface that is used as an
atomic entity in the construction of a concrete user
interface
* An Atomic Resource can be specific to 
  - Language/locale
  - Runtime environment
  - Audience
  - etc.
* Atomic Resources are grouped and described in
Resource Sheets
  - typically stored as files on the Target (or on
Resource Services)
  - typically one Resource Sheet per language/locale

--- Slide 45 ---

Concept: 
Atomic Resources & Resource Sheets (cont’d)
* V2 standard defines an Atomic Resource Description
containing:
  - Identifier for Atomic Resource
  - Type (Text, Image, etc.)
  - Format (MIME type)
  - Use context
    . Element reference (to a socket element, PreT
element or TD element)
    . Value reference
    . Operation reference
    . Role (label, help, access key, keyword, etc.)
    . Language context
  - Other (Dublin Core) properties...

use context- for this tv, this country, use this label
--- Slide 46 ---

Example: 
Resource Sheet

<rdf:RDF 

xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:dcterms="http://purl.org/dc/terms/" 
	xmlns="http://www.incits.org/incits393-2005#">
	
	<ResourceSheet
rdf:about="http://www.myCorp.com/therm/rsheet-en.rdf">
		<dcterms:conformsTo
rdf:resource="http://www.incits.org/incits393-2005" />
		<!-- Scents go here -->
		<aResourceDescription>
			<AResourceDescription 
		
rdf:about="http://www.myCorp.com/therm/rsheet-en.rdf#temp_label">
				<content rdf:parseType="Literal">
					<span xml:lang="en">temperature</span>
				</content>
				<dcterms:conformsTo
rdf:resource="http://www.incits.org/incits393-2005" />
				<useContext>
					<UseContext>
						<elementRef
rdf:resource="http://www.myCorp.com/therm/socket#temp"
/>
						<role
rdf:resource="http://www.incits.org/incits393-2005#label"
/>
						<languageContext>en</languageContext>
					</UseContext>
				</useContext>
				<dc:publisher>MyCorp, Inc.</dc:publisher>
				<dc:type>Text</dc:type>
			</AResourceDescription>
		</aResourceDescription>
		<!-- More Atomic Resource Descriptions go here -->
	</ResourceSheet>
</rdf:RDF>

--- Slide 47 ---

Concept: Resource Directory
* Resource Sheets are listed in a Resource Directory
* Resource Directory is part of the Target Description
[ where it can find uiid
* A Resource Directory contains links to any 
    Target Resources (and external Resources)
* Tree structure with leaves providing “scents” up to
the root

--- Slide 48 ---

Example: 
Resource Directory

	<rdf:RDF
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
		xmlns:dc="http://purl.org/dc/elements/1.1/"
		xmlns:dcterms="http://purl.org/dc/terms/" 
		xmlns="http://www.incits.org/incits393-2005#">

		<ResourceDirectory>
			<dcterms:conformsTo
rdf:resource="http://www.incits.org/incits393-2005"/>

			<resourceSheet>
				<ResourceSheet  
			
rdf:about="http://www.myCorp.com/thermometer/rsheet-en.rdf">
					<dcterms:conformsTo 
				
rdf:resource="http://www.incits.org/incits393-2005"/>
					<localAt>rsheet-en.rdf</localAt>
					<containsType>Text</containsType>
					<containsDomain
				
rdf:resource="http://www.myCorp.com/thermometer/socket"/>
					<containsDomain 
				
rdf:resource="http://www.myCorp.com/thermometer/cpt"/>
					<containsRole 
				
rdf:resource="http://www.incits.org/incits393-2005#label"/>
				
<containsLanguageContext>en</containsLanguageContext>
				</ResourceSheet>
			</resourceSheet>

			<!-- Description of other Target Resources go here
-->

		</ResourceDirectory>
	</rdf:RDF>

--- Slide 49 ---

Goal: Reuse Existing Standards and Technologies
* No need to re-invent the wheel when already existing
* People are already familiar with existing
technologies
* Tools and code libraries already existing

--- Slide 50 ---

Reused Standards/Technologies in V2 Standards
* XML & XML Schema Definition
* XPath & XPointer
* XForms form controls
* RDF & Dublin Core

--- Slide 51 ---

Goal: Easy Target Maintenance
* Target may be a “dumb” device
  - e.g. thermostat   [ economics dictate that URCs
are usually more intelligent that targets ]
* In general, Targets will last longer than URCs
* Target features can be added even after purchase
  - if either the Target or the URC has access to the
Internet
* No URC update or central registry necessary

--- Slide 52 ---

Concept: “Dumb” Target and “Smart” URC
* Target Resources
  - static
  - independent from middleware platform
  - may be on ROM
  - can be served by simple HTTP server
* URC 
  - picks appropriate resources
  - generates user interface by “mix-and-match”
* URC could be composed of gateway and ultra-thin
client

--- Slide 53 ---

Target Components

longdesc: The slide shows the "TARGET" with its
components.  It is made up of a red box representing
the part of the Target that is exposed to the URC, and
a box "TARGET FUNCTIONALITY (Functionality of the
Device or Service)". 

Inside the red box there is (from bottom to top):
* "TARGET-URC NETWORK LINK(S) with DISCOVERY AND
SESSION 
MANAGEMENT", for example "Java/Jini ON Bluetooth",
"Java/Jini ON Firewire", "Universal Plug and Play
(UPnP) ON 802.11", "UPnP ON Powerline", "UPnP ON
Ethernet". 
* "TARGET DESCRIPTION" (document)
* 1 or more SOCKETS, each of which with a Socket
Description (document)
* "TARGET RESOURCES".  The "TARGET RESOURCES" include:
   - "Resource Sheets" (documents) with one or more of
the following: "Labels", "Keywords", "Help",
"AccessKeys".
   -  "Presentation Templates" (documents) and 
   - "Other UIIDs (User Interface Implementation
Description)" (documents).

--- Slide 54 ---

URC Components

longdesc: The slide shows the URC with its components
(from bottom to top):
* "TARGET-URC NETWORK LINK(S) with DISCOVERY AND
SESSION MANAGEMENT", connecting to the "TARGET-URC
NETWORK LINK(S)" of the Target side through the
optional gateway(s).
* An "INTERFACE GENERATOR" that feeds into the "USER
INTERFACE" that may include "VISUAL", "AUDITORY" and
"TACTILE" presentation mechanisms.

--- Slide 55 ---

Goal: User Interface Extensions Beyond What’s Built
Into the Target
* Target manufacturer, URC manufacturer and 3rd
parties may provide extensions to the Target’s user
interface
  - skins
  - icons
  - sounds
  - etc.
* Simplification
  - hide complex functions
  - use same UI for a class of Targets
* Any special adaptation for
  - a particular URC
  - a particular audience
  - etc.

--- Slide 56 ---

Concept: Supplemental Resources

longdesc: The slide shows two clouds: “SUPPLEMENTAL
UIIDs” and “SUPPLEMENTAL RESOURCES”.  

The resource cloud "SUPPLEMENTAL UIIDs" provides
non-V2 UIIDs to the URC:
* "Proprietary UIIDs"
* "Ad hoc format UIIDs"
"SUPPLEMENTAL UIIDs" also provides V2-standardized
UIIDs to the URC:
* "Supplemental Presentation Templates"

The resource cloud "SUPPLEMENTAL RESOURCES (Standard
or Proprietary)” provides non-V2 resources to the URC:
* "Metadata Bases"
* "Translators (language, symbol, etc.)"
* "Dictionairies (symbol sets, etc.)"
* "Other"
"SUPPLEMENTAL RESOURCES" also provides V2-standardized
resources to the URC:
* "Supplemental Labels"
* "Supplemental Keywords"
* "Supplemental Help"
* "Supplemental Access Keys"

--- Slide 57 ---

Goal: Extensibility for Emerging Technologies
* Natural Language Interaction
* Intelligent user agents
* Semantic Web concepts applicable
* Emerging security & privacy mechanisms
* Future-proof
  - Buy products today, and use them with simple URCs
  - In the future, you may use intelligent user agents
to control them

--- Slide 58 ---

Concept: Open URC Framework
* Use of XML, XML Schema Definition and RDF
* Atomic Resources are extensible
* Resource Services are versatile
* Model-based user interface generation
  - Semantic information available
* More semantic information can be added to socket
description 
  - as Supplemental Atomic Resources
  - or as Supplemental UIIDs
  - or in any other way facilitated by dedicated
Resource Services
* Security & Privacy services can be added
  - as part of TUN
  - as independent services

--- Slide 59 ---

longdesc: The chart shows a "URC" (Universal Remote
Console) which is connected to a "Target
(Device/Service)" through a "Target-URC Network," and
"Optional Gateway(s)".  The URC is also connected
through the "Resource-URC Network" to two resource
clusters which are shown as clouds at the top of the
diagram.  The resource clouds are labelled
"SUPPLEMENTAL UIIDs" and "SUPPLEMENTAL RESOURCES
(Standard or Proprietary)". 

The "TARGET" is in the center of the diagram.  It is
made up of a red box representing the part of the
Target that is exposed to the URC, and a box "TARGET
FUNCTIONALITY (Functionality of the Device or
Service)". 

Inside the red box there is (from bottom to top):
* "TARGET-URC NETWORK LINK(S) with DISCOVERY AND
SESSION 
MANAGEMENT", for example "Java/Jini ON Bluetooth",
"Java/Jini ON Firewire", "Universal Plug and Play
(UPnP) ON 802.11", "UPnP ON Powerline", "UPnP ON
Ethernet". 
* "TARGET DESCRIPTION" (document)
* 1 or more SOCKETS, each of which with a Socket
Description (document)
* "TARGET RESOURCES".  The "TARGET RESOURCES" include:
   - "Resource Sheets" (documents) with one or more of
the following: "Labels", "Keywords", "Help",
"AccessKeys".
   -  "Presentation Templates" (documents) and 
   - "Other UIIDs (User Interface Implementation
Description)" (documents).

The URC is made up of (from bottom to top):
* "TARGET-URC NETWORK LINK(S) with DISCOVERY AND
SESSION MANAGEMENT", connecting to the "TARGET-URC
NETWORK LINK(S)" of the Target side through the
optional gateway(s).
* An "INTERFACE GENERATOR" that feeds into the "USER
INTERFACE" that may include "VISUAL", "AUDITORY" and
"TACTILE" presentation mechanisms.

The resource cloud "SUPPLEMENTAL UIIDs" provides
non-V2 UIIDs to the URC:
* "Proprietary UIIDs"
* "Ad hoc format UIIDs"
"SUPPLEMENTAL UIIDs" also provides V2-standardized
UIIDs to the URC:
* "Supplemental Presentation Templates"

The resource cloud "SUPPLEMENTAL RESOURCES (Standard
or Proprietary)" provides non-V2 resources to the URC:
* "Metadata Bases"
* "Translators (language, symbol, etc.)"
* "Dictionairies (symbol sets, etc.)"
* "Other"
"SUPPLEMENTAL RESOURCES" also provides V2-standardized
resources to the URC:
* "Supplemental Labels"
* "Supplemental Keywords"
* "Supplemental Help"
* "Supplemental Access Keys"

--- Slide 60 ---

Toward an ANSI standard
* V2 Technical Committee  [ close to 2nd public review
]
* ... within the InterNational Committee for
Information Technology Standards (INCITS)
* ... under the American National Standards Institute
(ANSI)
* V2 comprises members from industry, user groups,
academia and government 

--- Slide 61 ---

Members of V2

Members of V2: Unisys, IBM, Panasonic, hp, AT&T, Sun,
Mitsubishi Electric (joining), Free Standards Group
(joining), and others...

--- Slide 62 ---

5 Draft ANSI Standard Documents
* “Protocol to Facilitate Operation of Information and
Electronic Products through Remote and Alternative
Interfaces and Intelligent Agents: ...”
  - INCITS 389-2005: Universal Remote Console
  - INCITS 390-2005: User Interface Socket Description
  - INCITS 391-2005: Presentation Template
  - INCITS 392-2005: Target Properties Sheet
  - INCITS 393-2005: Resource Descriptions
* 2nd public review starting soon

--- Slide 63 ---

Implementation Guidelines for TUNs
* V2-UPnP Implementation Guidelines in development
* Looking for a home for publication
* V2-UPnP Modes:
  - RemoteUI mode
  - Legacy mode

* Other implementation guidelines will be developed as
needed

--- Slide 64 ---

Toward an ISO/IEC Standard
* Submitted as “New Work Item Proposal” to ISO/IEC
JTC1 SC35 on User Interfaces
* Project has been approved by JTC1
* Assigned to SC35 WG8 “User Interfaces for Remote
Interactions”
* Goal: Release as international standard
  - International participation
  - Continuity
  - Improvements

--- Slide 65 ---

Members of JTC1 SC35
P-Members:
* Austria
* Canada
* China
* Czech Republic
* Denmark
* Finland
* Germany
* Greece
* Italy
* Japan
* Korea
* Sweden
* United States
O-Members:
* Ireland
* Netherlands
* Poland
* Russian Federation

--- Slide 66 ---

V2 Prototype Implementations
* University of Wisconsin-Madison, USA
  - Java / Web-based Simulation Environment,
www.myurc.com 
  - Java / UPnP (SDK in development)
  - Java / Jini (old)
* Georgia Institute of Technology, Atlanta, USA
  - C#/C++ / UPnP
* National Institute of Standards and Technology
(NIST), USA
  - Java / Jini
* Marquette University, Wisconsin
  - Just starting

--- Slide 67 ---

Demo (screen shots)

 Prototypes
from University of Wisconsin
 
www.myurc.com/V2SimEnv 

--- Slide 68 ---

longdesc: A window “Swing URC” showing an iPAQ
(handheld PC from Compaq). The screen of the iPAQ has
a menu bar with: “File”, “Language”, “Type”,
“Locators”, “Help”.  Below an open tab “All”, and
below 3 rows, each consisting of an icon and a label:
“Alarm Clock”, “TV”, “VCR”.

--- Slide 69 ---

longdesc: On the left side, a window “Swing URC”
showing an iPAQ.  The screen of the iPAQ has a menu
bar with: “File”, “Language”, “Type”, “Locators”,
“Help”.  Below three tabs, “All”, “Alarm Clock”, “TV”.
 The “TV” tab is open, with the following components
in it:
* Checkbox “Power”, checked
* Combobox “Channel”, “PBS” selected
* Horizontal slider “Volume”, set to approximately 1/3
of the range
* Checkbox “Mute”, unchecked
* Horizontal slider “Contrast”, set to 1/2 of the
range
A vertical slider on the right indicates that some
content below is hidden.

On the right side, a window showing a picture of a TV,
labeled “Trace TV”.

--- Slide 70 ---

longdesc: On the left side, a window “Swing URC”
showing an iPAQ.  The screen of the iPAQ has a menu
bar with: “File”, “Language”, “Type”, “Locators”,
“Help”.  The “Type” menu is fold out, showing the
items “Text” and “Image”.  Below the menu bar two
tabs, “All” and “TV”.  The “TV” tab is open, with the
following components in it:
* Image of a power button, released
* Combobox “Channel”, showing an “MTV” icon as the
current selection
* Horizontal slider “Volume”, set to approximately 1/3
of the range
* Image of a mute button, released
A vertical slider on the right indicates that some
content below is hidden.

On the right side, a window showing a picture of a TV,
labeled “Trace TV”.

--- Slide 71 ---

longdesc: On the left side, a window “Open Text URC”
showing an iPAQ.  The screen of the iPAQ has a menu
bar with: “File”, “Language”, “Option”. Below the menu
bar three tabs, “Sockets”, “Sessions” and “Log”.  The
“Sessions” tab is open, with the following components
in it:
* Text input box, labeled “Command:”.  Text in the
box: “show me the weather”.
* Text input box, labeled “Response:”.  Text in the
box: “TV Channel The Weather Channel selected”.

On the right side, a window showing a picture of a TV,
labeled “Trace TV”.

--- Slide 72 ---

longdesc: On the left side, a window “Swing URC”
showing an iPAQ.  The screen of the iPAQ has a menu
bar with: “File”, “Language”, “Type”, “Locators”,
“Help”. Below the menu bar three tabs, “All”, “VCR”
and “Alarm Clock”.  The “Alarm Clock” tab is open,
with the following components in it:
* Text input box, labeled “Clock”.  Text in the box:
“01:58 PM”.
* Text input box, labeled “Alarm”.  Text in the box:
“02:00 PM”.
* Checkbox “Enable Alarm”, checked.

On the right side, a window showing a picture of an
alarm clock panel.  In big digits, it shows: “01:18
PM”.  On the bottom two textual indicators: “Current
Time” and “Alarm On”.

--- Slide 73 ---

longdesc: On the left side, a window “Swing URC”
showing an iPAQ.  The screen of the iPAQ has a menu
bar with: “File”, “Language”, “Type”, “Locators”,
“Help”. Below the menu bar four tabs, “All”, “Alarm
Clock”, “TV” and “VCR”.  The “VCR” tab is open, with
the following components in it:
* Checkbox “Power”, checked
* Group box “Playback”.  In the group box two buttons
in a row: “Play” and “Record”. The “Play” button is
recessed.
* Group box “Stop/Pause”.  In the group box two
buttons in a row: “Stop” and “Pause”.
* Group box “Seek”.  In the group box two buttons:
“Forward” and “Reverse”.

On the right side, a window showing a picture of a VCR
panel.  On the top of the panel in big letters:
“PLAYING”.  In the middle a “Power” button.  In the
bottom row 6 buttons: “<<“ (fast backward), “||”
(pause), “>” (play), “o” (record), “>>” (fast
forward), a square (stop).

--- Slide 74 ---

Conclusion
* The V2 standard is close to 2nd public review under
ANSI
  - Watch www.incits.org/tc_home/v2.htm  
  - Contact zimmer at trace.wisc.edu if you want to be
added to URC-SIG mailing list
* ISO/IEC JTC1 SC35 is developing the V2 standard on
an international level
* White paper available at www.myurc.com 
* Prototype and SDK developments under way

* If this standard doesn’t succeed, proprietary
technologies may prevail, trying to monopolize the
market

--- Slide 75 ---

Thank you 
for your Attention!
Work supported by...
U.S. Department of Education (NIDRR)
National Science Foundation 
through the National Computational Science Alliance
(NCSA)
Microsoft
Sun Microsystems

--- End of slides ---

Bill- is there any mechanism to insure that the
semantics of icons is exposed. 
Gottfried- atomic resources used as labels?
Bill- yes, is there anything that forces textual
information to accompany them.
Gottfried - the text description is part of the UIID,
a text label is mandatory.

Mark- security?
Al- standard is orthogonal with security methods.  Use
security as appropriate, Have to have a socket for the
login session.
Bill- that pushes the authentication on to the users,
don’t want to have to know a PIN to use my TV.
Al- in bank we need strong authentication, hard to get
people to use it in the home.  It depends on the
security policy in the environment.  
Bill- problem in the middle ground,  
Al - The policy could allow ID from an MAC number,
your palm or smart phone which is registered as a
accessible would be able to operate in secure
environment.  The conclusions V2 has reached are
similar to those we have come to- separate interface
and protocol.
You hide the changes just like we want to hide changes
between CORBA to DBUS.






		
__________________________________ 
Do you Yahoo!? 
The all-new My Yahoo! - Get yours free! 
http://my.yahoo.com 
 





More information about the Accessibility mailing list