Université catholique de Louvain (UCL) Belgian Laboratory of Computer-Human Interaction (BCHI) Place des Doyens, 1 B-1348 Louvain-la-Neuve (Belgium) Presented.

Slides:



Advertisements
Similar presentations
An Overview Of Virtual Machine Architectures Ross Rosemark.
Advertisements

From Model-based to Model-driven Design of User Interfaces.
Dimitrios Kotsalis a George Vellis a Demosthenes Akoumianakis a Jean Vanderdonckt b a Department of Informatics Engineering, Technological Education Institution.
JAVA Programming Environment © Juhani Välimäki 2003.
Objectives Overview Define an operating system
Kinesis Survey Technologies Kinesis Webinar January 8 & 9, 2014 Mobile Testing - Best Practices.
Université catholique de Louvain (UCL) Belgian Laboratory of Computer-Human Interaction (BCHI) Place des Doyens, 1 B-1348 Louvain-la-Neuve (Belgium) Presented.
Université catholique de Louvain (UCL) Belgian Laboratory of Computer-Human Interaction (BCHI) Place des Doyens, 1 B-1348 Louvain-la-Neuve (Belgium) Presented.
Installing software on personal computer
1 Damask A Tool for Early-Stage Design and Prototyping of Multi-Device User Interfaces G r o u p f o r User Interface Research University of California.
1 DSV-IS’2006, July 2006 Visual Design of User Interfaces by (De)composition Sophie Lepreux (1,2), Jean Vanderdonckt (1), Benjamin Michotte (1) 1.
1 ICAS’2008 – Gosier, March 16-21, 2008 GrafiXML, A Multi-Target User Interface Builder based on UsiXML Benjamin Michotte, Jean Vanderdonckt Université.
Towards User Interface Derivation from Business Processes: A Model-Driven Approach for Organizational Engineering Kênia Sousa, Hildeberto Mendonça, Jean.
User Interfaces Composition with UsiXML Sophie LEPREUX (1), Jean VANDERDONCKT (2), Christophe KOLSKI (1) (1) LAMIH “Automated Reasoning and Human-Computer.
Marco Blumendorf I July 21th, 2009 Towards a Model-Based Framework for the Development of Adaptive Multimodal User Interfaces.
Model-based UI Meeting November 2010, Lyon Fabio Paternò CNR-ISTI, HIIS Laboratory Pisa, Italy
Reverse Engineering of Web Pages based on Derivations and Transformations L.Bouillon, Q.Limbourg, J.Vanderdonckt, B.Michotte Université catholique de Louvain,
Title slide to be used at the start of a module. Developing Mobile Apps Roland Guijt
1 DSV-IS’2008, Kingston, Ontario, Canada, July 16-18, 2008 Towards a Library of Workflow User Interface Patterns Josefina Guerrero García 1, Jean Vanderdonckt.
FUNDAMENTALS OF PROGRAMMING SM1204 SEMESTER A 2012.
George Vellis a Dimitrios Kotsalis a Demosthenes Akoumianakis a Jean Vanderdonckt b a Department of Applied Informatics & Multimedia, Technological Education.
Inés Pederiva 1, Jean Vanderdonckt 1,2, Sergio España 1, José Ignacio Panach 1 and Óscar Pastor 1 1 Universidad Politécnica de Valencia, Departamento de.
1 Belgian Laboratory of Computer-Human Interaction (BCHI) ::: UCL August 2007 Development Method for User Interfaces of Rich Internet Applications By Francisco.
Multimodal user interfaces: Implementation Chris Vandervelpen
1 ICAS’2008 – Gosier, March 16-21, 2008 A Transformational Approach for Pattern-based Design of User Interfaces Costin Pribeanu Jean Vanderdonckt National.
Towards Method Engineering of Model-Driven User Interface Development Kênia Sousa, Hildeberto Mendonça, Jean Vanderdonckt Université catholique de Louvain.
1 MDWE'2008, Toulouse, France, September 30, 2008 A Comparative Analysis of Transformation Engines for User Interface Development Juan Manuel González.
Explain the purpose of an operating system
PRESENTED BY: Nadia Qamoum Suzanne Blasingame Rachael Reano Hunza Iqbal.
1 November 9-11, Mérida, Mexico La-Web’09 A Model-Based Approach for Developing Vectorial User Interfaces Jean Vanderdonckt, Josefina Guerrero-García,
Model-Driven Approach for User Interface-Business Alignment Kênia Sousa Advisor: Jean Vanderdonckt Université catholique de Louvain (UCL) Louvain School.
1EMODE workshop – September 2007 Automatic Usability Assessment of Multimodal User Interfaces Based on Ergonomic Rules Adrian Stanciulescu Jean Vanderdonckt.
Reference WPx/Tx.y/YY-MM-DD/PP Distributed User Interfaces in Space and Time Jérémie Melchior Université catholique de Louvain Doctoral Consortium at EICS2011.
Rapid Prototyping of Distributed User Interfaces J. P. Molina 1,2, J. Vanderdonckt 1, P. González 2 A. Fernández 2 and M. D. Lozano 2 1 Université catholique.
1 Workshop on Business-Driven Enterprise Application Design & Implementation Cristal City, Washington D.C., USA, July 21, 2008 How to Describe Workflow.
Design Options for Multimodal Web Applications Adrian Stanciulescu and Jean Vanderdonckt {stanciulescu, UCL/IAG/BCHI.
Direct Manipulation of User Interfaces for Migration J. P. Molina 1,2, J. Vanderdonckt 1 and P. González 2 1 Université catholique de Louvain 2 University.
1 Cascading Dialog Modeling with UsiXML Marco Winckler 1,2,Jean Vanderdonckt 2, Adrian Stanciulescu 2, Francisco Trindade 3 1 IRIT, Université Toulouse.
UsiXML July, 2004 (Hamburg, Germany) 1 USIXML: a Language Supporting Multi-Path Development of User Interfaces Quentin Limbourg 1, Jean Vanderdonckt 1,
A first draft of a Model-driven Method for Designing Graphical User Interfaces of Rich Internet Applications Francisco J. Martínez-Ruiz 1, Jaime Muñoz.
Elizabeth Furtado, Vasco Furtado, Kênia Sousa, Jean Vanderdonckt, Quentin Limbourg KnowiXML: A Knowledge-Based System Generating Multiple Abstract User.
1 November 9-11, Mérida, Mexico CLIHC’09 Towards Canonical Task Types for User Interface Design Juan Manuel Gonzalez-Calleros, Josefina Guerrero-
Model-Driven Engineering of Behaviors in User Interfaces Efrem Mbaki & Jean Vanderdonckt Université catholique de Louvain (UCL) Louvain School of Management.
Generating Abstract User Interfaces from an Informal Design Adrien Coyette University of Louvain Information Systems Unit Louvain-la-Neuve BELGIUM.
Multi-Path Development of User Interfaces 1 Quentin Limbourg Louvain-la-Neuve, 4th November 2004.
A model-based development for 3D User Interfaces Juan Manuel Gonzalez Calleros Université catholique de Louvain, School of Management (IAG) Information.
Mir Farooq Ali Computer Science, Virginia Tech May 9, 2003 Building Multi-platform User Interfaces using UIML.
A model-based development for 3D User Interfaces Juan Manuel Gonzalez Calleros 1, Jean Vanderdonckt 1, Jaime Muñoz Arteaga 2 1. Université catholique de.
Jérémie Melchior, Donatien Grolaux, Jean Vanderdonckt, Peter Van Roy Researcher at BCHI, Université.
Murielle Florins 1 IAG-Louvain School of Management ISYS-Information Systems Unit Graceful Degradation: a Method for Designing Multiplatform Graphical.
Nathalie Aquino 1, Jean Vanderdonckt 2, Francisco Valverde 1, Oscar Pastor 1 1 Department of Information Systems and Computation, Valencia University of.
A Transformational Approach for Multimodal Web User Interfaces based on UsiXML Adrian Stanciulescu, Quentin Limbourg, Jean Vanderdonckt, Benjamin Michotte.
Murielle Florins 1, Francisco Montero Simarro 2, Jean Vanderdonckt 1, Benjamin Michotte 1 1 Université catholique de Louvain 2 Universidad de Castilla-la-Mancha.
Cooperative Computing & Communication Laboratory A Survey on Transformation Tools for Model-Based User Interface Development Robbie Schäfer – Paderborn.
Flippable User Interfaces for Internationalization Iyad Khaddam and Jean Vanderdonckt LILAB – Louvain Interaction Laboratory Université catholique de Louvain.
Introduction Why are virtual machines interesting?
© TAMODIA’061 The Comets Inspector: Towards Run Time Plasticity Control based on a Semantic Network Alexandre Demeure, Gaëlle Calvary, Joelle Coutaz, Jean.
1 Interaccion 2008, IX Congreso de Interacción Persona-Ordenador, Albacete, 9-12 June 2008 ECOOL: Generation of Collaborative Multiplatform Scenarios with.
Université catholique de Louvain (UCL) Belgian Laboratory of Computer-Human Interaction (BCHI) Place des Doyens, 1 B-1348 Louvain-la-Neuve (Belgium) Presented.
A Sketching Tool for Designing Anyuser, Anyplatform, Anywhere User Interfaces A Sketching Tool for Designing Anyuser, Anyplatform, Anywhere User Interfaces.
1 ACM SAC’2008 – Fortaleza, Ceará, Brazil, March 16-20, 2008 An Intelligent Editor for Multi-Presentation User Interfaces Benoît Collignon 1, Jean Vanderdonckt.
1 ICAS’2008 – Gosier, March 16-21, 2008 Modeling User Interfaces to Workflow Information Systems Josefina Guerrero 1, Jean Vanderdonckt 1, Juan M. Gonzalez.
Université catholique de Louvain (UCL) Belgian Laboratory of Computer-Human Interaction (BCHI) Place des Doyens, 1 B-1348 Louvain-la-Neuve (Belgium) Presented.
1 ICAS’2008 – Gosier, March 16-21, 2008 Model-Driven Engineering of Multi-Target Plastic User Interfaces Benoît Collignon 1, Jean Vanderdonckt 1, Gaëlle.
1 February 1-7, Cancun, Mexico ACHI’09 A structured approach to support 3D User Interface Development Juan Manuel Gonzalez-Calleros, Jean Vanderdonckt.
Alignment of Business Processes and User Interfaces in the Context of Large Organizations Kênia Sousa, Hildeberto Mendonça, Jean Vanderdonckt Université.
 Can access all API’s made available by OS vendor.  SDK’s are platform-specific.  Each mobile OS comes with its own unique tools and GUI toolkit.
Visual Programming Borland Delphi. Developing Applications Borland Delphi is an object-oriented, visual programming environment to develop 32-bit applications.
Introduction of Wget. Wget Wget is a package for retrieving files using HTTP and FTP, the most widely-used Internet protocols. Wget is non-interactive,
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
Presentation transcript:

Université catholique de Louvain (UCL) Belgian Laboratory of Computer-Human Interaction (BCHI) Place des Doyens, 1 B-1348 Louvain-la-Neuve (Belgium) Presented by August 24th, 2004WCC' Topical day on Multimodal interaction1 Multimodality and context-aware adaptation Quentin Limbourg, Jean Vanderdonckt

August 24th, 2004WCC' Topical day on Multimodal interaction2 Context-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, 2004WCC' Topical day on Multimodal interaction3 Example 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, 2004WCC' Topical day on Multimodal interaction4 C C F1 C C F2 C C F1 F2 Dependencies What‘s a Feature Model? Optional Exclusive Alternate

August 24th, 2004WCC' Topical day on Multimodal interaction5 Example of a Feature Model

August 24th, 2004WCC' Topical day on Multimodal interaction6 Feature model C C F1 F2 F3 F2a F2b F3a F3b C C F1 F2 F3 F2a F2b F3a F3b Model Specifications USIXML Specifications USIXML Specifications

August 24th, 2004WCC' Topical day on Multimodal interaction7 Generative 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 & channelXor (T*, T*, Pl* ppl = NULL); ImgProcessT & channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSubBalanced(T*, T*, Pl* ppl = NULL); ImgProcessT & chann elMix ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSubBalanced(T*, T*, Pl* ppl = NULL); ImgProcessT & channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & 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 & channelXor (T*, T*, Pl* ppl = NULL); ImgProcessT & channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSubBalanced(T*, T*, Pl* ppl = NULL); ImgProcessT & chann elMix ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSubBalanced(T*, T*, Pl* ppl = NULL); ImgProcessT & channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & 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 & channelXor (T*, T*, Pl* ppl = NULL); ImgProcessT & channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & 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 &); virtual ~ImgProcessT(); virtual char* getClassName() const; virtual char getClassID () const; ImgProcessT & operator+=(const ImgProcessT &); ImgProcessT & operator-=(const ImgProcessT &); ImgProcessT & operator^=(const ImgProcessT &); ImgProcessT operator+ (const ImgProcessT &); ImgProcessT operator- (const ImgProcessT &); ImgProcessT operator^ (const ImgProcessT &); ImgProcessT & channelNLinFilter(const int&, Mask*, T*, Pl* ppl=NULL); mgProcessT & operator+=(const ImgProcessT &); ImgProcessT & operator-=(const ImgProcessT &); ImgProcessT & operator^=(const ImgProcessT &); ImgProcessT operator+ (const ImgProcessT &); ImgProcessT operator- (const ImgProcessT &); ImgProcessT operator^ (const ImgProcessT &); ImgProcessT & 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 & channelXor (T*, T*, Pl* ppl = NULL); ImgProcessT & channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & 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 &); virtual ~ImgProcessT(); virtual char* getClassName() const; virtual char getClassID () const; ImgProcessT & operator+=(const ImgProcessT &); ImgProcessT & operator-=(const ImgProcessT &); ImgProcessT & operator^=(const ImgProcessT &); ImgProcessT operator+ (const ImgProcessT &); ImgProcessT operator- (const ImgProcessT &); ImgProcessT operator^ (const ImgProcessT &); ImgProcessT & channelNLinFilter(const int&, Mask*, T*, Pl* ppl=NULL); mgProcessT & operator+=(const ImgProcessT &); ImgProcessT & operator-=(const ImgProcessT &); ImgProcessT & operator^=(const ImgProcessT &); ImgProcessT operator+ (const ImgProcessT &); ImgProcessT operator- (const ImgProcessT &); ImgProcessT operator^ (const ImgProcessT &); ImgProcessT & 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 & channelXor (T*, T*, Pl* ppl = NULL); ImgProcessT & channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & 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 & channelXor (T*, T*, Pl* ppl = NULL); ImgProcessT & channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSubBalanced(T*, T*, Pl* ppl = NULL); USIXML-Specification ImgProcessT & channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSubBalanced(T*, T*, Pl* ppl = NULL) ImgProcessT & channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSubBalanced(T*, T*, Pl* ppl = NULL) ImgProcessT & channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSubBalanced(T*, T*, Pl* ppl = NULL) ImgProcessT & channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSubBalanced(T*, T*, Pl* ppl = NULL) Components void areaOperation(const int&, const int&, ImgProcessT & (ImgProcessT ::*pimgpr)(const int&, Pl*), const int& nAngle, Pl* ppl ); void areaOperation(const int&, const int&, ImgProcessT & (ImgProcessT ::*pimgpr)(Pl*), Pl* ppl ); void areaOperation(const int&, const int&, ImgProcessT & (ImgProcessT ::*pimgpr)(const int&, const int&, const int& ), const int&, const int& ); void channelShowHistogram( int*, const int&, const int& n = 0 ) const; void channelFft ( T*, T*, const unsigned int&, Pl* ppl = NULL ); void channelIfft ( T*, T*, 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 & channelXor (T*, T*, Pl* ppl = NULL); ImgProcessT & channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & 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 &); virtual ~ImgProcessT(); virtual char* getClassName() const; virtual char getClassID () const; ImgProcessT & operator+=(const ImgProcessT &); I void areaOperation(const int&, const int&, ImgProcessT & (ImgProcessT ::*pimgpr)(const int&, Pl*), const int& nAngle, Pl* ppl ); void areaOperation(const int&, const int&, ImgProcessT & (ImgProcessT ::*pimgpr)(Pl*), Pl* ppl ); void areaOperation(const int&, const int&, ImgProcessT & (ImgProcessT ::*pimgpr)(const int&, const int&, const int& ), const int&, const int& ); void channelShowHistogram( int*, const int&, const int& n = 0 ) const; void channelFft ( T*, T*, const unsigned int&, Pl* ppl = NULL ); void channelIfft ( T*, T*, 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 & channelXor (T*, T*, Pl* ppl = NULL); ImgProcessT & channelMix (T*, T*, Pl* ppl = NULL); ImgProcessT & channelSub (T*, T*, Pl* ppl = NULL); ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & 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 &); virtual ~ImgProcessT(); virtual char* getClassName() const; virtual char getClassID () const; ImgProcessT & operator+=(const ImgProcessT &); I Final code ImgProcessT & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & 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 & channelAdd (T*, T*, Pl* ppl = NULL); ImgProcessT & 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, 2004WCC' Topical day on Multimodal interaction8 Example of adaptivity Computer-aided surgery by mixed reality

August 24th, 2004WCC' Topical day on Multimodal interaction9 Multi-platform Extending approaches for multiple contexts of use –Context is now restricted to one computing platform at a time Final User Interface Physical User Interface Logical User Interface Task & Concepts Platform 1: Web terminal

August 24th, 2004WCC' Topical day on Multimodal interaction10 Multi-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, 2004WCC' Topical day on Multimodal interaction11 Multi-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, 2004WCC' Topical day on Multimodal interaction12 Multi-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 #1C++ UI #1Mobile UI #1 Application #1 Java UI #2C++ UI #2Mobile UI #2 Application #2 Java UI #3C++ UI #3Mobile UI #3 Application #3

August 24th, 2004WCC' Topical day on Multimodal interaction13 Multi-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, 2004WCC' Topical day on Multimodal interaction14 Multi-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, 2004WCC' Topical day on Multimodal interaction15 Multi-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, 2004WCC' Topical day on Multimodal interaction16 Multi-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, 2004WCC' Topical day on Multimodal interaction17 Multi-platform Logical level deployment: UIML HTML UI code HTML Renderer UIML Specification Platform 1: Personal Computer with Web browser Platform 2: Personal Computer With XML browser XML UI code XML Renderer Platform 3: Mobile Phone WML UI code WML Rendered

August 24th, 2004WCC' Topical day on Multimodal interaction18 Multi-platform: UIML Skeleton – Part 1 What parts comprise the UI & what’s their relationship? …... [Abrams et al., 1999]

August 24th, 2004WCC' Topical day on Multimodal interaction19 Multi-platform Task & Concepts level deployment Final User Interface Physical User Interface Logical User Interface Task & Concepts Platform 1Platform 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, 2004WCC' Topical day on Multimodal interaction20 Multi-platform Final User Interface Physical User Interface Logical User Interface Task & Concepts Platform 1Platform 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, 2004WCC' Topical day on Multimodal interaction21 Multi-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, 2004WCC' Topical day on Multimodal interaction22 Multi-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, 2004WCC' Topical day on Multimodal interaction23 Register to CHI’2001 Conference Pay registration By credit cardBy fax [ ] RecordPayment mode >> Specify all registration needs Enter personal informationSpecify special needsSpecify attendee type | | | >> Multi-platform Task translation | | |

August 24th, 2004WCC' Topical day on Multimodal interaction24 Multi-platform Concepts removal: CT-UIMS [Märtin,1990]

August 24th, 2004WCC' Topical day on Multimodal interaction25 Multi-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, 2004WCC' Topical day on Multimodal interaction26 Multi-platform Translations T&C + logical levels Specify all registration needs Enter personal informationSpecify special needsSpecify attendee type | | |

August 24th, 2004WCC' Topical day on Multimodal interaction27 Multi-platform Translations T&C + logical levels Specify all registration needs Enter personal informationSpecify special needsSpecify attendee type | | | >>

August 24th, 2004WCC' Topical day on Multimodal interaction28 Multi-platform Translations T&C + logical levels

August 24th, 2004WCC' Topical day on Multimodal interaction29 Multi-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, 2004WCC' Topical day on Multimodal interaction30 Multi-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, 2004WCC' Topical day on Multimodal interaction31 Multi-platform Graceful degradation of presentation –Widgets

August 24th, 2004WCC' Topical day on Multimodal interaction32 Multi- platform Graceful degradation of presen- tation –Images

August 24th, 2004WCC' Topical day on Multimodal interaction33 Multi-platform Graceful degradation of presentation –Images

August 24th, 2004WCC' Topical day on Multimodal interaction34 Multi-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, 2004WCC' Topical day on Multimodal interaction35 Multi-platform Multiple transformations possible Final User Interface Physical User Interface Logical User Interface Task & Concepts Platform 1 Platform 2 Final User Interface Physical User InterfaceLogical User InterfaceTask & Concepts

August 24th, 2004WCC' Topical day on Multimodal interaction36 Multi-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 2Platform 3 Final User Interface [Calvary, Coutaz & Thevenin, 2001]

August 24th, 2004WCC' Topical day on Multimodal interaction37 Multi-platform Plastic UI: Virtual keyboard [Grolaux, 2001]

August 24th, 2004WCC' Topical day on Multimodal interaction38 Multi-platform Plastic UI: FlexClock [Grolaux, Van Roy, Vanderdonckt, 2002]

August 24th, 2004WCC' Topical day on Multimodal interaction39 Multi-platform Plastic UI: adaptable bounded value

August 24th, 2004WCC' Topical day on Multimodal interaction40 Multi-platform Reverse engineering Final User Interface Physical User Interface Logical User Interface Task & Concepts Platform 1Platform 2 Final User Interface Physical User Interface Logical User Interface = Abstraction relationship = Transformation into a more abstract level of abstraction ReversiXML WebRevenge ReversiXML

August 24th, 2004WCC' Topical day on Multimodal interaction41 XIML2WML generator

August 24th, 2004WCC' Topical day on Multimodal interaction42 Multi-platform Reverse engineering Final User Interface Platform 1Platform 2 Final User Interface Physical User Interface = Crossing relationship = Transformation between different levels of abstraction Logical User Interface Retargeting [Bouillon & Vanderdonckt,2002]

August 24th, 2004WCC' Topical day on Multimodal interaction43 Multi-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, 2004WCC' Topical day on Multimodal interaction44 Multi-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, 2004WCC' Topical day on Multimodal interaction45 Contexts of use Channels Modalities Multiple levels of consideration Channels plus: User behaviourUser behaviour User expectationsUser expectations User experienceUser experience User groupsUser groups Physical constraintsPhysical constraints EnvironmentEnvironment Modalities plus : Market segmentsMarket segments Time of usageTime of usage Place of usagePlace of usage Network, Wi-fiNetwork, Wi-fi Various tasksVarious tasks Platforms Devices Platforms plus : Modalities of interactionModalities of interaction Mono vs multimodalityMono vs multimodality Devices plus : Software characteristicsSoftware characteristics Hardware characteristicsHardware characteristics Languages: programming, markupLanguages: programming, markup Tools: renderer, interpreter, compilerTools: renderer, interpreter, compiler

August 24th, 2004WCC' Topical day on Multimodal interaction46 Contexts of use Channels Modalities USIXML Platforms Devices

August 24th, 2004WCC' Topical day on Multimodal interaction47 An 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

August 24th, 2004WCC' Topical day on Multimodal interaction48 Thank you very much for your attention! Credits