SlideShare a Scribd company logo
Multiple User Interfaces Crossplatform
Applications And Contextaware Interfaces 1st
Edition Ahmed Seffah download
https://ebookbell.com/product/multiple-user-interfaces-
crossplatform-applications-and-contextaware-interfaces-1st-
edition-ahmed-seffah-982338
Explore and download more ebooks at ebookbell.com
Here are some recommended products that we believe you will be
interested in. You can click the link to download.
Rural Water Systems For Multiple Uses And Livelihood Security 1st
Edition M Dinesh Kumar
https://ebookbell.com/product/rural-water-systems-for-multiple-uses-
and-livelihood-security-1st-edition-m-dinesh-kumar-5601748
Patterns And Processes In Forest Landscapes Multiple Use And
Sustainable Management 1st Edition Jiquan Chen
https://ebookbell.com/product/patterns-and-processes-in-forest-
landscapes-multiple-use-and-sustainable-management-1st-edition-jiquan-
chen-4324474
The Management Of Marine Regions The North Pacific An Analysis Of
Issues Relating To Fisheries Marine Transportation Marine Scientific
Research And Multiple Use Conditions And Conflicts Reprint 2019 Edward
Miles Stephen Gibbs David Fluharty Christine Dawson David Teeter
https://ebookbell.com/product/the-management-of-marine-regions-the-
north-pacific-an-analysis-of-issues-relating-to-fisheries-marine-
transportation-marine-scientific-research-and-multiple-use-conditions-
and-conflicts-reprint-2019-edward-miles-stephen-gibbs-david-fluharty-
christine-dawson-david-teeter-51826096
Handbook Of Multiple Source Use Jason L G Braasch Ivar Brten
https://ebookbell.com/product/handbook-of-multiple-source-use-jason-l-
g-braasch-ivar-brten-33554656
Polypharmacy In Psychiatry Practice Volume I Multiple Medication Use
Strategies 1st Edition Ahsan Y Khan Md
https://ebookbell.com/product/polypharmacy-in-psychiatry-practice-
volume-i-multiple-medication-use-strategies-1st-edition-ahsan-y-khan-
md-4406914
Arguments For Protected Areas Multiple Benefits For Conservation Use
Sue Stolton
https://ebookbell.com/product/arguments-for-protected-areas-multiple-
benefits-for-conservation-use-sue-stolton-1753314
Use Of The Normalized Difference Vegetation Index Ndvi To Assess Land
Degradation At Multiple Scales Current Status Future Trends And
Practical Considerations 1st Edition Genesis T Yengoh
https://ebookbell.com/product/use-of-the-normalized-difference-
vegetation-index-ndvi-to-assess-land-degradation-at-multiple-scales-
current-status-future-trends-and-practical-considerations-1st-edition-
genesis-t-yengoh-5236428
Trade Mark Law And Sharing Names Exploring Use Of The Same Mark By
Multiple Undertakings Ilanah Simon Fhima
https://ebookbell.com/product/trade-mark-law-and-sharing-names-
exploring-use-of-the-same-mark-by-multiple-undertakings-ilanah-simon-
fhima-2168204
The Everyday Blacksmith Learn To Forge 55 Simple Projects Youll Use
Every Day With Multiple Variations For Styles And Finishes Nicholas
Wicks
https://ebookbell.com/product/the-everyday-blacksmith-learn-to-
forge-55-simple-projects-youll-use-every-day-with-multiple-variations-
for-styles-and-finishes-nicholas-wicks-49417706
Multiple User Interfaces Crossplatform Applications And Contextaware Interfaces 1st Edition Ahmed Seffah
Multiple User Interfaces Crossplatform Applications And Contextaware Interfaces 1st Edition Ahmed Seffah
Multiple User Interfaces
Cross-Platform Applications and
Context-Aware Interfaces
Edited by
Ahmed Seffah and Homa Javahery
Concordia University, Department of Computer Science, Canada
Multiple User Interfaces Crossplatform Applications And Contextaware Interfaces 1st Edition Ahmed Seffah
Multiple User Interfaces
Multiple User Interfaces Crossplatform Applications And Contextaware Interfaces 1st Edition Ahmed Seffah
Multiple User Interfaces
Cross-Platform Applications and
Context-Aware Interfaces
Edited by
Ahmed Seffah and Homa Javahery
Concordia University, Department of Computer Science, Canada
Copyright  2004 John Wiley & Sons Ltd, The Atrium, Southern Gate, Chichester,
West Sussex PO19 8SQ, England
Telephone (+44) 1243 779777
Email (for orders and customer service enquiries): cs-books@wiley.co.uk
Visit our Home Page on www.wileyeurope.com or www.wiley.com
All Rights Reserved. No part of this publication may be reproduced, stored in a retrieval system or
transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or
otherwise, except under the terms of the Copyright, Designs and Patents Act 1988 or under the terms of a
licence issued by the Copyright Licensing Agency Ltd, 90 Tottenham Court Road, London W1T 4LP, UK,
without the permission in writing of the Publisher. Requests to the Publisher should be addressed to the
Permissions Department, John Wiley & Sons Ltd, The Atrium, Southern Gate, Chichester, West Sussex PO19
8SQ, England, or emailed to permreq@wiley.co.uk, or faxed to (+44) 1243 770620.
This publication is designed to provide accurate and authoritative information in regard to the subject matter
covered. It is sold on the understanding that the Publisher is not engaged in rendering professional services. If
professional advice or other expert assistance is required, the services of a competent professional should be
sought.
Other Wiley Editorial Offices
John Wiley & Sons Inc., 111 River Street, Hoboken, NJ 07030, USA
Jossey-Bass, 989 Market Street, San Francisco, CA 94103-1741, USA
Wiley-VCH Verlag GmbH, Boschstr. 12, D-69469 Weinheim, Germany
John Wiley & Sons Australia Ltd, 33 Park Road, Milton, Queensland 4064, Australia
John Wiley & Sons (Asia) Pte Ltd, 2 Clementi Loop #02-01, Jin Xing Distripark, Singapore 129809
John Wiley & Sons Canada Ltd, 22 Worcester Road, Etobicoke, Ontario, Canada M9W 1L1
Wiley also publishes its books in a variety of electronic formats. Some content that appears
in print may not be available in electronic books.
Library of Congress Cataloging-in-Publication Data
Multiple user interfaces : cross-platform applications and context-aware interfaces / edited by
Ahmed Seffah & Homa Javahery.
p. cm.
Includes bibliographical references and index.
ISBN 0-470-85444-8
1. Computer interfaces. I. Seffah, Ahmed. II. Javahery, Homa.
TK7887.5.M86 2003
004.6 – dc22
2003057602
British Library Cataloguing in Publication Data
A catalogue record for this book is available from the British Library
ISBN 0-470-85444-8
Typeset in 10/12pt Times by Laserwords Private Limited, Chennai, India
Printed and bound in Great Britain by TJ International, Padstow, Cornwall
This book is printed on acid-free paper responsibly manufactured from sustainable forestry
in which at least two trees are planted for each one used for paper production.
Contents
Acknowledgements xv
About the Editors xvii
Contributors xix
PART I BASIC TERMINOLOGY, CONCEPTS, AND CHALLENGES 1
1 Executive Summary and Book Overview 3
Ahmed Seffah and Homa Javahery
1.1 Motivation 3
1.2 A Few Definitions 4
1.3 Challenges 5
1.4 Specific Objectives 5
1.5 Audience 6
1.6 Overview 6
References 9
2 Multiple User Interfaces: Cross-Platform Applications and
Context-Aware Interfaces 11
Ahmed Seffah and Homa Javahery
2.1 MUI: Characterization and Evolution 11
2.1.1 Interaction Styles 13
2.1.2 Fundamental Characteristics 15
2.1.3 Vertical versus Horizontal Usability 16
2.1.4 Related Work 16
2.2 Fertile Topics for Research Exploration 18
2.2.1 Context-Aware Development 18
2.2.2 Model-Based Development 20
vi CONTENTS
2.2.3 Pattern-Driven Development 22
2.2.4 Device-Independent Development 23
2.3 Concluding Remarks 24
Acknowledgements 25
References 25
PART II ADAPTATION AND CONTEXT-AWARE USER INTERFACES 27
3 A Reference Framework for the Development of Plastic User Interfaces 29
David Thevenin, Joëlle Coutaz, and Gaëlle Calvary
3.1 Introduction 29
3.2 Terminology: Context of Use, Plastic UI and Multi-Target UI 30
3.2.1 Context of Use and Target 30
3.2.2 Multi-Target User Interfaces and Plastic User Interfaces 31
3.2.3 Terminology: Summary 32
3.3 The “Plastic UI Snowflake” 32
3.3.1 Target Sensitivity 33
3.3.2 Classes of Software Tools 33
3.3.3 Actors in Charge of Adaptation 34
3.3.4 Computation of Multi-Target and Plastic User Interfaces 35
3.3.5 User Interface Software Components 35
3.3.6 User Interface Migration 37
3.4 The Process Reference Framework for Multi-Target and Plastic UIs 37
3.4.1 General Description 38
3.4.2 The Process Reference Framework in the Design Phase 39
3.4.3 Instantiations of the Process Reference Framework 41
3.5 ARTStudio: An Application of the Process Reference Framework 43
3.5.1 The EDF Home Heating Control System 43
3.5.2 ARTStudio 43
3.6 Conclusion 49
Acknowledgement 49
References 49
4 Temporal Aspects of Multi-Platform Interaction 53
David England and Min Du
4.1 Introduction 53
4.2 Temporal Contexts of Multiple Platforms 55
4.2.1 Fitts’ Law and the Control:Display Ratio 55
4.2.2 Computation Speed of the Platform 56
4.2.3 Support for Task Switching on Platforms 56
4.3 Modelling Temporal Contexts 57
4.3.1 Action Selection Pattern 58
4.3.2 Progress Monitoring Pattern 59
CONTENTS vii
4.3.3 Task Management Pattern 61
4.3.4 Platform Interaction Pattern 62
4.4 The Temporal Constraint Engine 63
4.5 Discussion 64
4.6 Conclusions 65
References 65
A. The PUAN Notation 66
5 The PALIO Framework for Adaptive Information Services 69
Constantine Stephanidis, Alexandros Paramythis, Vasilios Zarikas,
and Anthony Savidis
5.1 Introduction 69
5.2 The PALIO System Architecture 71
5.2.1 Overview 71
5.2.2 The PALIO Adaptation Infrastructure 75
5.3 PALIO as an Adaptive Hypermedia System 76
5.3.1 Adaptation Determinants 77
5.3.2 Decisions on the Basis of Adaptation Determinants 78
5.3.3 Adaptation Actions 80
5.4 PALIO in the Context of MUI 83
5.4.1 PALIO as a Web UI 83
5.4.2 A Brief Example 88
5.5 Summary and On-Going Work 89
Acknowledgements 90
References 90
Footnotes 91
PART III DEVELOPMENT TECHNOLOGY AND LANGUAGES 93
6 Building Multi-Platform User Interfaces with UIML 95
Mir Farooq Ali, Manuel A. Pérez-Quiñones, and Marc Abrams
6.1 Introduction 95
6.2 Terminology 97
6.3 Related Work 98
6.4 UIML 100
6.4.1 Language Overview 101
6.4.2 The <interface> Component 101
6.4.3 The <peers> Component 102
6.4.4 A Sample UI 102
6.5 A Framework for Multi-Platform UI Development 104
6.5.1 Task Model 105
6.5.2 Generic Description of Device Families 106
6.5.3 Abstract to Concrete Transformations 109
viii CONTENTS
6.6 Transformation-Based UI Development Environment 111
6.6.1 TIDE Version 1 112
6.6.2 Goals for TIDE 2 112
6.7 Conclusions 115
Acknowledgements 116
References 116
7 XIML: A Multiple User Interface Representation Framework
for Industry 119
Angel Puerta and Jacob Eisenstein
7.1 Introduction 119
7.1.1 Special Challenges for MUI Solutions for Industry 120
7.1.2 Foundation Technologies 121
7.1.3 Summary of Chapter 121
7.2 The XIML Representation Framework 121
7.2.1 Target Computing Model 122
7.2.2 XIML Requirements 123
7.2.3 Structure and Organization of XIML 124
7.2.4 Validation Exercises 127
7.3 An XIML Pilot Application 133
7.3.1 MANNA: The Map Annotation Assistant 134
7.3.2 The MANNA Abstract XIML Components 136
7.3.3 XIML-Based Middleware for MANNA 139
7.4 Discussion 144
7.4.1 The XIML Roadmap 144
7.4.2 Related Work 145
7.4.3 Summary of Findings 146
Acknowledgements 146
References 146
8 AUIT: Adaptable User Interface Technology, with Extended Java
Server Pages 149
John Grundy and Wenjing Zou
8.1 Introduction 149
8.2 Case Study: A Collaborative Job Management System 151
8.3 Related Work 152
8.4 Our Approach 154
8.5 Design and Implementation 156
8.6 Job Management System Examples 161
8.7 Experiences 164
8.8 Summary 166
References 166
CONTENTS ix
PART IV MODEL-BASED DEVELOPMENT 169
9 Adaptive Task Modelling: From Formal Models to XML
Representations 171
Peter Forbrig, Anke Dittmar, and Andreas Müller
9.1 Introduction 171
9.2 Model-Based Software Development 172
9.2.1 Models Used in the Design Process 172
9.2.2 Task Modelling 172
9.2.3 New Challenges for Modelling 175
9.3 Adaptive Specification Techniques 176
9.3.1 Adapted Task Models 177
9.3.2 Specification of Device Features by XML 179
9.4 Example of an Electronic Shop 181
9.4.1 The Task Model of E-Shopping 181
9.4.2 The Generation of Specific User Interfaces 183
9.5 Conclusions 191
References 191
10 Multi-Model and Multi-Level Development of User Interfaces 193
Jean Vanderdonckt, Elizabeth Furtado, João José Vasco Furtado,
Quentin Limbourg, Wilker Bezerra Silva, Daniel William Tavares Rodrigues,
and Leandro da Silva Taddeo
10.1 Introduction 193
10.2 Related Work 194
10.3 Definition of Model 195
10.4 Conceptual Level 198
10.4.1 Definition 198
10.4.2 Case Study 199
10.5 Logical Level 201
10.5.1 Definition 201
10.5.2 Case Study 202
10.6 Physical Level 205
10.6.1 Definition 205
10.6.2 Case Study 205
10.7 Summary of the Development Process 210
10.8 Conclusion 213
Acknowledgements 214
References 215
11 Supporting Interactions with Multiple Platforms Through User
and Task Models 217
Luisa Marucci, Fabio Paternò, and Carmen Santoro
11.1 Introduction 217
x CONTENTS
11.2 An Illustrative Scenario 219
11.3 General Description of the Approach 221
11.4 Role of the Task Model in Design 223
11.4.1 From the Task Model to the Abstract User Interface 225
11.4.2 The Language for Abstract User Interfaces 226
11.4.3 From the Abstract User Interface to its Implementation 228
11.5 Relations between Task Model and User Model 228
11.6 The User Model 229
11.7 Adaptive Rules 232
11.7.1 Navigation as a Function of Task Frequency 232
11.7.2 Navigation as a Function of Task Performance 234
11.7.3 Modification of Presentation 235
11.7.4 Modification of Content Presentation 235
11.8 Conclusions 237
Acknowledgements 237
References 238
PART V ARCHITECTURES, PATTERNS, AND
DEVELOPMENT TOOLKITS 239
12 Migrating User Interfaces Across Platforms Using HCI Patterns 241
Homa Javahery, Ahmed Seffah, Daniel Engelberg, and Daniel Sinnig
12.1 Introduction 241
12.2 A Brief Overview of HCI Patterns 243
12.3 Redesigning User Interfaces with Pattern Mapping 245
12.3.1 The Effect of Screen Size on Redesign 245
12.3.2 Pattern-based Redesign: A Case Study with Navigation
Patterns 247
12.3.3 Architecture Size as an Added Variable in Redesign 248
12.4 Research Directions for the Use of Patterns in Reengineering User
Interfaces 254
12.4.1 Pattern-Assisted Reengineering 255
12.4.2 Comparing Reengineering to Redesign 256
12.5 Conclusion and Future Investigations 257
Acknowledgements 259
References 259
13 Support for the Adapting Applications and Interfaces to Context 261
Anind K. Dey and Gregory D. Abowd
13.1 Introduction 261
13.2 Why Context is Difficult to Use and Why Support is Needed for it 264
13.2.1 Separation of Concerns 264
13.2.2 Context Interpretation 265
CONTENTS xi
13.2.3 Transparent, Distributed Communications 265
13.2.4 Constant Availability of Context Acquisition 266
13.2.5 Context Storage and History 266
13.2.6 Resource Discovery 266
13.3 Basic Component-Based Architecture and the Conference Assistant
Application 267
13.3.1 Context Widgets 268
13.3.2 Context Aggregators 268
13.3.3 Context Interpreters 269
13.3.4 Services 269
13.3.5 Discoverers 270
13.3.6 Conference Assistant Application 270
13.3.7 Summary 276
13.4 Situation Support and the CybreMinder Application 276
13.4.1 Implementation of the Situation Abstraction 277
13.4.2 CybreMinder: A Complex Example that Uses the Situation
Abstraction 278
13.4.3 Summary 283
13.5 Fusion Support and the In/Out Board Application 284
13.5.1 The Architecture of the Location Service 285
13.5.2 Representing Location 286
13.5.3 Details on Positioning Systems 287
13.5.4 Fusion and Aggregation of Location 289
13.5.5 Accessing, Interpreting and Handling Location Data Within
an Application 289
13.5.6 Sample Application Development 291
13.5.7 Summary 292
13.6 Conclusions 293
Acknowledgements 294
References 294
14 A Run-time Infrastructure to Support the Construction of Distributed,
Multi-User, Multi-Device Interactive Applications 297
Simon Lock and Harry Brignull
14.1 Introduction 297
14.2 MUI Interaction Scenario 298
14.3 Requirements for Infrastructure 299
14.4 Existing Approaches 301
14.5 Design of Infrastructure and Development Framework 303
14.5.1 Design of Interaction Metaphor 305
14.5.2 Bubble Glosses 307
14.6 Implementation of Infrastructure and Development Framework 310
14.7 Operation of the Infrastructure 311
14.7.1 Dynamic Device Service Registration 311
xii CONTENTS
14.7.2 Dynamic Device Service Selection 311
14.7.3 Application Service Linkage 312
14.7.4 Bubble Synchronisation 313
14.8 Infrastructure Utilisation 314
14.9 Application Usage Scenarios 316
14.10 Discussion 320
14.11 Conclusions 321
References 322
PART VI EVALUATION AND SOCIAL IMPACTS 325
15 Assessing Usability across Multiple User Interfaces 327
Gustav Öquist, Mikael Goldstein and Didier Chincholle
15.1 Introduction 327
15.2 Multiple User Interfaces: Multiple Contexts
of Use 328
15.3 Multiple Contexts of Use: Multiple Factors
of Usability 330
15.3.1 Portability 330
15.3.2 Attentiveness 331
15.3.3 Manageability 333
15.3.4 Learnability 334
15.3.5 Indexical Factors of Usability for Different Contexts of Use 335
15.4 Assessing Usability of Mobile Interfaces 336
15.4.1 Mobile Input Interfaces 337
15.4.2 Mobile Output Interfaces 341
15.5 Discussion 346
15.6 Conclusions 347
References 348
16 Iterative Design and Evaluation of Multiple Interfaces for a Complex
Commercial Word Processor 351
Joanna McGrenere
16.1 Introduction 351
16.2 Design Solutions to Complex Software 353
16.3 Study One 355
16.3.1 Methodology 355
16.3.2 Selected Results 356
16.4 Pilot Study 359
16.4.1 Implementation 360
16.4.2 Objectives and Methodology 361
16.4.3 Selected Results 362
CONTENTS xiii
16.5 Study Two 363
16.5.1 Methodology 365
16.5.2 Selected Results 366
16.6 Summary and Conclusions 369
Acknowledgements 371
References 371
Footnotes 372
17 Inter-Usability of Multi-Device Systems – A Conceptual Framework 373
Charles Denis and Laurent Karsenty
17.1 Introduction 373
17.2 Inter-Usability: A Conceptual Framework 374
17.2.1 Principal Processes Involved in Transitions between Devices 374
17.2.2 Requirements for Knowledge Continuity 376
17.2.3 Requirements for Task Continuity 379
17.3 Design Principles for Inter-Usability 380
17.3.1 Inter-Device Consistency 381
17.3.2 Transparency 382
17.3.3 Adaptability 383
17.4 Conclusion 384
Acknowledgements 384
References 384
Subject Index 387
Multiple User Interfaces Crossplatform Applications And Contextaware Interfaces 1st Edition Ahmed Seffah
Acknowledgements
The help of many people made this book possible, and we are grateful to all of them. We
thank our editor Birgit Gruber, at John Wiley & Sons Ltd., who guided us throughout
this project.
Daniel Engelberg and Jonathan Benn were indispensable for the editing process, and
we thank them for their help in editing various chapters. Daniel Sinnig patiently helped
with revising various chapters. Rozita Naghshin, our digital art expert, was a great source
of help for advice on image layout and creation. To all the members of the HCSE (Human-
Centered Software Engineering) Group, we thank you for participating in the discussion
and brainstorming of this project.
We thank FCAR (Le Fonds québécois de la recherche sur la nature et les technologies),
NSERC (National Sciences and Engineering Council of Canada), and the Faculty of
Engineering, Concordia Research Chair programs, for their financial support.
We are grateful to all the reviewers of this book. We were lucky enough to have a
wide spectrum of international reviewers, who patiently reviewed all chapters and gave
us crucial feedback. We thank John Grundy from the University of Auckland, who gave
us sound advice and feedback for a number of chapters.
Above all, we thank the contributors of this book. Without them, this book would not
have been possible. We thank them for patiently modifying chapters, rewriting passages,
and putting up with our requests. We acknowledge all of them for their efforts in making
this book a success.
Ahmed Seffah Homa Javahery
Multiple User Interfaces Crossplatform Applications And Contextaware Interfaces 1st Edition Ahmed Seffah
About the Editors
Ahmed Seffah is a professor in the department of Computer Science at Concordia Uni-
versity. He is director of the Human-Centered Software Engineering Group and the
co-founder of the Concordia Software Usability and Empirical Studies Lab. He holds
a PhD in software engineering from the Ecole Centrale de Lyon (France). His research
interests are at the crossroads between software engineering and Human-Computer Inter-
action (HCI), including usability measurement, user interface design, empirical studies
on developer experiences with CASE tools, human-centered software engineering, and
patterns as a vehicle for integrating HCI knowledge in software engineering practices.
Dr. Seffah is the vice-chair of the IFIP working group on user-centered design method-
ologies. During the last 10 years, he has been involved in different projects in North
America and Europe.
Homa Javahery is a researcher and project manager with the Human-Centered Soft-
ware Engineering Group, including the Usability and Empirical Studies Lab, in the
department of Computer Science at Concordia University. She holds a Master’s degree
in Computer Science from Concordia University, and a Bachelor of Science degree from
McGill University. She is combining different design approaches from human sciences
and engineering disciplines to develop a pattern-oriented framework for designing a large
variety of interfaces. She has been involved in different collaborative projects at the
INRIA Research Institute in Nancy, France and the Daimler-Chrysler Research Institute
in Ulm, Germany.
Multiple User Interfaces Crossplatform Applications And Contextaware Interfaces 1st Edition Ahmed Seffah
Contributors
Gregory D. Abowd
College of Computing
Georgia Institute of Technology
Atlanta, Georgia 30332-0280
USA
abowd@cc.gatech.edu
Marc Abrams
Harmonia, Inc.
PO Box 11282
Blacksburg, VA 24062
USA
marc@harmonia.com
Harry Brignull
University of Sussex
Room 5A3, Interact Lab
School of Cognitive
and Computing Sciences
Falmer, Brighton BN1 9QH
UK
harrybr@cogs.susx.ac.uk
+44 (0) 1273 877221
Gaëlle Calvary
IIHM Group, CLIPS-IMAG Lab
BP 53, 385 rue de la Bibliotheque
38041 Grenoble Cedex 9
France
Joelle.Coutaz@imag.fr
+33 4 76 51 48 54
Didier Chincholle
Ericsson Research ERA/TVU/U
Torshamnsgatan 23, 164 80 Kista
Sweden
didier.chincholle@era.ericsson.se
+46 8 585 303 76
Joëlle Coutaz
IIHM Group, CLIPS-IMAG Lab
BP 53, 385 rue de la Bibliotheque
38041 Grenoble Cedex 9
France
Joelle.Coutaz@imag.fr
+33 4 76 51 48 54
Charles Denis
INTUILAB
Prologue 1, La Pyrénéenne,
BP 27/01, 31312 Labège Cedex
France
denis@intuilab.com
Anind K. Dey
Senior Researcher, Intel Research
2150 Shattuck Ave, Suite 1300
Berkeley, CA 94704
USA
anind@intel-research.net
+1-510-495-3012
xx CONTRIBUTORS
Anke Dittmar
University of Rostock
Department of Computer Science
Albert-Einstein-Str. 21
D-18051 Rostock
Germany
ad@informatik.uni-rostock.de
Min Du
Liverpool John Moores University
School of Computing
and Mathematical Sciences
Byrom St, Liverpool
L3 3AF UK
edcmdu@livjm.ac.uk
+44 (0) 151 231 2271
Jacob Eisenstein
CEO – RedWhale Software
277 Town & Country Village Palo Alto
CA 94303
USA
jacobe@mit.edu
+1 650 321-3425
Daniel Engelberg
CGI Group Inc.
1130 Sherbrooke West, 7th floor
Montreal, Quebec H3A 2M8
Canada
dan.engelberg@sympatico.ca
+1 514-281-7000, local 5820
David England
Liverpool John Moores University
School of Computing
and Mathematical Sciences
Byrom St, Liverpool
L3 3AF UK
d.england@livjm.ac.uk
+44 (0) 151 231 2271
Mir Farooq Ali
Virginia Technology Institute
Department of Computer Science (0106)
660 McBryde Hall
Blacksburg, VA 24061
USA
mfali@cs.vt.edu
1(540) 231 1927
Peter Forbrig
University of Rostock
Department of Computer Science
Albert-Einstein-Str. 21
D-18051 Rostock
Germany
pforbrig@informatik.uni-rostock.de
Elizabeth Furtado
Universidade de Fortaleza
NATI – Célula EAD
Washington Soares, 1321
Bairo Edson Queiroz
Fortaleza (Ceará), BR-60455770
Brazil
elizabet@unifor.br
João José Vasco Furtado
Universidade de Fortaleza
NATI – Célula EAD
Washington Soares, 1321
Bairo Edson Queiroz
Fortaleza (Ceará), BR-60455770
Brazil
vasco@unifor.br
Mikael Goldstein
Ericsson Research ERA/TVU/U
Torshamnsgatan 23
164 80 Kista
Sweden
mikael.goldstein@era.ericsson.se
+46 8 757 3679
John Grundy
University of Auckland
Department of Computer Science
Private Bag 92019
Auckland
CONTRIBUTORS xxi
New Zealand
john-g@cs.auckland.ac.nz
+64-9-3737-599 ext. 8761
Homa Javahery
Department of Computer Science
Faculty of Engineering
and Computer Science
1455 de Maisonneuve Blvd West
Montreal, Quebec H3G 1M8
Canada
h javahe@cs.concordia.ca
+1 514-848-3024
Laurent Karsenty
INTUILAB
Prologue 1, La Pyrénéenne,
BP 27/01, 31312 Labège Cedex
France
karsenty@intuilab.com
Quentin Limbourg
Université catholique de Louvain (UCL)
Information System Unit (ISYS-BCHI)
Institut d’Administration et de Gestion
(IAG)
Place des Doyens, 1
B-1348 Louvain-la-Neuve
Belgium
limbourg@isys.ucl.ac.be
+32-10.47.85.25
Simon Lock
Lancaster University
Computing Department
Lancaster LA1 4YR
UK
lock@comp.lancs.ac.uk
+44-1524-592795
Luisa Marucci
ISTI-CNR
Via G. Moruzzi 1
56100 Pisa
Italy
luisa.marucci@guest.cnuce.cnr.it
+39 050 3153066
Joanna McGrenere
University of British Columbia
Department of Computer Science
201–2366 Main Mall
Vancouver, BC V6J 2E2
Canada
joanna@cs.ubc.ca
604-827-5201
Andreas Müller
University of Rostock
Department of Computer Science
Albert-Einstein-Str. 21
D-18051 Rostock
Germany
Xray@informatik.uni-rostock.de
Gustav Öquist
Bollhusgränd 7
113 31 Stockholm
Sweden
gustav@stp.ling.uu.se
+46 8 739 417 783
Alexandros Paramythis
Foundation for Research and
Technology – Hellas
Institute of Computer Science
Science and Technology Park of Crete
Heraklion, Crete
GR – 71110 Greece
cs@ics.forth.gr
+30-810-391741
Fabio Paternò
ISTI-CNR
Via G. Moruzzi 1
56100 Pisa
Italy
fabio.paterno@cnuce.cnr.it
+39 050 3153066
xxii CONTRIBUTORS
Manuel Pérez-Quiñones
Virginia Technology Institute
Department of Computer Science (0106)
660 McBryde Hall
Blacksburg, VA 24061
USA
perez@cs.vt.edu
1(540) 231 2646
Angel R. Puerta
CEO – RedWhale Software
277 Town & Country Village Palo Alto
CA 94303
USA
puerta@redwhale.com
+1 650 321-3425
Carmen Santoro
ISTI-CNR
Via G. Moruzzi 1
56100 Pisa
Italy
C.Santoro@cnuce.cnr.it
+39 050 3153066
Anthony Savidis
Foundation for Research
and Technology – Hellas
Institute of Computer Science
Science and Technology Park of Crete
Heraklion, Crete,
GR – 71110 Greece
cs@ics.forth.gr
+30-810-391741
Ahmed Seffah
Concordia University
Department of Computer Science
Faculty of Engineering
and Computer Science
1455 de Maisonneuve Blvd West
Montreal, Quebec H3G 1M8
Canada
seffah@cs.concordia.ca
+1 514-848-3024
Wilker Bezerra Silva
Universidade de Fortaleza
NATI – Célula EAD
Washington Soares, 1321
Bairo Edson Queiroz
Fortaleza (Ceará), BR-60455770
Brazil
wilker@unifor.br
Daniel Sinnig
Concordia University
Department of Computer Science
Faculty of Engineering
and Computer Science
1455 de Maisonneuve Blvd West
Montreal, Quebec H3G 1M8
Canada
+1 514-848-3024
Constantine Stephanidis
Foundation for Research
and Technology – Hellas
Institute of Computer Science
Science and Technology Park of
Crete
Heraklion, Crete, GR – 71110
Greece
cs@ics.forth.gr
+30-810-391741
Leandro da Silva Taddeo
Universidade de Fortaleza
NATI – Célula EAD
Washington Soares, 1321
Bairo Edson Queiroz
Fortaleza (Ceará), BR-60455770
Brazil
taddeo@unifor.br
Daniel William Tavares Rodrigues
Universidade de Fortaleza
NATI – Célula EAD
Washington Soares, 1321
Bairo Edson Queiroz
Fortaleza (Ceará), BR-60455770
CONTRIBUTORS xxiii
Brazil
danielw@unifor.br
David Thevenin
IIHM Group, CLIPS-IMAG Lab
BP 53, 385 rue de la Bibliotheque
38041 Grenoble Cedex 9
France
Joelle.Coutaz@imag.fr
+33 4 76 51 48 54
Jean Vanderdonckt
Université catholique de Louvain (UCL)
Information System Unit (ISYS-BCHI)
Institut d’Administration
et de Gestion (IAG)
Place des Doyens, 1
B-1348 Louvain-la-Neuve
Belgium
vanderdonckt@isys.ucl.ac.be
+32-10.47.85.25
Vasilios Zarikas
Foundation for Research
and Technology – Hellas
Institute of Computer Science
Science and Technology Park of Crete
Heraklion, Crete, GR – 71110
Greece
cs@ics.forth.gr
+30-810-391741
Wenjing Zou
University of Auckland
Department of Computer Science
Private Bag 92019
Auckland
New Zealand
wenjingzou@hotmail.com
+64-9-3737-599 ext. 8761
Multiple User Interfaces Crossplatform Applications And Contextaware Interfaces 1st Edition Ahmed Seffah
Part I
Basic Terminology, Concepts,
and Challenges
Multiple User Interfaces Crossplatform Applications And Contextaware Interfaces 1st Edition Ahmed Seffah
1
Executive Summary and Book
Overview
Ahmed Seffah and Homa Javahery
Human-Centered Software Engineering Group, Department of Computer Science,
Concordia University, Canada
1.1. MOTIVATION
In recent years, a wide variety of computer devices including mobile telephones, personal
digital assistants (PDAs) and pocket PCs has emerged. Many existing devices are now
being introduced as an alternative to traditional computers. Internet-enabled television
(WebTV), 3D-interactive platforms with voice capabilities, and electronic whiteboards
attached to desktop machines are among the many examples. In addition, we are moving
away from the dominance of the WIMP (Windows, Icons, Mouse, and Pointer) system as
a main metaphor of human-computer interaction. Novel interaction styles are emerging.
These include web applications where users interact with the content, interactive television
controlled by hand-held remotes, and PDAs with small screens and styli for gesture-based
interaction.
All these variations in devices and interaction styles require changes in design, devel-
opment and testing frameworks. This book aims to introduce the reader to the current
research trends and innovative frameworks being developed to address these changes.
Multiple User Interfaces. Edited by A. Seffah and H. Javahery
 2004 John Wiley & Sons, Ltd ISBN: 0-470-85444-8
4 AHMED SEFFAH AND HOMA JAVAHERY
1.2. A FEW DEFINITIONS
This book refers to several context-specific terms including:
• Multi-device user interfaces: These allow a user to interact using various kinds of
computers including traditional office desktop, laptop, palmtop, PDA with or without
keyboards, and mobile telephone.
• Cross-platform user interfaces: These can run on several operating systems including
Windows, Linux and Solaris, if the user interface (UI) code is portable. For example,
Java runs a virtual machine called JVM, and code is compiled into an intermediate
format known as Java byte code, which is platform independent. When Java byte code
is executed within the JVM, the JVM optimizes the code for the particular platform on
which it is running. Microsoft’s latest technology,. NET follows the same principles.
Code is compiled into Microsoft Intermediate Language (MSIL) and is then executed
within the. NET framework as an application domain.
• Mobile versus stationary/fixed user interfaces: A mobile platform gives users seamless
access to information and services even when they are moving. Mobile computing
includes a large variety of mobile phones and PDAs, as well as new devices such as
wireless MP3 music players, digital cameras and personal health monitors.
• Context-aware applications: These refer to the ability of computing devices to detect,
sense, interpret and respond to aspects of a user’s local environment and the computing
devices themselves.
• User interface plasticity: The term plasticity is inspired from the property of mate-
rials that expand and contract under natural constraints without breaking, thus
preserving continuous use. Applied to HCI, plasticity is the capacity of an inter-
active system to withstand variations of contexts of use while preserving usability
properties.
• Universal user interfaces: These can support a broad range of hardware, software and
network capabilities with the central premise of accommodating users with a variety of
characteristics. These characteristics include diversity in skills, knowledge, age, gender,
disabilities, disabling conditions (mobility, sunlight, noise), literacy levels, cultures,
income levels, etc. [Hochheiser and Shneiderman 2001].
• Multiple user interfaces (MUI): These provide different views of the same information
and coordinate the services available to users from different computing platforms. By
computing platform, we refer to a combination of hardware, computing capabilities,
operating system and UI toolkit. The hardware includes traditional office desktops,
laptops, palmtops, mobile telephones, personal digital assistants (PDAs) and interac-
tive television. In a larger sense, computing platforms include wearable computers
and any other real or virtual objects that can interact with the services and informa-
tion. MUIs can support different types of look-and-feel and offer different interaction
styles. These different types of look-and-feel and interaction styles should take into
account the constraints of each computing platform while maintaining cross-platform
consistency.
EXECUTIVE SUMMARY AND BOOK OVERVIEW 5
1.3. CHALLENGES
Olsen et al. [2000], Johnson [1998] and Brewster et al. [1998] highlight the design chal-
lenges associated with the small screen size of hand-held devices. In comparison to
desktop computers, hand-held devices always suffer from a lack of screen real estate.
Therefore, new interaction metaphors have to be invented for such devices.
Many assumptions about classical stationary applications no longer apply for hand-
held devices due to the wide range of possibilities currently available. This wide range of
possibilities is due to hand-held devices having constantly updated capabilities, exploiting
additional features of novel generations of networks, and often being enabled for mobile
users with varying profiles.
Furthermore, many web-based UIs adapt to client devices, users and user tasks [see
Chapters 8 and 10]. This adaptation provides interfaces that run on conventional web
browsers using HyperText Markup Language (HTML), as well as on wireless PDAs,
mobile phones and pagers using Wireless Markup Language (WML) [see Chapter 5]. In
addition, it is important to adapt UIs to different users and user tasks [see Chapters 7
and 8]. For example, it is necessary to hide “Update” and “Delete” buttons if the user is
a customer or if the user is a staff member performing only information retrieval tasks.
Building such interfaces using current web-based system implementation technologies is
difficult and time-consuming, resulting in hard-to-maintain solutions.
Universal design is emerging as an approach where user interfaces of an interactive
application have to be designed for the widest population of users in different contexts
of use. In particular, the multiplicity of parameters dramatically increases the complexity
of the design phase by adding many design options from which to choose. In addition,
methods for developing UIs do not mesh well with this variety of parameters as they are
not identified and manipulated in a structured way, nor truly considered in the design
process [see Chapter 10].
1.4. SPECIFIC OBJECTIVES
Even if the software tools for developing a large variety of interfaces on each computing
platform are already available or will be in the near future [Myers 2000], the following are
the major development issues that need to be addressed by both academic and industrial
researchers:
• Building the ability to dynamically respond to changes in the environment such as
network connectivity, user’s location, ambient sound and lighting conditions: How can
we adapt the UI to the diversity of computing platforms that exists today? How can
we maintain or adapt the high level of interactivity of the traditional office desktop in
small devices without a keyboard and mouse? How can we make it possible for users
to customize a device? When a single device is customized, how can this customization
be reflected on all of the other devices available to the user?
6 AHMED SEFFAH AND HOMA JAVAHERY
• Designing for universal usability: What kinds of design methods are needed for design-
ing for diverse users and a large variety of technologies? Are the design techniques for
UI modelling suitable for addressing the problems of diversity, cross-platform consis-
tency and universal accessibility?
• Checking consistency between versions for guaranteeing seamless interaction across
multiple devices: Should we strive for uniformity in the services offered, dialogue
styles and presentation formats, or should we adapt the interfaces to the constraints and
capabilities of each device and/or each context of use? When designing MUIs, what is
the best way to take into account the constraints related to each type of device while
ensuring maintainability and cross-platform consistency of interfaces?
• Implementing and maintaining versions of the user interface across multiple devices:
How can we implement and validate a MUI for d devices without writing p programs,
training an army of developers in l languages and UI toolkits, and maintaining l*p
architectural models for describing the same UI? Are the content markup languages
adequate for device-independent authoring?
The book also introduces a variety of development frameworks that have been investigated
over the last few years:
• Conceptual and adaptation frameworks for interacting with multiple user interfaces,
including visual and awareness metaphors, and specific interaction styles;
• Design frameworks and patterns including widgets, toolkits and tools for multi-device
development and in particular for mobile devices;
• Application frameworks that use multi-devices or multiple user interfaces, in particu-
lar collaborative work environments, distance education systems and remote software
deployment systems;
• Validation frameworks including usability techniques for testing multiple user inter-
faces, as well as empirical tests and feedback.
1.5. AUDIENCE
This book introduces design and development frameworks for multi-device, context-aware
and multiple user interface systems. These frameworks are valuable to researchers and
practitioners in usability and software engineering, and generally to anyone interested in
the problem of developing and validating multi-devices or cross-platform user interfaces.
User interface developers, students and educators can use these frameworks to extend and
improve their HCI methodologies, and to learn techniques for developing and evaluating
a multiple user interface.
1.6. OVERVIEW
This book is divided into 6 parts:
Part I discusses “Basic Terminology, Concepts, and Challenges”. Following the execu-
tive summary, in Chapter 2 Ahmed Seffah and Homa Javahery, the co-editors of this book,
EXECUTIVE SUMMARY AND BOOK OVERVIEW 7
present a broad overview of multiple user interfaces. They discuss promising development
models that can facilitate MUI development while increasing cross-platform usability. This
chapter is highly speculative and will provide questions for basic research. This is a selec-
tive list of topics, and not exhaustive. The goal is to give researchers and practitioners a
glimpse of the most important problems surrounding MUI design and development. The
editors’ opinions expressed in Chapter 2 do not necessarily reflect all of the contributors’
ideas. Complementary and differing opinions are presented by other contributors in their
own chapters. After exploring these first two chapters, the reader should have an increased
awareness of the diversity of computing platforms and devices, a deeper understanding
of the major development challenges and difficulties, and a familiarity with the basic
terminology used.
Part II is entitled “Adaptation and Context-Aware User Interfaces”, and provides three
traditional but comprehensive perspectives on adaptation and context-aware techniques.
David Thevenin et al. from the CLIPS-IMAG Laboratory in Grenoble, France, introduce
the novel concept of user interface plasticity in Chapter 3. This chapter also provides a
generous glossary of terms complementing the basic terminology presented in Chapter 2.
Chapters 4 and 5 examine two dimensions of multi-interaction and adaptation. David
England and Min Du, from Liverpool John Moores University, take a look at the dif-
ferent temporal characteristics of platforms that can affect user performance. They then
propose a framework taking into account temporal aspects of interaction in the use of
different devices. They describe how the temporal aspects should be incorporated into the
interaction design process. In Chapter 5, Constantine Stephanadis et al., from the Institute
of Computer Science of the Foundation for Research and Technology – Hellas, Greece,
introduce their framework called PALIO (Personalized Access to Local Information and
services for tourists), focusing on its extensive support for adaptation. They demonstrate
how PALIO has been successfully used in the development of a real-world context-aware
information system for tourists using a wide range of devices.
Part III is on “Development Technology and Languages” and consists of three differ-
ent XML-based development frameworks. In Chapter 6, Mir Farooq Ali et al. (from the
Virginia Technology Institute and Harmonia Inc.) describe a high level XML-based User
Interface Markup Language (UIML) for the development of cross-platform user interfaces.
In Chapter 7, Angel Puerta and Jacob Eisenstein, from RedWhale Software, discuss the
rationale of XIML, another XML-based language for developing multiple user interfaces
by transforming and refining tasks and UI models. These modelling and programming
languages distinguish the concrete aspects of a user interface such as presentation and
dialogue from its abstract aspects including the context and the tasks. They are consid-
ered by the research community to be a bridge across the gap between the design and
development of user interfaces. John Grundy and Wenjing Zou, from the University of
Auckland in New Zealand, go a step further by showing how a UI markup language can
be interfaced with existing programming languages. They describe how scripts written in
their device-independent markup language (AUIT) can be embedded in conventional Java
server pages to provide a single adaptable thin-client interface for web-based systems. At
run-time, AUIT uses a single interface description to automatically provide an interface
for multiple web devices such as desktop HTML and mobile WML-based systems, while
highlighting, hiding or disabling the interface elements depending on the current context.
8 AHMED SEFFAH AND HOMA JAVAHERY
Together, these three chapters show how XML-based markup languages, with the help
of model-based techniques, can lead to an advanced framework for the development of
multi-platform user interfaces.
Part IV, on “Model-Based Development”, includes three chapters describing the state
of the art and the needed evolution in model-based development approaches. The basic
purpose of model-based approaches is to identify useful abstractions highlighting the
main UI aspects that should be considered when designing effective interactive appli-
cations. In Chapter 9, Peter Forbrig et al. from the University of Rostock, Germany,
present two techniques for task modelling and specification. The first technique allows
separate descriptions of general temporal relations within a task model versus tempo-
ral constraints that are imposed by the target platform. The second technique helps to
distinguish between an abstract interaction and specific representations. Using these two
techniques, specific features of devices are specified by XML descriptions. In Chapter 10,
Vanderdonckt et al. (from the Université Catholique de Louvain, Belgium and Universi-
dade de Fortaleza, Brazil) use several models at different levels in their methodological
framework for universal design. First, the design process is instantiated at a conceptual
level where a domain expert defines an ontology of concepts, relationships and attributes
of the domain of discourse, including user modelling. Then at a logical level, a designer
specifies multiple models based on the previously defined ontology and its allowed rules.
The last step consists of using a physical level to develop multiple user interfaces from
the previously specified models, with design alternatives determined by characteristics in
the user models. Fabio Paternò, the father of CTT (ConcurTaskTrees) notation, and his
colleagues at ISTI-CNR, Italy, explain in Chapter 11 how the user model can be struc-
tured for a MUI. In particular, they show how information on user preferences and on the
mobile versus stationary environment (such as location and surroundings) can be used to
adapt a user interface at run-time and at design time.
Part V is dedicated to “Architectures, Patterns and Development Toolkits”. Homa
Javahery et al. from the Human-Centered Software Engineering Group at Concordia
University, discuss in Chapter 12 the role of HCI patterns and software reengineering
techniques in migrating traditional GUIs to web and mobile user interfaces. In Chapter 13,
Anind Dey, from Intel Research in California, and Gregory D. Abowd, from the Geor-
gia Institute of Technology, present the Context Toolkit, an innovative and integrative
infrastructure for the development of context-aware applications. Through the description
of a number of built applications, they discuss a low-level widget abstraction that mir-
rors the use of graphical widgets for building graphical user interfaces and a situation
abstraction that supports easier and higher-level application development. In Chapter 14,
Simon Lock from Lancaster University and Harry Brignull from Sussex University, UK,
describe a run-time infrastructure including a developer-level framework. This infrastruc-
ture supports the construction of applications that allow multiple users to interact through
a dynamic set of interaction devices.
“Evaluation and Social Impacts” are addressed in Part VI. In Chapter 15, Gustav Öquist
et al. (from Uppsala University in Sweden and Ericsson Research) discuss “Assessing
Usability Across Multiple User Interfaces”. They present their practical experiences with
stationary versus mobile usability evaluations. In particular, they outline four typical con-
texts of use that they characterized by monitoring four environmental usability factors. By
EXECUTIVE SUMMARY AND BOOK OVERVIEW 9
assessing these factors, it was possible to obtain a profile of how useful a given interface
can be in a certain context of use. The usability profiles for several different interfaces
for input and output are also presented in this chapter, partly to illustrate how usability
can be assessed over multiple user interfaces, and partly as an illustration of how differ-
ent interfaces have been adapted to mobile environment attributes. In Chapter 16, Joanna
McGrenere from the University of British Columbia summarizes her MUI evaluation
experiment combining three usability studies. In the first study, McGrenere conducted
a broad-based assessment of 53 users of MS-Word 97. Based on the findings from this
study, she developed a first multiple-interface prototype for MS-Word 2000 including
one personalizable interface. In the last study, personalization was achieved through the
Wizard of Oz technique. Even if McGrenere’s definition of a multiple user interface is
restrictive compared to the ones proposed in this book, her empirical results are very
promising. They demonstrate how users were better able to navigate through the menus
and toolbars and learn a multiple-interface prototype.
Continuing part VI, Charles Denis and Laurent Karsenty from IntuiLab Inc., argue in
chapter 17 that the usability of individual devices is not sufficient: a multi-device system
needs to also be inter-usable. They define inter-usability as the ease with which users
transfer what they have learned from previous uses of a service when they access the
service on a new device. Based on theoretical considerations and empirical observations
gathered from a study with France Telecom, they propose an analysis grid combining two
types of continuity, namely knowledge and task, with ergonomic design principles includ-
ing consistency, transparency, and dialogue adaptability. The concept of inter-usability is
very similar to the concept of horizontal usability introduced in Chapter 2 by the editors.
Inter-usability or horizontal usability is a new dimension for studying the usability of
MUIs and multi-device user interfaces.
REFERENCES
Brewster, S., Leplâtre, G. and Crease, M. (1998) Using Non-Speech Sounds in Mobile Comput-
ing Devices. Proceedings of the First Workshop on Human Computer Interaction with Mobile
Devices, May 21–23, 1998, Glasgow, UK.
Hochheiser, H. and Shneiderman, B. (2001) Universal Usability Statements: Marking the trail for
all users. ACM Interactions 8(2), March–April 2001, 16–18.
Johnson, P. (1998) Usability and Mobility: Interactions on the move. Proceedings of the First Work-
shop on Human Computer Interaction With Mobile Devices, May 21–23, 1998, Glasgow, UK.
Myers, B., Hudson, S. and Pausch, R. (2000) Past, Present, and Future of User Interface Software
Tools. ACM Transactions on Computer-Human Interaction, 7, 3–28.
Olsen, D., Jefferies, S., Nielsen, T. et al. (2000) Cross-modal Interaction using XWeb. Proceedings
of the 13th Annual ACM Symposium on User Interface Software and Technology, UIST’2000,
November 5–8, 2000, San Diego, USA.
Multiple User Interfaces Crossplatform Applications And Contextaware Interfaces 1st Edition Ahmed Seffah
2
Multiple User Interfaces:
Cross-Platform Applications and
Context-Aware Interfaces
Ahmed Seffah and Homa Javahery
Human-Centered Software Engineering Group, Department of Computer Science,
Concordia University, Canada
2.1. MUI: CHARACTERIZATION AND EVOLUTION
We introduced the concept of “Multiple User Interface” (MUI) at the IHM-HCI 2001
workshop [Seffah et al. 2001]. Others are also using the term MUI with varying definitions
[McGrenere et al. 2002; Vanderdonckt and Oger 2001]. For the purposes of this book, a
Multiple User Interface is defined as an interactive system that provides:
• access to information and services using different computing platforms;
• multiple views of the same information on these different platforms;
• coordination of the services provided to a single user or a group of users.
Each view should take into account the specific capabilities and constraints of the
device while maintaining cross-platform consistency and universal usability. By comput-
ing platform, we refer to a combination of computer hardware, an operating system and
Multiple User Interfaces. Edited by A. Seffah and H. Javahery
 2004 John Wiley & Sons, Ltd ISBN: 0-470-85444-8
12 AHMED SEFFAH AND HOMA JAVAHERY
a user interface (UI) toolkit. Different kinds of computing platforms include traditional
office desktops, laptops, palmtops, mobile telephones, personal digital assistants (PDAs),
and interactive television. A MUI provides multiple views of the same information on
these different platforms and coordinates the services provided to a single user or a group
of users. Each view should take into account the specific capabilities and constraints of the
device while maintaining cross-platform consistency and universal usability. The informa-
tion and services can reside on a single server or computer, or can be distributed among
independent and heterogeneous systems. The desired views are made available on differ-
ent computing platforms via the traditional client/server protocol or a direct peer-to-peer
access. The concept of MUIs is highly promising in a variety of fields, such as cooperative
engineering, e-commerce, on-site equipment maintenance, remote software deployment,
contingency management and assistance, as well as distance education and telemedicine.
As an example of MUI use, a civil engineer can use a Palm Pilot on PalmOS for
gathering data when inspecting a new building. He/She can then use a mobile telephone
to add comments, fax, or upload information to the office headquarters. Finally, the same
engineer or any other employee can use an office workstation under Windows/Linux to
analyze the data and prepare a final report. During this workflow, the engineer inter-
acts with the same information and services using different variations of the UI. These
variations can support differences in look-and-feel, and to a certain extent, differences in
interaction style. The following is a scenario that further clarifies the MUI concept and
its use, based on [Ghani 2001]:
You are riding in a car with your colleague who is driving. Suddenly, your mobile
phone comes on, asking if you can take a video conference call from your team in
Canada to discuss a project on which you are working. You take the call and as you
communicate with them via the integrated car video system, you find out that they
need one of the spreadsheets you have saved on your laptop, which is in the trunk
of the car. Using your wireless technology, you are able to transfer the file to your
PDA, and then send it to your team. A few minutes later your team will receive and
open your spreadsheet, using an office desktop and you can start discussing options
with them once again via your interactive television from your comfortable home.
A MUI includes the following characteristics:
• It allows a user to interact with server-side services and information using different
interaction/UI styles. For example, the civil engineer in our previous example could
use pen and gestures on a PDA, function keys or single characters on a mobile phone,
and a mouse for a desktop computer.
• It allows an individual or a group to achieve a sequence of interrelated tasks using dif-
ferent devices. For example, our civil engineer could use a mobile telephone on the road
to confirm an appointment, a desktop computer to email information about an interview,
and a PDA to gather information about the user needs when interviewing stakeholders.
Finally, a laptop/desktop computer can be used to synthesize the information and write
the requirements report.
MULTIPLE USER INTERFACES: CROSS-PLATFORM APPLICATIONS AND CONTEXT-AWARE INTERFACES 13
Figure 2.1. An example of a MUI.
• It presents features and information that behave the same across platforms, even though
each platform/device has its specific look-and-feel.
• It feels like a variation of a single interface, for different devices with the same capa-
bilities.
Figure 2.1 shows a MUI for an Internet financial management system. The interface
consists of three views: desktop, PDA with keyboard, and mobile phone. Ideally, from
the user perspective, these three different interfaces should be as similar as possible.
However, this is not realistic because of the capabilities and constraints imposed by each
platform. The MUI here can be seen as a compromise between customized and platform-
dependent UIs. The effort required to keep all interfaces consistent and to maintain them
increases linearly with the number of interfaces, while the functionality of the underlying
financial system is expanding.
The MUI provides multiple views of the same model and coordinates the user actions
gathered from different devices/computers. The model can reside on a single information
repository, or can be distributed among independent systems. Each view can be seen as
a complete UI for a specific combination of hardware, operating system, and UI toolkit.
All these interfaces form a unique and single MUI. The list of features, the interaction
style, and the displayed information and feedback can vary from one platform to another.
2.1.1. INTERACTION STYLES
A MUI can support different interaction styles for different computing platforms. The
following three styles are commonly used:
14 AHMED SEFFAH AND HOMA JAVAHERY
• Graphical User Interface (GUI) or WIMP interfaces. This style is the most popular and
generally used for the office desktop. It employs four fundamental elements: windows,
icons, menus, and pointers.
• Web-based User Interface (WUI). The Web was originally conceived as a hypertext
information space. However, the development of increasingly sophisticated client and
server-side technologies has fostered its use as a remote software interface. A WUI
is generally a mixture of markup (i.e. HTML, XML syntax), style sheets, scripts (i.e.
ECMAScript, VBScript), as well as embedded objects such as Java applets and plug-
ins. An application using WUI style information is typically displayed in a single
GUI window called a browser, although multiple browser windows can be used by an
application to display information. The browser provides basic navigation. Different
browsers for small devices and mobile phones are being developed, and such browsers
are able to display a customized version of a WUI. The Yahoo Stock Manager is an
example of a WUI that has a customized version for mobile phones. The Web clipping
architecture and WAP framework provide basic services for dynamically generating
customized HTML documents that can be displayed on mobile phones.
• Handheld User Interface (HUI), such as on mobile phones and PDAs. There are two
major classes of PDAs and mobile phones in use today – those with a true GUI-style
appearance and behaviour, and those that use a GUI or WUI subset. Both classes of
UIs employ gesture-based interaction using a stylus and/or a touch screen. Even if it is
not yet clear what style of UI will dominate handheld computers, the use of GUI and
WUI styles should be re-evaluated due to lack of screen space and low bandwidth.
We expect that in the near future, designers will be asked to combine these three different
styles. Figure 2.2 shows an example of a MUI that combines the GUI and WUI styles.
Atomica Slingshot, formerly called GuruNet, is a pop-up application for retrieving refer-
ence information (dictionary, thesaurus and encyclopaedia) and real-time information such
Title Bar Find Field
Information
Tabs
Display
Section
What's
New
Status Bar
Browser
Buttons
Figure 2.2. GuruNet: An example of a MUI.
MULTIPLE USER INTERFACES: CROSS-PLATFORM APPLICATIONS AND CONTEXT-AWARE INTERFACES 15
as news, weather, and stock quotes across the Internet from inside any application. Atom-
ica Slingshot (www.gurunet.com/us/products/slingshot/index.html) offers a WUI. There
also exists a GUI version for office desktops and an optimized HUI version for PDAs.
Dealing with different UI styles complicates both the development and validation of
a MUI. Making a trade-off between these different styles when they come into conflict
is not an easy task. Due to device constraints, especially bandwidth capability, the UI
on a wireless handset has to be fundamentally different from the UI on a PC. It is
more restrictive since it cannot replicate the rich graphics, content, and functionality
of the UI of a traditional GUI application. The device’s characteristics and constraints
also need to be considered with respect to their immediate effect on the task execution
time, in order to achieve the same usability for mobile UIs as for GUIs. In traditional
desktop UIs, the keyboard and the mouse are the primary input devices. Changing from
a mouse to a stylus on a touch screen requires different interaction techniques. Display
resolution and smaller design space are the mobile computing platform’s most limiting
constraints. Because of screen resolution differences, an optimal layout for one display
may be impossible to render on another device. Reducing the size of a graphic might
make it meaningless, while scrolling large graphics both horizontally and vertically is an
unwieldy, unusable approach.
For all these reasons, some of the current development techniques that make implicit
assumptions about device characteristics need to be rethought. New presentation and
interaction techniques for MUIs are needed.
2.1.2. FUNDAMENTAL CHARACTERISTICS
The following are the major intrinsic characteristics of a MUI:
• Abstraction: All information and services should be the same across computing plat-
forms supporting the same level of interactivity, even if not all information and services
are shown or needed for all platforms. For example, a product listing might include
only the best-selling items on a handheld device, with the rest relegated to a secondary
“more products” page. For an office desktop, the product list includes all the items
for sale.
• Cross-platform consistency: A MUI can have a different look-and-feel while main-
taining the same behaviour over different platforms. For example, all user preferences
must be preserved across the interfaces. If the end-user has specified a particular access
mechanism using one interface, it should be used on all interfaces.
• Uniformity: A MUI should offer support for the same functionality and feedback even
if certain features or variations are eliminated on some platforms [Ramsay and Nielsen
2000]. For example, let us assume that an airline reservation system presents choosing a
flight and buying the ticket in two separate steps. This separation should be preserved
on all versions instead of unifying the two tasks into a single step on a simplified
version of the interface.
• User awareness of trade-off: It would be acceptable to have a simplified version of
a program that excludes certain less-important features (such as specifying a seating
preference) that are present in the more advanced version. Missing these features is a
16 AHMED SEFFAH AND HOMA JAVAHERY
trade-off that the user would be willing to make in return for the benefits of being able
to use the system in mobile contexts.
• Conformity to default UI standards: It is not necessary for all features to be made
available on all devices. For example, a PDA interface could eliminate images or it
might show them in black and white. Similarly, text can be abbreviated on a small
display, although it should be possible to retrieve the full text through a standard-
ized command.
These characteristics and constraints are not artefacts of current development technologies,
but are intrinsic to the MUI concept. Together, they characterize a MUI and complicate
its development.
2.1.3. VERTICAL VERSUS HORIZONTAL USABILITY
MUI usability issues can be considered to have two dimensions: vertical and horizontal.
Vertical usability refers to usability requirements specific to each platform while horizontal
usability is concerned with cross-platform usability requirements.
Many system manufacturers have issued design guidelines to assist designers in devel-
oping usable applications. These guidelines can be categorized according to whether they
advocate a design model (i.e. “do this”) or whether they discourage a particular imple-
mentation (i.e. “don’t do this”). For the PalmOS platform (www.palmsource.com), several
design guidelines address navigation issues, widget selection, and use of specialized input
mechanisms such as handwriting recognition. Microsoft Corporation has also published
usability guidelines to assist developers with programming applications targeted at the
Pocket PC platform. However, ‘give the user immediate and tangible feedback during
interaction with an application’ is either too general or too simplistic. In many cases,
the use of several different guidelines could create inconsistencies. Guidelines can come
into conflict more than usual, and making a trade-off can become an unsolvable task for
MUI developers.
Sun’s guidelines for the Java Swing architecture (http://java.sun.com) describe a look-
and-feel interface that can overcome the limitations of platform-dependent guidelines.
However, these guidelines do not take into account the distinctiveness of each device,
and in particular the platform constraints and capabilities. An application’s UI components
should not be hard-coded for a particular look-and-feel. The Java PL&F (Pluggable Look
and Feel) is the portion of a Swing component that deals with its appearance (its look);
it is distinguished from its event-handling mechanism (its feel). When you run a Swing
program, it can set its own default look by simply calling a UIManager method named
setLookAndFeel.
2.1.4. RELATED WORK
Remarkably, although research on MUIs and multi-device interaction can be traced to
the early 1980s, there are relatively few examples of successful implementations [Grudin
1994]. Perhaps the main cause of this poor success rate is the difficulty of integrating the
overwhelming number of technological, psychological and sociological factors that affect
MUI usability into a single unified design.
MULTIPLE USER INTERFACES: CROSS-PLATFORM APPLICATIONS AND CONTEXT-AWARE INTERFACES 17
In the evolution of user interfaces, a multi-user interface has been introduced to support
groups of devices and people cooperating through the computer medium [Grudin 1994].
A single user in the context of a MUI corresponds to a group of users for a multi-user
interface. The user is asynchronously collaborating with himself/herself. Even if the user
is physically the same person, he/she can have different characteristics while working
with different devices. For example, a mobile user is continuously in a rush, impatient,
and unable to wait [Ramsay and Nielsen 2000]. This user needs immediate, quick, short
and concise feedback. In the office, the same user can afford to wait a few seconds more
for further details and explanations.
The MUI domain can benefit from the considerable number of studies done in the area
of context-aware (or context-sensitive) user interfaces. This is still an active research topic,
with many emerging models such as plastic user interfaces [Thevenin and Coutaz 1999]
and the moderator model [Vanderdonckt and Oger 2001]. In a recent essay, Winograd
[2001] compared different architectures for context of use. As characterized in the previous
section, a MUI is a context-sensitive UI. This does not mean that a MUI should adapt
itself magically at run-time to the context of use (and in particular to platform capabilities
and constraints). The MUI can be either adaptive or adaptable. As we will discuss in the
next section, the adaptation can be done during specification, design or development by
the developer. The adaptation can also occur before or after deployment, either by the
end-user or the developer.
The concept of a compound document is also a useful technology that can support
the development and integration of the different views that form a MUI. A compound
document framework can act as a container in which a continuous stream of various
kinds of data and components can be placed [Orfali et al. 1996]. To a certain extent,
a compound document is an organized collection of user interfaces that we consider as
a specialization of a MUI. Each content form has associated controls that are used to
modify the content in place. During the last decade, a number of frameworks have been
developed such as Andrew, OLE, Apple OpenDoc, Active X and Sun Java Beans.
Compound document frameworks are important for the development of a MUI for
several reasons. They allow the different parts of a MUI to co-exist closely. For example,
they keep data active from one part to another, unlike the infamous cut and paste. They
also eliminate the need for an application to have a viewer for all kinds of data; it is
sufficient to invoke the right functionality and/or editor. Views for small devices do not
have to implement redundant functions. For example, there is no need for Microsoft
Word to implement a drawing program; views can share a charting program. Compound
document frameworks can also support asynchronous collaboration between the different
views and computers.
McGrenere et al. [2002] illustrate the use of two versions of the same application with
two different user interfaces as follows:
One can imagine having multiple interfaces for a new version of an application;
for example, MS-Word 2000 could include the MS-Word 97 interface. By allowing
users to continue to work in the old interface while also accessing the new interface,
they would be able to transition at a self-directed pace. Similarly, multiple interfaces
might be used to provide a competitor’s interface in the hopes of attracting new
18 AHMED SEFFAH AND HOMA JAVAHERY
customers. For example, MS-Word could offer the full interface of a word processor
such as Word Perfect (with single button access to switch between the two), in order
to support users gradually transitioning to the Microsoft product.
Our definition of a MUI is different from McGrenere’s definition. The common basis
is the fact that the user is exposed to two variations of the same interface. McGrenere
considers only the variations, which are referred to as versions, for the same computing
platform; while in our definition, the two variations can be either for the same computing
platform or for different ones.
2.2. FERTILE TOPICS FOR RESEARCH
EXPLORATION
We will now discuss promising development models that can facilitate MUI development
while increasing their usability. This section of the paper is highly speculative and will
raise far more fundamental research questions than it will provide answers. Furthermore,
this is a selective list of topics, and not exhaustive. Our goal is to give researchers a
glimpse of the most important problems surrounding potential MUI development models.
In the migration of interactive systems to new platforms and architectures, many mod-
ifications have to be made to the user interface. As an example, in the process of adapting
the traditional desktop GUI to other kinds of user interfaces such as Web or handheld
user interfaces, most of the UI code has to be modified. In this scenario, UI model-based
techniques can drive the reengineering process. Reverse engineering techniques can be
applied, resulting in a high-level model of the UI. This model can then be used to help
reengineer the user interface.
2.2.1. CONTEXT-AWARE DEVELOPMENT
Context-aware UI development refers to the ability to tailor and optimize an interface
according to the context in which it is used. Context-aware computing as mentioned
by Dey and Abowd refers to the “ability of computing devices to detect and sense,
interpret and respond to, aspects of a user’s local environment and the computing devices
themselves” [Dey and Abowd 2000]. Context-aware applications dynamically adapt their
behaviour to the user’s current situation, and to changes of context of use that might
occur at run-time, without explicit user intervention. Adaptation requires a MUI to sense
changes in the context of use, make inferences about the cause of these changes, and then
to react appropriately.
Two types of adaptation have to be considered for MUIs:
• Adapting to technological variety Technological variety implies supporting a broad
range of hardware, software, and network access. The first challenge in adaptation
is to deal with the pace of change in technology and the variety of equipment that
users employ. The stabilizing forces of standard hardware, operating systems, network
protocols, file formats and user interfaces are undermined by the rapid pace of tech-
nological change. This variety also results in computing devices (e.g. mobile phones)
MULTIPLE USER INTERFACES: CROSS-PLATFORM APPLICATIONS AND CONTEXT-AWARE INTERFACES 19
that exhibit drastically different capabilities. For example, PDAs use a pen-based input
mechanism and have average screen sizes around three inches. In contrast, the typ-
ical PC uses a full sized keyboard and a mouse and has an average screen size of
17 inches. Coping with such drastic variations implies much more than mere layout
changes. Pen-based input mechanisms are slower than traditional keyboards and are
therefore inappropriate for applications such as word processing that require intensive
user input.
• Adapting to diversity in context of use Further complications arise from accommodat-
ing users with different skills, knowledge, age, gender, disabilities, disabling condi-
tions (mobility, sunlight, noise), literacy, culture, income, etc. [Stephanidis 2002]. For
example, while walking down the street, a user may use a mobile phone’s Internet
browser to look up a stock quote. However, it is highly unlikely that this same user
would review the latest changes made to a document using the same device. Rather, it
would seem more logical and definitely more practical to use a full size computer for
this task. It would therefore seem that the context of use is determined by a combina-
tion of internal and external factors. The internal factors primarily relate to the user’s
attention while performing a task. In some cases, the user may be entirely focused
while at other times, the user may be distracted by other concurrent tasks. An example
of this latter point is that when a user is driving a car, he/she cannot use a PDA to
reference a telephone number. External factors are determined to a large extent by the
device’s physical characteristics. It is not possible to make use of a traditional PC as
one walks down the street. The same is not true for a mobile telephone. The challenge
to the system architect is thus to match the design of a particular device’s UI with the
set of constraints imposed by the corresponding context of use.
A fundamental question is when should a MUI be tailored as a single and unique
interface? The range of strategies for adaptation is delimited by two extremes. Interface
adaptation can happen at the factory, that is, developers produce several versions of an
application tailored according to different criteria. Tailoring can also be done at the user’s
side, for instance, by system administrators or experienced users. At the other extreme,
individual users might tailor the interfaces themselves, or the interface could adapt on
its own by analyzing the context of use. The consensus from our workshop was that the
adaptation of a MUI should be investigated at different steps of the deployment lifecycle
[Seffah et al. 2001]:
• User customization after deployment Here, tailoring operations are the entire responsi-
bility of the user. While this laissez-faire approach avoids the need for system support,
it lacks a central arbitrator to resolve incompatible and inconsistent preferences between
devices. The arbitrator should have the ability to make global changes (cross-platform
changes) based on local adaptations. This makes MUIs more difficult to write, and the
adaptation fails to repay the development cost of support.
• Automatic adaptation at run-time The idea is to write one UI implementation that
adapts itself at run-time to any computing platform and context of use. The drawback
of this strategy is that there may be situations where adaptation performed by the system
is inadequate or even counterproductive.
20 AHMED SEFFAH AND HOMA JAVAHERY
• Just-in-time customization during development or deployment Developers can use a
high-level language to implement an abstract and device-independent UI model. Then,
using a rendering tool, they can generate the code for a specific platform. The User
Interface Markup Language, UIML [Abrams and Phanouriou 1999], and the eXtensi-
ble Interface Markup Language, XIML [Eisenstein et al. 2001], aim to support such
an approach.
• Customization during design and specification This approach requires the development
of an appropriate design methodology and multi-platform terminology to properly build
a task model of a MUI. This model may be expressed in one or more notations. Tailoring
can be done at the stage of abstract interface specification where the dialogue gets
modified, for example to shortcut certain steps, to rearrange the order for performing
steps, etc.
Efforts have already begun to develop frameworks that support the building of context-
aware applications. The Context Toolkit [Dey and Abowd 2000] is an infrastructure that
supports the rapid development of context-aware services, assuming an explicit descrip-
tion of a context. This framework’s architecture enables the applications to obtain the
context they require without knowledge about how the context was sensed. The Context
Toolkit consists of context widgets that implicitly sense context, aggregators that collect
related context, interpreters that convert between context types and interpret the context,
applications that use context and a communications infrastructure that delivers context
to these distributed components. The toolkit makes it easy to add the use of context or
implicit input to existing applications.
2.2.2. MODEL-BASED DEVELOPMENT
Model-based approaches for UI development [Bomsdorf and Szwillus 1998; Müller et al.
2001] exploit the idea of using declarative interface models to drive the interface devel-
opment process. An interface model represents all the relevant aspects of a UI using a
user interface modelling language. Model-based development approaches attempt to auto-
matically produce a concrete UI design (i.e. a concrete presentation and dialogue for a
specific platform) from the abstract “generic” representation of the UI (i.e., generic task,
domain and dialogue model). This is done by mapping the abstract model onto the con-
crete user interface or some of its elements [Bomsdorf and Szwillus 1998]. For example,
given user task t in domain d, the mapping process will find an appropriate presentation p
and dialogue D that allows user u to accomplish t. Therefore, the goal of a model-based
system in such a case is to link t, d, and u with an appropriate p and D. Model-based UI
development could be characterized as a process of creating mappings between elements
in various model components. The process of generating the concrete interface and UI
model involves levels as shown in Figure 2.3.
Model-based approaches, in particular the related automatic or semi-automatic UI
generation techniques, are of interest to MUI development. UI modelling will be an
essential component of any effective long-term approach to developing MUIs. Increased
user involvement in the UI development process will produce more usable UI models.
Model-based UI systems take an abstract model of the UI and apply design rules and data
MULTIPLE USER INTERFACES: CROSS-PLATFORM APPLICATIONS AND CONTEXT-AWARE INTERFACES 21
UI models
Generic UI specification
Concrete UI specification
Generic task, domain and dialog
models
Concrete task, domain and
dialogue models
Figure 2.3. Examples of models and mappings in model-based development.
about the application to generate an instance of the UI. Declarative model-based tech-
niques use UI modelling techniques for abstractly describing the UI. A formal, declarative
modelling language should express the UI model.
Current model-based techniques, which most frequently use task and domain models,
do not generate high-quality interfaces. Furthermore, task analysis is performed to obtain
a single UI that is adapted for a single context of use. We need to model tasks that can be
supported in multiple contexts of use, considering multiple combinations of the contextual
conditions. Knowledge bases for domain, presentation, dialogue, platform and context of
use need to be exploited to produce a usable UI that matches the requirements of each
context of use.
UI models that support mobility contain not only the visual look-and-feel of the UI,
but also semantic information about the interface. The model-based techniques proposed
for mobile UIs range from relatively low-level implementation solutions, such as the
use of abstract and concrete interactor objects, to high-level task-based optimization of
the interface’s presentation structure. UI models should factor out different aspects of UI
design that are relevant to different contexts of use and should isolate context-independent
issues from context-specific ones.
As a starting point for research in the field of model-based development for MUIs,
the focus should be on task-based models [Paternò 2001]. Such models can foster the
emergence of new development approaches for MUIs, or at least help us to better under-
stand the complexity of MUI development. A task model describes the essential tasks that
the user performs while interacting with the UI. A typical task model is a hierarchical
tree with sub-trees indicating the tasks that the user can perform. Task models are a very
convenient specification of the way problems can be solved.
Early investigations show that in the case of a MUI, we should make a distinction
between four kinds of task models [Müller et al. 2001]: general task models for the
problem domain, general task models for software support, device-dependent task models
22 AHMED SEFFAH AND HOMA JAVAHERY
and environment-dependent task models. The general task model for the problem domain
is the result of a very detailed analysis of the problem domain. It describes how a problem
can be tackled in general. All relevant activities and their temporal relations are described.
Such a model can be considered as the representation of an expert’s knowledge. The state
of the art for the problem domain is captured within this model.
Certain approaches transform whole applications from one platform to another one
without considering the tasks that will be supported. However, sometimes it is wise to
look at the tasks first and to decide which tasks a device can support optimally. This
information is captured in the device-dependent task model. The environment-dependent
task model is the most specific one. It is based on design decisions in previous models
and describes computer-supported tasks for a given device. This model describes the
behaviour of a system based on the available tools, resources, and the abilities of the
user. It can be interpreted statically (environmental influences are defined during design
time) or dynamically (environmental influences are evaluated during run-time).
2.2.3. PATTERN-DRIVEN DEVELOPMENT
In the field of UI design, a pattern encapsulates a proven solution for a usability problem
that occurs in various contexts of use. As an illustration, the convenient toolbar pattern
(used on web pages) provides direct access to frequently used pages or services. This
pattern, also called Top Level Navigation [Tidwell 1997], can include navigation con-
trols for News, Search, Contact Us, Home Page, Site Map, etc. UI design patterns can
be used to create a high-level design model, and can therefore facilitate the develop-
ment and validation of MUIs. Discussion of patterns for software design started with the
software engineering community and now the UI design community has enthusiastically
taken up discussion of patterns for UI design. Many groups have devoted themselves to
the development of pattern languages for UI design and usability. Among the heteroge-
neous collections of patterns, those known as Common Ground, Experience, Brighton,
and Amsterdam play a major role in this field and have significant influence [Tidwell
1997; Borchers 2000]. Patterns have the potential to support and drive the whole design
process of MUIs by helping developers select proven solutions of the same problem for
different platforms.
Pattern-driven development should not be considered as an alternative approach to
model-based and context-aware development. In the context of MUI development, patterns
can complement a task model by providing best experiences gained through end-user
feedback. Furthermore, patterns are suitable for transferring knowledge from usability
experts to software engineers who are unfamiliar with MUI design, through the use
of software tools. For instance, CASE tools have long been available to assist software
developers in the integration of the many aspects of web application prototyping [Javahery
and Seffah 2002].
However, the natural language medium generally used to document patterns, coupled
with a lack of tool support, compromises these potential uses of patterns, as well as the
pattern-oriented design approach. These well-known weaknesses of UI patterns should
motivate researchers to investigate a systematic approach to support both pattern writ-
ers and users alike by automating the development of pattern-assisted design. We should
MULTIPLE USER INTERFACES: CROSS-PLATFORM APPLICATIONS AND CONTEXT-AWARE INTERFACES 23
also provide a framework for automating the development of pattern-oriented design. The
motivation of such automation is to help novice designers apply patterns correctly and effi-
ciently when they really need them. One approach to pattern-oriented design automation
is being able to understand during the design process when a pattern is applicable, how it
can be applied, and how and why it can or cannot be combined with other related patterns.
2.2.4. DEVICE-INDEPENDENT DEVELOPMENT
Currently, different development languages are available (Figure 2.4). Under the umbrella
of platform-dependent languages, we classify the wide variety of existing mark-up lan-
guages for wireless devices such as the Wireless Markup Language (WML) or the light
HTML version. These languages take into account the platform constraints and capabil-
ities posed by each platform. They also suggest specific design patterns for displaying
information and interacting with the user in specific ways for each device.
Platform-independent languages are mainly based on UI modelling techniques. Their
goal is to allow cross-platform development of UIs while ensuring consistency not only
between the interfaces on a variety of platforms, but also in a variety of contexts of
use. They provide support for constraints imposed not only by the computing platforms
themselves, but also by the type of user and by the physical environment. They should
help designers recognize and accommodate each context in which the MUI is being
used. Such languages provide basic mechanisms for UI reconfigurations depending on
variations of the context of use. They address some of the problems raised by context-
aware development.
XML-based languages such as XIML and UIML are promising candidates for MUI
development. Some of the reasons are that such XML-based languages:
• Can contain constraint definitions for the XML form itself, and also for the exter-
nal resources;
• Allow the separation of UI description from content, by providing a way to spec-
ify how UI components should interact and a way to spell out the rules that define
interaction behaviour;
Assembly language
High-level programming language (C, C++, etc.)
Platform-dependent mark-up language (WML, etc.)
Platform-independent markup and model-based
language (XIML, UIML)
Scripting language (VB, PERL, etc.)
Figure 2.4. Evolution of UI development languages.
Exploring the Variety of Random
Documents with Different Content
This eBook is for the use of anyone anywhere in the United
States and most other parts of the world at no cost and with
almost no restrictions whatsoever. You may copy it, give it away
or re-use it under the terms of the Project Gutenberg License
included with this eBook or online at www.gutenberg.org. If you
are not located in the United States, you will have to check the
laws of the country where you are located before using this
eBook.
1.E.2. If an individual Project Gutenberg™ electronic work is derived
from texts not protected by U.S. copyright law (does not contain a
notice indicating that it is posted with permission of the copyright
holder), the work can be copied and distributed to anyone in the
United States without paying any fees or charges. If you are
redistributing or providing access to a work with the phrase “Project
Gutenberg” associated with or appearing on the work, you must
comply either with the requirements of paragraphs 1.E.1 through
1.E.7 or obtain permission for the use of the work and the Project
Gutenberg™ trademark as set forth in paragraphs 1.E.8 or 1.E.9.
1.E.3. If an individual Project Gutenberg™ electronic work is posted
with the permission of the copyright holder, your use and distribution
must comply with both paragraphs 1.E.1 through 1.E.7 and any
additional terms imposed by the copyright holder. Additional terms
will be linked to the Project Gutenberg™ License for all works posted
with the permission of the copyright holder found at the beginning
of this work.
1.E.4. Do not unlink or detach or remove the full Project
Gutenberg™ License terms from this work, or any files containing a
part of this work or any other work associated with Project
Gutenberg™.
1.E.5. Do not copy, display, perform, distribute or redistribute this
electronic work, or any part of this electronic work, without
prominently displaying the sentence set forth in paragraph 1.E.1
with active links or immediate access to the full terms of the Project
Gutenberg™ License.
1.E.6. You may convert to and distribute this work in any binary,
compressed, marked up, nonproprietary or proprietary form,
including any word processing or hypertext form. However, if you
provide access to or distribute copies of a Project Gutenberg™ work
in a format other than “Plain Vanilla ASCII” or other format used in
the official version posted on the official Project Gutenberg™ website
(www.gutenberg.org), you must, at no additional cost, fee or
expense to the user, provide a copy, a means of exporting a copy, or
a means of obtaining a copy upon request, of the work in its original
“Plain Vanilla ASCII” or other form. Any alternate format must
include the full Project Gutenberg™ License as specified in
paragraph 1.E.1.
1.E.7. Do not charge a fee for access to, viewing, displaying,
performing, copying or distributing any Project Gutenberg™ works
unless you comply with paragraph 1.E.8 or 1.E.9.
1.E.8. You may charge a reasonable fee for copies of or providing
access to or distributing Project Gutenberg™ electronic works
provided that:
• You pay a royalty fee of 20% of the gross profits you derive
from the use of Project Gutenberg™ works calculated using the
method you already use to calculate your applicable taxes. The
fee is owed to the owner of the Project Gutenberg™ trademark,
but he has agreed to donate royalties under this paragraph to
the Project Gutenberg Literary Archive Foundation. Royalty
payments must be paid within 60 days following each date on
which you prepare (or are legally required to prepare) your
periodic tax returns. Royalty payments should be clearly marked
as such and sent to the Project Gutenberg Literary Archive
Foundation at the address specified in Section 4, “Information
about donations to the Project Gutenberg Literary Archive
Foundation.”
• You provide a full refund of any money paid by a user who
notifies you in writing (or by e-mail) within 30 days of receipt
that s/he does not agree to the terms of the full Project
Gutenberg™ License. You must require such a user to return or
destroy all copies of the works possessed in a physical medium
and discontinue all use of and all access to other copies of
Project Gutenberg™ works.
• You provide, in accordance with paragraph 1.F.3, a full refund of
any money paid for a work or a replacement copy, if a defect in
the electronic work is discovered and reported to you within 90
days of receipt of the work.
• You comply with all other terms of this agreement for free
distribution of Project Gutenberg™ works.
1.E.9. If you wish to charge a fee or distribute a Project Gutenberg™
electronic work or group of works on different terms than are set
forth in this agreement, you must obtain permission in writing from
the Project Gutenberg Literary Archive Foundation, the manager of
the Project Gutenberg™ trademark. Contact the Foundation as set
forth in Section 3 below.
1.F.
1.F.1. Project Gutenberg volunteers and employees expend
considerable effort to identify, do copyright research on, transcribe
and proofread works not protected by U.S. copyright law in creating
the Project Gutenberg™ collection. Despite these efforts, Project
Gutenberg™ electronic works, and the medium on which they may
be stored, may contain “Defects,” such as, but not limited to,
incomplete, inaccurate or corrupt data, transcription errors, a
copyright or other intellectual property infringement, a defective or
damaged disk or other medium, a computer virus, or computer
codes that damage or cannot be read by your equipment.
1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except for
the “Right of Replacement or Refund” described in paragraph 1.F.3,
the Project Gutenberg Literary Archive Foundation, the owner of the
Project Gutenberg™ trademark, and any other party distributing a
Project Gutenberg™ electronic work under this agreement, disclaim
all liability to you for damages, costs and expenses, including legal
fees. YOU AGREE THAT YOU HAVE NO REMEDIES FOR
NEGLIGENCE, STRICT LIABILITY, BREACH OF WARRANTY OR
BREACH OF CONTRACT EXCEPT THOSE PROVIDED IN PARAGRAPH
1.F.3. YOU AGREE THAT THE FOUNDATION, THE TRADEMARK
OWNER, AND ANY DISTRIBUTOR UNDER THIS AGREEMENT WILL
NOT BE LIABLE TO YOU FOR ACTUAL, DIRECT, INDIRECT,
CONSEQUENTIAL, PUNITIVE OR INCIDENTAL DAMAGES EVEN IF
YOU GIVE NOTICE OF THE POSSIBILITY OF SUCH DAMAGE.
1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If you
discover a defect in this electronic work within 90 days of receiving
it, you can receive a refund of the money (if any) you paid for it by
sending a written explanation to the person you received the work
from. If you received the work on a physical medium, you must
return the medium with your written explanation. The person or
entity that provided you with the defective work may elect to provide
a replacement copy in lieu of a refund. If you received the work
electronically, the person or entity providing it to you may choose to
give you a second opportunity to receive the work electronically in
lieu of a refund. If the second copy is also defective, you may
demand a refund in writing without further opportunities to fix the
problem.
1.F.4. Except for the limited right of replacement or refund set forth
in paragraph 1.F.3, this work is provided to you ‘AS-IS’, WITH NO
OTHER WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR ANY PURPOSE.
1.F.5. Some states do not allow disclaimers of certain implied
warranties or the exclusion or limitation of certain types of damages.
If any disclaimer or limitation set forth in this agreement violates the
law of the state applicable to this agreement, the agreement shall be
interpreted to make the maximum disclaimer or limitation permitted
by the applicable state law. The invalidity or unenforceability of any
provision of this agreement shall not void the remaining provisions.
1.F.6. INDEMNITY - You agree to indemnify and hold the Foundation,
the trademark owner, any agent or employee of the Foundation,
anyone providing copies of Project Gutenberg™ electronic works in
accordance with this agreement, and any volunteers associated with
the production, promotion and distribution of Project Gutenberg™
electronic works, harmless from all liability, costs and expenses,
including legal fees, that arise directly or indirectly from any of the
following which you do or cause to occur: (a) distribution of this or
any Project Gutenberg™ work, (b) alteration, modification, or
additions or deletions to any Project Gutenberg™ work, and (c) any
Defect you cause.
Section 2. Information about the Mission
of Project Gutenberg™
Project Gutenberg™ is synonymous with the free distribution of
electronic works in formats readable by the widest variety of
computers including obsolete, old, middle-aged and new computers.
It exists because of the efforts of hundreds of volunteers and
donations from people in all walks of life.
Volunteers and financial support to provide volunteers with the
assistance they need are critical to reaching Project Gutenberg™’s
goals and ensuring that the Project Gutenberg™ collection will
remain freely available for generations to come. In 2001, the Project
Gutenberg Literary Archive Foundation was created to provide a
secure and permanent future for Project Gutenberg™ and future
generations. To learn more about the Project Gutenberg Literary
Archive Foundation and how your efforts and donations can help,
see Sections 3 and 4 and the Foundation information page at
www.gutenberg.org.
Section 3. Information about the Project
Gutenberg Literary Archive Foundation
The Project Gutenberg Literary Archive Foundation is a non-profit
501(c)(3) educational corporation organized under the laws of the
state of Mississippi and granted tax exempt status by the Internal
Revenue Service. The Foundation’s EIN or federal tax identification
number is 64-6221541. Contributions to the Project Gutenberg
Literary Archive Foundation are tax deductible to the full extent
permitted by U.S. federal laws and your state’s laws.
The Foundation’s business office is located at 809 North 1500 West,
Salt Lake City, UT 84116, (801) 596-1887. Email contact links and up
to date contact information can be found at the Foundation’s website
and official page at www.gutenberg.org/contact
Section 4. Information about Donations to
the Project Gutenberg Literary Archive
Foundation
Project Gutenberg™ depends upon and cannot survive without
widespread public support and donations to carry out its mission of
increasing the number of public domain and licensed works that can
be freely distributed in machine-readable form accessible by the
widest array of equipment including outdated equipment. Many
small donations ($1 to $5,000) are particularly important to
maintaining tax exempt status with the IRS.
The Foundation is committed to complying with the laws regulating
charities and charitable donations in all 50 states of the United
States. Compliance requirements are not uniform and it takes a
considerable effort, much paperwork and many fees to meet and
keep up with these requirements. We do not solicit donations in
locations where we have not received written confirmation of
compliance. To SEND DONATIONS or determine the status of
compliance for any particular state visit www.gutenberg.org/donate.
While we cannot and do not solicit contributions from states where
we have not met the solicitation requirements, we know of no
prohibition against accepting unsolicited donations from donors in
such states who approach us with offers to donate.
International donations are gratefully accepted, but we cannot make
any statements concerning tax treatment of donations received from
outside the United States. U.S. laws alone swamp our small staff.
Please check the Project Gutenberg web pages for current donation
methods and addresses. Donations are accepted in a number of
other ways including checks, online payments and credit card
donations. To donate, please visit: www.gutenberg.org/donate.
Section 5. General Information About
Project Gutenberg™ electronic works
Professor Michael S. Hart was the originator of the Project
Gutenberg™ concept of a library of electronic works that could be
freely shared with anyone. For forty years, he produced and
distributed Project Gutenberg™ eBooks with only a loose network of
volunteer support.
Project Gutenberg™ eBooks are often created from several printed
editions, all of which are confirmed as not protected by copyright in
the U.S. unless a copyright notice is included. Thus, we do not
necessarily keep eBooks in compliance with any particular paper
edition.
Most people start at our website which has the main PG search
facility: www.gutenberg.org.
This website includes information about Project Gutenberg™,
including how to make donations to the Project Gutenberg Literary
Archive Foundation, how to help produce our new eBooks, and how
to subscribe to our email newsletter to hear about new eBooks.
Welcome to our website – the perfect destination for book lovers and
knowledge seekers. We believe that every book holds a new world,
offering opportunities for learning, discovery, and personal growth.
That’s why we are dedicated to bringing you a diverse collection of
books, ranging from classic literature and specialized publications to
self-development guides and children's books.
More than just a book-buying platform, we strive to be a bridge
connecting you with timeless cultural and intellectual values. With an
elegant, user-friendly interface and a smart search system, you can
quickly find the books that best suit your interests. Additionally,
our special promotions and home delivery services help you save time
and fully enjoy the joy of reading.
Join us on a journey of knowledge exploration, passion nurturing, and
personal growth every day!
ebookbell.com

More Related Content

PDF
Paper Alejandro Medrano - Use of hierarchical model-view-controller architect...
PPTX
Human Computer Interaction Lecture Notes
PDF
Natural User Interfaces in NET Joshua Blake
PDF
The Resonant Interface Hci Foundations For Interaction Design 1st Edition Ste...
PDF
A Multimodal End2end Approach To Accessible Computing 2nd Edition P Biswas
PDF
A Multimodal End2end Approach To Accessible Computing 2nd Edition P Biswas
PDF
A Multimodal End2end Approach To Accessible Computing 2nd Edition P Biswas
PDF
Modelling the User Interface
Paper Alejandro Medrano - Use of hierarchical model-view-controller architect...
Human Computer Interaction Lecture Notes
Natural User Interfaces in NET Joshua Blake
The Resonant Interface Hci Foundations For Interaction Design 1st Edition Ste...
A Multimodal End2end Approach To Accessible Computing 2nd Edition P Biswas
A Multimodal End2end Approach To Accessible Computing 2nd Edition P Biswas
A Multimodal End2end Approach To Accessible Computing 2nd Edition P Biswas
Modelling the User Interface

Similar to Multiple User Interfaces Crossplatform Applications And Contextaware Interfaces 1st Edition Ahmed Seffah (20)

PDF
Distributed User Interfaces Usability And Collaboration 1st Edition Pedro G V...
PDF
SMARCOS CNR Paper Workshop Distributed UI
PDF
Mastering AngularJS for NET Developers 1st Edition Majid Mohammad Wadood Mirz...
PDF
Bachelor's Thesis Sander Ginn
PDF
"Parallel and Distributed Computing: BOINC Grid Implementation" por Rodrigo N...
PDF
Parallel and Distributed Computing: BOINC Grid Implementation Paper
PPTX
Distributing user interfaces. 4th Distributed User Interfaces Workshop on 14t...
PDF
Sirris presentation
PDF
Domain Architecture Models And Architecture For Umi Applications Daniel J Duffy
PPTX
PPTX
Multi-Dimensional Context-Aware Adaptation of Service Front-ends
PPTX
PDF
Mobile Computing Principles Designing and Developing Mobile Applications with...
PDF
Mobile Computing Principles Designing And Developing Mobile Applications With...
PDF
Poster Serenoa
PDF
Campus portal for wireless devices
PDF
Advanced Design Approaches to Emerging Software Systems Principles Methodolog...
PDF
Mobile Computing Principles Designing and Developing Mobile Applications with...
PDF
Humancomputer Interaction Design Issues Solutions And Applications Sears
PDF
fundamental.pdfhiwuwhsudydjdoshnskahdjsksj
Distributed User Interfaces Usability And Collaboration 1st Edition Pedro G V...
SMARCOS CNR Paper Workshop Distributed UI
Mastering AngularJS for NET Developers 1st Edition Majid Mohammad Wadood Mirz...
Bachelor's Thesis Sander Ginn
"Parallel and Distributed Computing: BOINC Grid Implementation" por Rodrigo N...
Parallel and Distributed Computing: BOINC Grid Implementation Paper
Distributing user interfaces. 4th Distributed User Interfaces Workshop on 14t...
Sirris presentation
Domain Architecture Models And Architecture For Umi Applications Daniel J Duffy
Multi-Dimensional Context-Aware Adaptation of Service Front-ends
Mobile Computing Principles Designing and Developing Mobile Applications with...
Mobile Computing Principles Designing And Developing Mobile Applications With...
Poster Serenoa
Campus portal for wireless devices
Advanced Design Approaches to Emerging Software Systems Principles Methodolog...
Mobile Computing Principles Designing and Developing Mobile Applications with...
Humancomputer Interaction Design Issues Solutions And Applications Sears
fundamental.pdfhiwuwhsudydjdoshnskahdjsksj
Ad

Recently uploaded (20)

PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
Pre independence Education in Inndia.pdf
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
Insiders guide to clinical Medicine.pdf
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
Sports Quiz easy sports quiz sports quiz
PDF
RMMM.pdf make it easy to upload and study
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PDF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PPTX
Cell Structure & Organelles in detailed.
PPTX
GDM (1) (1).pptx small presentation for students
PDF
Classroom Observation Tools for Teachers
PDF
Complications of Minimal Access Surgery at WLH
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
human mycosis Human fungal infections are called human mycosis..pptx
PPH.pptx obstetrics and gynecology in nursing
Pre independence Education in Inndia.pdf
O5-L3 Freight Transport Ops (International) V1.pdf
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Insiders guide to clinical Medicine.pdf
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
2.FourierTransform-ShortQuestionswithAnswers.pdf
Module 4: Burden of Disease Tutorial Slides S2 2025
Sports Quiz easy sports quiz sports quiz
RMMM.pdf make it easy to upload and study
Renaissance Architecture: A Journey from Faith to Humanism
Pharmacology of Heart Failure /Pharmacotherapy of CHF
BÀI TẬP BỔ TRỢ 4 KỸ NĂNG TIẾNG ANH 9 GLOBAL SUCCESS - CẢ NĂM - BÁM SÁT FORM Đ...
STATICS OF THE RIGID BODIES Hibbelers.pdf
Cell Structure & Organelles in detailed.
GDM (1) (1).pptx small presentation for students
Classroom Observation Tools for Teachers
Complications of Minimal Access Surgery at WLH
Ad

Multiple User Interfaces Crossplatform Applications And Contextaware Interfaces 1st Edition Ahmed Seffah

  • 1. Multiple User Interfaces Crossplatform Applications And Contextaware Interfaces 1st Edition Ahmed Seffah download https://ebookbell.com/product/multiple-user-interfaces- crossplatform-applications-and-contextaware-interfaces-1st- edition-ahmed-seffah-982338 Explore and download more ebooks at ebookbell.com
  • 2. Here are some recommended products that we believe you will be interested in. You can click the link to download. Rural Water Systems For Multiple Uses And Livelihood Security 1st Edition M Dinesh Kumar https://ebookbell.com/product/rural-water-systems-for-multiple-uses- and-livelihood-security-1st-edition-m-dinesh-kumar-5601748 Patterns And Processes In Forest Landscapes Multiple Use And Sustainable Management 1st Edition Jiquan Chen https://ebookbell.com/product/patterns-and-processes-in-forest- landscapes-multiple-use-and-sustainable-management-1st-edition-jiquan- chen-4324474 The Management Of Marine Regions The North Pacific An Analysis Of Issues Relating To Fisheries Marine Transportation Marine Scientific Research And Multiple Use Conditions And Conflicts Reprint 2019 Edward Miles Stephen Gibbs David Fluharty Christine Dawson David Teeter https://ebookbell.com/product/the-management-of-marine-regions-the- north-pacific-an-analysis-of-issues-relating-to-fisheries-marine- transportation-marine-scientific-research-and-multiple-use-conditions- and-conflicts-reprint-2019-edward-miles-stephen-gibbs-david-fluharty- christine-dawson-david-teeter-51826096 Handbook Of Multiple Source Use Jason L G Braasch Ivar Brten https://ebookbell.com/product/handbook-of-multiple-source-use-jason-l- g-braasch-ivar-brten-33554656
  • 3. Polypharmacy In Psychiatry Practice Volume I Multiple Medication Use Strategies 1st Edition Ahsan Y Khan Md https://ebookbell.com/product/polypharmacy-in-psychiatry-practice- volume-i-multiple-medication-use-strategies-1st-edition-ahsan-y-khan- md-4406914 Arguments For Protected Areas Multiple Benefits For Conservation Use Sue Stolton https://ebookbell.com/product/arguments-for-protected-areas-multiple- benefits-for-conservation-use-sue-stolton-1753314 Use Of The Normalized Difference Vegetation Index Ndvi To Assess Land Degradation At Multiple Scales Current Status Future Trends And Practical Considerations 1st Edition Genesis T Yengoh https://ebookbell.com/product/use-of-the-normalized-difference- vegetation-index-ndvi-to-assess-land-degradation-at-multiple-scales- current-status-future-trends-and-practical-considerations-1st-edition- genesis-t-yengoh-5236428 Trade Mark Law And Sharing Names Exploring Use Of The Same Mark By Multiple Undertakings Ilanah Simon Fhima https://ebookbell.com/product/trade-mark-law-and-sharing-names- exploring-use-of-the-same-mark-by-multiple-undertakings-ilanah-simon- fhima-2168204 The Everyday Blacksmith Learn To Forge 55 Simple Projects Youll Use Every Day With Multiple Variations For Styles And Finishes Nicholas Wicks https://ebookbell.com/product/the-everyday-blacksmith-learn-to- forge-55-simple-projects-youll-use-every-day-with-multiple-variations- for-styles-and-finishes-nicholas-wicks-49417706
  • 6. Multiple User Interfaces Cross-Platform Applications and Context-Aware Interfaces Edited by Ahmed Seffah and Homa Javahery Concordia University, Department of Computer Science, Canada
  • 10. Multiple User Interfaces Cross-Platform Applications and Context-Aware Interfaces Edited by Ahmed Seffah and Homa Javahery Concordia University, Department of Computer Science, Canada
  • 11. Copyright  2004 John Wiley & Sons Ltd, The Atrium, Southern Gate, Chichester, West Sussex PO19 8SQ, England Telephone (+44) 1243 779777 Email (for orders and customer service enquiries): cs-books@wiley.co.uk Visit our Home Page on www.wileyeurope.com or www.wiley.com All Rights Reserved. No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic, mechanical, photocopying, recording, scanning or otherwise, except under the terms of the Copyright, Designs and Patents Act 1988 or under the terms of a licence issued by the Copyright Licensing Agency Ltd, 90 Tottenham Court Road, London W1T 4LP, UK, without the permission in writing of the Publisher. Requests to the Publisher should be addressed to the Permissions Department, John Wiley & Sons Ltd, The Atrium, Southern Gate, Chichester, West Sussex PO19 8SQ, England, or emailed to permreq@wiley.co.uk, or faxed to (+44) 1243 770620. This publication is designed to provide accurate and authoritative information in regard to the subject matter covered. It is sold on the understanding that the Publisher is not engaged in rendering professional services. If professional advice or other expert assistance is required, the services of a competent professional should be sought. Other Wiley Editorial Offices John Wiley & Sons Inc., 111 River Street, Hoboken, NJ 07030, USA Jossey-Bass, 989 Market Street, San Francisco, CA 94103-1741, USA Wiley-VCH Verlag GmbH, Boschstr. 12, D-69469 Weinheim, Germany John Wiley & Sons Australia Ltd, 33 Park Road, Milton, Queensland 4064, Australia John Wiley & Sons (Asia) Pte Ltd, 2 Clementi Loop #02-01, Jin Xing Distripark, Singapore 129809 John Wiley & Sons Canada Ltd, 22 Worcester Road, Etobicoke, Ontario, Canada M9W 1L1 Wiley also publishes its books in a variety of electronic formats. Some content that appears in print may not be available in electronic books. Library of Congress Cataloging-in-Publication Data Multiple user interfaces : cross-platform applications and context-aware interfaces / edited by Ahmed Seffah & Homa Javahery. p. cm. Includes bibliographical references and index. ISBN 0-470-85444-8 1. Computer interfaces. I. Seffah, Ahmed. II. Javahery, Homa. TK7887.5.M86 2003 004.6 – dc22 2003057602 British Library Cataloguing in Publication Data A catalogue record for this book is available from the British Library ISBN 0-470-85444-8 Typeset in 10/12pt Times by Laserwords Private Limited, Chennai, India Printed and bound in Great Britain by TJ International, Padstow, Cornwall This book is printed on acid-free paper responsibly manufactured from sustainable forestry in which at least two trees are planted for each one used for paper production.
  • 12. Contents Acknowledgements xv About the Editors xvii Contributors xix PART I BASIC TERMINOLOGY, CONCEPTS, AND CHALLENGES 1 1 Executive Summary and Book Overview 3 Ahmed Seffah and Homa Javahery 1.1 Motivation 3 1.2 A Few Definitions 4 1.3 Challenges 5 1.4 Specific Objectives 5 1.5 Audience 6 1.6 Overview 6 References 9 2 Multiple User Interfaces: Cross-Platform Applications and Context-Aware Interfaces 11 Ahmed Seffah and Homa Javahery 2.1 MUI: Characterization and Evolution 11 2.1.1 Interaction Styles 13 2.1.2 Fundamental Characteristics 15 2.1.3 Vertical versus Horizontal Usability 16 2.1.4 Related Work 16 2.2 Fertile Topics for Research Exploration 18 2.2.1 Context-Aware Development 18 2.2.2 Model-Based Development 20
  • 13. vi CONTENTS 2.2.3 Pattern-Driven Development 22 2.2.4 Device-Independent Development 23 2.3 Concluding Remarks 24 Acknowledgements 25 References 25 PART II ADAPTATION AND CONTEXT-AWARE USER INTERFACES 27 3 A Reference Framework for the Development of Plastic User Interfaces 29 David Thevenin, Joëlle Coutaz, and Gaëlle Calvary 3.1 Introduction 29 3.2 Terminology: Context of Use, Plastic UI and Multi-Target UI 30 3.2.1 Context of Use and Target 30 3.2.2 Multi-Target User Interfaces and Plastic User Interfaces 31 3.2.3 Terminology: Summary 32 3.3 The “Plastic UI Snowflake” 32 3.3.1 Target Sensitivity 33 3.3.2 Classes of Software Tools 33 3.3.3 Actors in Charge of Adaptation 34 3.3.4 Computation of Multi-Target and Plastic User Interfaces 35 3.3.5 User Interface Software Components 35 3.3.6 User Interface Migration 37 3.4 The Process Reference Framework for Multi-Target and Plastic UIs 37 3.4.1 General Description 38 3.4.2 The Process Reference Framework in the Design Phase 39 3.4.3 Instantiations of the Process Reference Framework 41 3.5 ARTStudio: An Application of the Process Reference Framework 43 3.5.1 The EDF Home Heating Control System 43 3.5.2 ARTStudio 43 3.6 Conclusion 49 Acknowledgement 49 References 49 4 Temporal Aspects of Multi-Platform Interaction 53 David England and Min Du 4.1 Introduction 53 4.2 Temporal Contexts of Multiple Platforms 55 4.2.1 Fitts’ Law and the Control:Display Ratio 55 4.2.2 Computation Speed of the Platform 56 4.2.3 Support for Task Switching on Platforms 56 4.3 Modelling Temporal Contexts 57 4.3.1 Action Selection Pattern 58 4.3.2 Progress Monitoring Pattern 59
  • 14. CONTENTS vii 4.3.3 Task Management Pattern 61 4.3.4 Platform Interaction Pattern 62 4.4 The Temporal Constraint Engine 63 4.5 Discussion 64 4.6 Conclusions 65 References 65 A. The PUAN Notation 66 5 The PALIO Framework for Adaptive Information Services 69 Constantine Stephanidis, Alexandros Paramythis, Vasilios Zarikas, and Anthony Savidis 5.1 Introduction 69 5.2 The PALIO System Architecture 71 5.2.1 Overview 71 5.2.2 The PALIO Adaptation Infrastructure 75 5.3 PALIO as an Adaptive Hypermedia System 76 5.3.1 Adaptation Determinants 77 5.3.2 Decisions on the Basis of Adaptation Determinants 78 5.3.3 Adaptation Actions 80 5.4 PALIO in the Context of MUI 83 5.4.1 PALIO as a Web UI 83 5.4.2 A Brief Example 88 5.5 Summary and On-Going Work 89 Acknowledgements 90 References 90 Footnotes 91 PART III DEVELOPMENT TECHNOLOGY AND LANGUAGES 93 6 Building Multi-Platform User Interfaces with UIML 95 Mir Farooq Ali, Manuel A. Pérez-Quiñones, and Marc Abrams 6.1 Introduction 95 6.2 Terminology 97 6.3 Related Work 98 6.4 UIML 100 6.4.1 Language Overview 101 6.4.2 The <interface> Component 101 6.4.3 The <peers> Component 102 6.4.4 A Sample UI 102 6.5 A Framework for Multi-Platform UI Development 104 6.5.1 Task Model 105 6.5.2 Generic Description of Device Families 106 6.5.3 Abstract to Concrete Transformations 109
  • 15. viii CONTENTS 6.6 Transformation-Based UI Development Environment 111 6.6.1 TIDE Version 1 112 6.6.2 Goals for TIDE 2 112 6.7 Conclusions 115 Acknowledgements 116 References 116 7 XIML: A Multiple User Interface Representation Framework for Industry 119 Angel Puerta and Jacob Eisenstein 7.1 Introduction 119 7.1.1 Special Challenges for MUI Solutions for Industry 120 7.1.2 Foundation Technologies 121 7.1.3 Summary of Chapter 121 7.2 The XIML Representation Framework 121 7.2.1 Target Computing Model 122 7.2.2 XIML Requirements 123 7.2.3 Structure and Organization of XIML 124 7.2.4 Validation Exercises 127 7.3 An XIML Pilot Application 133 7.3.1 MANNA: The Map Annotation Assistant 134 7.3.2 The MANNA Abstract XIML Components 136 7.3.3 XIML-Based Middleware for MANNA 139 7.4 Discussion 144 7.4.1 The XIML Roadmap 144 7.4.2 Related Work 145 7.4.3 Summary of Findings 146 Acknowledgements 146 References 146 8 AUIT: Adaptable User Interface Technology, with Extended Java Server Pages 149 John Grundy and Wenjing Zou 8.1 Introduction 149 8.2 Case Study: A Collaborative Job Management System 151 8.3 Related Work 152 8.4 Our Approach 154 8.5 Design and Implementation 156 8.6 Job Management System Examples 161 8.7 Experiences 164 8.8 Summary 166 References 166
  • 16. CONTENTS ix PART IV MODEL-BASED DEVELOPMENT 169 9 Adaptive Task Modelling: From Formal Models to XML Representations 171 Peter Forbrig, Anke Dittmar, and Andreas Müller 9.1 Introduction 171 9.2 Model-Based Software Development 172 9.2.1 Models Used in the Design Process 172 9.2.2 Task Modelling 172 9.2.3 New Challenges for Modelling 175 9.3 Adaptive Specification Techniques 176 9.3.1 Adapted Task Models 177 9.3.2 Specification of Device Features by XML 179 9.4 Example of an Electronic Shop 181 9.4.1 The Task Model of E-Shopping 181 9.4.2 The Generation of Specific User Interfaces 183 9.5 Conclusions 191 References 191 10 Multi-Model and Multi-Level Development of User Interfaces 193 Jean Vanderdonckt, Elizabeth Furtado, João José Vasco Furtado, Quentin Limbourg, Wilker Bezerra Silva, Daniel William Tavares Rodrigues, and Leandro da Silva Taddeo 10.1 Introduction 193 10.2 Related Work 194 10.3 Definition of Model 195 10.4 Conceptual Level 198 10.4.1 Definition 198 10.4.2 Case Study 199 10.5 Logical Level 201 10.5.1 Definition 201 10.5.2 Case Study 202 10.6 Physical Level 205 10.6.1 Definition 205 10.6.2 Case Study 205 10.7 Summary of the Development Process 210 10.8 Conclusion 213 Acknowledgements 214 References 215 11 Supporting Interactions with Multiple Platforms Through User and Task Models 217 Luisa Marucci, Fabio Paternò, and Carmen Santoro 11.1 Introduction 217
  • 17. x CONTENTS 11.2 An Illustrative Scenario 219 11.3 General Description of the Approach 221 11.4 Role of the Task Model in Design 223 11.4.1 From the Task Model to the Abstract User Interface 225 11.4.2 The Language for Abstract User Interfaces 226 11.4.3 From the Abstract User Interface to its Implementation 228 11.5 Relations between Task Model and User Model 228 11.6 The User Model 229 11.7 Adaptive Rules 232 11.7.1 Navigation as a Function of Task Frequency 232 11.7.2 Navigation as a Function of Task Performance 234 11.7.3 Modification of Presentation 235 11.7.4 Modification of Content Presentation 235 11.8 Conclusions 237 Acknowledgements 237 References 238 PART V ARCHITECTURES, PATTERNS, AND DEVELOPMENT TOOLKITS 239 12 Migrating User Interfaces Across Platforms Using HCI Patterns 241 Homa Javahery, Ahmed Seffah, Daniel Engelberg, and Daniel Sinnig 12.1 Introduction 241 12.2 A Brief Overview of HCI Patterns 243 12.3 Redesigning User Interfaces with Pattern Mapping 245 12.3.1 The Effect of Screen Size on Redesign 245 12.3.2 Pattern-based Redesign: A Case Study with Navigation Patterns 247 12.3.3 Architecture Size as an Added Variable in Redesign 248 12.4 Research Directions for the Use of Patterns in Reengineering User Interfaces 254 12.4.1 Pattern-Assisted Reengineering 255 12.4.2 Comparing Reengineering to Redesign 256 12.5 Conclusion and Future Investigations 257 Acknowledgements 259 References 259 13 Support for the Adapting Applications and Interfaces to Context 261 Anind K. Dey and Gregory D. Abowd 13.1 Introduction 261 13.2 Why Context is Difficult to Use and Why Support is Needed for it 264 13.2.1 Separation of Concerns 264 13.2.2 Context Interpretation 265
  • 18. CONTENTS xi 13.2.3 Transparent, Distributed Communications 265 13.2.4 Constant Availability of Context Acquisition 266 13.2.5 Context Storage and History 266 13.2.6 Resource Discovery 266 13.3 Basic Component-Based Architecture and the Conference Assistant Application 267 13.3.1 Context Widgets 268 13.3.2 Context Aggregators 268 13.3.3 Context Interpreters 269 13.3.4 Services 269 13.3.5 Discoverers 270 13.3.6 Conference Assistant Application 270 13.3.7 Summary 276 13.4 Situation Support and the CybreMinder Application 276 13.4.1 Implementation of the Situation Abstraction 277 13.4.2 CybreMinder: A Complex Example that Uses the Situation Abstraction 278 13.4.3 Summary 283 13.5 Fusion Support and the In/Out Board Application 284 13.5.1 The Architecture of the Location Service 285 13.5.2 Representing Location 286 13.5.3 Details on Positioning Systems 287 13.5.4 Fusion and Aggregation of Location 289 13.5.5 Accessing, Interpreting and Handling Location Data Within an Application 289 13.5.6 Sample Application Development 291 13.5.7 Summary 292 13.6 Conclusions 293 Acknowledgements 294 References 294 14 A Run-time Infrastructure to Support the Construction of Distributed, Multi-User, Multi-Device Interactive Applications 297 Simon Lock and Harry Brignull 14.1 Introduction 297 14.2 MUI Interaction Scenario 298 14.3 Requirements for Infrastructure 299 14.4 Existing Approaches 301 14.5 Design of Infrastructure and Development Framework 303 14.5.1 Design of Interaction Metaphor 305 14.5.2 Bubble Glosses 307 14.6 Implementation of Infrastructure and Development Framework 310 14.7 Operation of the Infrastructure 311 14.7.1 Dynamic Device Service Registration 311
  • 19. xii CONTENTS 14.7.2 Dynamic Device Service Selection 311 14.7.3 Application Service Linkage 312 14.7.4 Bubble Synchronisation 313 14.8 Infrastructure Utilisation 314 14.9 Application Usage Scenarios 316 14.10 Discussion 320 14.11 Conclusions 321 References 322 PART VI EVALUATION AND SOCIAL IMPACTS 325 15 Assessing Usability across Multiple User Interfaces 327 Gustav Öquist, Mikael Goldstein and Didier Chincholle 15.1 Introduction 327 15.2 Multiple User Interfaces: Multiple Contexts of Use 328 15.3 Multiple Contexts of Use: Multiple Factors of Usability 330 15.3.1 Portability 330 15.3.2 Attentiveness 331 15.3.3 Manageability 333 15.3.4 Learnability 334 15.3.5 Indexical Factors of Usability for Different Contexts of Use 335 15.4 Assessing Usability of Mobile Interfaces 336 15.4.1 Mobile Input Interfaces 337 15.4.2 Mobile Output Interfaces 341 15.5 Discussion 346 15.6 Conclusions 347 References 348 16 Iterative Design and Evaluation of Multiple Interfaces for a Complex Commercial Word Processor 351 Joanna McGrenere 16.1 Introduction 351 16.2 Design Solutions to Complex Software 353 16.3 Study One 355 16.3.1 Methodology 355 16.3.2 Selected Results 356 16.4 Pilot Study 359 16.4.1 Implementation 360 16.4.2 Objectives and Methodology 361 16.4.3 Selected Results 362
  • 20. CONTENTS xiii 16.5 Study Two 363 16.5.1 Methodology 365 16.5.2 Selected Results 366 16.6 Summary and Conclusions 369 Acknowledgements 371 References 371 Footnotes 372 17 Inter-Usability of Multi-Device Systems – A Conceptual Framework 373 Charles Denis and Laurent Karsenty 17.1 Introduction 373 17.2 Inter-Usability: A Conceptual Framework 374 17.2.1 Principal Processes Involved in Transitions between Devices 374 17.2.2 Requirements for Knowledge Continuity 376 17.2.3 Requirements for Task Continuity 379 17.3 Design Principles for Inter-Usability 380 17.3.1 Inter-Device Consistency 381 17.3.2 Transparency 382 17.3.3 Adaptability 383 17.4 Conclusion 384 Acknowledgements 384 References 384 Subject Index 387
  • 22. Acknowledgements The help of many people made this book possible, and we are grateful to all of them. We thank our editor Birgit Gruber, at John Wiley & Sons Ltd., who guided us throughout this project. Daniel Engelberg and Jonathan Benn were indispensable for the editing process, and we thank them for their help in editing various chapters. Daniel Sinnig patiently helped with revising various chapters. Rozita Naghshin, our digital art expert, was a great source of help for advice on image layout and creation. To all the members of the HCSE (Human- Centered Software Engineering) Group, we thank you for participating in the discussion and brainstorming of this project. We thank FCAR (Le Fonds québécois de la recherche sur la nature et les technologies), NSERC (National Sciences and Engineering Council of Canada), and the Faculty of Engineering, Concordia Research Chair programs, for their financial support. We are grateful to all the reviewers of this book. We were lucky enough to have a wide spectrum of international reviewers, who patiently reviewed all chapters and gave us crucial feedback. We thank John Grundy from the University of Auckland, who gave us sound advice and feedback for a number of chapters. Above all, we thank the contributors of this book. Without them, this book would not have been possible. We thank them for patiently modifying chapters, rewriting passages, and putting up with our requests. We acknowledge all of them for their efforts in making this book a success. Ahmed Seffah Homa Javahery
  • 24. About the Editors Ahmed Seffah is a professor in the department of Computer Science at Concordia Uni- versity. He is director of the Human-Centered Software Engineering Group and the co-founder of the Concordia Software Usability and Empirical Studies Lab. He holds a PhD in software engineering from the Ecole Centrale de Lyon (France). His research interests are at the crossroads between software engineering and Human-Computer Inter- action (HCI), including usability measurement, user interface design, empirical studies on developer experiences with CASE tools, human-centered software engineering, and patterns as a vehicle for integrating HCI knowledge in software engineering practices. Dr. Seffah is the vice-chair of the IFIP working group on user-centered design method- ologies. During the last 10 years, he has been involved in different projects in North America and Europe. Homa Javahery is a researcher and project manager with the Human-Centered Soft- ware Engineering Group, including the Usability and Empirical Studies Lab, in the department of Computer Science at Concordia University. She holds a Master’s degree in Computer Science from Concordia University, and a Bachelor of Science degree from McGill University. She is combining different design approaches from human sciences and engineering disciplines to develop a pattern-oriented framework for designing a large variety of interfaces. She has been involved in different collaborative projects at the INRIA Research Institute in Nancy, France and the Daimler-Chrysler Research Institute in Ulm, Germany.
  • 26. Contributors Gregory D. Abowd College of Computing Georgia Institute of Technology Atlanta, Georgia 30332-0280 USA abowd@cc.gatech.edu Marc Abrams Harmonia, Inc. PO Box 11282 Blacksburg, VA 24062 USA marc@harmonia.com Harry Brignull University of Sussex Room 5A3, Interact Lab School of Cognitive and Computing Sciences Falmer, Brighton BN1 9QH UK harrybr@cogs.susx.ac.uk +44 (0) 1273 877221 Gaëlle Calvary IIHM Group, CLIPS-IMAG Lab BP 53, 385 rue de la Bibliotheque 38041 Grenoble Cedex 9 France Joelle.Coutaz@imag.fr +33 4 76 51 48 54 Didier Chincholle Ericsson Research ERA/TVU/U Torshamnsgatan 23, 164 80 Kista Sweden didier.chincholle@era.ericsson.se +46 8 585 303 76 Joëlle Coutaz IIHM Group, CLIPS-IMAG Lab BP 53, 385 rue de la Bibliotheque 38041 Grenoble Cedex 9 France Joelle.Coutaz@imag.fr +33 4 76 51 48 54 Charles Denis INTUILAB Prologue 1, La Pyrénéenne, BP 27/01, 31312 Labège Cedex France denis@intuilab.com Anind K. Dey Senior Researcher, Intel Research 2150 Shattuck Ave, Suite 1300 Berkeley, CA 94704 USA anind@intel-research.net +1-510-495-3012
  • 27. xx CONTRIBUTORS Anke Dittmar University of Rostock Department of Computer Science Albert-Einstein-Str. 21 D-18051 Rostock Germany ad@informatik.uni-rostock.de Min Du Liverpool John Moores University School of Computing and Mathematical Sciences Byrom St, Liverpool L3 3AF UK edcmdu@livjm.ac.uk +44 (0) 151 231 2271 Jacob Eisenstein CEO – RedWhale Software 277 Town & Country Village Palo Alto CA 94303 USA jacobe@mit.edu +1 650 321-3425 Daniel Engelberg CGI Group Inc. 1130 Sherbrooke West, 7th floor Montreal, Quebec H3A 2M8 Canada dan.engelberg@sympatico.ca +1 514-281-7000, local 5820 David England Liverpool John Moores University School of Computing and Mathematical Sciences Byrom St, Liverpool L3 3AF UK d.england@livjm.ac.uk +44 (0) 151 231 2271 Mir Farooq Ali Virginia Technology Institute Department of Computer Science (0106) 660 McBryde Hall Blacksburg, VA 24061 USA mfali@cs.vt.edu 1(540) 231 1927 Peter Forbrig University of Rostock Department of Computer Science Albert-Einstein-Str. 21 D-18051 Rostock Germany pforbrig@informatik.uni-rostock.de Elizabeth Furtado Universidade de Fortaleza NATI – Célula EAD Washington Soares, 1321 Bairo Edson Queiroz Fortaleza (Ceará), BR-60455770 Brazil elizabet@unifor.br João José Vasco Furtado Universidade de Fortaleza NATI – Célula EAD Washington Soares, 1321 Bairo Edson Queiroz Fortaleza (Ceará), BR-60455770 Brazil vasco@unifor.br Mikael Goldstein Ericsson Research ERA/TVU/U Torshamnsgatan 23 164 80 Kista Sweden mikael.goldstein@era.ericsson.se +46 8 757 3679 John Grundy University of Auckland Department of Computer Science Private Bag 92019 Auckland
  • 28. CONTRIBUTORS xxi New Zealand john-g@cs.auckland.ac.nz +64-9-3737-599 ext. 8761 Homa Javahery Department of Computer Science Faculty of Engineering and Computer Science 1455 de Maisonneuve Blvd West Montreal, Quebec H3G 1M8 Canada h javahe@cs.concordia.ca +1 514-848-3024 Laurent Karsenty INTUILAB Prologue 1, La Pyrénéenne, BP 27/01, 31312 Labège Cedex France karsenty@intuilab.com Quentin Limbourg Université catholique de Louvain (UCL) Information System Unit (ISYS-BCHI) Institut d’Administration et de Gestion (IAG) Place des Doyens, 1 B-1348 Louvain-la-Neuve Belgium limbourg@isys.ucl.ac.be +32-10.47.85.25 Simon Lock Lancaster University Computing Department Lancaster LA1 4YR UK lock@comp.lancs.ac.uk +44-1524-592795 Luisa Marucci ISTI-CNR Via G. Moruzzi 1 56100 Pisa Italy luisa.marucci@guest.cnuce.cnr.it +39 050 3153066 Joanna McGrenere University of British Columbia Department of Computer Science 201–2366 Main Mall Vancouver, BC V6J 2E2 Canada joanna@cs.ubc.ca 604-827-5201 Andreas Müller University of Rostock Department of Computer Science Albert-Einstein-Str. 21 D-18051 Rostock Germany Xray@informatik.uni-rostock.de Gustav Öquist Bollhusgränd 7 113 31 Stockholm Sweden gustav@stp.ling.uu.se +46 8 739 417 783 Alexandros Paramythis Foundation for Research and Technology – Hellas Institute of Computer Science Science and Technology Park of Crete Heraklion, Crete GR – 71110 Greece cs@ics.forth.gr +30-810-391741 Fabio Paternò ISTI-CNR Via G. Moruzzi 1 56100 Pisa Italy fabio.paterno@cnuce.cnr.it +39 050 3153066
  • 29. xxii CONTRIBUTORS Manuel Pérez-Quiñones Virginia Technology Institute Department of Computer Science (0106) 660 McBryde Hall Blacksburg, VA 24061 USA perez@cs.vt.edu 1(540) 231 2646 Angel R. Puerta CEO – RedWhale Software 277 Town & Country Village Palo Alto CA 94303 USA puerta@redwhale.com +1 650 321-3425 Carmen Santoro ISTI-CNR Via G. Moruzzi 1 56100 Pisa Italy C.Santoro@cnuce.cnr.it +39 050 3153066 Anthony Savidis Foundation for Research and Technology – Hellas Institute of Computer Science Science and Technology Park of Crete Heraklion, Crete, GR – 71110 Greece cs@ics.forth.gr +30-810-391741 Ahmed Seffah Concordia University Department of Computer Science Faculty of Engineering and Computer Science 1455 de Maisonneuve Blvd West Montreal, Quebec H3G 1M8 Canada seffah@cs.concordia.ca +1 514-848-3024 Wilker Bezerra Silva Universidade de Fortaleza NATI – Célula EAD Washington Soares, 1321 Bairo Edson Queiroz Fortaleza (Ceará), BR-60455770 Brazil wilker@unifor.br Daniel Sinnig Concordia University Department of Computer Science Faculty of Engineering and Computer Science 1455 de Maisonneuve Blvd West Montreal, Quebec H3G 1M8 Canada +1 514-848-3024 Constantine Stephanidis Foundation for Research and Technology – Hellas Institute of Computer Science Science and Technology Park of Crete Heraklion, Crete, GR – 71110 Greece cs@ics.forth.gr +30-810-391741 Leandro da Silva Taddeo Universidade de Fortaleza NATI – Célula EAD Washington Soares, 1321 Bairo Edson Queiroz Fortaleza (Ceará), BR-60455770 Brazil taddeo@unifor.br Daniel William Tavares Rodrigues Universidade de Fortaleza NATI – Célula EAD Washington Soares, 1321 Bairo Edson Queiroz Fortaleza (Ceará), BR-60455770
  • 30. CONTRIBUTORS xxiii Brazil danielw@unifor.br David Thevenin IIHM Group, CLIPS-IMAG Lab BP 53, 385 rue de la Bibliotheque 38041 Grenoble Cedex 9 France Joelle.Coutaz@imag.fr +33 4 76 51 48 54 Jean Vanderdonckt Université catholique de Louvain (UCL) Information System Unit (ISYS-BCHI) Institut d’Administration et de Gestion (IAG) Place des Doyens, 1 B-1348 Louvain-la-Neuve Belgium vanderdonckt@isys.ucl.ac.be +32-10.47.85.25 Vasilios Zarikas Foundation for Research and Technology – Hellas Institute of Computer Science Science and Technology Park of Crete Heraklion, Crete, GR – 71110 Greece cs@ics.forth.gr +30-810-391741 Wenjing Zou University of Auckland Department of Computer Science Private Bag 92019 Auckland New Zealand wenjingzou@hotmail.com +64-9-3737-599 ext. 8761
  • 32. Part I Basic Terminology, Concepts, and Challenges
  • 34. 1 Executive Summary and Book Overview Ahmed Seffah and Homa Javahery Human-Centered Software Engineering Group, Department of Computer Science, Concordia University, Canada 1.1. MOTIVATION In recent years, a wide variety of computer devices including mobile telephones, personal digital assistants (PDAs) and pocket PCs has emerged. Many existing devices are now being introduced as an alternative to traditional computers. Internet-enabled television (WebTV), 3D-interactive platforms with voice capabilities, and electronic whiteboards attached to desktop machines are among the many examples. In addition, we are moving away from the dominance of the WIMP (Windows, Icons, Mouse, and Pointer) system as a main metaphor of human-computer interaction. Novel interaction styles are emerging. These include web applications where users interact with the content, interactive television controlled by hand-held remotes, and PDAs with small screens and styli for gesture-based interaction. All these variations in devices and interaction styles require changes in design, devel- opment and testing frameworks. This book aims to introduce the reader to the current research trends and innovative frameworks being developed to address these changes. Multiple User Interfaces. Edited by A. Seffah and H. Javahery  2004 John Wiley & Sons, Ltd ISBN: 0-470-85444-8
  • 35. 4 AHMED SEFFAH AND HOMA JAVAHERY 1.2. A FEW DEFINITIONS This book refers to several context-specific terms including: • Multi-device user interfaces: These allow a user to interact using various kinds of computers including traditional office desktop, laptop, palmtop, PDA with or without keyboards, and mobile telephone. • Cross-platform user interfaces: These can run on several operating systems including Windows, Linux and Solaris, if the user interface (UI) code is portable. For example, Java runs a virtual machine called JVM, and code is compiled into an intermediate format known as Java byte code, which is platform independent. When Java byte code is executed within the JVM, the JVM optimizes the code for the particular platform on which it is running. Microsoft’s latest technology,. NET follows the same principles. Code is compiled into Microsoft Intermediate Language (MSIL) and is then executed within the. NET framework as an application domain. • Mobile versus stationary/fixed user interfaces: A mobile platform gives users seamless access to information and services even when they are moving. Mobile computing includes a large variety of mobile phones and PDAs, as well as new devices such as wireless MP3 music players, digital cameras and personal health monitors. • Context-aware applications: These refer to the ability of computing devices to detect, sense, interpret and respond to aspects of a user’s local environment and the computing devices themselves. • User interface plasticity: The term plasticity is inspired from the property of mate- rials that expand and contract under natural constraints without breaking, thus preserving continuous use. Applied to HCI, plasticity is the capacity of an inter- active system to withstand variations of contexts of use while preserving usability properties. • Universal user interfaces: These can support a broad range of hardware, software and network capabilities with the central premise of accommodating users with a variety of characteristics. These characteristics include diversity in skills, knowledge, age, gender, disabilities, disabling conditions (mobility, sunlight, noise), literacy levels, cultures, income levels, etc. [Hochheiser and Shneiderman 2001]. • Multiple user interfaces (MUI): These provide different views of the same information and coordinate the services available to users from different computing platforms. By computing platform, we refer to a combination of hardware, computing capabilities, operating system and UI toolkit. The hardware includes traditional office desktops, laptops, palmtops, mobile telephones, personal digital assistants (PDAs) and interac- tive television. In a larger sense, computing platforms include wearable computers and any other real or virtual objects that can interact with the services and informa- tion. MUIs can support different types of look-and-feel and offer different interaction styles. These different types of look-and-feel and interaction styles should take into account the constraints of each computing platform while maintaining cross-platform consistency.
  • 36. EXECUTIVE SUMMARY AND BOOK OVERVIEW 5 1.3. CHALLENGES Olsen et al. [2000], Johnson [1998] and Brewster et al. [1998] highlight the design chal- lenges associated with the small screen size of hand-held devices. In comparison to desktop computers, hand-held devices always suffer from a lack of screen real estate. Therefore, new interaction metaphors have to be invented for such devices. Many assumptions about classical stationary applications no longer apply for hand- held devices due to the wide range of possibilities currently available. This wide range of possibilities is due to hand-held devices having constantly updated capabilities, exploiting additional features of novel generations of networks, and often being enabled for mobile users with varying profiles. Furthermore, many web-based UIs adapt to client devices, users and user tasks [see Chapters 8 and 10]. This adaptation provides interfaces that run on conventional web browsers using HyperText Markup Language (HTML), as well as on wireless PDAs, mobile phones and pagers using Wireless Markup Language (WML) [see Chapter 5]. In addition, it is important to adapt UIs to different users and user tasks [see Chapters 7 and 8]. For example, it is necessary to hide “Update” and “Delete” buttons if the user is a customer or if the user is a staff member performing only information retrieval tasks. Building such interfaces using current web-based system implementation technologies is difficult and time-consuming, resulting in hard-to-maintain solutions. Universal design is emerging as an approach where user interfaces of an interactive application have to be designed for the widest population of users in different contexts of use. In particular, the multiplicity of parameters dramatically increases the complexity of the design phase by adding many design options from which to choose. In addition, methods for developing UIs do not mesh well with this variety of parameters as they are not identified and manipulated in a structured way, nor truly considered in the design process [see Chapter 10]. 1.4. SPECIFIC OBJECTIVES Even if the software tools for developing a large variety of interfaces on each computing platform are already available or will be in the near future [Myers 2000], the following are the major development issues that need to be addressed by both academic and industrial researchers: • Building the ability to dynamically respond to changes in the environment such as network connectivity, user’s location, ambient sound and lighting conditions: How can we adapt the UI to the diversity of computing platforms that exists today? How can we maintain or adapt the high level of interactivity of the traditional office desktop in small devices without a keyboard and mouse? How can we make it possible for users to customize a device? When a single device is customized, how can this customization be reflected on all of the other devices available to the user?
  • 37. 6 AHMED SEFFAH AND HOMA JAVAHERY • Designing for universal usability: What kinds of design methods are needed for design- ing for diverse users and a large variety of technologies? Are the design techniques for UI modelling suitable for addressing the problems of diversity, cross-platform consis- tency and universal accessibility? • Checking consistency between versions for guaranteeing seamless interaction across multiple devices: Should we strive for uniformity in the services offered, dialogue styles and presentation formats, or should we adapt the interfaces to the constraints and capabilities of each device and/or each context of use? When designing MUIs, what is the best way to take into account the constraints related to each type of device while ensuring maintainability and cross-platform consistency of interfaces? • Implementing and maintaining versions of the user interface across multiple devices: How can we implement and validate a MUI for d devices without writing p programs, training an army of developers in l languages and UI toolkits, and maintaining l*p architectural models for describing the same UI? Are the content markup languages adequate for device-independent authoring? The book also introduces a variety of development frameworks that have been investigated over the last few years: • Conceptual and adaptation frameworks for interacting with multiple user interfaces, including visual and awareness metaphors, and specific interaction styles; • Design frameworks and patterns including widgets, toolkits and tools for multi-device development and in particular for mobile devices; • Application frameworks that use multi-devices or multiple user interfaces, in particu- lar collaborative work environments, distance education systems and remote software deployment systems; • Validation frameworks including usability techniques for testing multiple user inter- faces, as well as empirical tests and feedback. 1.5. AUDIENCE This book introduces design and development frameworks for multi-device, context-aware and multiple user interface systems. These frameworks are valuable to researchers and practitioners in usability and software engineering, and generally to anyone interested in the problem of developing and validating multi-devices or cross-platform user interfaces. User interface developers, students and educators can use these frameworks to extend and improve their HCI methodologies, and to learn techniques for developing and evaluating a multiple user interface. 1.6. OVERVIEW This book is divided into 6 parts: Part I discusses “Basic Terminology, Concepts, and Challenges”. Following the execu- tive summary, in Chapter 2 Ahmed Seffah and Homa Javahery, the co-editors of this book,
  • 38. EXECUTIVE SUMMARY AND BOOK OVERVIEW 7 present a broad overview of multiple user interfaces. They discuss promising development models that can facilitate MUI development while increasing cross-platform usability. This chapter is highly speculative and will provide questions for basic research. This is a selec- tive list of topics, and not exhaustive. The goal is to give researchers and practitioners a glimpse of the most important problems surrounding MUI design and development. The editors’ opinions expressed in Chapter 2 do not necessarily reflect all of the contributors’ ideas. Complementary and differing opinions are presented by other contributors in their own chapters. After exploring these first two chapters, the reader should have an increased awareness of the diversity of computing platforms and devices, a deeper understanding of the major development challenges and difficulties, and a familiarity with the basic terminology used. Part II is entitled “Adaptation and Context-Aware User Interfaces”, and provides three traditional but comprehensive perspectives on adaptation and context-aware techniques. David Thevenin et al. from the CLIPS-IMAG Laboratory in Grenoble, France, introduce the novel concept of user interface plasticity in Chapter 3. This chapter also provides a generous glossary of terms complementing the basic terminology presented in Chapter 2. Chapters 4 and 5 examine two dimensions of multi-interaction and adaptation. David England and Min Du, from Liverpool John Moores University, take a look at the dif- ferent temporal characteristics of platforms that can affect user performance. They then propose a framework taking into account temporal aspects of interaction in the use of different devices. They describe how the temporal aspects should be incorporated into the interaction design process. In Chapter 5, Constantine Stephanadis et al., from the Institute of Computer Science of the Foundation for Research and Technology – Hellas, Greece, introduce their framework called PALIO (Personalized Access to Local Information and services for tourists), focusing on its extensive support for adaptation. They demonstrate how PALIO has been successfully used in the development of a real-world context-aware information system for tourists using a wide range of devices. Part III is on “Development Technology and Languages” and consists of three differ- ent XML-based development frameworks. In Chapter 6, Mir Farooq Ali et al. (from the Virginia Technology Institute and Harmonia Inc.) describe a high level XML-based User Interface Markup Language (UIML) for the development of cross-platform user interfaces. In Chapter 7, Angel Puerta and Jacob Eisenstein, from RedWhale Software, discuss the rationale of XIML, another XML-based language for developing multiple user interfaces by transforming and refining tasks and UI models. These modelling and programming languages distinguish the concrete aspects of a user interface such as presentation and dialogue from its abstract aspects including the context and the tasks. They are consid- ered by the research community to be a bridge across the gap between the design and development of user interfaces. John Grundy and Wenjing Zou, from the University of Auckland in New Zealand, go a step further by showing how a UI markup language can be interfaced with existing programming languages. They describe how scripts written in their device-independent markup language (AUIT) can be embedded in conventional Java server pages to provide a single adaptable thin-client interface for web-based systems. At run-time, AUIT uses a single interface description to automatically provide an interface for multiple web devices such as desktop HTML and mobile WML-based systems, while highlighting, hiding or disabling the interface elements depending on the current context.
  • 39. 8 AHMED SEFFAH AND HOMA JAVAHERY Together, these three chapters show how XML-based markup languages, with the help of model-based techniques, can lead to an advanced framework for the development of multi-platform user interfaces. Part IV, on “Model-Based Development”, includes three chapters describing the state of the art and the needed evolution in model-based development approaches. The basic purpose of model-based approaches is to identify useful abstractions highlighting the main UI aspects that should be considered when designing effective interactive appli- cations. In Chapter 9, Peter Forbrig et al. from the University of Rostock, Germany, present two techniques for task modelling and specification. The first technique allows separate descriptions of general temporal relations within a task model versus tempo- ral constraints that are imposed by the target platform. The second technique helps to distinguish between an abstract interaction and specific representations. Using these two techniques, specific features of devices are specified by XML descriptions. In Chapter 10, Vanderdonckt et al. (from the Université Catholique de Louvain, Belgium and Universi- dade de Fortaleza, Brazil) use several models at different levels in their methodological framework for universal design. First, the design process is instantiated at a conceptual level where a domain expert defines an ontology of concepts, relationships and attributes of the domain of discourse, including user modelling. Then at a logical level, a designer specifies multiple models based on the previously defined ontology and its allowed rules. The last step consists of using a physical level to develop multiple user interfaces from the previously specified models, with design alternatives determined by characteristics in the user models. Fabio Paternò, the father of CTT (ConcurTaskTrees) notation, and his colleagues at ISTI-CNR, Italy, explain in Chapter 11 how the user model can be struc- tured for a MUI. In particular, they show how information on user preferences and on the mobile versus stationary environment (such as location and surroundings) can be used to adapt a user interface at run-time and at design time. Part V is dedicated to “Architectures, Patterns and Development Toolkits”. Homa Javahery et al. from the Human-Centered Software Engineering Group at Concordia University, discuss in Chapter 12 the role of HCI patterns and software reengineering techniques in migrating traditional GUIs to web and mobile user interfaces. In Chapter 13, Anind Dey, from Intel Research in California, and Gregory D. Abowd, from the Geor- gia Institute of Technology, present the Context Toolkit, an innovative and integrative infrastructure for the development of context-aware applications. Through the description of a number of built applications, they discuss a low-level widget abstraction that mir- rors the use of graphical widgets for building graphical user interfaces and a situation abstraction that supports easier and higher-level application development. In Chapter 14, Simon Lock from Lancaster University and Harry Brignull from Sussex University, UK, describe a run-time infrastructure including a developer-level framework. This infrastruc- ture supports the construction of applications that allow multiple users to interact through a dynamic set of interaction devices. “Evaluation and Social Impacts” are addressed in Part VI. In Chapter 15, Gustav Öquist et al. (from Uppsala University in Sweden and Ericsson Research) discuss “Assessing Usability Across Multiple User Interfaces”. They present their practical experiences with stationary versus mobile usability evaluations. In particular, they outline four typical con- texts of use that they characterized by monitoring four environmental usability factors. By
  • 40. EXECUTIVE SUMMARY AND BOOK OVERVIEW 9 assessing these factors, it was possible to obtain a profile of how useful a given interface can be in a certain context of use. The usability profiles for several different interfaces for input and output are also presented in this chapter, partly to illustrate how usability can be assessed over multiple user interfaces, and partly as an illustration of how differ- ent interfaces have been adapted to mobile environment attributes. In Chapter 16, Joanna McGrenere from the University of British Columbia summarizes her MUI evaluation experiment combining three usability studies. In the first study, McGrenere conducted a broad-based assessment of 53 users of MS-Word 97. Based on the findings from this study, she developed a first multiple-interface prototype for MS-Word 2000 including one personalizable interface. In the last study, personalization was achieved through the Wizard of Oz technique. Even if McGrenere’s definition of a multiple user interface is restrictive compared to the ones proposed in this book, her empirical results are very promising. They demonstrate how users were better able to navigate through the menus and toolbars and learn a multiple-interface prototype. Continuing part VI, Charles Denis and Laurent Karsenty from IntuiLab Inc., argue in chapter 17 that the usability of individual devices is not sufficient: a multi-device system needs to also be inter-usable. They define inter-usability as the ease with which users transfer what they have learned from previous uses of a service when they access the service on a new device. Based on theoretical considerations and empirical observations gathered from a study with France Telecom, they propose an analysis grid combining two types of continuity, namely knowledge and task, with ergonomic design principles includ- ing consistency, transparency, and dialogue adaptability. The concept of inter-usability is very similar to the concept of horizontal usability introduced in Chapter 2 by the editors. Inter-usability or horizontal usability is a new dimension for studying the usability of MUIs and multi-device user interfaces. REFERENCES Brewster, S., Leplâtre, G. and Crease, M. (1998) Using Non-Speech Sounds in Mobile Comput- ing Devices. Proceedings of the First Workshop on Human Computer Interaction with Mobile Devices, May 21–23, 1998, Glasgow, UK. Hochheiser, H. and Shneiderman, B. (2001) Universal Usability Statements: Marking the trail for all users. ACM Interactions 8(2), March–April 2001, 16–18. Johnson, P. (1998) Usability and Mobility: Interactions on the move. Proceedings of the First Work- shop on Human Computer Interaction With Mobile Devices, May 21–23, 1998, Glasgow, UK. Myers, B., Hudson, S. and Pausch, R. (2000) Past, Present, and Future of User Interface Software Tools. ACM Transactions on Computer-Human Interaction, 7, 3–28. Olsen, D., Jefferies, S., Nielsen, T. et al. (2000) Cross-modal Interaction using XWeb. Proceedings of the 13th Annual ACM Symposium on User Interface Software and Technology, UIST’2000, November 5–8, 2000, San Diego, USA.
  • 42. 2 Multiple User Interfaces: Cross-Platform Applications and Context-Aware Interfaces Ahmed Seffah and Homa Javahery Human-Centered Software Engineering Group, Department of Computer Science, Concordia University, Canada 2.1. MUI: CHARACTERIZATION AND EVOLUTION We introduced the concept of “Multiple User Interface” (MUI) at the IHM-HCI 2001 workshop [Seffah et al. 2001]. Others are also using the term MUI with varying definitions [McGrenere et al. 2002; Vanderdonckt and Oger 2001]. For the purposes of this book, a Multiple User Interface is defined as an interactive system that provides: • access to information and services using different computing platforms; • multiple views of the same information on these different platforms; • coordination of the services provided to a single user or a group of users. Each view should take into account the specific capabilities and constraints of the device while maintaining cross-platform consistency and universal usability. By comput- ing platform, we refer to a combination of computer hardware, an operating system and Multiple User Interfaces. Edited by A. Seffah and H. Javahery  2004 John Wiley & Sons, Ltd ISBN: 0-470-85444-8
  • 43. 12 AHMED SEFFAH AND HOMA JAVAHERY a user interface (UI) toolkit. Different kinds of computing platforms include traditional office desktops, laptops, palmtops, mobile telephones, personal digital assistants (PDAs), and interactive television. A MUI provides multiple views of the same information on these different platforms and coordinates the services provided to a single user or a group of users. Each view should take into account the specific capabilities and constraints of the device while maintaining cross-platform consistency and universal usability. The informa- tion and services can reside on a single server or computer, or can be distributed among independent and heterogeneous systems. The desired views are made available on differ- ent computing platforms via the traditional client/server protocol or a direct peer-to-peer access. The concept of MUIs is highly promising in a variety of fields, such as cooperative engineering, e-commerce, on-site equipment maintenance, remote software deployment, contingency management and assistance, as well as distance education and telemedicine. As an example of MUI use, a civil engineer can use a Palm Pilot on PalmOS for gathering data when inspecting a new building. He/She can then use a mobile telephone to add comments, fax, or upload information to the office headquarters. Finally, the same engineer or any other employee can use an office workstation under Windows/Linux to analyze the data and prepare a final report. During this workflow, the engineer inter- acts with the same information and services using different variations of the UI. These variations can support differences in look-and-feel, and to a certain extent, differences in interaction style. The following is a scenario that further clarifies the MUI concept and its use, based on [Ghani 2001]: You are riding in a car with your colleague who is driving. Suddenly, your mobile phone comes on, asking if you can take a video conference call from your team in Canada to discuss a project on which you are working. You take the call and as you communicate with them via the integrated car video system, you find out that they need one of the spreadsheets you have saved on your laptop, which is in the trunk of the car. Using your wireless technology, you are able to transfer the file to your PDA, and then send it to your team. A few minutes later your team will receive and open your spreadsheet, using an office desktop and you can start discussing options with them once again via your interactive television from your comfortable home. A MUI includes the following characteristics: • It allows a user to interact with server-side services and information using different interaction/UI styles. For example, the civil engineer in our previous example could use pen and gestures on a PDA, function keys or single characters on a mobile phone, and a mouse for a desktop computer. • It allows an individual or a group to achieve a sequence of interrelated tasks using dif- ferent devices. For example, our civil engineer could use a mobile telephone on the road to confirm an appointment, a desktop computer to email information about an interview, and a PDA to gather information about the user needs when interviewing stakeholders. Finally, a laptop/desktop computer can be used to synthesize the information and write the requirements report.
  • 44. MULTIPLE USER INTERFACES: CROSS-PLATFORM APPLICATIONS AND CONTEXT-AWARE INTERFACES 13 Figure 2.1. An example of a MUI. • It presents features and information that behave the same across platforms, even though each platform/device has its specific look-and-feel. • It feels like a variation of a single interface, for different devices with the same capa- bilities. Figure 2.1 shows a MUI for an Internet financial management system. The interface consists of three views: desktop, PDA with keyboard, and mobile phone. Ideally, from the user perspective, these three different interfaces should be as similar as possible. However, this is not realistic because of the capabilities and constraints imposed by each platform. The MUI here can be seen as a compromise between customized and platform- dependent UIs. The effort required to keep all interfaces consistent and to maintain them increases linearly with the number of interfaces, while the functionality of the underlying financial system is expanding. The MUI provides multiple views of the same model and coordinates the user actions gathered from different devices/computers. The model can reside on a single information repository, or can be distributed among independent systems. Each view can be seen as a complete UI for a specific combination of hardware, operating system, and UI toolkit. All these interfaces form a unique and single MUI. The list of features, the interaction style, and the displayed information and feedback can vary from one platform to another. 2.1.1. INTERACTION STYLES A MUI can support different interaction styles for different computing platforms. The following three styles are commonly used:
  • 45. 14 AHMED SEFFAH AND HOMA JAVAHERY • Graphical User Interface (GUI) or WIMP interfaces. This style is the most popular and generally used for the office desktop. It employs four fundamental elements: windows, icons, menus, and pointers. • Web-based User Interface (WUI). The Web was originally conceived as a hypertext information space. However, the development of increasingly sophisticated client and server-side technologies has fostered its use as a remote software interface. A WUI is generally a mixture of markup (i.e. HTML, XML syntax), style sheets, scripts (i.e. ECMAScript, VBScript), as well as embedded objects such as Java applets and plug- ins. An application using WUI style information is typically displayed in a single GUI window called a browser, although multiple browser windows can be used by an application to display information. The browser provides basic navigation. Different browsers for small devices and mobile phones are being developed, and such browsers are able to display a customized version of a WUI. The Yahoo Stock Manager is an example of a WUI that has a customized version for mobile phones. The Web clipping architecture and WAP framework provide basic services for dynamically generating customized HTML documents that can be displayed on mobile phones. • Handheld User Interface (HUI), such as on mobile phones and PDAs. There are two major classes of PDAs and mobile phones in use today – those with a true GUI-style appearance and behaviour, and those that use a GUI or WUI subset. Both classes of UIs employ gesture-based interaction using a stylus and/or a touch screen. Even if it is not yet clear what style of UI will dominate handheld computers, the use of GUI and WUI styles should be re-evaluated due to lack of screen space and low bandwidth. We expect that in the near future, designers will be asked to combine these three different styles. Figure 2.2 shows an example of a MUI that combines the GUI and WUI styles. Atomica Slingshot, formerly called GuruNet, is a pop-up application for retrieving refer- ence information (dictionary, thesaurus and encyclopaedia) and real-time information such Title Bar Find Field Information Tabs Display Section What's New Status Bar Browser Buttons Figure 2.2. GuruNet: An example of a MUI.
  • 46. MULTIPLE USER INTERFACES: CROSS-PLATFORM APPLICATIONS AND CONTEXT-AWARE INTERFACES 15 as news, weather, and stock quotes across the Internet from inside any application. Atom- ica Slingshot (www.gurunet.com/us/products/slingshot/index.html) offers a WUI. There also exists a GUI version for office desktops and an optimized HUI version for PDAs. Dealing with different UI styles complicates both the development and validation of a MUI. Making a trade-off between these different styles when they come into conflict is not an easy task. Due to device constraints, especially bandwidth capability, the UI on a wireless handset has to be fundamentally different from the UI on a PC. It is more restrictive since it cannot replicate the rich graphics, content, and functionality of the UI of a traditional GUI application. The device’s characteristics and constraints also need to be considered with respect to their immediate effect on the task execution time, in order to achieve the same usability for mobile UIs as for GUIs. In traditional desktop UIs, the keyboard and the mouse are the primary input devices. Changing from a mouse to a stylus on a touch screen requires different interaction techniques. Display resolution and smaller design space are the mobile computing platform’s most limiting constraints. Because of screen resolution differences, an optimal layout for one display may be impossible to render on another device. Reducing the size of a graphic might make it meaningless, while scrolling large graphics both horizontally and vertically is an unwieldy, unusable approach. For all these reasons, some of the current development techniques that make implicit assumptions about device characteristics need to be rethought. New presentation and interaction techniques for MUIs are needed. 2.1.2. FUNDAMENTAL CHARACTERISTICS The following are the major intrinsic characteristics of a MUI: • Abstraction: All information and services should be the same across computing plat- forms supporting the same level of interactivity, even if not all information and services are shown or needed for all platforms. For example, a product listing might include only the best-selling items on a handheld device, with the rest relegated to a secondary “more products” page. For an office desktop, the product list includes all the items for sale. • Cross-platform consistency: A MUI can have a different look-and-feel while main- taining the same behaviour over different platforms. For example, all user preferences must be preserved across the interfaces. If the end-user has specified a particular access mechanism using one interface, it should be used on all interfaces. • Uniformity: A MUI should offer support for the same functionality and feedback even if certain features or variations are eliminated on some platforms [Ramsay and Nielsen 2000]. For example, let us assume that an airline reservation system presents choosing a flight and buying the ticket in two separate steps. This separation should be preserved on all versions instead of unifying the two tasks into a single step on a simplified version of the interface. • User awareness of trade-off: It would be acceptable to have a simplified version of a program that excludes certain less-important features (such as specifying a seating preference) that are present in the more advanced version. Missing these features is a
  • 47. 16 AHMED SEFFAH AND HOMA JAVAHERY trade-off that the user would be willing to make in return for the benefits of being able to use the system in mobile contexts. • Conformity to default UI standards: It is not necessary for all features to be made available on all devices. For example, a PDA interface could eliminate images or it might show them in black and white. Similarly, text can be abbreviated on a small display, although it should be possible to retrieve the full text through a standard- ized command. These characteristics and constraints are not artefacts of current development technologies, but are intrinsic to the MUI concept. Together, they characterize a MUI and complicate its development. 2.1.3. VERTICAL VERSUS HORIZONTAL USABILITY MUI usability issues can be considered to have two dimensions: vertical and horizontal. Vertical usability refers to usability requirements specific to each platform while horizontal usability is concerned with cross-platform usability requirements. Many system manufacturers have issued design guidelines to assist designers in devel- oping usable applications. These guidelines can be categorized according to whether they advocate a design model (i.e. “do this”) or whether they discourage a particular imple- mentation (i.e. “don’t do this”). For the PalmOS platform (www.palmsource.com), several design guidelines address navigation issues, widget selection, and use of specialized input mechanisms such as handwriting recognition. Microsoft Corporation has also published usability guidelines to assist developers with programming applications targeted at the Pocket PC platform. However, ‘give the user immediate and tangible feedback during interaction with an application’ is either too general or too simplistic. In many cases, the use of several different guidelines could create inconsistencies. Guidelines can come into conflict more than usual, and making a trade-off can become an unsolvable task for MUI developers. Sun’s guidelines for the Java Swing architecture (http://java.sun.com) describe a look- and-feel interface that can overcome the limitations of platform-dependent guidelines. However, these guidelines do not take into account the distinctiveness of each device, and in particular the platform constraints and capabilities. An application’s UI components should not be hard-coded for a particular look-and-feel. The Java PL&F (Pluggable Look and Feel) is the portion of a Swing component that deals with its appearance (its look); it is distinguished from its event-handling mechanism (its feel). When you run a Swing program, it can set its own default look by simply calling a UIManager method named setLookAndFeel. 2.1.4. RELATED WORK Remarkably, although research on MUIs and multi-device interaction can be traced to the early 1980s, there are relatively few examples of successful implementations [Grudin 1994]. Perhaps the main cause of this poor success rate is the difficulty of integrating the overwhelming number of technological, psychological and sociological factors that affect MUI usability into a single unified design.
  • 48. MULTIPLE USER INTERFACES: CROSS-PLATFORM APPLICATIONS AND CONTEXT-AWARE INTERFACES 17 In the evolution of user interfaces, a multi-user interface has been introduced to support groups of devices and people cooperating through the computer medium [Grudin 1994]. A single user in the context of a MUI corresponds to a group of users for a multi-user interface. The user is asynchronously collaborating with himself/herself. Even if the user is physically the same person, he/she can have different characteristics while working with different devices. For example, a mobile user is continuously in a rush, impatient, and unable to wait [Ramsay and Nielsen 2000]. This user needs immediate, quick, short and concise feedback. In the office, the same user can afford to wait a few seconds more for further details and explanations. The MUI domain can benefit from the considerable number of studies done in the area of context-aware (or context-sensitive) user interfaces. This is still an active research topic, with many emerging models such as plastic user interfaces [Thevenin and Coutaz 1999] and the moderator model [Vanderdonckt and Oger 2001]. In a recent essay, Winograd [2001] compared different architectures for context of use. As characterized in the previous section, a MUI is a context-sensitive UI. This does not mean that a MUI should adapt itself magically at run-time to the context of use (and in particular to platform capabilities and constraints). The MUI can be either adaptive or adaptable. As we will discuss in the next section, the adaptation can be done during specification, design or development by the developer. The adaptation can also occur before or after deployment, either by the end-user or the developer. The concept of a compound document is also a useful technology that can support the development and integration of the different views that form a MUI. A compound document framework can act as a container in which a continuous stream of various kinds of data and components can be placed [Orfali et al. 1996]. To a certain extent, a compound document is an organized collection of user interfaces that we consider as a specialization of a MUI. Each content form has associated controls that are used to modify the content in place. During the last decade, a number of frameworks have been developed such as Andrew, OLE, Apple OpenDoc, Active X and Sun Java Beans. Compound document frameworks are important for the development of a MUI for several reasons. They allow the different parts of a MUI to co-exist closely. For example, they keep data active from one part to another, unlike the infamous cut and paste. They also eliminate the need for an application to have a viewer for all kinds of data; it is sufficient to invoke the right functionality and/or editor. Views for small devices do not have to implement redundant functions. For example, there is no need for Microsoft Word to implement a drawing program; views can share a charting program. Compound document frameworks can also support asynchronous collaboration between the different views and computers. McGrenere et al. [2002] illustrate the use of two versions of the same application with two different user interfaces as follows: One can imagine having multiple interfaces for a new version of an application; for example, MS-Word 2000 could include the MS-Word 97 interface. By allowing users to continue to work in the old interface while also accessing the new interface, they would be able to transition at a self-directed pace. Similarly, multiple interfaces might be used to provide a competitor’s interface in the hopes of attracting new
  • 49. 18 AHMED SEFFAH AND HOMA JAVAHERY customers. For example, MS-Word could offer the full interface of a word processor such as Word Perfect (with single button access to switch between the two), in order to support users gradually transitioning to the Microsoft product. Our definition of a MUI is different from McGrenere’s definition. The common basis is the fact that the user is exposed to two variations of the same interface. McGrenere considers only the variations, which are referred to as versions, for the same computing platform; while in our definition, the two variations can be either for the same computing platform or for different ones. 2.2. FERTILE TOPICS FOR RESEARCH EXPLORATION We will now discuss promising development models that can facilitate MUI development while increasing their usability. This section of the paper is highly speculative and will raise far more fundamental research questions than it will provide answers. Furthermore, this is a selective list of topics, and not exhaustive. Our goal is to give researchers a glimpse of the most important problems surrounding potential MUI development models. In the migration of interactive systems to new platforms and architectures, many mod- ifications have to be made to the user interface. As an example, in the process of adapting the traditional desktop GUI to other kinds of user interfaces such as Web or handheld user interfaces, most of the UI code has to be modified. In this scenario, UI model-based techniques can drive the reengineering process. Reverse engineering techniques can be applied, resulting in a high-level model of the UI. This model can then be used to help reengineer the user interface. 2.2.1. CONTEXT-AWARE DEVELOPMENT Context-aware UI development refers to the ability to tailor and optimize an interface according to the context in which it is used. Context-aware computing as mentioned by Dey and Abowd refers to the “ability of computing devices to detect and sense, interpret and respond to, aspects of a user’s local environment and the computing devices themselves” [Dey and Abowd 2000]. Context-aware applications dynamically adapt their behaviour to the user’s current situation, and to changes of context of use that might occur at run-time, without explicit user intervention. Adaptation requires a MUI to sense changes in the context of use, make inferences about the cause of these changes, and then to react appropriately. Two types of adaptation have to be considered for MUIs: • Adapting to technological variety Technological variety implies supporting a broad range of hardware, software, and network access. The first challenge in adaptation is to deal with the pace of change in technology and the variety of equipment that users employ. The stabilizing forces of standard hardware, operating systems, network protocols, file formats and user interfaces are undermined by the rapid pace of tech- nological change. This variety also results in computing devices (e.g. mobile phones)
  • 50. MULTIPLE USER INTERFACES: CROSS-PLATFORM APPLICATIONS AND CONTEXT-AWARE INTERFACES 19 that exhibit drastically different capabilities. For example, PDAs use a pen-based input mechanism and have average screen sizes around three inches. In contrast, the typ- ical PC uses a full sized keyboard and a mouse and has an average screen size of 17 inches. Coping with such drastic variations implies much more than mere layout changes. Pen-based input mechanisms are slower than traditional keyboards and are therefore inappropriate for applications such as word processing that require intensive user input. • Adapting to diversity in context of use Further complications arise from accommodat- ing users with different skills, knowledge, age, gender, disabilities, disabling condi- tions (mobility, sunlight, noise), literacy, culture, income, etc. [Stephanidis 2002]. For example, while walking down the street, a user may use a mobile phone’s Internet browser to look up a stock quote. However, it is highly unlikely that this same user would review the latest changes made to a document using the same device. Rather, it would seem more logical and definitely more practical to use a full size computer for this task. It would therefore seem that the context of use is determined by a combina- tion of internal and external factors. The internal factors primarily relate to the user’s attention while performing a task. In some cases, the user may be entirely focused while at other times, the user may be distracted by other concurrent tasks. An example of this latter point is that when a user is driving a car, he/she cannot use a PDA to reference a telephone number. External factors are determined to a large extent by the device’s physical characteristics. It is not possible to make use of a traditional PC as one walks down the street. The same is not true for a mobile telephone. The challenge to the system architect is thus to match the design of a particular device’s UI with the set of constraints imposed by the corresponding context of use. A fundamental question is when should a MUI be tailored as a single and unique interface? The range of strategies for adaptation is delimited by two extremes. Interface adaptation can happen at the factory, that is, developers produce several versions of an application tailored according to different criteria. Tailoring can also be done at the user’s side, for instance, by system administrators or experienced users. At the other extreme, individual users might tailor the interfaces themselves, or the interface could adapt on its own by analyzing the context of use. The consensus from our workshop was that the adaptation of a MUI should be investigated at different steps of the deployment lifecycle [Seffah et al. 2001]: • User customization after deployment Here, tailoring operations are the entire responsi- bility of the user. While this laissez-faire approach avoids the need for system support, it lacks a central arbitrator to resolve incompatible and inconsistent preferences between devices. The arbitrator should have the ability to make global changes (cross-platform changes) based on local adaptations. This makes MUIs more difficult to write, and the adaptation fails to repay the development cost of support. • Automatic adaptation at run-time The idea is to write one UI implementation that adapts itself at run-time to any computing platform and context of use. The drawback of this strategy is that there may be situations where adaptation performed by the system is inadequate or even counterproductive.
  • 51. 20 AHMED SEFFAH AND HOMA JAVAHERY • Just-in-time customization during development or deployment Developers can use a high-level language to implement an abstract and device-independent UI model. Then, using a rendering tool, they can generate the code for a specific platform. The User Interface Markup Language, UIML [Abrams and Phanouriou 1999], and the eXtensi- ble Interface Markup Language, XIML [Eisenstein et al. 2001], aim to support such an approach. • Customization during design and specification This approach requires the development of an appropriate design methodology and multi-platform terminology to properly build a task model of a MUI. This model may be expressed in one or more notations. Tailoring can be done at the stage of abstract interface specification where the dialogue gets modified, for example to shortcut certain steps, to rearrange the order for performing steps, etc. Efforts have already begun to develop frameworks that support the building of context- aware applications. The Context Toolkit [Dey and Abowd 2000] is an infrastructure that supports the rapid development of context-aware services, assuming an explicit descrip- tion of a context. This framework’s architecture enables the applications to obtain the context they require without knowledge about how the context was sensed. The Context Toolkit consists of context widgets that implicitly sense context, aggregators that collect related context, interpreters that convert between context types and interpret the context, applications that use context and a communications infrastructure that delivers context to these distributed components. The toolkit makes it easy to add the use of context or implicit input to existing applications. 2.2.2. MODEL-BASED DEVELOPMENT Model-based approaches for UI development [Bomsdorf and Szwillus 1998; Müller et al. 2001] exploit the idea of using declarative interface models to drive the interface devel- opment process. An interface model represents all the relevant aspects of a UI using a user interface modelling language. Model-based development approaches attempt to auto- matically produce a concrete UI design (i.e. a concrete presentation and dialogue for a specific platform) from the abstract “generic” representation of the UI (i.e., generic task, domain and dialogue model). This is done by mapping the abstract model onto the con- crete user interface or some of its elements [Bomsdorf and Szwillus 1998]. For example, given user task t in domain d, the mapping process will find an appropriate presentation p and dialogue D that allows user u to accomplish t. Therefore, the goal of a model-based system in such a case is to link t, d, and u with an appropriate p and D. Model-based UI development could be characterized as a process of creating mappings between elements in various model components. The process of generating the concrete interface and UI model involves levels as shown in Figure 2.3. Model-based approaches, in particular the related automatic or semi-automatic UI generation techniques, are of interest to MUI development. UI modelling will be an essential component of any effective long-term approach to developing MUIs. Increased user involvement in the UI development process will produce more usable UI models. Model-based UI systems take an abstract model of the UI and apply design rules and data
  • 52. MULTIPLE USER INTERFACES: CROSS-PLATFORM APPLICATIONS AND CONTEXT-AWARE INTERFACES 21 UI models Generic UI specification Concrete UI specification Generic task, domain and dialog models Concrete task, domain and dialogue models Figure 2.3. Examples of models and mappings in model-based development. about the application to generate an instance of the UI. Declarative model-based tech- niques use UI modelling techniques for abstractly describing the UI. A formal, declarative modelling language should express the UI model. Current model-based techniques, which most frequently use task and domain models, do not generate high-quality interfaces. Furthermore, task analysis is performed to obtain a single UI that is adapted for a single context of use. We need to model tasks that can be supported in multiple contexts of use, considering multiple combinations of the contextual conditions. Knowledge bases for domain, presentation, dialogue, platform and context of use need to be exploited to produce a usable UI that matches the requirements of each context of use. UI models that support mobility contain not only the visual look-and-feel of the UI, but also semantic information about the interface. The model-based techniques proposed for mobile UIs range from relatively low-level implementation solutions, such as the use of abstract and concrete interactor objects, to high-level task-based optimization of the interface’s presentation structure. UI models should factor out different aspects of UI design that are relevant to different contexts of use and should isolate context-independent issues from context-specific ones. As a starting point for research in the field of model-based development for MUIs, the focus should be on task-based models [Paternò 2001]. Such models can foster the emergence of new development approaches for MUIs, or at least help us to better under- stand the complexity of MUI development. A task model describes the essential tasks that the user performs while interacting with the UI. A typical task model is a hierarchical tree with sub-trees indicating the tasks that the user can perform. Task models are a very convenient specification of the way problems can be solved. Early investigations show that in the case of a MUI, we should make a distinction between four kinds of task models [Müller et al. 2001]: general task models for the problem domain, general task models for software support, device-dependent task models
  • 53. 22 AHMED SEFFAH AND HOMA JAVAHERY and environment-dependent task models. The general task model for the problem domain is the result of a very detailed analysis of the problem domain. It describes how a problem can be tackled in general. All relevant activities and their temporal relations are described. Such a model can be considered as the representation of an expert’s knowledge. The state of the art for the problem domain is captured within this model. Certain approaches transform whole applications from one platform to another one without considering the tasks that will be supported. However, sometimes it is wise to look at the tasks first and to decide which tasks a device can support optimally. This information is captured in the device-dependent task model. The environment-dependent task model is the most specific one. It is based on design decisions in previous models and describes computer-supported tasks for a given device. This model describes the behaviour of a system based on the available tools, resources, and the abilities of the user. It can be interpreted statically (environmental influences are defined during design time) or dynamically (environmental influences are evaluated during run-time). 2.2.3. PATTERN-DRIVEN DEVELOPMENT In the field of UI design, a pattern encapsulates a proven solution for a usability problem that occurs in various contexts of use. As an illustration, the convenient toolbar pattern (used on web pages) provides direct access to frequently used pages or services. This pattern, also called Top Level Navigation [Tidwell 1997], can include navigation con- trols for News, Search, Contact Us, Home Page, Site Map, etc. UI design patterns can be used to create a high-level design model, and can therefore facilitate the develop- ment and validation of MUIs. Discussion of patterns for software design started with the software engineering community and now the UI design community has enthusiastically taken up discussion of patterns for UI design. Many groups have devoted themselves to the development of pattern languages for UI design and usability. Among the heteroge- neous collections of patterns, those known as Common Ground, Experience, Brighton, and Amsterdam play a major role in this field and have significant influence [Tidwell 1997; Borchers 2000]. Patterns have the potential to support and drive the whole design process of MUIs by helping developers select proven solutions of the same problem for different platforms. Pattern-driven development should not be considered as an alternative approach to model-based and context-aware development. In the context of MUI development, patterns can complement a task model by providing best experiences gained through end-user feedback. Furthermore, patterns are suitable for transferring knowledge from usability experts to software engineers who are unfamiliar with MUI design, through the use of software tools. For instance, CASE tools have long been available to assist software developers in the integration of the many aspects of web application prototyping [Javahery and Seffah 2002]. However, the natural language medium generally used to document patterns, coupled with a lack of tool support, compromises these potential uses of patterns, as well as the pattern-oriented design approach. These well-known weaknesses of UI patterns should motivate researchers to investigate a systematic approach to support both pattern writ- ers and users alike by automating the development of pattern-assisted design. We should
  • 54. MULTIPLE USER INTERFACES: CROSS-PLATFORM APPLICATIONS AND CONTEXT-AWARE INTERFACES 23 also provide a framework for automating the development of pattern-oriented design. The motivation of such automation is to help novice designers apply patterns correctly and effi- ciently when they really need them. One approach to pattern-oriented design automation is being able to understand during the design process when a pattern is applicable, how it can be applied, and how and why it can or cannot be combined with other related patterns. 2.2.4. DEVICE-INDEPENDENT DEVELOPMENT Currently, different development languages are available (Figure 2.4). Under the umbrella of platform-dependent languages, we classify the wide variety of existing mark-up lan- guages for wireless devices such as the Wireless Markup Language (WML) or the light HTML version. These languages take into account the platform constraints and capabil- ities posed by each platform. They also suggest specific design patterns for displaying information and interacting with the user in specific ways for each device. Platform-independent languages are mainly based on UI modelling techniques. Their goal is to allow cross-platform development of UIs while ensuring consistency not only between the interfaces on a variety of platforms, but also in a variety of contexts of use. They provide support for constraints imposed not only by the computing platforms themselves, but also by the type of user and by the physical environment. They should help designers recognize and accommodate each context in which the MUI is being used. Such languages provide basic mechanisms for UI reconfigurations depending on variations of the context of use. They address some of the problems raised by context- aware development. XML-based languages such as XIML and UIML are promising candidates for MUI development. Some of the reasons are that such XML-based languages: • Can contain constraint definitions for the XML form itself, and also for the exter- nal resources; • Allow the separation of UI description from content, by providing a way to spec- ify how UI components should interact and a way to spell out the rules that define interaction behaviour; Assembly language High-level programming language (C, C++, etc.) Platform-dependent mark-up language (WML, etc.) Platform-independent markup and model-based language (XIML, UIML) Scripting language (VB, PERL, etc.) Figure 2.4. Evolution of UI development languages.
  • 55. Exploring the Variety of Random Documents with Different Content
  • 56. This eBook is for the use of anyone anywhere in the United States and most other parts of the world at no cost and with almost no restrictions whatsoever. You may copy it, give it away or re-use it under the terms of the Project Gutenberg License included with this eBook or online at www.gutenberg.org. If you are not located in the United States, you will have to check the laws of the country where you are located before using this eBook. 1.E.2. If an individual Project Gutenberg™ electronic work is derived from texts not protected by U.S. copyright law (does not contain a notice indicating that it is posted with permission of the copyright holder), the work can be copied and distributed to anyone in the United States without paying any fees or charges. If you are redistributing or providing access to a work with the phrase “Project Gutenberg” associated with or appearing on the work, you must comply either with the requirements of paragraphs 1.E.1 through 1.E.7 or obtain permission for the use of the work and the Project Gutenberg™ trademark as set forth in paragraphs 1.E.8 or 1.E.9. 1.E.3. If an individual Project Gutenberg™ electronic work is posted with the permission of the copyright holder, your use and distribution must comply with both paragraphs 1.E.1 through 1.E.7 and any additional terms imposed by the copyright holder. Additional terms will be linked to the Project Gutenberg™ License for all works posted with the permission of the copyright holder found at the beginning of this work. 1.E.4. Do not unlink or detach or remove the full Project Gutenberg™ License terms from this work, or any files containing a part of this work or any other work associated with Project Gutenberg™. 1.E.5. Do not copy, display, perform, distribute or redistribute this electronic work, or any part of this electronic work, without prominently displaying the sentence set forth in paragraph 1.E.1
  • 57. with active links or immediate access to the full terms of the Project Gutenberg™ License. 1.E.6. You may convert to and distribute this work in any binary, compressed, marked up, nonproprietary or proprietary form, including any word processing or hypertext form. However, if you provide access to or distribute copies of a Project Gutenberg™ work in a format other than “Plain Vanilla ASCII” or other format used in the official version posted on the official Project Gutenberg™ website (www.gutenberg.org), you must, at no additional cost, fee or expense to the user, provide a copy, a means of exporting a copy, or a means of obtaining a copy upon request, of the work in its original “Plain Vanilla ASCII” or other form. Any alternate format must include the full Project Gutenberg™ License as specified in paragraph 1.E.1. 1.E.7. Do not charge a fee for access to, viewing, displaying, performing, copying or distributing any Project Gutenberg™ works unless you comply with paragraph 1.E.8 or 1.E.9. 1.E.8. You may charge a reasonable fee for copies of or providing access to or distributing Project Gutenberg™ electronic works provided that: • You pay a royalty fee of 20% of the gross profits you derive from the use of Project Gutenberg™ works calculated using the method you already use to calculate your applicable taxes. The fee is owed to the owner of the Project Gutenberg™ trademark, but he has agreed to donate royalties under this paragraph to the Project Gutenberg Literary Archive Foundation. Royalty payments must be paid within 60 days following each date on which you prepare (or are legally required to prepare) your periodic tax returns. Royalty payments should be clearly marked as such and sent to the Project Gutenberg Literary Archive Foundation at the address specified in Section 4, “Information
  • 58. about donations to the Project Gutenberg Literary Archive Foundation.” • You provide a full refund of any money paid by a user who notifies you in writing (or by e-mail) within 30 days of receipt that s/he does not agree to the terms of the full Project Gutenberg™ License. You must require such a user to return or destroy all copies of the works possessed in a physical medium and discontinue all use of and all access to other copies of Project Gutenberg™ works. • You provide, in accordance with paragraph 1.F.3, a full refund of any money paid for a work or a replacement copy, if a defect in the electronic work is discovered and reported to you within 90 days of receipt of the work. • You comply with all other terms of this agreement for free distribution of Project Gutenberg™ works. 1.E.9. If you wish to charge a fee or distribute a Project Gutenberg™ electronic work or group of works on different terms than are set forth in this agreement, you must obtain permission in writing from the Project Gutenberg Literary Archive Foundation, the manager of the Project Gutenberg™ trademark. Contact the Foundation as set forth in Section 3 below. 1.F. 1.F.1. Project Gutenberg volunteers and employees expend considerable effort to identify, do copyright research on, transcribe and proofread works not protected by U.S. copyright law in creating the Project Gutenberg™ collection. Despite these efforts, Project Gutenberg™ electronic works, and the medium on which they may be stored, may contain “Defects,” such as, but not limited to, incomplete, inaccurate or corrupt data, transcription errors, a copyright or other intellectual property infringement, a defective or
  • 59. damaged disk or other medium, a computer virus, or computer codes that damage or cannot be read by your equipment. 1.F.2. LIMITED WARRANTY, DISCLAIMER OF DAMAGES - Except for the “Right of Replacement or Refund” described in paragraph 1.F.3, the Project Gutenberg Literary Archive Foundation, the owner of the Project Gutenberg™ trademark, and any other party distributing a Project Gutenberg™ electronic work under this agreement, disclaim all liability to you for damages, costs and expenses, including legal fees. YOU AGREE THAT YOU HAVE NO REMEDIES FOR NEGLIGENCE, STRICT LIABILITY, BREACH OF WARRANTY OR BREACH OF CONTRACT EXCEPT THOSE PROVIDED IN PARAGRAPH 1.F.3. YOU AGREE THAT THE FOUNDATION, THE TRADEMARK OWNER, AND ANY DISTRIBUTOR UNDER THIS AGREEMENT WILL NOT BE LIABLE TO YOU FOR ACTUAL, DIRECT, INDIRECT, CONSEQUENTIAL, PUNITIVE OR INCIDENTAL DAMAGES EVEN IF YOU GIVE NOTICE OF THE POSSIBILITY OF SUCH DAMAGE. 1.F.3. LIMITED RIGHT OF REPLACEMENT OR REFUND - If you discover a defect in this electronic work within 90 days of receiving it, you can receive a refund of the money (if any) you paid for it by sending a written explanation to the person you received the work from. If you received the work on a physical medium, you must return the medium with your written explanation. The person or entity that provided you with the defective work may elect to provide a replacement copy in lieu of a refund. If you received the work electronically, the person or entity providing it to you may choose to give you a second opportunity to receive the work electronically in lieu of a refund. If the second copy is also defective, you may demand a refund in writing without further opportunities to fix the problem. 1.F.4. Except for the limited right of replacement or refund set forth in paragraph 1.F.3, this work is provided to you ‘AS-IS’, WITH NO OTHER WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED,
  • 60. INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PURPOSE. 1.F.5. Some states do not allow disclaimers of certain implied warranties or the exclusion or limitation of certain types of damages. If any disclaimer or limitation set forth in this agreement violates the law of the state applicable to this agreement, the agreement shall be interpreted to make the maximum disclaimer or limitation permitted by the applicable state law. The invalidity or unenforceability of any provision of this agreement shall not void the remaining provisions. 1.F.6. INDEMNITY - You agree to indemnify and hold the Foundation, the trademark owner, any agent or employee of the Foundation, anyone providing copies of Project Gutenberg™ electronic works in accordance with this agreement, and any volunteers associated with the production, promotion and distribution of Project Gutenberg™ electronic works, harmless from all liability, costs and expenses, including legal fees, that arise directly or indirectly from any of the following which you do or cause to occur: (a) distribution of this or any Project Gutenberg™ work, (b) alteration, modification, or additions or deletions to any Project Gutenberg™ work, and (c) any Defect you cause. Section 2. Information about the Mission of Project Gutenberg™ Project Gutenberg™ is synonymous with the free distribution of electronic works in formats readable by the widest variety of computers including obsolete, old, middle-aged and new computers. It exists because of the efforts of hundreds of volunteers and donations from people in all walks of life. Volunteers and financial support to provide volunteers with the assistance they need are critical to reaching Project Gutenberg™’s goals and ensuring that the Project Gutenberg™ collection will
  • 61. remain freely available for generations to come. In 2001, the Project Gutenberg Literary Archive Foundation was created to provide a secure and permanent future for Project Gutenberg™ and future generations. To learn more about the Project Gutenberg Literary Archive Foundation and how your efforts and donations can help, see Sections 3 and 4 and the Foundation information page at www.gutenberg.org. Section 3. Information about the Project Gutenberg Literary Archive Foundation The Project Gutenberg Literary Archive Foundation is a non-profit 501(c)(3) educational corporation organized under the laws of the state of Mississippi and granted tax exempt status by the Internal Revenue Service. The Foundation’s EIN or federal tax identification number is 64-6221541. Contributions to the Project Gutenberg Literary Archive Foundation are tax deductible to the full extent permitted by U.S. federal laws and your state’s laws. The Foundation’s business office is located at 809 North 1500 West, Salt Lake City, UT 84116, (801) 596-1887. Email contact links and up to date contact information can be found at the Foundation’s website and official page at www.gutenberg.org/contact Section 4. Information about Donations to the Project Gutenberg Literary Archive Foundation Project Gutenberg™ depends upon and cannot survive without widespread public support and donations to carry out its mission of increasing the number of public domain and licensed works that can be freely distributed in machine-readable form accessible by the widest array of equipment including outdated equipment. Many
  • 62. small donations ($1 to $5,000) are particularly important to maintaining tax exempt status with the IRS. The Foundation is committed to complying with the laws regulating charities and charitable donations in all 50 states of the United States. Compliance requirements are not uniform and it takes a considerable effort, much paperwork and many fees to meet and keep up with these requirements. We do not solicit donations in locations where we have not received written confirmation of compliance. To SEND DONATIONS or determine the status of compliance for any particular state visit www.gutenberg.org/donate. While we cannot and do not solicit contributions from states where we have not met the solicitation requirements, we know of no prohibition against accepting unsolicited donations from donors in such states who approach us with offers to donate. International donations are gratefully accepted, but we cannot make any statements concerning tax treatment of donations received from outside the United States. U.S. laws alone swamp our small staff. Please check the Project Gutenberg web pages for current donation methods and addresses. Donations are accepted in a number of other ways including checks, online payments and credit card donations. To donate, please visit: www.gutenberg.org/donate. Section 5. General Information About Project Gutenberg™ electronic works Professor Michael S. Hart was the originator of the Project Gutenberg™ concept of a library of electronic works that could be freely shared with anyone. For forty years, he produced and distributed Project Gutenberg™ eBooks with only a loose network of volunteer support.
  • 63. Project Gutenberg™ eBooks are often created from several printed editions, all of which are confirmed as not protected by copyright in the U.S. unless a copyright notice is included. Thus, we do not necessarily keep eBooks in compliance with any particular paper edition. Most people start at our website which has the main PG search facility: www.gutenberg.org. This website includes information about Project Gutenberg™, including how to make donations to the Project Gutenberg Literary Archive Foundation, how to help produce our new eBooks, and how to subscribe to our email newsletter to hear about new eBooks.
  • 64. Welcome to our website – the perfect destination for book lovers and knowledge seekers. We believe that every book holds a new world, offering opportunities for learning, discovery, and personal growth. That’s why we are dedicated to bringing you a diverse collection of books, ranging from classic literature and specialized publications to self-development guides and children's books. More than just a book-buying platform, we strive to be a bridge connecting you with timeless cultural and intellectual values. With an elegant, user-friendly interface and a smart search system, you can quickly find the books that best suit your interests. Additionally, our special promotions and home delivery services help you save time and fully enjoy the joy of reading. Join us on a journey of knowledge exploration, passion nurturing, and personal growth every day! ebookbell.com