Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified...
-
Upload
truongnhan -
Category
Documents
-
view
226 -
download
4
Transcript of Universally Accessible UIs: The Unified User Interface · Universally Accessible UIs: The Unified...
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
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
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
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
, Cat
alog
ueAP
I, C
ompo
nent
Mod
el,
Inde
, Cat
alog
ue
Dialogue Patterns Component
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
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
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
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
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
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
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
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
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
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 ?
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
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
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
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
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
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
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
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
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
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
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
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
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;
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;
}
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;
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
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
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
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
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
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
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
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
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
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
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 ?
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 ?
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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"
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
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
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)
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
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
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