Title: Design and Development of Multidevice User Interfaces through Multiple Logical Descriptions
1Design and Development of Multidevice User
Interfaces through Multiple Logical Descriptions
Mori G., Paternò F., Santoro C. "Design and
Development of Multidevice User Interfaces
through Multiple Logical Descriptions" IEEE
Transactions on Software Engineering, V.30 n.8,
p.507-520, August 2004
2References
- Paternò F., Mancini C., Meniconi S.
ConcurTaskTrees A Diagrammatic Notation for
Specifying Task Models" Proceedings of the IFIP
TC13 Sixth International Conference on
Human-Computer Interaction, pp. 362369, July
14-18, 1997
3Outline
- What is a multi-platform (nomadic) application?
- What issues do we face when integrating user
interfaces with large scale multi-platform
applications? - Proposed solution
- Tools
- Results
- Conclusions
4What is a multi-platform Application?
- A multi-platform (or nomadic) application, is one
that runs on several different types of target
devices such as - PCs
- Cell Phones
- PDAs
- Vocal Systems
- Etc...
- For example, TiVo can be configured through your
TV, PC, and your computer.
5But why is integration so hard for multi-platform
applications?
- Defining an integration point between a system
and UI for several platforms is difficult at best - Different platforms offer different attributes
and restraints. - Developing one user interface that fits the need
for all platforms is impossible - Since multiple UIs are required, multi-platform
applications become very complex and contain a
plethora of tasks - Tasks-to-platforms are many-to-many
- Not all tasks can be done on all platforms (or in
the same way)?
6Other Solutions
- Create a user interface for each platform
- High development and maintenance costs
- Perform auto transformations of a user interface
from one platform to another - Low cost and less human error, but a poor user
experience - Style sheets
- Similar to above, but assumes the same tasks for
each platform
7Proposed Solution
- Take a model based approach based on several
abstractions - Hide low level details through these abstractions
to ease integration woes - One model, many interfaces
Taken from Mori G., Paternò F., Santoro C.
"Design and Development of Multidevice User
Interfaces through Multiple Logical Descriptions"
IEEE Transactions on Software Engineering, V.30
n.8, p.507-520, August 2004
8The Method
Taken from Mori G., Paternò F., Santoro C.
"Design and Development of Multidevice User
Interfaces through Multiple Logical Descriptions"
IEEE Transactions on Software Engineering, V.30
n.8, p.507-520, August 2004
9But how do we apply this model to multiple
platforms?
- They observed that it is not possible nor
desirable to perform the same tasks on all
platforms - Create a taxonomy of the relations between tasks
and platforms - Each family of devices should be bound to certain
types of tasks and interface objects
10Taxonomy of Devices and Tasks
- Same task on multiple devices in the same manner
- Task only meaningful on one platform
- Tasks on one platform enable features on another
- Same tasks on many platforms, but performed in a
different way
11Example of same tasks through multiple interfaces
Taken from Mori G., Paternò F., Santoro C.
"Design and Development of Multidevice User
Interfaces through Multiple Logical Descriptions"
IEEE Transactions on Software Engineering, V.30
n.8, p.507-520, August 2004
12Tools
- ConcurTaskTrees Environment (CTTE)
- TERESA
13ConcurTaskTrees Environment
- Creates a hierarchical description of task models
as well as specifies relations among them - Such as enabling, disabling, concurrency, order
etc... - Identification of objects bound to tasks and how
they communicate (interface) - Create a platform attribute that specifies each
task's relevant platforms
14Types of Tasks
Paternò F., Mancini C., Meniconi S.
ConcurTaskTrees A Diagrammatic Notation for
Specifying Task Models" Proceedings of the IFIP
TC13 Sixth International Conference on
Human-Computer Interaction, pp. 362369, July
14-18, 1997
15ConcurTaskTrees Environment
Paternò F., Mancini C., Meniconi S.
ConcurTaskTrees A Diagrammatic Notation for
Specifying Task Models" Proceedings of the IFIP
TC13 Sixth International Conference on
Human-Computer Interaction, pp. 362369, July
14-18, 1997
16Defining Objects
- Two types of objects are defined
- Perceivable Interacts with the UI
- Application Interacts with the Core
17ConcurTaskTrees Environment
- Simplifies system's UI interface by
- Filtering tasks for each type of platform
- Giving a higher meaning to the systems interface
- Maps tasks to objects and defines their
communication - A key integration point between system and UI
18TERESA
- TERESA is an automation tool that takes tasks
defined by CTTE and auto generates UIs - Allows for differing levels of input by the user
- Uses XML to produce several logical levels
- Currently web oriented, but should work on other
languages such as JAVA
19TERESA
- TERESA first creates Presentation Task Sets
(PTSs) - These are a set of tasks performed during the
same period of time. - And transitions from one PTS to another
20PTSs
- The TERESA tool runs a number of heuristics on
CTTE output to optimize UIs - Attempts to merge PTSs and minimize transitions
- Of course, these heuristics are applied less as
the platforms become more restrained - Compare PCs to Cell Phones
21PTSs
Taken from Mori G., Paternò F., Santoro C.
"Design and Development of Multidevice User
Interfaces through Multiple Logical Descriptions"
IEEE Transactions on Software Engineering, V.30
n.8, p.507-520, August 2004
22TERESA
- Next TERESA maps the PTSs to abstract UIs
- For example, an area (such as a web page) may
consist of five entry interactors and a
submission trigger - Of course, this depends on the platform.
- For example, vocal systems can only have one
input at a time
23Abstract Interfaces
- Each presentation is represented by one PTS
- We must map each task into abstract
interactors - Such as input, output, input/output
- Next, we add sequencing and hierarchy of tasks
- For example, more important tasks may be more
visible to the user
24TERESA
- Next, TERESA maps the abstract UI to concrete
interfaces - For example, entry interactor-gttext entry
- Finally, this concrete representation is used to
automatically generate the UI source code
25Automation
- Teresa was designed to allow as much or as little
automation in the design process - Attributes, such as PTSs, hierarchy, volume,
etc, are all configurable by the developer
26Results
- Held experiment where several developers were
tasked to create a simple e-agenda application
for both a PC and mobile device - Several metrics were collected to evaluate
efficiency - Tool was very effective for prototyping, but was
still work for commercial quality UIs - Developers were able to create and integrate UIs
in extremely short times
27Conclusions
- This method offers a way to model system tasks to
simplify the development and integration of
multi-platform UIs - Platforms are also modeled (through a taxonomy)
to find relevance between task and platform - By applying meaning to system tasks and
platforms, the program was able to make
intelligent choices on how UIs should be developed