Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified...

83
ICS-FORTH Slide 1 Universally Accessible UIs: The Unified User Interface Development Constantine Stephanidis, Anthony Savidis, Demosthenes Akoumianakis Human Human - - Computer Interaction and Computer Interaction and Assistive Technology Laboratory Assistive Technology Laboratory @ ICS @ ICS - - FORTH FORTH ICS-FORTH Slide 2 Stephanidis, Savidis & Akoumianakis Tutorial agenda Introduction to Unified User Interfaces Unified User Interface Development Universal Access and the Web Challenges and Future Work ICS-FORTH Slide 3 Stephanidis, Savidis & Akoumianakis Introduction to Unified User Interfaces - agenda Universal access Coping with diversity Technical approaches Automatic user interface adaptation The concept of Unified User Interfaces ICS-FORTH Slide 4 Stephanidis, Savidis & Akoumianakis Information Society or Digital Age Interactive software applications and services for Anyone - variety in user profiles Anywhere and Anytime - variety in contexts of use Any purpose - variety in tasks

Transcript of Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified...

Page 1: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 1

Universally Accessible UIs: The Unified User Interface

Development

Constantine Stephanidis,Anthony Savidis,

Demosthenes Akoumianakis

HumanHuman--Computer Interaction and Computer Interaction and Assistive Technology LaboratoryAssistive Technology Laboratory

@ ICS@ ICS--FORTHFORTH

ICS-FORTH Slide 2Stephanidis, Savidis & Akoumianakis

Tutorial agenda

Introduction to Unified User InterfacesUnified User Interface DevelopmentUniversal Access and the WebChallenges and Future Work

ICS-FORTH Slide 3Stephanidis, Savidis & Akoumianakis

Introduction to Unified User Interfaces - agenda

Universal accessCoping with diversityTechnical approachesAutomatic user interface adaptationThe concept of Unified User Interfaces

ICS-FORTH Slide 4Stephanidis, Savidis & Akoumianakis

Information Society or Digital Age

• Interactive software applications and services for– Anyone - variety in user profiles– Anywhere and Anytime - variety in

contexts of use– Any purpose - variety in tasks

Page 2: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 5Stephanidis, Savidis & Akoumianakis

Universal Access in the Information Society (1/2)

The right of all citizens to obtain and maintain access to a society-wide pool of information resources and interpersonal communicationfacilities, given the varieties of contexts of use

ICS-FORTH Slide 6Stephanidis, Savidis & Akoumianakis

Universal Access in the Information Society (2/2)

Design for AllDesign for AllDesign for All

Accommodating DiversityAccommodating DiversityAccommodating Diversity

PCPC TVTVKiosksKiosks MobileMobile

phonesphones

CommunicationCommunicationprotocolsprotocols WebWeb SatelliteSatellite

linkslinksBandwidthBandwidth

WorkWorkEntertainmentEntertainment

EducationEducation SocialSocial Application Domain &Services Level

TelecommunicationsInfrastructure

User InterfaceLevel

HealthcareHealthcare

ICS-FORTH Slide 7Stephanidis, Savidis & Akoumianakis

HCI for Universal Access

• AccessibilityFor each task, there is a sequence of accessible input actions and associated feedback leading to successful accomplishment

• High-qualityFor any individual user in a particular context of use, there is at least one path that optimally supports the accomplishment of the given task

ICS-FORTH Slide 8Stephanidis, Savidis & Akoumianakis

Accessibility vs Interaction Quality (1/5)

• Accessibility– Dictates support for alternative I/O

• Quality– Dictates support for alternative designs

Page 3: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 9Stephanidis, Savidis & Akoumianakis

Accessibility vs Interaction Quality (2/5)

The same user may require different access and interaction quality attributes for performing a single task depending on the context of use

ICS-FORTH Slide 10Stephanidis, Savidis & Akoumianakis

Accessibility vs Interaction Quality (3/5)

• While driving– Driver is “situationally” motor- and visually-

impaired• minimum attention, simple dialogues,

speech, etc.

• In a noisy environment– User is “situationally” deaf

ICS-FORTH Slide 11Stephanidis, Savidis & Akoumianakis

Accessibility vs Interaction Quality (4/5)

• Low interaction quality may reduceaccessibility– What can I do ? User tasks– How can I do it ? Action sequences– What is this ? Artifact interpretation– Where am I ? Context clarity

ICS-FORTH Slide 12Stephanidis, Savidis & Akoumianakis

Accessibility vs Interaction Quality (5/5)

– Even with a “physically” accessible interface, a particular user may be unable to carry out an interaction task

– What is “good design” for one user, may be a “bad design” for another

– Pursuing a single optimal design for everyone is a utopia

Page 4: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 13Stephanidis, Savidis & Akoumianakis

Introduction to Unified User Interfaces - agenda

Universal access

Coping with diversityTechnical approachesAutomatic user interface adaptationThe concept of Unified User Interfaces

ICS-FORTH Slide 14Stephanidis, Savidis & Akoumianakis

Universal Access = Coping with Diversity

• User profiles– Age, cultural / educational background, mental /

sensory / motor skills, specific purpose of use, etc

• Contexts of use– Environment (e.g., noise, terminal position,

lighting)– Technological platform (e.g., presence or absence

of particular I/O devices, network bandwidth, etc)

ICS-FORTH Slide 15Stephanidis, Savidis & Akoumianakis

Diversity in users

ICS-FORTH Slide 16Stephanidis, Savidis & Akoumianakis

Diversity in contexts of use (1/2)

Page 5: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 17Stephanidis, Savidis & Akoumianakis

Diversity in contexts of use (2/2)

– Car– Airplane– Ship– Hospital– Factory floor– Office– School

ICS-FORTH Slide 18Stephanidis, Savidis & Akoumianakis

Introduction to Unified User Interfaces - agenda

Universal accessCoping with diversity

Technical approachesAutomatic user interface adaptationThe concept of Unified User Interfaces

ICS-FORTH Slide 19Stephanidis, Savidis & Akoumianakis

Technical Approaches for Universal Access

•Reactive– Applying modifications and introducing add-ons

over existing technology, to overcome technology-driven accessibility and interaction quality problems

•Proactive– Systematically catering for accessibility and

interaction quality from the early phases of design and throughout the development life-cycle

ICS-FORTH Slide 20Stephanidis, Savidis & Akoumianakis

Reactive methods (1/3)

Configuration of I/O– Binding of input sequences

• shortcuts, accelerators– Device fine-tuning

• mouse keyboard sensitivity, sticky keys– Display control

• styles, colours, layout

Page 6: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 21Stephanidis, Savidis & Akoumianakis

Reactive methods (2/3)

Accessibility add-ons– Accessibility technologies (Java / Active

Accessibility)• SDKs to retrieve display structure, and

externally manipulate interaction controls

– Alternative access systems• screen reader, virtual keyboard / mouse

ICS-FORTH Slide 22Stephanidis, Savidis & Akoumianakis

Reactive methods (3/3)

Application of accessibility guidelinesto modify existing inaccessible systems

ICS-FORTH Slide 23Stephanidis, Savidis & Akoumianakis

Proactive methods (1/2)

• A new engineering paradigm• Systems accessible by design

– Application of accessibility guidelines– Appropriate development tools

• There is a need for new commercially availabletoolkits supporting accessible interaction elements

– Software I/O control in new computing platforms

ICS-FORTH Slide 24Stephanidis, Savidis & Akoumianakis

Proactive methods (2/2)

• What about Java Pluggable Look&Feel ?A generalisation API over windowing controls, enabling visual style to be altered

• Still rectangular geometry, visual attributes, mouse & keyboard navigation, layout-based instance hierarchy

• X Windows / Xt, X Attribute Defaults, except run-time style switching capability and audio feedback support

Page 7: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 25Stephanidis, Savidis & Akoumianakis

Reactive vs Proactive methods (1/3)

• Reactive– Lower interaction quality – modifications

instead of alternative designs

• Proactive– Higher interaction quality – alternative

designs adapted to user and context attributes

ICS-FORTH Slide 26Stephanidis, Savidis & Akoumianakis

Reactive vs Proactive methods (2/3)

• Reactive– Many dialogues cannot be reproduced

(appropriately modified), hence some applications or application parts can not be made accessible

• Proactive– All dialogue scenarios can be implemented– Applications are explicitly designed and developed

for accessibility

ICS-FORTH Slide 27Stephanidis, Savidis & Akoumianakis

Reactive vs Proactive methods (3/3)

• Reactive– Relatively cheap, and may quickly provide

some sort of accessible interaction

• Proactive– Relatively expensive initial overhead

ICS-FORTH Slide 28Stephanidis, Savidis & Akoumianakis

Introduction to Unified User Interfaces - agenda

Universal accessCoping with diversityTechnical approaches

Automatic user interface adaptationThe concept of Unified User Interfaces

Page 8: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 29Stephanidis, Savidis & Akoumianakis

Automatic User Interface Adaptation (1/9)

Feedback on operationFeedback on operationcompletion (completion (here, here,

bookmark additionbookmark addition) )

Links presented Links presented as buttonsas buttonsLink enumerationLink enumeration

and structureand structureoverview paneoverview pane

ICS-FORTH Slide 30Stephanidis, Savidis & Akoumianakis

Automatic User Interface Adaptation (2/9)

Interaction for motorInteraction for motor--impaired: automatically impaired: automatically

scanned window scanned window manipulation toolbarmanipulation toolbar

Interaction for motorInteraction for motor--impaired: automatically impaired: automatically scanned HTML elementsscanned HTML elements(including image(including image--maps)maps)Interaction for motorInteraction for motor--

impaired: all GUI objectsimpaired: all GUI objectsaccessible through accessible through automatic scanningautomatic scanning

ICS-FORTH Slide 31Stephanidis, Savidis & Akoumianakis

Automatic User Interface Adaptation (3/9)

Interaction for motorInteraction for motor--impaired: keyboardimpaired: keyboardlayouts that speedlayouts that speedup interaction (e.g.up interaction (e.g.by following letterby following letter--frequency criteria)frequency criteria)

Interaction for motorInteraction for motor--impaired: onimpaired: on--screenscreen

keyboard for text inputkeyboard for text input

ICS-FORTH Slide 32Stephanidis, Savidis & Akoumianakis

Automatic User Interface Adaptation (4/9)

Adapting to the Adapting to the context of use: context of use:

kiosk mode kiosk mode operationoperation

Page 9: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 33Stephanidis, Savidis & Akoumianakis

Automatic User Interface Adaptation (5/9)

The interface’s responseThe interface’s responseto the detection of the factto the detection of the fact

that the user seems incapablethat the user seems incapableto complete the task of selectingto complete the task of selecting

a link from the “Link Bar” a link from the “Link Bar”

ICS-FORTH Slide 34Stephanidis, Savidis & Akoumianakis

Automatic User Interface Adaptation (6/9)

A simple dialog from whichA simple dialog from whichthe user selects and loadsthe user selects and loads

previously visited documents...previously visited documents...

ICS-FORTH Slide 35Stephanidis, Savidis & Akoumianakis

Automatic User Interface Adaptation (7/9)

... gets converted to the... gets converted to thesame dialogue with integratedsame dialogue with integratedguidance, if the user seems toguidance, if the user seems to

be unable to comprehend be unable to comprehend its use.its use.

ICS-FORTH Slide 36Stephanidis, Savidis & Akoumianakis

Automatic User Interface Adaptation (8/9)

• User awareness– User-oriented information / knowledge

• Usage-context awareness– Context-oriented information / knowledge

Page 10: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 37Stephanidis, Savidis & Akoumianakis

Automatic User Interface Adaptation (9/9)

• Sources of knowledge– Knowledge which is made available or can

be inferred prior to initiation of an interaction session (off-line)

– Knowledge which can be only inferred by analysing interaction monitoring information (on-line)

ICS-FORTH Slide 38Stephanidis, Savidis & Akoumianakis

Two Types of Interface Adaptation

• Adaptability• Adaptivity

Differentiate according to the type of knowledge employed in performing adaptation

ICS-FORTH Slide 39Stephanidis, Savidis & Akoumianakis

Adaptability - Definition

Interface adaptation applied on the basis of off-line knowledge

Applied before initiation of interaction to deliver an accessible and high-quality user interface

ICS-FORTH Slide 40Stephanidis, Savidis & Akoumianakis

Adaptability - Properties

• User- and context- attributes are considered known off-line

• An appropriate design is selected for the end-user, and the given usage-context

• Adaptability takes place before interaction is initiated

• Adaptability realises an accessible interface

Page 11: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 41Stephanidis, Savidis & Akoumianakis

Adaptivity - Definition

Interface adaptation applied on the basis of on-line knowledge

Applied during interaction, aiming to enhance the initially delivered user interface

ICS-FORTH Slide 42Stephanidis, Savidis & Akoumianakis

Adaptivity - Properties

• User- and context- attributes are dynamically inferred on-line

• The design already chosen for the end-user and the given usage-context is enhanced

• Adaptivity takes place after interaction is initiated

• Adaptivity requires an accessible interface

ICS-FORTH Slide 43Stephanidis, Savidis & Akoumianakis

Adaptivity and Adaptability -Complementary Roles

user 1 user N

Automaticallyadaptedinterface

interfaceinstance 1

interfaceinstance N

Adaptability -provide initial interface

user i

interfaceinstance 1

context 1 context N context i

Adaptivity -continuously enhance

ICS-FORTH Slide 44Stephanidis, Savidis & Akoumianakis

Introduction to Unified User Interfaces - agenda

Universal accessCoping with diversityTechnical approachesAutomatic user interface adaptation

The concept of Unified User Interfaces

Page 12: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 45Stephanidis, Savidis & Akoumianakis

Unified User Interfaces (1/3)

End-User view– A user interface tailored to individual user

attributes and to the particular context of use

ICS-FORTH Slide 46Stephanidis, Savidis & Akoumianakis

Unified User Interfaces (2/3)

Design view– A user interface design populated with

polymorphic artifacts, i.e., encompassing alternative dialogue artifacts• each alternative artifact addresses

specific user- and usage-context-parameter values

ICS-FORTH Slide 47Stephanidis, Savidis & Akoumianakis

Unified User Interfaces (3/3)

Engineering view– A repository of implemented dialogue

artifacts, out of which the most appropriate are selected at run-time • decision making is needed to select

the appropriate interaction artifacts given the end-user- and usage-context-attribute values

ICS-FORTH Slide 48Stephanidis, Savidis & Akoumianakis

Unified User Interface - Definition

• A user interface self-adapting to user- and usage-context, encompassing– Alternative implemented dialogue artifacts– User- and context- information– Decision making capability selecting user-

and context- appropriate dialogue artifacts– Interface control to apply decisions made

Page 13: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 49Stephanidis, Savidis & Akoumianakis

Levels of Adaptation in UnifiedUser Interfaces

semantic

syntactic

constructional

physical

internal functionality, information represented

dialogue sequencing, syntactic rules, user tasks

devices, object attributes, interaction techniques

ICS-FORTH Slide 50Stephanidis, Savidis & Akoumianakis

Polymorphism in Unified User Interfaces (1/6)

• Automatic adaptation at any level implies the ability to polymorphose– i.e., for a given task, design alternative

interactive artifacts according to different user- and usage-context- attribute values

ICS-FORTH Slide 51Stephanidis, Savidis & Akoumianakis

Polymorphism in Unified User Interfaces (2/6)

• Lexical polymorphism– construction of the physical design domain– design properties space

• I/O devices• interaction techniques• interaction objects and their attributes

ICS-FORTH Slide 52Stephanidis, Savidis & Akoumianakis

Polymorphism in Unified User Interfaces (3/6)

AcousticAcousticAcousticFile nameFile nameFile nameFile nameFile nameFile name

File :File :Desk-topDeskDesk--toptop

File nameFile name

DELETEDELETE

“target”“target”

CartoonCartoonCartoon

“Delete”“Delete”

“file name”“file name”

DeleteDelete

Example of lexical polymorphism

Page 14: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 53Stephanidis, Savidis & Akoumianakis

Polymorphism in Unified User Interfaces (4/6)

• Syntactic Polymorphism (task-structure differentiation)– sequences of user actions– initiation / interim / completion feedback– availability of operations and interaction

progress preconditions– multiple views and direct manipulation

ICS-FORTH Slide 54Stephanidis, Savidis & Akoumianakis

Polymorphism in Unified User Interfaces (5/6)

delete file = define file before delete commanddefine file = provide name or select directly

delete a file

define_file delete_command

provide_name provide_directly

before

parallel

Example of syntactic polymorphism

ICS-FORTH Slide 55Stephanidis, Savidis & Akoumianakis

Polymorphism in Unified User Interfaces (6/6)

delete file = define file before delete commanddefine file = select targetdelete command = activate

delete a file

define_file delete_command

select_target activate

before

Example of syntactic polymorphism (cont.)

ICS-FORTH Slide 56Stephanidis, Savidis & Akoumianakis

Summarising on Unified User Interfaces (1/2)

• Automatic User Interface Self-Adaptation

• User- and usage-context- attribute driven

• Implies polymorphism potentially at lexical, syntactic and semantic levels

Page 15: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 57Stephanidis, Savidis & Akoumianakis

Summarising on Unified User Interfaces (2/2)

• There is a need for a new development process– Design process– Implementation architecture– Engineering process

• There is a need for new development tools– Capabilities / functionality– Assessment, availability, and suggestions

ICS-FORTH Slide 58Stephanidis, Savidis & Akoumianakis

The Need

• For any given task, diverse user- / usage-context- attribute values may dictate the design of alternative dialogue patterns

• Hence, given a design context and task, the parameters of the design space may map to more than one interaction artifacts

• However, current design practices impose a single interaction artifact in the final outcome

ICS-FORTH Slide 59Stephanidis, Savidis & Akoumianakis

Key Properties (1/2)

• Polymorphic task analysis, where any task may be decomposed into an arbitrary number of alternative sub-hierarchies

• Hierarchical decomposition of user tasks,starting from the abstract level, by incrementally specialising, in a polymorphicfashion, towards the physical level of interaction

ICS-FORTH Slide 60Stephanidis, Savidis & Akoumianakis

Key properties (2/2)

A complete method should comprise(Moran,1996)

–a statement of the problem –a device (technique, tool or representation)–a procedure for using the device–a clear set of outcomes

Page 16: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 61Stephanidis, Savidis & Akoumianakis

Unified Interface Development (agenda)

PrologueUnified interface design

Unified interface engineeringTools for unified interfaces

ICS-FORTH Slide 62Stephanidis, Savidis & Akoumianakis

Unified Interface Engineering –Outline (1/3)

• A run-time architecture for implementing interface adaptation supporting:– Evolution– Reuse– Distribution

ICS-FORTH Slide 63Stephanidis, Savidis & Akoumianakis

Unified Interface Engineering -Outline (2/3)

• Specific scenarios describing distributed control flow and inter-component communication to accomplish adaptation

ICS-FORTH Slide 64Stephanidis, Savidis & Akoumianakis

Unified Interface Engineering -Outline (3/3)

• Some techniques to bring the software implementation more close to the interface design, thus making easier to program design changes

Page 17: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 65Stephanidis, Savidis & Akoumianakis

Unified Interface Engineering (agenda)

Unified Interface ArchitectureAdaptation Scenarios and control flowEmbedding design into implementation

ICS-FORTH Slide 66Stephanidis, Savidis & Akoumianakis

Revealing an Architectural Pattern

Provide dialogue according

to user-, and context-attributes values

Provide dialogue according

to user-, and context-attributes values

• Divide and conquer• Role separation• Orthogonality• Eliminate replication

Starting pointVehicle

ICS-FORTH Slide 67Stephanidis, Savidis & Akoumianakis

Revealing an Architectural Pattern (1/9)

User-, Context-Attributes

User-, Context-Attributes

Provide adapteddialogue

Provide adapteddialogue

ICS-FORTH Slide 68Stephanidis, Savidis & Akoumianakis

Revealing an Architectural Pattern(2/9)

User-, Context-Attributes

User-, Context-Attributes

Decide which dialogues to

activate

Decide which dialogues to

activate

Activate decideddialogues

Activate decideddialogues

Page 18: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 69Stephanidis, Savidis & Akoumianakis

Revealing an Architectural Pattern(3/9)

Userattributes

Userattributes

Decide which dialogues to

activate

Decide which dialogues to

activate

Activate decideddialogues

Activate decideddialogues

ContextattributesContext

attributes

ICS-FORTH Slide 70Stephanidis, Savidis & Akoumianakis

Revealing an Architectural Pattern(4/9)

Userattributes

Userattributes

Decide which dialogues to

activate

Decide which dialogues to

activate

Activate decideddialogues

Activate decideddialogues

ContextattributesContext

attributes DialoguesDialoguesDialoguesDialogues

DialoguesDialoguesDialoguesDialogues

ICS-FORTH Slide 71Stephanidis, Savidis & Akoumianakis

Revealing an Architectural Pattern(5/9)

Userattributes

Userattributes

Decide which dialogues to

activate / cancel

Decide which dialogues to

activate / cancel

Activate / canceldecided

dialogues

Activate / canceldecided

dialogues

ContextattributesContext

attributes DialoguesDialoguesDialoguesDialogues

DialoguesDialoguesDialoguesDialogues

ICS-FORTH Slide 72Stephanidis, Savidis & Akoumianakis

Revealing an Architectural Pattern(6/9)

Decide which dialogues to

activate / cancel

Decide which dialogues to

activate / cancel

Activate / canceldecided

dialogues

Activate / canceldecided

dialogues

ContextattributesContext

attributes DialoguesDialoguesDialoguesDialogues

DialoguesDialoguesDialoguesDialogues

UserInformation

Server

UserInformation

Server

Page 19: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 73Stephanidis, Savidis & Akoumianakis

Revealing an Architectural Pattern(7/9)

Decide which dialogues to

activate / cancel

Decide which dialogues to

activate / cancel

Activate / canceldecided

dialogues

Activate / canceldecided

dialogues

DialoguesDialoguesDialoguesDialogues

DialoguesDialoguesDialoguesDialogues

UserInformation

Server

UserInformation

Server

ContextInformation

Server

ContextInformation

Server

ICS-FORTH Slide 74Stephanidis, Savidis & Akoumianakis

Revealing an Architectural Pattern(8/9)

Activate / canceldecided

dialogues

Activate / canceldecided

dialogues

DialoguesDialoguesDialoguesDialogues

DialoguesDialoguesDialoguesDialogues

UserInformation

Server

UserInformation

Server

ContextInformation

Server

ContextInformation

Server

DecisionMaking

Component

DecisionMaking

Component

ICS-FORTH Slide 75Stephanidis, Savidis & Akoumianakis

Revealing an Architectural Pattern(9/9)

UserInformation

Server

UserInformation

Server

ContextInformation

Server

ContextInformation

Server

DecisionMaking

Component

DecisionMaking

Component

DialoguePatterns

Component

DialoguePatterns

Component

ICS-FORTH Slide 76Stephanidis, Savidis & Akoumianakis

Unified Interface Architecture

UserInformation

Server

UserInformation

Server

ContextInformation

Server

ContextInformation

Server

DecisionMaking

Component

DecisionMaking

Component

DialoguePatterns

Component

DialoguePatterns

Component

Page 20: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 77Stephanidis, Savidis & Akoumianakis

Component Analysis

• Role and behaviour• Content• Communication• Implementation

ICS-FORTH Slide 78Stephanidis, Savidis & Akoumianakis

Context Information Server- Role and Behaviour

• To supply context attribute values(machine and environment)– Static (non-changing during interaction,

e.g. peripheral equipment)– Dynamic (may change during interaction,

e.g. environment noise)

ICS-FORTH Slide 79Stephanidis, Savidis & Akoumianakis

Context Information Server- Content (1/2)

• Awareness of I/O devices and their properties– e.g. hand-held binary switches, speech

synthesiser (English, Greek), high resolution display (mode 16bits, 1024x768, 75Hz), Pentium-III 500MHz / 2MB cache / 128 MB memory, 20 GB hard disc

ICS-FORTH Slide 80Stephanidis, Savidis & Akoumianakis

Context Information Server- Content (2/2)

• Environment information (requires appropriate sensors)– e.g. acoustic noise, light reflection on

display, presence of the user in front of the terminal, humidity, smoke detection

Page 21: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 81Stephanidis, Savidis & Akoumianakis

Context Information Server- Communication (1/2)

• Context information is supplied in the form of (attribute, value) pairs– Simple model– Highly generic– Value can be aggregate – e.g. (“environment noise”, “78db”)

(“resolution”, “1024x768”) (“user presence”, “no”)

ICS-FORTH Slide 82Stephanidis, Savidis & Akoumianakis

Context Information Server- Communication (2/2)

• Send by request– all / some attributes with their values

• Send by modification– post attributes when their value changes

during user interaction

ICS-FORTH Slide 83Stephanidis, Savidis & Akoumianakis

Context Information Server- Implementation

• Registry for I/O equipment• Use of sensors for retrieving

environment parameters• Location awareness

ICS-FORTH Slide 84Stephanidis, Savidis & Akoumianakis

User Information Server -Role and Behaviour

• To supply user attribute values– Known off-line, before initiating interaction– Detected on-line, from real-time

interaction-monitoring analysis• e.g. fatigue, loss of orientation, inability

to perform the task, interaction preferences

Page 22: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 85Stephanidis, Savidis & Akoumianakis

User Information Server -Content (1/2)

• Repository of user profiles• Logic for interaction-monitoring

analysis

ICS-FORTH Slide 86Stephanidis, Savidis & Akoumianakis

User Information Server -Content (2/2)

computerknowledge

computerknowledge

Webknowledge

Webknowledge

expertexpert

ability touse left hand

ability touse left hand

frequentfrequent averageaverage casualcasual nativenative

verygood

verygood goodgood averageaverage somesome limitedlimited nonenone

perfectperfect goodgood somesome limitedlimited nonenone

ParametersParameters Value domainValue domain

P1P1

P2P2

PnPn

User profile model

User profile instance

ICS-FORTH Slide 87Stephanidis, Savidis & Akoumianakis

User Information Server -Communication

• Send by request– all / some attributes with their values

• Send by modification– post attributes when their value changes

during interaction– post dynamically detected attributes and

their values

ICS-FORTH Slide 88Stephanidis, Savidis & Akoumianakis

User Information Server -Implementation (1/3)

• Could employ a database to store / retrieve user profiles

• Dynamic attribute detection requires further processing

Page 23: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 89Stephanidis, Savidis & Akoumianakis

User Information Server -Implementation (2/3)

Interactionhistory

Interactionhistory

Designinformation

Designinformation

InferencecomponentInference

component

UserprofilesUser

profiles

Interactionmonitoringdata

Userattribute

values

User Information Server

ICS-FORTH Slide 90Stephanidis, Savidis & Akoumianakis

User Information Server -Implementation (3/3)

UserModelsUser

Models

BehaviouralAction

Patterns

BehaviouralAction

Patterns

PatternMatchingPattern

Matching

Interactionhistory

Userprofile

Inference Component

ICS-FORTH Slide 91Stephanidis, Savidis & Akoumianakis

Decision Making Component -Role and Behaviour

• Matches user- and context-attribute values to the most appropriate dialogue artifacts

• Decides why, when and how to adapt

ICS-FORTH Slide 92Stephanidis, Savidis & Akoumianakis

Decision Making Component -Content

• Awareness of design artifacts (e.g. named, indexed), user- / context-attributes and respective values (e.g. “age”, integer, 5...110)

• Decision making knowledge

Page 24: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 93Stephanidis, Savidis & Akoumianakis

Decision Making Component -Communication

• Receives user- and context-attributes (from UIS)

• Posts decisions for activation or cancellation of implemented dialogue patterns (to DPC)

ICS-FORTH Slide 94Stephanidis, Savidis & Akoumianakis

Decision Making Component -Implementation (1/2)

• Knowledge-based component, playing the role of an adaptation expert

• Rule-based implementation framework may suffice

ICS-FORTH Slide 95Stephanidis, Savidis & Akoumianakis

Decision Making Component -Implementation (2/2)

• If given particular user, usagecontext, dialogue state, and interaction history, a human designer can decide optimal adaptation– then we can make the machine able to

adapt as well by embedding designer’s decision logic

ICS-FORTH Slide 96Stephanidis, Savidis & Akoumianakis

Dialogue Patterns Component -Role and Behaviour

• Applies adaptation decisions, making available to the user the necessary dialogue patterns

• Knows where implemented dialogue patterns reside

Page 25: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 97Stephanidis, Savidis & Akoumianakis

Dialogue Patterns Component -Content

• Repository of implemented dialogue patterns– Local / remote address– Source / binary form

ICS-FORTH Slide 98Stephanidis, Savidis & Akoumianakis

Dialogue Patterns Component -Communication

• Receives activation / cancellationdecisions for dialogue components

• Receives interaction monitoring control commands

• Posts interaction monitoring data

ICS-FORTH Slide 99Stephanidis, Savidis & Akoumianakis

Dialogue Patterns Component -Implementation (1/2)

• Communication with other components

• Coordination of dialogue artifacts• Manipulation of dialogue artifacts• Monitoring of interaction within

dialogue artifactsICS-FORTH Slide 100Stephanidis, Savidis & Akoumianakis

Dialogue Patterns Component -Implementation (2/2)

CommunicationCommunication

MonitoringMonitoring

CoordinationCoordination

ManipulationManipulation

ImpementedDialogueArtifacts

ImpementedDialogueArtifacts

ImpementedDialogueArtifacts

ImpementedDialogueArtifactsAP

I, C

ompo

nent

Mod

el,

Inde

xing

, Cat

alog

ueAP

I, C

ompo

nent

Mod

el,

Inde

xing

, Cat

alog

ue

Dialogue Patterns Component

Page 26: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 101Stephanidis, Savidis & Akoumianakis

Unified Software Architecture -Some Key Remarks (1/2)

• Comprehensive start-up cost to set-up an interactive system as a unified implementation...

• But afterwards, the incorporation of adaptation behaviour becomes a standardised convenient process

ICS-FORTH Slide 102Stephanidis, Savidis & Akoumianakis

Unified Software Architecture -Some Key Remarks (2/2)

• …more dialogue artifacts• …more interaction monitoring• …more user attributes• …more interaction-analysis logic• …more context attributes• …more adaptation-oriented logic

ICS-FORTH Slide 103Stephanidis, Savidis & Akoumianakis

Unified Interface Engineering (agenda)

Unified Interface Architecture

Adaptation Scenarios and control flowEmbedding design into implementation

ICS-FORTH Slide 104Stephanidis, Savidis & Akoumianakis

Adaptation Scenarios and Control Flow – Example (1/5)

• Detecting dynamically confusion in performing a task and providing task-based guidance

Page 27: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 105Stephanidis, Savidis & Akoumianakis

Adaptation Scenarios and Control Flow - Example (2/5)

UIS requests monitoring for

a particular task

UIS requests monitoring for

a particular task

DPC accepts request,and activates necessarymonitoring components

DPC accepts request,and activates necessarymonitoring components

DPC continuously posts interaction monitoring

data back to UIS

DPC continuously posts interaction monitoring

data back to UIS

1

2

3

ICS-FORTH Slide 106Stephanidis, Savidis & Akoumianakis

Adaptation Scenarios and Control Flow - Example (3/5)

UIS receivescontinuously data

and builds anannotated interaction

history

UIS receivescontinuously data

and builds anannotated interaction

history UIS continuouslyanalyses interaction

history to detectparticular action

patterns

UIS continuouslyanalyses interaction

history to detectparticular action

patterns UIS detects confusion pattern for a particular task,

and sends this assumption

to DMC

UIS detects confusion pattern for a particular task,

and sends this assumption

to DMC

4

5

6

ICS-FORTH Slide 107Stephanidis, Savidis & Akoumianakis

Adaptation Scenarios and Control Flow - Example (4/5)

DMC receives anassumption forconfusion on

a particular task

DMC receives anassumption forconfusion on

a particular task

DMC decides to activate a dialogue

component providingtask-based guidanceto resolve confusion

DMC decides to activate a dialogue

component providingtask-based guidanceto resolve confusion

DMC posts thenecessary activation

message to DPC

DMC posts thenecessary activation

message to DPC

7

8

9

ICS-FORTH Slide 108Stephanidis, Savidis & Akoumianakis

Adaptation Scenarios and Control Flow - Example (5/5)

DPC receives theactivation message

and locates thecorresponding

dialogue component

DPC receives theactivation message

and locates thecorresponding

dialogue component

Finally, DPC activates this specific dialogue

component

Finally, DPC activates this specific dialogue

component

10

11

Page 28: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 109Stephanidis, Savidis & Akoumianakis

Unified Interface Engineering (agenda)

Unified Interface ArchitectureAdaptation Scenarios and control flow

Embedding design into implementation

ICS-FORTH Slide 110Stephanidis, Savidis & Akoumianakis

Embedding Design into Implementation – Definition (1/2)

• The purposeful engagement of design information into the interface programming process.

ICS-FORTH Slide 111Stephanidis, Savidis & Akoumianakis

Embedding Design into Implementation - Definition (2/2)

in a way which enables the s/w implementation to reflect automatically design updates without the need of extra programming efforts

in a way which promotes reusability of s/w by directly linking to design entities, instead of programming concepts

ICS-FORTH Slide 112Stephanidis, Savidis & Akoumianakis

Levels of Embedded Design Information (1/3)

• Lexical– interaction objects, attributes, methods,

e.g. toolkits• PushButon, Menu, CheckBox• x, y, width, height, fgColor, bgColor• Press, Select, Check / UnCheck

Page 29: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 113Stephanidis, Savidis & Akoumianakis

Levels of Embedded Design Information (2/3)

• Syntactic– User-task, user- / context- attributes,

design goals, e.g. unified interfaces– Indexing and location of dialogue artifacts

based on artifact design documentation parameters

– Automatic adaptation plays the role of a dynamic design process

ICS-FORTH Slide 114Stephanidis, Savidis & Akoumianakis

Levels of Embedded Design Information (3/3)

• Semantic– domain entities, e.g. databases– Database schema is both a design and an

implementation entity– Querying is both an implementation

mechanism and a user tool

ICS-FORTH Slide 115Stephanidis, Savidis & Akoumianakis

Judging Interface Implementation Maturity (1/3)

• The smaller the distance between design and implementationmodels, the higher the maturity

ICS-FORTH Slide 116Stephanidis, Savidis & Akoumianakis

Example-I

• Database development– Data models– Data input– Query models– Form construction

Page 30: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 117Stephanidis, Savidis & Akoumianakis

Example-II

• Unified development– Dialogue patterns and their relationships– User- / context- parameters– User tasks and adaptation logic

ICS-FORTH Slide 118Stephanidis, Savidis & Akoumianakis

Judging Interface Implementation Maturity (2/3)

• The easier to locate from design units, their respective implementation units, and vice versa, the higher the maturity

ICS-FORTH Slide 119Stephanidis, Savidis & Akoumianakis

Example

• Interface toolkits (embedding only part of lexical level design)– Objects classes and attributes– Methods– Event handlers– Part-of / parent-of relationships

(containment versus instance hierarchies)

ICS-FORTH Slide 120Stephanidis, Savidis & Akoumianakis

Judging Interface Implementation Maturity (3/3)

• The higher the capability of the s/w to cope effectively and efficiently with variations of the design parameters, i.e. ability to adapt, the higher the maturity

Page 31: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 121Stephanidis, Savidis & Akoumianakis

Example

• Unified interface implementation– Encapsulation of design parameters (user-

/ context- information)– Interface self-adaptation reflecting

alternative instances of design parameters– “On-the-fly” interface assembly process

from a pool of implemented dialogue patterns

ICS-FORTH Slide 122Stephanidis, Savidis & Akoumianakis

Unified Interface Engineering -Wrap Up (1/2)

• Distributed s/w architecture, separating:– Decision making– User- / context- information– Artifact implementation

ICS-FORTH Slide 123Stephanidis, Savidis & Akoumianakis

Unified Interface Engineering -Wrap Up (2/2)

• Design-oriented interface engineering:– Ability to adapt to changing design

parameters– Embedding of design information directly

into the implementation

ICS-FORTH Slide 124Stephanidis, Savidis & Akoumianakis

Unified Interface Development (agenda)

PrologueUnified interface designUnified interface engineering

Tools for unified interfaces

Page 32: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 125Stephanidis, Savidis & Akoumianakis

Tools for Unified Interfaces(agenda)

• Introduction• Metaphor Development• Toolkit Integration• Toolkit Augmentation• Toolkit Expansion• Toolkit Abstraction

ICS-FORTH Slide 126Stephanidis, Savidis & Akoumianakis

Tools for Unified Interfaces -Introduction (1/7)

• What is the “entrance barrier” for interface tools in order to facilitate the development of universally accessible interactions ? Or more specifically...

ICS-FORTH Slide 127Stephanidis, Savidis & Akoumianakis

Tools for Unified Interfaces -Introduction (2/7)

• Considering the diversity in end-users and usage-contexts, which are the most important implementation ingredients for building unified interfaces ?

ICS-FORTH Slide 128Stephanidis, Savidis & Akoumianakis

Tools for Unified Interfaces -Introduction (3/7)

• Different users, in different contexts and situations of use, likely require different interaction metaphors

Metaphor development

Page 33: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 129Stephanidis, Savidis & Akoumianakis

Tools for Unified Interfaces -Introduction (4/7)

• Since designers may employ any particular interaction toolkit, the interface tool employed for implementation should enable programmers to utilise this toolkit

Toolkit integration

ICS-FORTH Slide 130Stephanidis, Savidis & Akoumianakis

Tools for Unified Interfaces -Introduction (5/7)

• Support the introduction of additional interaction techniques within interaction objects, for the cases in which the built-in techniques are not sufficient

Toolkit augmentation

ICS-FORTH Slide 131Stephanidis, Savidis & Akoumianakis

Tools for Unified Interfaces -Introduction (6/7)

• Support the introduction of new interaction objects within toolkits, for the cases in which the originally supplied set is not sufficient

Toolkit expansion

ICS-FORTH Slide 132Stephanidis, Savidis & Akoumianakis

Tools for Unified Interfaces -Introduction (7/7)

• Facilitate the manipulation of interaction objects completely relieved from physical interaction properties

Toolkit abstraction

Page 34: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 133Stephanidis, Savidis & Akoumianakis

Tools for Unified Interfaces(agenda)

• Introduction

• Metaphor Development• Toolkit Integration• Toolkit Augmentation• Toolkit Expansion• Toolkit Abstraction

ICS-FORTH Slide 134Stephanidis, Savidis & Akoumianakis

Metaphor Development -Why ? (1/5)

• Interaction metaphors are user-oriented– Design should reflect the attributes of

target users– It is unlike that a single metaphor can be

globally optimal for all end-users

ICS-FORTH Slide 135Stephanidis, Savidis & Akoumianakis

Metaphor Development -Phases in Unified Paradigm (2/5)

• Design

• Realisation

• Implementation

ICS-FORTH Slide 136Stephanidis, Savidis & Akoumianakis

Metaphor Development -Phases (3/5)

concepts,features,entities,properties,behaviours,relationships

media, modalities,interaction objects,interaction techniques,attributes,dialogue design

coding, implementation libraries, programming model,run- time architecture

MFC, InterViews,Motif, Mac Toolbox, JFC, UIML

testingtesting

testingtesting

DesignDesign

RealisationRealisation

ImplementationImplementation

Page 35: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 137Stephanidis, Savidis & Akoumianakis

Metaphor Development -Advantages of the Approach (4/5)

• Multiple realisations of a single metaphor design– Modifications on a metaphor realisation

can be applied without affecting original metaphor design

ICS-FORTH Slide 138Stephanidis, Savidis & Akoumianakis

Metaphor Development -Advantages (5/5)

• Multiple implementations of a single metaphor realisation– Modifications on a metaphor

implementation are allowed without affecting original metaphor realisation

ICS-FORTH Slide 139Stephanidis, Savidis & Akoumianakis

Design of an Interaction Metaphor - Where to Start From

• Top-level container interaction objects play the most important role

ICS-FORTH Slide 140Stephanidis, Savidis & Akoumianakis

Top-level Containers -Key Role (1/5)

Windowing / Desk-top Metaphor ?

Page 36: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 141Stephanidis, Savidis & Akoumianakis

Top-level Containers -Key Role (2/5)

Books Metaphor ?

ICS-FORTH Slide 142Stephanidis, Savidis & Akoumianakis

Top-level Containers -Key Role (3/5)

Teacher / Whiteboard Metaphor ?

ICS-FORTH Slide 143Stephanidis, Savidis & Akoumianakis

Top-level Containers -Key Role (4/5)

• Embedded Objects do notAffect Overall Interaction Metaphor

OpenOpen

Button

SaveSave

Save as...Save as...

QuitQuit

•Push buttons - Electric devices•Sliders / potentiometers - Electric devices•Check-boxes - From filling•Menus - Restaurant•Gauges - Electric devices

ICS-FORTH Slide 144Stephanidis, Savidis & Akoumianakis

Top-level Containers -Key Role (5/5)

Door to another room

Interaction object

Group: “floor”,“ceiling” andfront, left, back,right “walls”

LIFTLIFT

LIFT

Leads to rooms which are one levelabove or bellow

Non-Visual Rooms - COMONKIT Toolkit

Page 37: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 145Stephanidis, Savidis & Akoumianakis

Top Level Containers –A Step Foward

• HAWK Non-Visual Toolkit providing a generic container class, supporting programmable:– Navigation dialogue for contained objects– Display / presentation policy– I/O device binding

ICS-FORTH Slide 146Stephanidis, Savidis & Akoumianakis

HAWK Toolkit –Typical Embedded Objects

• Embedded objects are non-visual realizations of broadly used metaphoric objects:– Menu– Listbox– Radio button– Single- / multi- line editor– etc

ICS-FORTH Slide 147Stephanidis, Savidis & Akoumianakis

HAWK Toolkit –Used in Demanding Projects

• To implement non-visual custom-made hypermedia tool in the ACCESS project

• To implement the non-visual component of the unified AVANTI browser

ICS-FORTH Slide 148Stephanidis, Savidis & Akoumianakis

Tools for Unified Interfaces(agenda)

• Introduction• Metaphor Development

• Toolkit Integration• Toolkit Augmentation• Toolkit Expansion• Toolkit Abstraction

Page 38: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 149Stephanidis, Savidis & Akoumianakis

Toolkit Integration

• As toolkits we consider software libraries providing the implementation of interaction elements– e.g. Windows, OSF/Motif, JFC, HAWK,...

ICS-FORTH Slide 150Stephanidis, Savidis & Akoumianakis

Toolkit Integration -Definition

• The ability of interface development tools to import toolkits, thus making imported interaction elements available in the dialogue implementation process.

ICS-FORTH Slide 151Stephanidis, Savidis & Akoumianakis

Toolkit Integration -Role in Unified Development

• Utilise elements from multiple sources (i.e. multi-toolkit platform)

• Supplying a common API, as opposed to native toolkit programming models

ICS-FORTH Slide 152Stephanidis, Savidis & Akoumianakis

Toolkit Integration -Functional Requirements (1/4)

• Unified programming model for imported toolkits– All imported toolkits manipulated in the

same way• Creating / destroying objects• Getting / setting attributes• Adding / removing event handlers /

methods

Page 39: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 153Stephanidis, Savidis & Akoumianakis

Toolkit Integration -Functional Requirements (2/4)

• Metaphor-independent toolkit integration model– Toolkits not only bounded to the windowing

metaphor must be importable• e.g. cartoon, playground, watch-dog,

whiteboard, rooms,...

ICS-FORTH Slide 154Stephanidis, Savidis & Akoumianakis

Toolkit Integration -Functional Requirements (3/4)

• Ability for cross-toolkit object hierarchies– A container from one toolkit is enabled to

encompass objects from other toolkits.• Requires toolkit interoperability,

currently supported only among windowing toolkits

ICS-FORTH Slide 155Stephanidis, Savidis & Akoumianakis

Toolkit Integration -Functional Requirements (4/4)

MotifWindow

WINDOWSGroup

AthenaCommand

AthenaTree

WINDOWButton

WINDOWSFrame Window

XviewSlider

MotifBulletBoard

Cross-Toolkit Instance Hierarchy

ICS-FORTH Slide 156Stephanidis, Savidis & Akoumianakis

Toolkit Integration -Support by Existing Tools (1/3)

• Multi-platform toolkits– Mainly re-implementations over multiple

windowing toolkits– Cannot add a new toolkit; vendors should

do that– Examples : XVT, YACL, Amulet, JFC

Page 40: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 157Stephanidis, Savidis & Akoumianakis

Toolkit Integration -Support by Existing Tools (2/3)

• Java Pluggable Look&Feel ?– Mainly parameterisation of visual 2D

display structure– Limited to keyboard / mouse based

interaction– Making a new look&feel, e.g. 3D / cartoon /

non-visual rooms, is not possible through the PL&F API

ICS-FORTH Slide 158Stephanidis, Savidis & Akoumianakis

Toolkit Integration -Support by Existing Tools (3/3)

• Component technologies(ActiveX, Java Beans) ?– Provide the ground for toolkit

interoperability, as soon as component-ware compliant toolkits are built

– Interesting results will appear when compliance is achieved for toolkits realising different interaction metaphors

ICS-FORTH Slide 159Stephanidis, Savidis & Akoumianakis

Toolkit Integration -Cross-Metaphor Interoperability

DocumentObject

RoomsContainer

Left Wall

BlackBoardContainer

CalendarObject

LibraryContainer

BookContainer

WindowContainer

Right Wall

WindowContainer

FileManagerObject

VideoObject

ICS-FORTH Slide 160Stephanidis, Savidis & Akoumianakis

Toolkit Integration -Cross-Toolkit Interoperability

• A very challenging research topic– Real-time containment and space

negotiation protocols– Polymorphic display projection– Attribute transformation– Alternative I/O bindings supporting

dynamic configuration– Drop-out policy support

Page 41: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 161Stephanidis, Savidis & Akoumianakis

Tools for Unified Interfaces(agenda)

• Introduction• Metaphor Development• Toolkit Integration

• Toolkit Augmentation• Toolkit Expansion• Toolkit Abstraction

ICS-FORTH Slide 162Stephanidis, Savidis & Akoumianakis

Toolkit Augmentation -Definition

• The process through which additional interaction techniques are injected into the original (native) interaction elements supplied by a particular toolkit

ICS-FORTH Slide 163Stephanidis, Savidis & Akoumianakis

Toolkit Augmentation -Role in Unified Development

• Enhancing the accessibility and quality of interaction elements by augmenting with extra interaction techniques (both display, as well as input, may be affected)

ICS-FORTH Slide 164Stephanidis, Savidis & Akoumianakis

Toolkit Augmentation -Functional Requirements (1/4)

• Unchanged programming model– New attributes, methods and interaction

techniques should be made available through the original programming approach

Page 42: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 165Stephanidis, Savidis & Akoumianakis

Toolkit Augmentation -Functional Requirements (2/4)

• Object hierarchy management and focus object manipulation– Need to be able to set / get / be-notified

regarding focus object, and also handle programmatically the interaction object instance hierarchy

ICS-FORTH Slide 166Stephanidis, Savidis & Akoumianakis

Toolkit Augmentation -Functional Requirements (3/4)

• Programmatically extensible constructor– Well documented placeholder, where

additional interaction behaviour, attribute defaults, and hierarchy linkage can be set

ICS-FORTH Slide 167Stephanidis, Savidis & Akoumianakis

Toolkit Augmentation -Functional Requirements (4/4)

• Device installation and integration layer– New I/O devices need to be installed, while

the availability of those devices should be enabled through original I/O handling facilities

ICS-FORTH Slide 168Stephanidis, Savidis & Akoumianakis

Toolkit Augmentation -Support by Existing Tools

• Programming toolkits offer facilities for augmentation, however:– New object classes need to be defined

(mainly through inheritance)– Re-compilation / re-linking of old

applications is needed to gain augmented behaviour

Page 43: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 169Stephanidis, Savidis & Akoumianakis

Toolkit Augmentation -An Example (1/6)

• Augmented Windows MFC• Switch-based access (binary

switches)• Lexical dialogue decomposition into

two fundamental actions: select, next

ICS-FORTH Slide 170Stephanidis, Savidis & Akoumianakis

Toolkit Augmentation -An Example (2/6)

• Categories of object classes subject to augmentation:– Top-level windows– Container objects– Text-entry objects– Composite objects– Button categories

ICS-FORTH Slide 171Stephanidis, Savidis & Akoumianakis

Toolkit Augmentation -An Example (3/6)

• Top-level windows

– All top-level windows have been augmented with an additional toolbar, supporting scanning interaction, providing all window management operations

ICS-FORTH Slide 172Stephanidis, Savidis & Akoumianakis

Toolkit Augmentation -An Example (4/6)

sizemanipulation

positioncontrol

statecontrol

Page 44: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 173Stephanidis, Savidis & Akoumianakis

Toolkit Augmentation -An Example (5/6)

• Text-entry objects– Requiring text to be supplied, imposing the

need for keyboard emulation

ICS-FORTH Slide 174Stephanidis, Savidis & Akoumianakis

Toolkit Augmentation -An Example (6/6)

ICS-FORTH Slide 175Stephanidis, Savidis & Akoumianakis

Tools for Unified Interfaces(agenda)

• Introduction• Metaphor Development• Toolkit Integration• Toolkit Augmentation

• Toolkit Expansion• Toolkit Abstraction

ICS-FORTH Slide 176Stephanidis, Savidis & Akoumianakis

Toolkit Expansion -Definition

• The construction of new interaction objects, not originally supported by toolkits

Page 45: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 177Stephanidis, Savidis & Akoumianakis

Toolkit Expansion -Role in Unified Development

• To implement the various artifactsin adapted interactions, developers may need to build new interaction objects – In this process, the development tool

should provide all the adequate support

ICS-FORTH Slide 178Stephanidis, Savidis & Akoumianakis

Toolkit Expansion -Functional Requirements

• Provision of an object expansion framework, for introducing:– Object class, attributes, methods, event

handlers, interaction techniques, and dialogue implementation

ICS-FORTH Slide 179Stephanidis, Savidis & Akoumianakis

Toolkit Expansion -Support by Existing Tools (1/2)

• Interface tools offer various facilities for expansion:– Inheritance-based– Template structures– API implementation– Graphical construction

ICS-FORTH Slide 180Stephanidis, Savidis & Akoumianakis

Toolkit Expansion -Support by Existing Tools (2/2)

• The only limitation for expansion in existing tools is that:– New objects should always comply with

the original toolkit metaphor,• and in all known tools this is the

windowing metaphor

Page 46: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 181Stephanidis, Savidis & Akoumianakis

Tools for Unified Interfaces(agenda)

• Introduction• Metaphor Development• Toolkit Integration• Toolkit Augmentation• Toolkit Expansion

• Toolkit Abstraction

ICS-FORTH Slide 182Stephanidis, Savidis & Akoumianakis

Toolkit Abstraction -Definition

• The provision of interaction objects entirely de-coupled from physical interaction properties

ICS-FORTH Slide 183Stephanidis, Savidis & Akoumianakis

Toolkit Abstraction -Abstract Selector Example

No ofoptionsNo of

options

Userchoice

44

22

“Open”

“Quit”

“Save as...”

“Save”

3Dpointing

soundfeedback

syntheticspeech

4

op : Opensv : Savesa : Save as...qu :Quit

>op_

3

auditory /3D pointing

command based

circular“clock”

column“restaurant”

44

44

Open Save

Quit Save as..

abstractSELECTOR

1

1

(( ))(( ))

(( ))(( ))

Open

Quit

Save as...

Save

ICS-FORTH Slide 184Stephanidis, Savidis & Akoumianakis

Toolkit Abstraction -Role in Unified Development (1/2)

• The provision of abstract objects at the implementation layers, enables the construction of unified artifacts:– i.e. dialogues composed of abstract objects

which can be instantiated, through programming control, to alternative physical forms

Page 47: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 185Stephanidis, Savidis & Akoumianakis

Toolkit Abstraction -Role in Unified Development (2/2)

• The abstraction requirement is technically considered to be the most important for unified interface development

ICS-FORTH Slide 186Stephanidis, Savidis & Akoumianakis

Toolkit Abstraction -Functional Requirements

• Two categories of functional requirements: basic and advanced

ICS-FORTH Slide 187Stephanidis, Savidis & Akoumianakis

Toolkit Abstraction -Basic Requirements (1/4)

• Provide a predefined collection of abstract interaction objects– closed set of abstractions

ICS-FORTH Slide 188Stephanidis, Savidis & Akoumianakis

Example

• Multiple Choice Selector• Single Choice Selector• Command• On / Off State

Page 48: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 189Stephanidis, Savidis & Akoumianakis

Toolkit Abstraction -Basic Requirements (2/4)

• Support for a predefined mapping scheme, for each abstract object class, to various alternative physical classes– bounded polymorphism

ICS-FORTH Slide 190Stephanidis, Savidis & Akoumianakis

Example

• On / Off State– Radio Button– Check Box

• Multiple Choice Selector– List Box– Combo Box

ICS-FORTH Slide 191Stephanidis, Savidis & Akoumianakis

Toolkit Abstraction -Basic Requirements (3/4)

• Ability to select which of the alternative physical classes (in the mapping scheme) will be instantiated, for any abstract object instance– controllable / conditional instantiation

ICS-FORTH Slide 192Stephanidis, Savidis & Akoumianakis

Example

instantiate OnOffState, scheme RadioButton;

instantiate MultipleChoiceSelector, scheme ListBox;

instantiate Command, scheme default;

Page 49: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 193Stephanidis, Savidis & Akoumianakis

Toolkit Abstraction -Basic Requirements (4/4)

• Support for more than one concurrently active physical instances, for any abstract object instance– plural physical instantiation

ICS-FORTH Slide 194Stephanidis, Savidis & Akoumianakis

Example

• Dual interfaces supporting concurrent visual and non-visual interaction, require abstract objects to have dual instantiation

ICS-FORTH Slide 195Stephanidis, Savidis & Akoumianakis

Toolkit Abstraction -Advanced Requirements (1/4)

• Mechanism for the definition of new abstract object classes– open set of abstractions

ICS-FORTH Slide 196Stephanidis, Savidis & Akoumianakis

Example

abstract SingleChoiceSelector {integer NumberOfOptions;integer UserSelectedOption;method Selected;

}

Page 50: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 197Stephanidis, Savidis & Akoumianakis

Toolkit Abstraction -Advanced Requirements (2/4)

• Mechanism for the definition of alternative schemes for mapping abstract object classes to physical object classes– open polymorphism

ICS-FORTH Slide 198Stephanidis, Savidis & Akoumianakis

Example

mapping OnOffState for Windows {scheme RadioButton { ... }scheme CheckBox { ... }default RadioButton;

}

ICS-FORTH Slide 199Stephanidis, Savidis & Akoumianakis

Toolkit Abstraction -Advanced Requirements (3/4)

• Capability to define run-time relationships between an abstract instance and its various concurrent physical instances– programmable physical mapping logic

ICS-FORTH Slide 200Stephanidis, Savidis & Akoumianakis

Example

always OnOffState.state = RadioButton.state;

when RadioButton.StateChangednotify OnOffState.StateChanged;

Page 51: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 201Stephanidis, Savidis & Akoumianakis

Toolkit Abstraction -Advanced Requirements (4/4)

• Direct programming access, through abstract object instances,to all associated concurrent physical instances– physical instance resolution

ICS-FORTH Slide 202Stephanidis, Savidis & Akoumianakis

Example

OnOffState.Windows.x = y = 10;OnOffState.Windows.fgColor = “blue”;OnOffState.Windows.bmp = “autofmt.bmp”;

OnOffState.Hawk.audio=“Click.wav”;OnOffState.Hawk.title=“Auto format”;

ICS-FORTH Slide 203Stephanidis, Savidis & Akoumianakis

Toolkit Abstraction -Support by Existing Tools (1/3)

• Neither the basic, nor the advanced set of functional requirements are satisfied by commercial interface tools– multi-platform objects offer configurable /

extensible “look”, however, they are not abstractions

ICS-FORTH Slide 204Stephanidis, Savidis & Akoumianakis

Toolkit Abstraction -Support by Existing Tools (2/3)

• Some research tools satisfy the basic requirements, though only for the windowing metaphor– they fail to supply abstractions not

bounded to a single metaphor

Page 52: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 205Stephanidis, Savidis & Akoumianakis

Toolkit Abstraction -Support by Existing Tools (3/3)

• The advanced set of functional requirements is currently satisfied only by the I-GET UIMS– A 4GL interface tool designed and

implemented so as to support the engineering of the Dialogue Patterns Component in unified architecture

ICS-FORTH Slide 206Stephanidis, Savidis & Akoumianakis

About I-GET (1/2)

• An outcome of the ACCESS Project• Public release intended for 2001• Windows 95 / 98 / 2000 / NT• Linux / Unix Variants• Integrated Windows MFC, Xt/Xaw,

HAWK• Intuitive remote cross platform

execution of components

ICS-FORTH Slide 207Stephanidis, Savidis & Akoumianakis

About I-GET (2/2)

• C dialect language kernel• Constraints, preconditions,

monitors• Dialogue control agents and ERS-

based event handlers• Functional API based on shared-

space and message channelsICS-FORTH Slide 208Stephanidis, Savidis & Akoumianakis

Tutorial agenda

Introduction to Unified InterfacesUnified Interface Development

Universal Access and the WebChallenges and Future Work

Page 53: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 209Stephanidis, Savidis & Akoumianakis

Universal Access and the Web -agenda

Browsers as interface toolsPlatform diversity on the WebAutomatic Web-page adaptation

ICS-FORTH Slide 210Stephanidis, Savidis & Akoumianakis

Browsers as Interface Tools(1/10)

• Interactive components– what is interactively presented to the user

via the Web-page

• Non-interactive components– functionality “behind the scenes”, not

dealing with interaction or display

ICS-FORTH Slide 211Stephanidis, Savidis & Akoumianakis

Browsers as Interface Tools(2/10)

• Web-page specific, i.e. client side– HTML, CSS, XML, scripts (JavaScript,

VisualBasicScript), embedded components (ActiveX, JavaBeans)• Varying implementation forms (script,

content, programmed interactive components, style definition and use)

ICS-FORTH Slide 212Stephanidis, Savidis & Akoumianakis

Browsers as Interface Tools(3/10)

• Server-side functionality– CGI (Common Gateway Interface),

ServeLets (Server-side applets), ASP (Active Server Pages)• Usually perform some type of data

filtering, processing and retrieval, and then dynamically construct a target Web page

Page 54: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 213Stephanidis, Savidis & Akoumianakis

Browsers as Interface Tools(4/10)

• Client-side code is actually the User Interface

• Server-side code is mainly the non-interactive functional core

ICS-FORTH Slide 214Stephanidis, Savidis & Akoumianakis

Browsers as Interface Tools(5/10)

• Browsers seem to preserve the principle of separation– A principle which was a “hot issue” for

interface tools in the early 80s,...– subject to dispute and argumentation in the

early 90s, …– and silently integrated within most of

commercial interface tools in the late 90s

ICS-FORTH Slide 215Stephanidis, Savidis & Akoumianakis

Browsers as Interface Tools(6/10)

• Diverse development techniques– Declarative hypertext (HTML)– Scripting procedural (scripts)– Declarative formatting (styles)– Interface structural definition (forms, UIML)– Std programming (embedded components)– Semantic definitions (XML)

ICS-FORTH Slide 216Stephanidis, Savidis & Akoumianakis

Browsers as Interface Tools(7/10)

• Most of the alternative techniques are not standardised...

• There are variations per technique– JavaScript / VisualBasicScript– ActiveX / JavaBeans– DOM notational access– CSS use syntax

Page 55: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 217Stephanidis, Savidis & Akoumianakis

Browsers as Interface Tools(8/10)

• What Web mostly offered to UI developers ?– Interactive document metaphor– Instant global delivery

ICS-FORTH Slide 218Stephanidis, Savidis & Akoumianakis

Browsers as Interface Tools(9/10)

• Is development easier compared to traditional desk-top applications ?– For simple things yes, for serious applications, no– Non-linear growth of development complexity, in

relation to application complexity– Non-linear growth of entrance barrier in relation to

application complexity

ICS-FORTH Slide 219Stephanidis, Savidis & Akoumianakis

Browsers as Interface Tools(10/10)

applicationapplicationcomplexitycomplexity

developmentdevelopmentcomplexity,complexity,

entrance barrierentrance barrier

desk-top applicationapplicationcomplexitycomplexity

developmentdevelopmentcomplexity,complexity,

entrance barrierentrance barrier

webICS-FORTH Slide 220Stephanidis, Savidis & Akoumianakis

Universal Access and the Web -agenda

Browsers as interface tools

Platform diversity on the WebAutomatic Web-page adaptation

Page 56: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 221Stephanidis, Savidis & Akoumianakis

Platform Diversity on the Web(1/5)

• Spread over a wide range of operating systems, with various browsers– PCs, MACs, Work-stations

• Porting to embedded operating systems with alternative protocols– WAP phones, Web-enabled devices

ICS-FORTH Slide 222Stephanidis, Savidis & Akoumianakis

Platform Diversity on the Web(2/5)

• Are all browsers on the various platforms accessible ? with high quality interaction ?– ...blind user access ?– …motor-impaired users ?– …what about the elderly ?– …the children ?

ICS-FORTH Slide 223Stephanidis, Savidis & Akoumianakis

Platform Diversity on the Web(3/5)

• Browsers for blind users– pwWebSpeak, V-Lynx, AVANTI

• Browsers for motor-impaired users– AVANTI

ICS-FORTH Slide 224Stephanidis, Savidis & Akoumianakis

Platform Diversity on the Web(4/5)

• …or alternatively– Use an alternative access system, over a

typical browser• Screen-reader for blind• Virtual keyboards for motor-impaired.

– W3C / WAI guidelines for Web authoring, to enable alternative access systems make a better job

Page 57: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 225Stephanidis, Savidis & Akoumianakis

Platform Diversity on the Web(5/5)

• There is no alternative browser, nor an alternative access systems for platforms such as:– phones– home appliances

• TV, refrigerator, washing machine,...– office equipment

• fax, copier, coffee machine,...ICS-FORTH Slide 226Stephanidis, Savidis & Akoumianakis

Universal Access and the Web -agenda

Browsers as interface toolsPlatform diversity on the Web

Automatic Web-page adaptation

ICS-FORTH Slide 227Stephanidis, Savidis & Akoumianakis

Automatic Web-page Adaptation

• Client-side– Adaptation logic, constituents and control

embedded within the Web-page

• Server-side– Adaptation logic and control residing on

server side, producing adapted Web-pages

ICS-FORTH Slide 228Stephanidis, Savidis & Akoumianakis

Automatic Web-page Adaptation -Client-side (1/2)

• Limited adaptation at the level of:– Document structure– Document content– Dialogue components

Page 58: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 229Stephanidis, Savidis & Akoumianakis

Automatic Web-page Adaptation -Client-side (2/2)

• Implementation mechanisms– Style differentiation (CSS, XML / XSL)– Content / dialogue differentiation (via scripting for

dynamic content selection)– For more dynamic dialogue, embedded

components must be implemented– User profile management requires persistent

shared data and state maintenance

ICS-FORTH Slide 230Stephanidis, Savidis & Akoumianakis

Automatic Web-page Adaptation -Server-side (1/2)

• Flexible adaptation at the level of:– Document structure– Document content– Dialogue components

ICS-FORTH Slide 231Stephanidis, Savidis & Akoumianakis

Automatic Web-page Adaptation -Server-side (2/2)

• Implementation mechanisms– User profile database– Page templates– Decision making– Dynamic page construction

ICS-FORTH Slide 232Stephanidis, Savidis & Akoumianakis

Automatic Web-page Adaptation -Wrap-Up

• Server-side adaptation is functionally superior to client-side adaptation

• While development responsibility is on document authors, re-usable services may help in making automatically adapted sites

Page 59: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 233Stephanidis, Savidis & Akoumianakis

Tutorial agenda

Introduction to Unified InterfacesUnified Interface DevelopmentUniversal Access and the Web

Challenges and Future Work

ICS-FORTH Slide 234Stephanidis, Savidis & Akoumianakis

Challenges and Future Work

Software development processIdentifying diversityDesigning for diversityComputing platforms and embedded OSConcluding remarks

ICS-FORTH Slide 235Stephanidis, Savidis & Akoumianakis

Software Development Process(1/7)

• Unified interface development is a new interface development strategy aiming to cope with diversity on users and usage-contexts– There are specific technological steps

which will move us closer to unified interfaces

ICS-FORTH Slide 236Stephanidis, Savidis & Akoumianakis

Software Development Process(2/7)

• Employment of component-ware technologies through which prefabricated dialogues are delivered– e.g. ActiveX, JavaBeans, OpenDOC

Page 60: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 237Stephanidis, Savidis & Akoumianakis

Software Development Process(3/7)

• Bridges among the various component technologies enabling interoperability– Ability to combine dialogue components

complying to different component-ware layers

ICS-FORTH Slide 238Stephanidis, Savidis & Akoumianakis

Software Development Process(4/7)

• Development of dialogue component repositories / directoriessupporting indexing and queryingon the basis of design parameters– sub-task(-s)– user- / context- attributes– other

ICS-FORTH Slide 239Stephanidis, Savidis & Akoumianakis

Software Development Process(5/7)

• Standardisation of user-oriented information, and production of universal user-profile databases– Legal issues are involved, so that

permissions and access restrictions can be managed or regulated by users themselves

ICS-FORTH Slide 240Stephanidis, Savidis & Akoumianakis

Software Development Process(6/7)

• Representation and deployment of design logic in computable forms, to enable run-time design assembly– Production of design knowledge-bases,

supporting querying by criteria matching, and exploration, to enable re-usability

Page 61: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 241Stephanidis, Savidis & Akoumianakis

Software Development Process(7/7)

• Standardisation of adaptation-oriented s/w interface reference architectures– Proposals for specific inter-component

communication protocols and functional behaviour • i.e. such as the unified architecture

communication protocol

ICS-FORTH Slide 242Stephanidis, Savidis & Akoumianakis

Challenges and Future Work

Software development process

Identifying diversityDesigning for diversityComputing platforms and embedded OSConcluding remarks

ICS-FORTH Slide 243Stephanidis, Savidis & Akoumianakis

Identifying Diversity (1/2)

• How do we reveal those human-personality related parameters which are likely to affect the way interaction should be delivered ?

ICS-FORTH Slide 244Stephanidis, Savidis & Akoumianakis

Identifying Diversity (2/2)

• Is it possible practically, theoretically or legally to make such information available to a s/w system ?

Page 62: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 245Stephanidis, Savidis & Akoumianakis

Identifying Diversity -Example

• User anxious, in a hurry, tired, does not understand the interface feedback– Body language analysis ?– Heart-beat rate monitoring ?– Facial expression analysis ?

• In this politically correct ?ICS-FORTH Slide 246Stephanidis, Savidis & Akoumianakis

Challenges and Future Work

Software development processIdentifying diversity

Designing for diversityComputing platforms and embedded OSConcluding remarks

ICS-FORTH Slide 247Stephanidis, Savidis & Akoumianakis

Diversity-Based Optimal Design(1/2)

• Given individual attributes are known, how do we design in an optimal manner for those ?

ICS-FORTH Slide 248Stephanidis, Savidis & Akoumianakis

Diversity-Based Optimal Design(2/2)

• How do we decide that differentiation of design artifacts is dictated when some individual attribute values differ ?

Page 63: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 249Stephanidis, Savidis & Akoumianakis

Challenges and Future Work

Software development processIdentifying diversityDesigning for diversity

Computing platforms and embedded OSConcluding remarks

ICS-FORTH Slide 250Stephanidis, Savidis & Akoumianakis

Computing Platforms and Embedded OS (1/4)

• The installation of embedded OS in various computing platforms, e.g. phones, home appliances, home electronics, public terminals, moves us away from the h/w manufactured applications and services (including the User Interface)

ICS-FORTH Slide 251Stephanidis, Savidis & Akoumianakis

Computing Platforms and Embedded OS (2/4)

• Software firms are enabled to deliver competitive s/w for new computing platforms, while users have choices from a collection of alternative interactive s/w applications

ICS-FORTH Slide 252Stephanidis, Savidis & Akoumianakis

Computing Platforms and Embedded OS (3/4)

• The separation between the h/w producer and the service developer opens new opportunities for interactive s/w, over a large variety of computing platforms

Page 64: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 253Stephanidis, Savidis & Akoumianakis

Computing Platforms and Embedded OS (4/4)

• An example:– We buy a mobile phone, and then we

purchase the s/w we need:• a phone-book from W • an agenda from X• a Web-browser from W, and • a remote file-manager from Z

ICS-FORTH Slide 254Stephanidis, Savidis & Akoumianakis

Challenges and Future Work

Software development processIdentifying diversityDiversity-based optimal designComputing platforms and embedded OS

Concluding remarks

ICS-FORTH Slide 255Stephanidis, Savidis & Akoumianakis

OverviewUnified User Interface designUnified User Interface engineeringTools for developing Unified User Interfaces

Unified User Interface Development -agenda

ICS-FORTH Slide 256Stephanidis, Savidis & Akoumianakis

Unified User Interface Development - Overview

Unified UserInterfaceDesign

Unified UserInterfaceDesign

Unified UserInterface

Engineering

Unified UserInterface

Engineering

Unified UserInterface

Architecture

Unified UserInterface

Architecture

commonarchitecturalvision

Page 65: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 257Stephanidis, Savidis & Akoumianakis

Unified User Interface Development -agenda

Overview

Unified User Interface designUnified User Interface engineeringTools for developing Unified User Interfaces

ICS-FORTH Slide 258Stephanidis, Savidis & Akoumianakis

Unified User Interface Design -agenda

MotivationMethod outlineConceptsProcess description

Designing alternative interaction artefactsRe-engineering designs via abstract objects

ICS-FORTH Slide 259Stephanidis, Savidis & Akoumianakis

HCI design methods

• Classification– micro-methods organize the overall design

process e.g., Human-centered design– macro-methods address specific issues e.g.,

• Requirements capture• Dialogue design• Evaluation

• Plethora of methods

ICS-FORTH Slide 260Stephanidis, Savidis & Akoumianakis

A definition

• According to (Olson & Moran, 1996) a complete macro-method comprises– a statement of the problem – a device (technique, tool or representation)– a procedure for using the device– a clear set of outcomes

Page 66: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 261Stephanidis, Savidis & Akoumianakis

The Need

• Capture the global execution context of a task• Task execution context is dictated by

– user abilities and preferences– technological platform– context-of-use

• Current design practices impose a single interaction artefact– assumption on “average” user, desktop platform and

business context of use

ICS-FORTH Slide 262Stephanidis, Savidis & Akoumianakis

Task execution context

• An execution context refers to how a task is to be accomplished by a user U, using an interaction device P in a specified context of use C

• Traditional design techniques assume– “Average” or typical user– Desktop platform– Business-oriented usage

ICS-FORTH Slide 263Stephanidis, Savidis & Akoumianakis

Relaxing the assumptions …

• The “typical” user assumption– anybody

• The desktop platform assumption– anywhere

• The business-oriented use assumption– anytime

ICS-FORTH Slide 264Stephanidis, Savidis & Akoumianakis

Implications

• A single design no longer suffices• A task could have multiple

interactive manifestations• Design space becomes complex

– Enumeration (of design alternatives)– Representation– Rationalization

Page 67: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 265Stephanidis, Savidis & Akoumianakis

Consequently …

• We need new design methods– Cope with diversity– Guide designers through a structured

process – Orthogonal to existing design practices

• Unified design is a solution

ICS-FORTH Slide 266Stephanidis, Savidis & Akoumianakis

Unified design is a complete macro-method

• ProblemTo capture and represent in a unified design-structure all the alternative dialogue artefacts

• Device Polymorphic task hierarchies

• ProcessAbstract task definition with incremental polymorphicphysical specialisation

• OutcomePolymorphic task modelDesign artefactsRecorded rationale for

alternative design patterns

ICS-FORTH Slide 267Stephanidis, Savidis & Akoumianakis

Unified User Interface Design -agenda

Need and key properties

Polymorphic task hierarchiesProcess description

Designing alternative interaction artefactsRe-engineering designs via abstract objects

ICS-FORTH Slide 268Stephanidis, Savidis & Akoumianakis

Polymorphic Task Hierarchies -Properties

– Hierarchical task analysis– Polymorphism– Task operators, including

• sequencing• parallelism• exclusive selection• repetition

Sub-task 1Sub-task 1 Sub-task n

Sub-task n

TaskTask

Page 68: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 269Stephanidis, Savidis & Akoumianakis

The polymorphic task hierarchy

• Root represents design abstractions• Leaf nodes represent concrete

interaction components• Polymorphic decomposition leads from

abstract design pattern to a concrete artefact

ICS-FORTH Slide 270Stephanidis, Savidis & Akoumianakis

Styles

• Each alternative decomposition is called a decomposition style, shortly a style

• Styles can be further analysed through any other appropriate design method– Heuristics, GOMS

analysis, Traditional HTA, UAN, Formal specifications

style 1style 1 style nstyle n

Task 1Task 1

polymorphism

Task 11 1Task 11 1 Task 1n 1

Task 1n 1decomposition

ICS-FORTH Slide 271Stephanidis, Savidis & Akoumianakis

ModaldialogueModal

dialogue

SelectFile

SelectFile Select

DeleteSelectDelete Confirm

DeleteConfirmDelete

before before

visual

non-

visu

allis

t box

DirectManipulation

DirectManipulation

SelectFile

SelectFile Select

DeleteSelectDelete

before

scanning

An example

DeleteFile

DeleteFile

ICS-FORTH Slide 272Stephanidis, Savidis & Akoumianakis

What can be polymorphosed?(1/2)

• Three main polymorphic artifacts– User tasks– System tasks– Physical (or concrete) interface elements

Page 69: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 273Stephanidis, Savidis & Akoumianakis

What can be polymorphosed?(2/2)

• User taskswhat the user has to do (e.g. manipulate file)

• System taskswhat the system has to do (e.g. feedback)

• Physical structureInterface components (e.g. a window) in the context of which user actions are to be performed; always associated to user- or system- tasks

the need for designing alternative paths in task accomplishment

the need for designing alternative feedback methods

the need for designing alternative physical components in which associated user / system tasks may be performed

ICS-FORTH Slide 274Stephanidis, Savidis & Akoumianakis

Polymorphic Task Hierarchies -Task Categories

UserTaskUserTask

SystemTask

SystemTask

UserTaskUserTask

PhysicalStructurePhysicalStructure

op

….polymorphismpolymorphism

…. polymorphismpolymorphism

…. polymorphismpolymorphism

ICS-FORTH Slide 275Stephanidis, Savidis & Akoumianakis

Unified User Interface Design -agenda

Need and key propertiesPolymorphic task hierarchies

Process descriptionDesigning alternative interaction artefactsRe-engineering designs via abstract objects

ICS-FORTH Slide 276Stephanidis, Savidis & Akoumianakis

Polymorphic Task Decomposition-Process Overview

unimorphicdecompositionunimorphic

decomposition

polymorphicdecompositionpolymorphic

decomposition

abstracttask designabstract

task designphysical

task designphysical

task design

decomposedecomposedecomposedecompose

subsub--taskstasks subsub--taskstasks

polymorphosepolymorphosepolymorphosepolymorphose

subsub--hierarchieshierarchies subsub--hierarchieshierarchies

Page 70: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 277Stephanidis, Savidis & Akoumianakis

Polymorphic Task Decomposition-Alternative paths

• Abstract versus Physical tasks

• Unimorphic versus Polymorphic tasks

• Sub-tasks versus sub-hierarchies

ICS-FORTH Slide 278Stephanidis, Savidis & Akoumianakis

Polymorphic Task Decomposition-Process Description (1/2)

• Start from abstract task design if given task is not bound to the physical means of interaction, and then– polymorphose, if decision parameters impose the

need for alternative styles on user- / system- tasks and / or physical structure

– decompose, when alternative designs are needed for the same style

ICS-FORTH Slide 279Stephanidis, Savidis & Akoumianakis

Polymorphic Task Decomposition-Process Description (2/2)

• Start from physical task design if given task is dependent on the physical means of interaction, and then– polymorphose, if decision parameters impose the

need for alternative styles on user- / system- tasks and / or physical structure

– decompose, when an alternative design is needed to realize the same style

ICS-FORTH Slide 280Stephanidis, Savidis & Akoumianakis

Polymorphic Task Decomposition-Process Instance Example

SelectFile

SelectFile Select

DeleteSelectDelete Confirm

DeleteConfirmDelete

before before

visual

non-

visu

allis

t box

DeleteFile

DeleteFile

DirectManipulation

DirectManipulation

ModaldialogueModal

dialogue

abstracttask

abstracttask

abstracttask

abstracttask

SelectSelectFileFile

........

alternativesub-hierarchies

alternativesub-hierarchies

abstracttask

abstracttask

taskhierarchy

taskhierarchy

alternativesub-hierarchies

alternativesub-hierarchies

abstracttask

abstracttask

physicaltask

physicaltask

DeleteDeleteFileFile

--DirectDirectManipul’nManipul’n

--ModalModalDialogueDialogue

subsub--hierarchyhierarchy

subsub--hierarchyhierarchy

subsub--hierarchyhierarchy

subsub--hierarchyhierarchy

1 2

3

4 5

6

Polymorphic Polymorphic decompositiondecomposition

--VisualVisual--NonNon--visualvisual

NonNon--visualvisualBraille & Braille & kbdkbd

VisualVisualrubberrubber--bandingbanding

SelectSelectDeleteDelete

........

........

........

Unimorphic Unimorphic decompositiondecomposition

Polymorphic Polymorphic decompositiondecomposition

Page 71: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 281Stephanidis, Savidis & Akoumianakis

Unified User Interface Design -agenda

Need and key propertiesPolymorphic task hierarchiesProcess description

Designing alternative interaction artefacts (or styles)Re-engineering designs via abstract objects

ICS-FORTH Slide 282Stephanidis, Savidis & Akoumianakis

Designing Alternative Interaction Artifacts - Three Fundamental Steps

– Construct the space of user / context attributes

– Identify when polymorphic decomposition is needed, then produce and enumerate alternative styles

– Record design rationale for each alternative style

ICS-FORTH Slide 283Stephanidis, Savidis & Akoumianakis

Design parameters (1/2)

User attributes• General computer expertise• Application domain knowledge• Work-role in an organisational

context• Motor / sensory / mental abilities• Particular interaction

preferences

Context of use• Acoustic noise• Light sources• Mobility

Platform• Processor speed, memory,

secondary storage• Peripheral equipment• Resolution, screen physical

size, graphics capabilitiesICS-FORTH Slide 284Stephanidis, Savidis & Akoumianakis

Design parameters (2/2)

• In practice, only a sub-set of user- and context- attributes will be selected as relevant for affecting the decomposition of a particular task

• In many cases, multiple values for a particular attribute can be satisfied by the design of a single style

Page 72: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 285Stephanidis, Savidis & Akoumianakis

When to Apply PolymorphicDecomposition

• Styles correspond to execution contexts• Execution contexts are defined by the

triad <User profile, Platform, Context >• A style should be designed so as to

facilitate specific task execution context(s)

• A particular style may be good enough for an execution context but totally inappropriate for another

ICS-FORTH Slide 286Stephanidis, Savidis & Akoumianakis

Example: Scanning style(s) (1/2)

• Scanning as an alternative style for window management

ICS-FORTH Slide 287Stephanidis, Savidis & Akoumianakis

Example: Scanning style(s) (2/2)

• Editing using an on-screen keyboard

ICS-FORTH Slide 288Stephanidis, Savidis & Akoumianakis

Alternative styles for deleting a file(1/2)

• Selecting from a list of interactive file icons or a directory

Page 73: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 289Stephanidis, Savidis & Akoumianakis

Alternative styles for deleting a file(2/2)

• Specifying the object and then issuing the command

ICS-FORTH Slide 290Stephanidis, Savidis & Akoumianakis

Recording Design Rationale for Alternative Styles (1/2)

• Develop suitable argumentation for each style– Why does it exist ?– What execution context does it support ?– When should it be initiated ?– Where is it implemented ?– How does it compare against competing styles ?

ICS-FORTH Slide 291Stephanidis, Savidis & Akoumianakis

Recording Design Rationale for Alternative Styles (2/2)

Style :

Targets :

Parameters :

Properties :

Relationships :

Task: Delete File

Direct Manipulation Modal Dialogue

Speed, naturalness, flexibility Safety, guided steps

User (expert, frequent, average) User (casual, naive)

Object first, function next

Function first, object next

Exclusive Exclusive

ICS-FORTH Slide 292Stephanidis, Savidis & Akoumianakis

Analysing styles

• Styles can be evaluated and compared– Performance measures– Heuristics– User satisfaction, etc

• Evaluation or comparison can form part of the styles design rationale– Representation– Reasoning about styles

Page 74: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 293Stephanidis, Savidis & Akoumianakis

Style analysis example

• Develop styles for command order in direct manipulation dialogues

– Function-Object style

– Object-Function style

FF OO1st click1st click 2nd click2nd click

OO1st click1st click 2nd click2nd click

FF

ICS-FORTH Slide 294Stephanidis, Savidis & Akoumianakis

Styles for command order (1/2)

• Function-Object style

ICS-FORTH Slide 295Stephanidis, Savidis & Akoumianakis

Styles for command order (2/2)

• Object-Function Style

ICS-FORTH Slide 296Stephanidis, Savidis & Akoumianakis

Style analysis

• Experiment– Command order as dependent variable

• Analytical criteria– Task completion time– Efficiency of task performance– Frequency of errors– Action time– Planning time, etc

Page 75: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 297Stephanidis, Savidis & Akoumianakis

Results

• Command ordering is indifferent across a range of dependent variables

• task completion time• efficiency of task performance• frequency of errors

• There is a preference ranking for command for

• action time• planning time

ICS-FORTH Slide 298Stephanidis, Savidis & Akoumianakis

Style relationships

Exclusion• Relates many styles together • Only one out of those styles

can be available to the user during interaction

Compatibility• Relates many styles together • Any, some, or all of those styles

may be available to the user during interaction

Substitution• Relates two ordered groups of

styles S1 and S2• When S1 is available during

interaction, and at some point S2 should be also made available, S1 must be closed down

Augmentation• Relates a single style S1 with a

group of styles S2 • If any style belonging to S2

group is available during interaction, S1 may also become available

ICS-FORTH Slide 299Stephanidis, Savidis & Akoumianakis

Style relationship examples:Compatibility

$ rm a_ commandline

commandline

f1.txtf1.txt

f2.txtf2.txta1.txta1.txt

a2.txta2.txt

interactivedirectory treeinteractive

directory treeinteractivefile icons

interactivefile icons augmentation

compatibility

compatibility

ICS-FORTH Slide 300Stephanidis, Savidis & Akoumianakis

Style relationship examples:Substitution (1/4)

A simple dialog from whichA simple dialog from whichthe user selects and loadsthe user selects and loads

previously visited documents...previously visited documents...S1

Page 76: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 301Stephanidis, Savidis & Akoumianakis

Style relationship examples:Substitution (2/4)

... gets converted to the... gets converted to thesame dialogue with integratedsame dialogue with integratedguidance, if the user seems toguidance, if the user seems to

be unable to comprehend be unable to comprehend its use.its use.S2

ICS-FORTH Slide 302Stephanidis, Savidis & Akoumianakis

Style relationship examples:Substitution (3/4)

<<link>>S1. Link selection is done as far as the mouse cursor is within the text area of a link and the left mouse button is pressed.

S2. Link selection is done by pressing the software graphical button.The difference with S1 is that it allows cancellation (by releasing the button while the cursor is outside the button area).

<link>

ICS-FORTH Slide 303Stephanidis, Savidis & Akoumianakis

Style relationship examples:Substitution (4/4)

Links presented Links presented as buttonsas buttons S2

ICS-FORTH Slide 304Stephanidis, Savidis & Akoumianakis

Unified User Interface Design -agenda

Need and key propertiesPolymorphic task hierarchiesProcess description

Designing alternative interaction artifacts

Re-engineering designs via abstract objects

Page 77: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 305Stephanidis, Savidis & Akoumianakis

The Importance of Abstract Objects in Unified User Interface design

Capturing abstractions in Unified User Interface design is a powerful technique for creating polymorphic, highly extensible and flexible design artefacts, not tight to specific metaphors or toolkits

ICS-FORTH Slide 306Stephanidis, Savidis & Akoumianakis

Abstract Objects - Definitions

• An abstract object is– completely relieved from lexical properties and – particular metaphoric connotations

• A generalised object exhibits – common lexical properties of a particular interaction object

class encountered across multiple platforms

• The above distinction is important in order to avoid characterising cross-platform objects as abstract objects, since the former are actually generalised objects

ICS-FORTH Slide 307Stephanidis, Savidis & Akoumianakis

Abstract Objects - The Polymorphic Nature

abstractobject

abstractobject

generalisedobject

generalisedobject

generalisedobject

generalisedobject

toolkitobject

toolkitobject

toolkitobject

toolkitobject

toolkitobject

toolkitobject

toolkitobject

toolkitobject

1:N1:N 1:N1:N

1:N1:N

commandcommandbuttonbutton

nonnon--visualvisualbuttonbutton{.wav,…}{.wav,…}

deskdesk--toptoppush buttonpush button{x,y,width,…}{x,y,width,…}

HAWKHAWKButtonButton

RoomsRoomsButtonButton

WINDOWSWINDOWSButtonButton

MotifMotifButtonButton

ICS-FORTH Slide 308Stephanidis, Savidis & Akoumianakis

Role of Abstract Objects in UnifiedUser Interface Design

• Role-based model for re-engineering the design of interaction artifacts whichidentifies abstractions from physically designed artifacts– This is necessary since designers, especially

graphic designers, primarily think in terms of interaction primitives with a concrete "look & feel"

Page 78: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 309Stephanidis, Savidis & Akoumianakis

Re-engineering Approach

• Let S be a physical interaction artefact

• Abstract to derive A on the basis of design roles

• Document A as the abstract design artifact, having S as a specific physical design instance

• Generate alternative physical artefacts on the basis of A

abstractionsidentified

abstractionsidentified

physicalscenariophysicalscenario

higher-leveldesign scenario

higher-leveldesign scenario

3

2

1 rolesrolesassignedassigned

instance ofinstance of

filter via role-based

model

filter via role-based

model

ICS-FORTH Slide 310Stephanidis, Savidis & Akoumianakis

Role-based Model for Interaction Objects (1/2)

interactionobject

interactionobject

designrole

designrole

syntacticpropertiessyntactic

propertieslexical

propertieslexical

properties

semanticsemantic syntacticsyntactic lexicallexical

inherited from toolkitinherited from toolkit

decided by interface designerdecided by interface designer

ICS-FORTH Slide 311Stephanidis, Savidis & Akoumianakis

Role-based Model for Interaction Objects (2/2)

• An object is characterised by its lexical and syntactic properties (i.e. "look & feel"), inherited from the respective s/w toolkit

• In artefacts, engaged objects gain a well defined design role, being either semantic, syntactic or lexical

ICS-FORTH Slide 312Stephanidis, Savidis & Akoumianakis

Lexical Role - Definition

• Lexical role: the object is employed for presentation needs

If such a role can be applied independently of physical realisation and overall metaphor of interaction, then an abstract object is identified If the role is dependent on a particular metaphor (e.g. desktop), but has a cross-toolkit scope, then a generalisationhas been captured

Page 79: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 313Stephanidis, Savidis & Akoumianakis

Lexical Role - Example

• A message object, having only one attributedefining the message content in textual form – Content could be verbal (i.e. the attribute denotes

a phrase in natural language), or– symbolic (i.e. the attribute indicates a file storing

a symbolic sequence - icon, picture, audio, video)

ICS-FORTH Slide 314Stephanidis, Savidis & Akoumianakis

Syntactic Role - Definition

• Syntactic role: the object serves a well defined purpose in dialogue sequencing– If such a role can be applied independently of

physical realisation and metaphor, then an abstraction is identified

ICS-FORTH Slide 315Stephanidis, Savidis & Akoumianakis

Syntactic Role - Example

• The "continue", "OK", "submit" buttons, play the role of direct commands given by the user, and areappropriate for abstraction

but

• The "scroll-bar" applies only to windowing interaction, and is appropriate for generalisation

ICS-FORTH Slide 316Stephanidis, Savidis & Akoumianakis

Semantic Role - Definition

• Semantic role: the interaction object interactively provides a semantic object– Always possible to transform the role into an

abstraction

Page 80: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 317Stephanidis, Savidis & Akoumianakis

Semantic Role - Example

• Typical textual data fields such as "name", "zip code", etc, can be handled via the textfield abstraction

• Numeric data fields can be handled via the valuator abstraction

ICS-FORTH Slide 318Stephanidis, Savidis & Akoumianakis

An example

• Design the dialogue through which a user can enter information about his/her credit card

• Information to be entered includes:– Card number– Expire data– Type of card– etc

ICS-FORTH Slide 319Stephanidis, Savidis & Akoumianakis

A plausible design solution

Credit Card No: ^Credit Card No: ^Expires: ^__/__Expires: ^__/__

VISAVISA

Other ^Other ^MasterCardMasterCard AccessAccess

SubmitSubmit

ICS-FORTH Slide 320Stephanidis, Savidis & Akoumianakis

logical grouping(abstract syntactic)logical grouping

(abstract syntactic)

Design Re-engineering Example- Identifying roles

groupseparator

(generalisedsyntactic)

groupseparator

(generalisedsyntactic)SubmitSubmitcommand

(abstractsyntactic)

command(abstractsyntactic)

Credit Card No: Credit Card No: Expires: Expires:

VISAVISA

Other Other MasterCardMasterCard AccessAccess

label associatedto domain object

(abstract syntactic)

label associatedto domain object

(abstract syntactic)

check-boxes(exclusive choice -abstract semantic)

check-boxes(exclusive choice -abstract semantic)

__/____/__

Number or name(abstractsemantic)

Number or name(abstractsemantic)

Page 81: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 321Stephanidis, Savidis & Akoumianakis

Design Re-engineering Example- Producing Abstract Model

label & valuatorlabel & valuator

groupinggrouping

exclusive choices & labelsexclusive choices & labels

commandcommand

label & valuatorlabel & valuator 222111

333

444

4 groups,4 digits/group

title

month,year

ICS-FORTH Slide 322Stephanidis, Savidis & Akoumianakis

Design Re-engineering Example- Deriving Alternatives (1/2)

VISAVISAVISA

MasterCardMasterCardMasterCard

111 222 333 444 555 666 777 888 999 101010 111111 121212

199719971997 199819981998 199919991999 200020002000

“Expires”“Expires”

Radio Groups

^̂̂

WindowWindow

VISAVISA

SubmitSubmit

AccessAccessAccess

ComboBoxComboBox

PushButtonPushButton

TextEntryTextEntry

““CardNoCardNo””

ICS-FORTH Slide 323Stephanidis, Savidis & Akoumianakis

Design Re-engineering Example- Deriving Alternatives (2/2)

textfieldtextfield

“card no”“card no”

RoomRoom

frontwall

frontwallentrysoundentrysound

leftwallleftwallentrysoundentrysound

rightwall

rightwallentry

soundentry

sound

textfieldtextfield

“expires”“expires”

toggletoggle

“VISA”“VISA”toggletoggle

“MasterCard”“MasterCard”toggletoggle

“Access”“Access”

buttonbutton

“Submit”“Submit”

“card info”“card info”

ICS-FORTH Slide 324Stephanidis, Savidis & Akoumianakis

Summary

• Use when execution context varies– alternatives should be enumerated for differentiating user-

and context- parameters for the same tasks

• Based on polymorphic task hierarchies,– styles designated to execution contexts of a task

• Driven by diversity – user- and context- attributes, being the primary design

parameters

Page 82: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 325Stephanidis, Savidis & Akoumianakis

Benefits

• A “middle-out” approach to design• Useful for designing adaptable and

adaptive user interfaces• It links with analytical approaches

to HCI design• It facilitates design updates

ICS-FORTH Slide 326Stephanidis, Savidis & Akoumianakis

Applications of the method

• In the ACCESS project– Design of communication aids for speech-

motor and language-cognitive impaired users

– Non-visual hypermedia for blind

• The AVANTI browser

ICS-FORTH Slide 327Stephanidis, Savidis & Akoumianakis

Links with other HCI design methods

• Unified design is orthogonal to existing design techniques– Observation which reveals patterns and artefacts

in use– Task analysis in cases where a “system” is

already available– Envisioning and rapid prototyping to assess with

users likely options– Other formative techniques which reveal artefacts

and patterns of use (e.g., scenarios)ICS-FORTH Slide 328Stephanidis, Savidis & Akoumianakis

Concluding Remarks(1/3)

• The Information Society is characterised by a considerable diversity in users and usage contexts

• Accessible and high-quality of interaction is crucial to ensure that anyone,anywhere and at anytime is enabled to use interactive s/w applications and services

Page 83: Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified User Interface ... kiosk mode operation. ICS-FORTH ... Design view – A user interface

ICS-FORTH Slide 329Stephanidis, Savidis & Akoumianakis

Concluding Remarks(2/3)

• Design differentiation is necessary to address diversity – no single design can satisfy the needs of all users

in all usage-contexts• Unified User Interface Development

aims to address those challenges through a systematic interface design and engineering process, pursuing automatic user interface adaptation

ICS-FORTH Slide 330Stephanidis, Savidis & Akoumianakis

Concluding Remarks(3/3)

• During the design phase, the Unified User Interface development mainly affects the artifact organisation process, rather than the artifact generation approach

• During the engineering phase, it mainly affects the software architecture, and dialogue component organisation, rather than the dialogue implementation approach

• These factors contribute to low deployment cost