26
Adaptive User Interface Modelling for Web-environments T-121.900 – 15.10.2002 Antti Martikainen [email protected]

Adaptive User Interface Modelling for Web-environments T-121.900 – 15.10.2002 Antti Martikainen [email protected]

Embed Size (px)

Citation preview

Page 1: Adaptive User Interface Modelling for Web-environments T-121.900 – 15.10.2002 Antti Martikainen antti.martikainen@helsinki.fi

Adaptive User Interface Modelling for Web-environments

T-121.900 – 15.10.2002Antti Martikainen

[email protected]

Page 2: Adaptive User Interface Modelling for Web-environments T-121.900 – 15.10.2002 Antti Martikainen antti.martikainen@helsinki.fi

Contents

• Requirements for Adaptation

• Device Independent UI Languages

• UI Models

• Model Mapping

• Conclusions

Page 3: Adaptive User Interface Modelling for Web-environments T-121.900 – 15.10.2002 Antti Martikainen antti.martikainen@helsinki.fi

Scope

• This presentation is not about– Intelligence in adaptation– Adaptation based on users behaviour

• Rather it is about– Modelling principles to enable a single application

to adapt to different kinds of devices, and– Finding balance between usability requirements

and development times and maintenance costs

Page 4: Adaptive User Interface Modelling for Web-environments T-121.900 – 15.10.2002 Antti Martikainen antti.martikainen@helsinki.fi

Screen resolutionWAP PDA Computer

48x48 256x364 1024x768

Page 5: Adaptive User Interface Modelling for Web-environments T-121.900 – 15.10.2002 Antti Martikainen antti.martikainen@helsinki.fi

Adapting applications to devices

• Managing bi-directional interactions requires device specific adaptation to– Screen resolution– Connection speed– Different Markup languages– Rendering capabilities– Functional capabilities

Page 6: Adaptive User Interface Modelling for Web-environments T-121.900 – 15.10.2002 Antti Martikainen antti.martikainen@helsinki.fi

Language/Device specific capabilities

• Visual rendering– Colours– Tables– Frames– Images

• Voice detection vs. Visual input• Scripting capabilities

– Javascript

• Style sheet usage– CSS (XSLT)

• …

Page 7: Adaptive User Interface Modelling for Web-environments T-121.900 – 15.10.2002 Antti Martikainen antti.martikainen@helsinki.fi

The Common Multi-channel Delivery Mechanism

Database

HTML application PDA application WAP application

Page 8: Adaptive User Interface Modelling for Web-environments T-121.900 – 15.10.2002 Antti Martikainen antti.martikainen@helsinki.fi

Device Independent UI languages

Device independent UIdescription

Transformationmodule

Database

Page 9: Adaptive User Interface Modelling for Web-environments T-121.900 – 15.10.2002 Antti Martikainen antti.martikainen@helsinki.fi

PDA

Page 10: Adaptive User Interface Modelling for Web-environments T-121.900 – 15.10.2002 Antti Martikainen antti.martikainen@helsinki.fi

WAP

Page 11: Adaptive User Interface Modelling for Web-environments T-121.900 – 15.10.2002 Antti Martikainen antti.martikainen@helsinki.fi

VoiceSystem: "Masters Scores. Please select one of the following for player: Tiger Woods, David Duval, Phil Mickelson, Mark Calcavecchia..."User: "Tiger Woods."System: "Please select one of the following for Tiger Woods or say "all" to listen to all of available information: Player, Tournament Score, Round 1, Round 2, Round 3, Round 4."User: "Tournament Score."System: "The Tournament Score for Tiger Woods is 16 under."User: "Lookup."System: "What information would you like?"User: "Can I have the Round 3 score for Chris DiMarco?"System: "The Round 3 score for Chris DiMarco is 69. What information would you like?"User: "Goodbye."

Page 12: Adaptive User Interface Modelling for Web-environments T-121.900 – 15.10.2002 Antti Martikainen antti.martikainen@helsinki.fi

Web browser

Page 13: Adaptive User Interface Modelling for Web-environments T-121.900 – 15.10.2002 Antti Martikainen antti.martikainen@helsinki.fi

Windows CE

Page 14: Adaptive User Interface Modelling for Web-environments T-121.900 – 15.10.2002 Antti Martikainen antti.martikainen@helsinki.fi

Examples of Device Independent UI languages

• UIML (User Interface Markup Language)– Does not allow implementing device specific

features

• MAXML (Multi-channel Access XML)– Engine implements device specific features

automatically designer cannot affect usability

Page 15: Adaptive User Interface Modelling for Web-environments T-121.900 – 15.10.2002 Antti Martikainen antti.martikainen@helsinki.fi

Common Problems with Abstract Languages

• Applications built with abstract languages are either– Implemented to match the capabilities of the

“weakest” device (lacking required functionality), or

– Not usable, at least concerning some devices

Page 16: Adaptive User Interface Modelling for Web-environments T-121.900 – 15.10.2002 Antti Martikainen antti.martikainen@helsinki.fi

User Interface Modelling systems

• UIM languages consist of models– Task– Presentation– Domain– Device– Dialogue– User

Page 17: Adaptive User Interface Modelling for Web-environments T-121.900 – 15.10.2002 Antti Martikainen antti.martikainen@helsinki.fi

Task model

• Describes how users do their tasks in a certain application

• Contains the task structure, and the order and division of interactions between user and system

• Formal task descriptions should work as a device independent starting point for the UI

• Task model could support a more straight forward flow in realizing user requirements in the UI

Page 18: Adaptive User Interface Modelling for Web-environments T-121.900 – 15.10.2002 Antti Martikainen antti.martikainen@helsinki.fi

Presentation model

• Represents the visual and auditory elements provided to the user by the user interface.

• Presentation elements give abstract tasks a concrete form

• May also contain stylistic properties, such as colours and font size

• Example:– Define that a persons name is shown in an input field

Page 19: Adaptive User Interface Modelling for Web-environments T-121.900 – 15.10.2002 Antti Martikainen antti.martikainen@helsinki.fi

Domain model

• Defines the underlying objects that the user can indirectly see and manipulate through the user interface

• Commonly attached to (abstract) task elements to achieve UI code reuse

• Example:– A product has certain attributes; These

attributes are managed through certain actions

Page 20: Adaptive User Interface Modelling for Web-environments T-121.900 – 15.10.2002 Antti Martikainen antti.martikainen@helsinki.fi

Device model

• Presents the capabilities, such as the used UI language, connection speeds and other properties of a device

• Example:– Can the device handle JavaScript?

• CC/PP– W3C standard for device capabilities– Incomplete

• does not define all necessary elements• does not say what UIM systems should do with device properties

Page 21: Adaptive User Interface Modelling for Web-environments T-121.900 – 15.10.2002 Antti Martikainen antti.martikainen@helsinki.fi

Dialogue model

• A more concrete approach to task model

• Defines interactions in cases of technical forces

• Example:– How to implement a confirmation, when one

device is Javascript enabled and another is not?

Page 22: Adaptive User Interface Modelling for Web-environments T-121.900 – 15.10.2002 Antti Martikainen antti.martikainen@helsinki.fi

User model

• Defines the attributes and roles of users • Can be used to provide a way to model UI

preferences for specific users or groups of users

• Examples:– Exclude a group of users from some task– Show all possible data attributes to company

management

Page 23: Adaptive User Interface Modelling for Web-environments T-121.900 – 15.10.2002 Antti Martikainen antti.martikainen@helsinki.fi

Mapping problem

Task model

User modelDialogue model

Device model

Domain model

Presentation model

?

??

??

?

?

?

?

?

?

??

?

Page 24: Adaptive User Interface Modelling for Web-environments T-121.900 – 15.10.2002 Antti Martikainen antti.martikainen@helsinki.fi

User model

PDA Web browser WAP browser

View

Subview 1

Subview 2

View

Subview 1

Subview 2

View

Subview 1

Subview 2Subview 3

property 1

Task elements

Task

Subtask 1

Subtask 2

Subtask 3

Domain elements

Domain object 1

Attribute1

Attribute2

Domain object 2

Attribute1

Attribute2

Role 2

Role 1

property 1 property 1

Communicator

Device profiles

PDA

WAP

Web

property 1

common

property 1

Opera

property 1

IE6 Netscape

Operation 1 Operation 1

Presentationmodels

Combining Separate Models

Location, available services etc...

Page 25: Adaptive User Interface Modelling for Web-environments T-121.900 – 15.10.2002 Antti Martikainen antti.martikainen@helsinki.fi

Transforming the UI

Applicationdata &

mappedabstract UI

task model

presentationmodel

dialoguemodel

device model

user model

domain model

Adapteddevicespecificmarkup

UIengine

Devicespecific

renderingmodule

HTTP

Page 26: Adaptive User Interface Modelling for Web-environments T-121.900 – 15.10.2002 Antti Martikainen antti.martikainen@helsinki.fi

Conclusions

• Model-based UI development strives for– Systematic and faster UI development with UI code reuse– Serving all existing devices

• Difficulties– How to proceed from abstract to concrete UIs without

compromising aesthetic design– Required models and mappings are not completely clear– Development tools are important (no commercial products)– New UI design methodology