Université catholique de Louvain (UCL) Belgian Laboratory of Computer-Human Interaction (BCHI)...
-
Upload
kristin-whitehead -
Category
Documents
-
view
219 -
download
0
Transcript of Université catholique de Louvain (UCL) Belgian Laboratory of Computer-Human Interaction (BCHI)...
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
1
Université catholique de Louvain (UCL)Belgian Laboratory of Computer-Human Interaction (BCHI)Place des Doyens, 1B-1348 Louvain-la-Neuve (Belgium)
Presented by
Multimodality and context-aware Multimodality and context-aware adaptationadaptation
Quentin Limbourg, Jean Vanderdonckt
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
2
Context-awarenessContext-awareness
What is in the context of use?– User– Platform– Environment
• Organisation• Socio-psychological factors
Two examples of adaptation due to context-awareness– Adaptability = adaptation by the user– Adaptivity = adaptation by the system
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
3
Example of adaptabilityExample of adaptability
Personalisation– Requires many editing– Is hard to achieve– Does not necessarily factor out common parts– Does not necessarily separate fixed parts from variable parts
Goal– To have a system for automated generation of UIs
• With support of personalisation• That can generate multiple variants of the same UI
– For this purpose, we use• A feature model• Generative Programming
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
4
CC
F1F1
CC
F1F1 F2F2
CC
F1F1 F2F2
DependenciesDependencies
1.1.
2.2.
What‘s a Feature Model?What‘s a Feature Model?
OptionalOptional ExclusiveExclusive
AlternateAlternate
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
5
Example of a Feature ModelExample of a Feature Model
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
6
Feature modelFeature model
CC
F1F1 F2F2 F3F3
F2aF2a F2bF2b F3aF3a F3bF3b
CC
F1F1 F2F2 F3F3
F2aF2a F2bF2b F3aF3a F3bF3b
0 1 1
1 10 0
Model SpecificationsModel Specifications
<C> <F1>0</F1> <F2>1 <F2a>1</F2a> <F2b>0</F2b> </F2> <F3>1 <F3a>0</F3a> <F3b>1</F3b> </F3></C>
<C> <F1>0</F1> <F2>1 <F2a>1</F2a> <F2b>0</F2b> </F2> <F3>1 <F3a>0</F3a> <F3b>1</F3b> </F3></C>
USIXMLSpecifications
USIXMLSpecifications
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
7
Generative ProgrammingGenerative Programming
void channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL); void channelRange (T*, Pl* ppl = NULL ); void nlinFilterCommon (const int& nID, Mask*, Pl*); int pot (const unsigned int& ) const;
ImgProcessT<T>& channelXor (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelSubBalanced(T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelMix ImgProcessT<T>& channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelSubBalanced(T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelSubBalanced(T*, T*, Pl* ppl = NULL);
void channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL); void channelRange (T*, Pl* ppl = NULL ); void nlinFilterCommon (const int& nID, Mask*, Pl*); int pot (const unsigned int& ) const;
ImgProcessT<T>& channelXor (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelSubBalanced(T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelMix ImgProcessT<T>& channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelSubBalanced(T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelSubBalanced(T*, T*, Pl* ppl = NULL);V
oid channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL); void channelRange (T*, Pl* ppl = NULL ); void nlinFilterCommon (const int& nID, Mask*, Pl*); int pot (const unsigned int& ) const;
ImgProcessT<T>& channelXor (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelSubBalanced(T*, T*, Pl* ppl = NULL);
public: ImgProcessT(const char* const psz = "", Pl* ppl = NULL); ImgProcessT(const int&, const int& nWidth = 20, const int& nHeight = 20, const int& nFillColor = 0, ProgressLine* ppl = NULL ); ImgProcessT(const ImgProcessT<T>&); virtual ~ImgProcessT();
virtual char* getClassName() const; virtual char getClassID () const;
ImgProcessT<T>& operator+=(const ImgProcessT<T>&); ImgProcessT<T>& operator-=(const ImgProcessT<T>&); ImgProcessT<T>& operator^=(const ImgProcessT<T>&); ImgProcessT<T> operator+ (const ImgProcessT<T>&); ImgProcessT<T> operator- (const ImgProcessT<T>&); ImgProcessT<T> operator^ (const ImgProcessT<T>&);
ImgProcessT<T>& channelNLinFilter(const int&, Mask*, T*, Pl* ppl=NULL);mgProcessT<T>& operator+=(const ImgProcessT<T>&); ImgProcessT<T>& operator-=(const ImgProcessT<T>&); ImgProcessT<T>& operator^=(const ImgProcessT<T>&); ImgProcessT<T> operator+ (const ImgProcessT<T>&); ImgProcessT<T> operator- (const ImgProcessT<T>&); ImgProcessT<T> operator^ (const ImgProcessT<T>&);
ImgProcessT<T>& channelNLinFilter(const int&, Mask*, T*, Pl* ppl=NULL);
V
oid channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL); void channelRange (T*, Pl* ppl = NULL ); void nlinFilterCommon (const int& nID, Mask*, Pl*); int pot (const unsigned int& ) const;
ImgProcessT<T>& channelXor (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelSubBalanced(T*, T*, Pl* ppl = NULL);
public: ImgProcessT(const char* const psz = "", Pl* ppl = NULL); ImgProcessT(const int&, const int& nWidth = 20, const int& nHeight = 20, const int& nFillColor = 0, ProgressLine* ppl = NULL ); ImgProcessT(const ImgProcessT<T>&); virtual ~ImgProcessT();
virtual char* getClassName() const; virtual char getClassID () const;
ImgProcessT<T>& operator+=(const ImgProcessT<T>&); ImgProcessT<T>& operator-=(const ImgProcessT<T>&); ImgProcessT<T>& operator^=(const ImgProcessT<T>&); ImgProcessT<T> operator+ (const ImgProcessT<T>&); ImgProcessT<T> operator- (const ImgProcessT<T>&); ImgProcessT<T> operator^ (const ImgProcessT<T>&);
ImgProcessT<T>& channelNLinFilter(const int&, Mask*, T*, Pl* ppl=NULL);mgProcessT<T>& operator+=(const ImgProcessT<T>&); ImgProcessT<T>& operator-=(const ImgProcessT<T>&); ImgProcessT<T>& operator^=(const ImgProcessT<T>&); ImgProcessT<T> operator+ (const ImgProcessT<T>&); ImgProcessT<T> operator- (const ImgProcessT<T>&); ImgProcessT<T> operator^ (const ImgProcessT<T>&);
ImgProcessT<T>& channelNLinFilter(const int&, Mask*, T*, Pl* ppl=NULL);
void channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL); void channelRange (T*, Pl* ppl = NULL ); void nlinFilterCommon (const int& nID, Mask*, Pl*); int pot (const unsigned int& ) const;
ImgProcessT<T>& channelXor (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelSubBalanced(T*, T*, Pl* ppl = NULL);
void channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL); void channelRange (T*, Pl* ppl = NULL ); void nlinFilterCommon (const int& nID, Mask*, Pl*); int pot (const unsigned int& ) const;
ImgProcessT<T>& channelXor (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelSubBalanced(T*, T*, Pl* ppl = NULL);
US
IXM
L-S
p eci
f ica
t ion
US
IXM
L-S
p eci
f ica
t ion
ImgProcessT<T>& channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelSubBalanced(T*, T*, Pl* ppl = NULL) ImgProcessT<T>& channelMix (T*, T*, Pl* ppl = NULL);
ImgProcessT<T>& channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelSubBalanced(T*, T*, Pl* ppl = NULL)
ImgProcessT<T>& channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelSubBalanced(T*, T*, Pl* ppl = NULL) ImgProcessT<T>& channelMix (T*, T*, Pl* ppl = NULL);
ImgProcessT<T>& channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelSubBalanced(T*, T*, Pl* ppl = NULL)
Components void areaOperation(const int&, const int&, const int&, const int&, ImgProcessT<T>& (ImgProcessT<T>::*pimgpr)(const int&, Pl*), const int& nAngle, Pl* ppl );
void areaOperation(const int&, const int&, const int&, const int&, ImgProcessT<T>& (ImgProcessT<T>::*pimgpr)(Pl*), Pl* ppl );
void areaOperation(const int&, const int&, const int&, const int&, ImgProcessT<T>& (ImgProcessT<T>::*pimgpr)(const int&, const int&, const int&, const int& ), const int&, const int&, const int&, const int& );
void channelShowHistogram( int*, const int&, const int&, const int&, const int&, const int&, const int&, const int& n = 0 ) const;
void channelFft ( T*, T*, T*, const unsigned int&, const unsigned int&, Pl* ppl = NULL ); void channelIfft ( T*, T*, T*, const unsigned int&, const unsigned int&, Pl* ppl = NULL );
void channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL); void channelRange (T*, Pl* ppl = NULL ); void nlinFilterCommon (const int& nID, Mask*, Pl*); int pot (const unsigned int& ) const;
ImgProcessT<T>& channelXor (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelSubBalanced(T*, T*, Pl* ppl = NULL);
public: ImgProcessT(const char* const psz = "", Pl* ppl = NULL); ImgProcessT(const int&, const int& nWidth = 20, const int& nHeight = 20, const int& nFillColor = 0, ProgressLine* ppl = NULL ); ImgProcessT(const ImgProcessT<T>&); virtual ~ImgProcessT();
virtual char* getClassName() const; virtual char getClassID () const;
ImgProcessT<T>& operator+=(const ImgProcessT<T>&);I
void areaOperation(const int&, const int&, const int&, const int&, ImgProcessT<T>& (ImgProcessT<T>::*pimgpr)(const int&, Pl*), const int& nAngle, Pl* ppl );
void areaOperation(const int&, const int&, const int&, const int&, ImgProcessT<T>& (ImgProcessT<T>::*pimgpr)(Pl*), Pl* ppl );
void areaOperation(const int&, const int&, const int&, const int&, ImgProcessT<T>& (ImgProcessT<T>::*pimgpr)(const int&, const int&, const int&, const int& ), const int&, const int&, const int&, const int& );
void channelShowHistogram( int*, const int&, const int&, const int&, const int&, const int&, const int&, const int& n = 0 ) const;
void channelFft ( T*, T*, T*, const unsigned int&, const unsigned int&, Pl* ppl = NULL ); void channelIfft ( T*, T*, T*, const unsigned int&, const unsigned int&, Pl* ppl = NULL );
void channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL); void channelRange (T*, Pl* ppl = NULL ); void nlinFilterCommon (const int& nID, Mask*, Pl*); int pot (const unsigned int& ) const;
ImgProcessT<T>& channelXor (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT<T>& channelSubBalanced(T*, T*, Pl* ppl = NULL);
public: ImgProcessT(const char* const psz = "", Pl* ppl = NULL); ImgProcessT(const int&, const int& nWidth = 20, const int& nHeight = 20, const int& nFillColor = 0, ProgressLine* ppl = NULL ); ImgProcessT(const ImgProcessT<T>&); virtual ~ImgProcessT();
virtual char* getClassName() const; virtual char getClassID () const;
ImgProcessT<T>& operator+=(const ImgProcessT<T>&);I
Final codeImgProcessT<T>& channelAdd (T*, T*, Pl* ppl = NULL);
ImgProcessT<T>& channelSubBalanced(T*, T*, Pl* ppl = NULL);
public:
ImgProcessT(const char* const psz = "", Pl* ppl = NULL);
ImgProcessT(const int&,
const int& nWidth = 20,
const int& nHeight = 20,
const int& nFillColor = 0,
ProgressLine* ppl = NULL
);
ImgProcessT<T>& channelAdd (T*, T*, Pl* ppl = NULL);
ImgProcessT<T>& channelSubBalanced(T*, T*, Pl* ppl = NULL);
public:
ImgProcessT(const char* const psz = "", Pl* ppl = NULL);
ImgProcessT(const int&,
const int& nWidth = 20,
const int& nHeight = 20,
const int& nFillColor = 0,
ProgressLine* ppl = NULL
);
void channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL);
void channelRange (T*, Pl* ppl = NULL );
void channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL);
void channelRange (T*, Pl* ppl = NULL );
void channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL);
void channelRange (T*, Pl* ppl = NULL );
void channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL);
void channelRange (T*, Pl* ppl = NULL );
void channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL);
void channelRange (T*, Pl* ppl = NULL );
void channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL);
void channelRange (T*, Pl* ppl = NULL );
void channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL);
void channelRange (T*, Pl* ppl = NULL );
void channelFftSpectrum(T*, T*, T*, Pl* ppl = NULL);
void channelRange (T*, Pl* ppl = NULL );
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
8
Example of adaptivityExample of adaptivity
Computer-aided surgery by mixed reality
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
9
Multi-platformMulti-platform
Extending approaches for multiple contexts of use– Context is now restricted
to one computing platformat a time
Final User Interface
Physical User Interface
Logical User Interface
Task & Concepts
Platform 1:Web terminal
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
10
Multi-platformMulti-platform
Traditional approach: last level only
Final User Interface
Platform 1:Web terminal
Platform 2:Personal computer
Final User Interface
Platform 3:Pocket PC
Final User Interface
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
11
Multi-platformMulti-platform
Traditional approach: Atomica
HTML/Java UI code
Platform 1:Web terminal
Platform 2:Personal computer
Visual C++ UI code
Platform 3:Pocket PC
Mobile Visual Basic UI
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
12
Multi-platformMulti-platform
Shortcomings of the traditional approach (ct’d)– Repetition of development and maintenance
[UIML,1999]
Platform 1:Web terminal
Platform 2:PC
Platform 3:Pocket PC
Java UI #1 C++ UI #1 Mobile UI #1Application #1
Java UI #2 C++ UI #2 Mobile UI #2Application #2
Java UI #3 C++ UI #3 Mobile UI #3Application #3
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
13
Multi-platformMulti-platform
Physical level deployment
Platform 1:
Final User Interface
Physical User Interface
Platform 2:
Final User Interface
Physical User Interface
Platform 3:
Final User Interface
Physical User Interface
= Translation relationship= Transformation at the same level of abstraction
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
14
Multi-platformMulti-platform
Physical level deployment: Galaxy
Windows UI code
Physical User Interface
Platform 1:Personal Computer
Platform 2:Macintosh Mac OS
Macintosh UI code
Physical User Interface
Platform 3:Workstation OSF/Motif
OSF/Motif UI code
Physical User Interface
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
15
Multi-platformMulti-platform
Physical level deployment: Galaxy
Windows UI code
Platform 1:Personal Computer
Platform 2:Macintosh Mac OS
Macintosh UI code
Platform 3:Workstation OSF/Motif
OSF/Motif UI code
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
16
Multi-platformMulti-platform
Logical level deployment
Final User Interface
Physical User Interface
Logical User Interface
Platform 1:Personal Computer
Platform 2:Macintosh Mac OS
Final User Interface
Physical User Interface
Logical User Interface
Platform 2:Workstation OSF/Motif
Final User Interface
Physical User Interface
Logical User Interface
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
17
Multi-platformMulti-platform
Logical level deployment: UIML
HTML UI code
HTML Renderer
UIML Specification
Platform 1:Personal Computerwith Web browser
Platform 2:Personal ComputerWith XML browser
XML UI code
XML Renderer
Platform 3:Mobile Phone
WML UI code
WML Rendered
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
18
<?xml version="1.0" ... ?><uiml version="2.0">
</uiml>
Multi-platform:Multi-platform:UIML Skeleton – Part 1UIML Skeleton – Part 1
What parts comprise the UI &what’s their relationship?
<interface> <structure> <part class=“Button”> … </part>
... </structure>
</interface>
[Abrams et al., 1999]
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
19
Multi-platformMulti-platform
Task & Concepts level deployment
Final User Interface
Physical User Interface
Logical User Interface
Task & Concepts
Platform 1 Platform 2
Final User Interface
Physical User Interface
Logical User Interface
Task & Concepts
Platform 3
Final User Interface
Physical User Interface
Logical User Interface
Task & Concepts
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
20
Multi-platformMulti-platform
Final User Interface
Physical User Interface
Logical User Interface
Task & Concepts
Platform 1 Platform 2
Final User Interface
Physical User Interface
Logical User Interface
Task & Concepts
Platform 3
Final User Interface
Physical User Interface
Logical User Interface
Task & Concepts
Multiple levels of translation/reification[Thevenin,2001]
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
21
Multi-platformMulti-platform
Translation at Task & Concept level
Final User Interface
Physical User Interface
Logical User Interface
Task & Concepts
Platform 1 Platform 2
Final User Interface
Physical User Interface
Logical User Interface
Task & Concepts
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
22
Multi-platformMulti-platform
Translation at Task & Concept level– Task model primitives
• Sub-tasks (nodes)– Remove sub-task: for different reasons– Add sub-task: unlikely to appear– Modify sub-task: switch, reshuffle, relax constraints
• Hierarchical & temporal operators (edges)– Modify temporal operator: reordering– Cutting sub-trees
– Concepts model primitives
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
23
Register to CHI’2001 Conference
Pay registration
By credit card By fax
[ ]
RecordPayment mode
>>
Specify all registration needs
Enter personal information Specify special needs Specify attendee type
| | | | | |
>>
Multi-platformMulti-platform
Task translation
| | |
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
24
Multi-platformMulti-platform
Concepts removal: CT-UIMS[Märtin,1990]
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
25
Multi-platformMulti-platform
Final User Interface
Physical User Interface
Logical User Interface
Task & Concepts
Platform 1 Platform 2
Final User Interface
Physical User Interface
Logical User Interface
Task & Concepts
Translations T&C + logical levels
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
26
Multi-platformMulti-platform
Translations T&C + logical levels
Specify all registration needs
Enter personal information Specify special needs Specify attendee type
| | | | | |
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
27
Multi-platformMulti-platform
Translations T&C + logical levels
Specify all registration needs
Enter personal information Specify special needs Specify attendee type
| | | >>
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
28
Multi-platformMulti-platform
Translations T&C +logical levels
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
29
Multi-platformMulti-platform
Final User Interface
Physical User Interface
Logical User Interface
Task & Concepts
Platform 1 Platform 2
Final User Interface
Physical User Interface
Logical User Interface
Task & Concepts
Translations T&C + logical + physical levels
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
30
Multi-platformMulti-platform
Translations T&C + logical + physical levels– T&C + logical remain constant over time or
coordinated with changes– Graceful degradation of presentation
• Widgets: replacement, reduction, resizing• Text: text summarization, sentence elision,
automatic summary• Images: color reduction, cropping, resizing,…• Animation: reduction to still images,…• Video: reduction of frame, refreshing,…
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
31
Multi-platformMulti-platform
Graceful degradation of presentation– Widgets
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
32
Multi-Multi-platformplatform Graceful
degradation of presen-tation– Images
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
33
Multi-platformMulti-platform
Graceful degradation of presentation– Images
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
34
Multi-platformMulti-platform
Final User Interface
Physical User Interface
Logical User Interface
Task & Concepts
Platform 1 Platform 2
Final User Interface
Physical User Interface
Logical User Interface
Task & Concepts
Translations combined at all levels
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
35
Multi-platformMulti-platform
Multiple transformations possible
Final User Interface
Physical User Interface
Logical User Interface
Task & Concepts
Platform 1 Platform 2
Final User Interface
Physical User Interface
Logical User Interface
Task & Concepts
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
36
Multi-platformMulti-platform
Plastic UI = UI that can accomodate multiple changes of context (here, platforms) while preserving some usability properties
Final User Interface
Physical User Interface
Logical User Interface
Task & Concepts
Platform 1 Platform 2 Platform 3
Final User Interface Final User Interface
[Calvary, Coutaz & Thevenin, 2001]
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
37
Multi-platformMulti-platform
Plastic UI: Virtual keyboard[Grolaux, 2001]
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
38
Multi-platformMulti-platform
Plastic UI: FlexClock[Grolaux, Van Roy, Vanderdonckt, 2002]
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
39
Multi-platformMulti-platform
Plastic UI: adaptable bounded value
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
40
Multi-platformMulti-platform
Reverse engineering
Final User Interface
Physical User Interface
Logical User Interface
Task & Concepts
Platform 1 Platform 2
Final User Interface
Physical User Interface
Logical User Interface
= Abstraction relationship= Transformation into amore abstract level ofabstraction
ReversiXML
WebRevenge
ReversiXML
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
41
XIML2WML generatorXIML2WML generator
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
42
Multi-platformMulti-platform
Reverse engineering
Final User Interface
Platform 1 Platform 2
Final User Interface
Physical User Interface
= Crossing relationship= Transformation betweendifferent levels ofabstraction
Logical User InterfaceRetargeting
[Bouillon & Vanderdonckt,2002]
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
43
Multi-directional User InterfacesMulti-directional User Interfaces
A UI is represented by a suite of models that are– Analysable– Editable– Transformable
Transformational approach– Any UI is subject to any transformation at any time
• From one language to another• From one computing platform to another• From reverse engineering to forward engineering• …
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
44
Multi-directional User InterfacesMulti-directional User Interfaces
Model engineering– Forward engineering (top-down)– Reverse engineering (bottom-up)– Bidirectional engineering (both ways)
Model transformations– Reification, abstraction– Translation– Crossing (retargeting, revamping,…)
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
45
ContextsContextsof useof useChannelsChannelsModalitiesModalities
Multiple levels of considerationMultiple levels of consideration
Channels plus:Channels plus:
• User behaviourUser behaviour• User expectationsUser expectations• User experienceUser experience• User groupsUser groups• Physical constraintsPhysical constraints• EnvironmentEnvironment
Modalities plus :Modalities plus :
• Market segmentsMarket segments• Time of usageTime of usage• Place of usagePlace of usage• Network, Wi-fiNetwork, Wi-fi• Various tasksVarious tasks
PlatformsPlatformsDevicesDevices
Platforms plus :Platforms plus :
• Modalities of Modalities of interactioninteraction
• Mono vs Mono vs multimodalitymultimodality
Devices plus :Devices plus :
• Software Software characteristicscharacteristics
• Hardware Hardware characteristicscharacteristics
• Languages: Languages: programming, markupprogramming, markup
• Tools: renderer, Tools: renderer, interpreter, compilerinterpreter, compiler
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
46
ContextsContextsof useof useChannelsChannelsModalitiesModalities
USIXMLUSIXML
PlatformsPlatformsDevicesDevices
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
47
An overview of USIXML toolsAn overview of USIXML tools
Running prototypes– GrafiXML: CUI Hi-Fi editor + Code Generator (Java
Swing, XHTML)– FormiXML: CUI Hi-Fi editor for Forms (XForms, HTML)
– SketchiXML: CUI Lo-Fi Sketching– VisiXML: CUI Mid-Fi (MS Visio Plug-in)– FlashiXML: CUI renderer for SVF– ReversiXML: reverse engineering from HTML to CUI,
AUI– TransformiXML API: transformation tool– Teresa (F. Paternò, CUI level to multi FUI generation)
Demo
Demo
Demo
August 24th, 2004
WCC'2004 - Topical day on Multimodal interaction
48
Thank you very much for your attention!Thank you very much for your attention!
www.usixml.org
Credits
www.plasticity.org
www.similar.cc