SlideShare a Scribd company logo
Towards Task-Based Linguistic
Modeling for designing GUIs
Iyad Khaddam, Nesrine Mezhoudi, Jean Vanderdonckt
Université catholique de Louvain
Louvain School of Management (LSM)
Place des Doyens, 1 – 1348 Louvain-la-Neuve (Belgium)
iyad.khaddam@uclouvain.be
Agenda
• What is the Linguistic perspective?
• Yet another task model?
• The Linguistic Task model
• Example and Demo
• Questions and answers
Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 2
The Linguistic Perspective
IHM’2015 Presentation (Toulouse, France, 29 October 2015) 3
• A perspective to develop GUIs
• Aims at enhancing maintainability
• Based on the Nielsen’s Virtual Protocol for Interaction
Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 4
Goal
Pragmatic
(Task)
Semantic
Syntactic
Lexical
Alphabetical
Physical
Goal
Pragmatic
(Task)
Semantic
Syntactic
Lexical
Alphabetical
Physical
Realizers
Linguistic Classification of
Interaction
Nielsen’s Virtual Communication Protocol for Interaction (1986)
Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 5
Level Key GUI Concept at
the level
Goal
Task
UI Elements
Semantic
Syntax-time Containers and
navigation elementsSyntax-Space
Widgets
UI WidgetsWidgets Properties
-
6
Example: Goal and Task levels
Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 7
Fill
Registration
Information
Pay
Conference
Fees
Register for
a
conference
Goal
Task
Finalize Order
Example: Goal and Task levels
Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 8
Fill
Registration
Information
Pay
Conference
Fees
Register for
a
conference
Goal
Task
Finalize Order
Example: Goal and Task levels
Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 9
Fill
Registration
Information
Pay
Conference
Fees
Register for
a
conference
Goal
Task
Pay
Detailed
Function
Detailed
Function
Semantic
Example: The Semantic level
Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 10
First Name
Last Name
Email
Special dietary needs
Detailed dietary needs
Special Requirements
First Name
Last Name
Email
Special dietary needs
Detailed dietary needs
Special Requirements
Personal Information
Conference Fees
Regular Fee
Discount Fee
Student Fee
Description for Discount
Uploaded file name
Upload letter
Regular Fee
Discount Fee
Student Fee
Description for Student
University letter
Uploaded file name
Info msg: no file
……. Finalize Order
Example: The Syntax-Time
Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 11
First Name
Last Name
Email
Special dietary needs
Detailed dietary needs
Special Requirements
First Name
Last Name
Email
Special dietary needs
Detailed dietary needs
Special Requirements
Personal Information
Conference Fees
Regular Fee
Discount Fee
Student Fee
Description for Discount
Uploaded file name
Upload letter
Regular Fee
Discount Fee
Student Fee
Description for Student
University letter
Uploaded file name
Info msg: no file
Finalize Order
Example: The Syntax-Space
12
style 1
style 2
First Name
Last Name
Email
Special dietary needs
Detailed dietary needs
Special Requirements
First Name
Last Name
Email
Special dietary needs
Detailed dietary needs
Special Requirements
Personal Information Next Step
First Name Last Name
Email
Special dietary needs
Detailed dietary needs
Special Requirements
First Name Last Name
Email
Special dietary needs
Detailed dietary needs
Special Requirements
Personal Information
Next Step
Example: The Widget level
Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 13
First Name
Last Name
Email
Special dietary needs
Detailed dietary needs
Special Requirements
First Name
Last Name
Email
Special dietary needs
Detailed dietary needs
Special Requirements
Personal Information Next Step
Label Text Box Drop-Down Button Panel
Example: The Widget Properties level
14
A Linguistic Modeling of GUIs
Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 15
GM1 GM2
TM1 TM2
SM1 SM2
STM1 STM2
SSM1 SSM2
WM1 WM2
WPM1 WPM2
Goal
Task
Semantic
Syntax-time
Syntax-space
Widgets
Widgets
Properties
Two different abstractions/notations on the level
Interface between
the two levels
Agenda
• What is the Linguistic perspective?
• Yet another task model?
• The Linguistic Task model
• Example and Demo
• Questions and answers
Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 16
Linguistic Task model Requirements
IHM’2015 Presentation (Toulouse, France, 29 October 2015) 17
R1: Well-defined criteria to separate goal and task levels.
R2: Well-defined criteria to separate task and semantic
levels.
R3: A notation that supports identifying task input
elements.
Review of existing task models
Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 18
Task Model Stopping Criteria Linguistic Levels
GOMS judgment calls : The analyst needs to decide
when to stop relying on a psychological theory or
model for how people do the work
Covers Goal, Task and
Semantic levels
CTT may continue and stop at the granularity
of identifying needed user input element
Goal, Task, Semantic,
K-MAD elementary action Goal, Task, Semantic
R2: Task Decomposition Stopping Criteria
Review of existing task models
Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 19
R2: Task Decomposition Stopping Criteria
Guerrero’s Model: criteria are based on changes on the work environment .They are:
 Change of space: when the location of operations changes.
 Change of resource: a different resources is exploited.
Resources are of types:
• User
• Material (Hardware)
• Immaterial (Software)
 Change of time: a different time period in which the task is performed.
Three type:
• interruption
• waiting point (decision or accumulation)
• permanence of execution unit (synchronization point).
 Change of nature: tasks can have the following natures:
• Manual,
• Automatic
• Interactive
• Mechanical.
Review of existing task models
Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 20
R3: A notation to identify task input elements
• The widely used notation is the CTT notation, with
variations in different task models
• Temporal relations in CTT are not enough to identify
task input elements.
Search Select
Flight No Airways Time
1 Jetair 12:30
2 Ryanair 14:50
3 EasyJet 18:45
Can we re-execute the search?
Can the user change the already-
selected flight?
Agenda
• What is the Linguistic perspective?
• Yet another task model?
• The Linguistic Task model
• Example and Demo
• Questions and answers
Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 21
The Linguistic Task Model
IHM’2015 Presentation (Toulouse, France, 29 October 2015) 22
• Follows the HTA theory.
• Categories of tasks: user, interactive, system,
mechanical and abstract.
• Employs a configurable task state diagram => identify
task input elements.
The linguistic task state diagram
Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 23
Created StartedOffered
Destroyed
Completed
Suspended
Repeat. If task is repeatable. Automatic
destroy. IIf the
task is created by
another task
cancel
startoffer
suspend
complete
resume
State-full Rollback
Stateless Rollback
Creat
e
Errored
recover error
Manual state transitions identify task input elements
State transitions can have a type: User, automatic or based on a condition.
Task Relations
Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 24
Event, Condition and Action (ECA ) rules
Event ON TS.State TS is the source task
Condition TD.State= “value” TD is the destination task
Action TD.Transition
Example:
ON Search_params.Completed
If (Display_Flight.State=”Created”)
Display_Flight.offer
Search
Params
Display
Flights
On Completed
offer
State: Created
Task Repetition
Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 25
Repetition can be implemented on a task T using relations like:
On T.Completed
If (true)
T.create
T is a dynamic task
The decision to create a a dynamic task is
either a system or a user task.
A Justification to create a
repetition task
Repetition is implemented using repetition tasks as:
On R.Completed
If (true)
T.create
R is called a pumping task
This would produce an infinite number of tasks
Agenda
• What is the Linguistic perspective?
• Yet another task model?
• The Linguistic Task model
• Example and Demo
• Questions and answers
Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 26
Example on using the notation
27
Search for flight
Id Parent Task Justification Configuration
1 / Search for a flight Grouping Abstract, Stateless rollback,
2 1 Fill Search params. - Interactive, State-full rollback,
canCancel=true
3 1 Display Flights Grouping Abstract, Stateless rollback,
4 3 Repeat on flights Repetition. System, Stateless rollback,
repetitionTask=true
5 3 Display a Flight From 2: Change in nature:
interactive->system
System, Stateless rollback, canCancel=false
6 3 Select the Flight From 5: Decision point, System-
>Interactive
Interactive, Stateless rollback,
canCancel=false
1. Search for flight
2. Fill Search Params. 3. Display Flights
4. Repeat on Flights 5. Display a flight 6. Select the flight
On Completed
offer
On Completed
create
On Completed
create
Abstract User SystemRepetitive Dynamic Task Categories
On Completed
Complete
On CompletedComplete
Any
Demo
Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 28
Thanks for listening
Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 29
Questions?
Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 30
Towards Task-Based Linguistic Modeling for designing GUIs

More Related Content

What's hot

11 ooad uml-14
11 ooad uml-1411 ooad uml-14
11 ooad uml-14
Niit Care
 

What's hot (17)

Unified Modeling Language (UML), Object-Oriented Programming Concepts & Desig...
Unified Modeling Language (UML), Object-Oriented Programming Concepts & Desig...Unified Modeling Language (UML), Object-Oriented Programming Concepts & Desig...
Unified Modeling Language (UML), Object-Oriented Programming Concepts & Desig...
 
1. introduction to uml
1. introduction to uml1. introduction to uml
1. introduction to uml
 
Interface in java
Interface in javaInterface in java
Interface in java
 
Bai giang-uml-11feb14
Bai giang-uml-11feb14Bai giang-uml-11feb14
Bai giang-uml-11feb14
 
Asp.net main
Asp.net mainAsp.net main
Asp.net main
 
Java interfaces
Java interfacesJava interfaces
Java interfaces
 
Prophecy Of Design Patterns
Prophecy Of Design PatternsProphecy Of Design Patterns
Prophecy Of Design Patterns
 
CS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and AnswerCS6502 OOAD - Question Bank and Answer
CS6502 OOAD - Question Bank and Answer
 
Visual Basic User Interface -IV
Visual Basic User Interface -IVVisual Basic User Interface -IV
Visual Basic User Interface -IV
 
11 ooad uml-14
11 ooad uml-1411 ooad uml-14
11 ooad uml-14
 
Unified Modelling Language
Unified Modelling Language Unified Modelling Language
Unified Modelling Language
 
Intro Uml
Intro UmlIntro Uml
Intro Uml
 
MDE in Practice
MDE in PracticeMDE in Practice
MDE in Practice
 
Interfaces in java
Interfaces in javaInterfaces in java
Interfaces in java
 
Domain class model
Domain class modelDomain class model
Domain class model
 
Java interfaces
Java   interfacesJava   interfaces
Java interfaces
 
Intake 37 1
Intake 37 1Intake 37 1
Intake 37 1
 

Viewers also liked (6)

Empowering Users: UX Lesson from Game Design
Empowering Users: UX Lesson from Game DesignEmpowering Users: UX Lesson from Game Design
Empowering Users: UX Lesson from Game Design
 
Conducting ux research
Conducting ux researchConducting ux research
Conducting ux research
 
UX Explained
UX ExplainedUX Explained
UX Explained
 
UX Lesson 4: Task & Feature Analysis
UX Lesson 4: Task & Feature AnalysisUX Lesson 4: Task & Feature Analysis
UX Lesson 4: Task & Feature Analysis
 
Types of Communication
Types of CommunicationTypes of Communication
Types of Communication
 
Oracle ADF Task Flows for Beginners
Oracle ADF Task Flows for BeginnersOracle ADF Task Flows for Beginners
Oracle ADF Task Flows for Beginners
 

Similar to Towards Task-Based Linguistic Modeling for designing GUIs

Meta-Evaluation of Translation Evaluation Methods: a systematic up-to-date ov...
Meta-Evaluation of Translation Evaluation Methods: a systematic up-to-date ov...Meta-Evaluation of Translation Evaluation Methods: a systematic up-to-date ov...
Meta-Evaluation of Translation Evaluation Methods: a systematic up-to-date ov...
Lifeng (Aaron) Han
 
Model-Driven Engineering of Workflow User Interfaces
Model-Driven Engineering of Workflow User InterfacesModel-Driven Engineering of Workflow User Interfaces
Model-Driven Engineering of Workflow User Interfaces
Juan Manuel Gonzalez Calleros
 
technology in standardized language assessment
technology in standardized  language assessmenttechnology in standardized  language assessment
technology in standardized language assessment
Huang YaLi
 

Similar to Towards Task-Based Linguistic Modeling for designing GUIs (20)

Meta-Evaluation of Translation Evaluation Methods: a systematic up-to-date ov...
Meta-Evaluation of Translation Evaluation Methods: a systematic up-to-date ov...Meta-Evaluation of Translation Evaluation Methods: a systematic up-to-date ov...
Meta-Evaluation of Translation Evaluation Methods: a systematic up-to-date ov...
 
Semantic Analysis of User Browsing Patterns in the Web of Data @USEWOD, WWW2012
Semantic Analysis of User Browsing Patterns in the Web of Data @USEWOD, WWW2012Semantic Analysis of User Browsing Patterns in the Web of Data @USEWOD, WWW2012
Semantic Analysis of User Browsing Patterns in the Web of Data @USEWOD, WWW2012
 
Automatic Grammatical Error Correction for ESL-Learners by SMT - Getting it r...
Automatic Grammatical Error Correction for ESL-Learners by SMT - Getting it r...Automatic Grammatical Error Correction for ESL-Learners by SMT - Getting it r...
Automatic Grammatical Error Correction for ESL-Learners by SMT - Getting it r...
 
A framework and a TDD methodology for testing web service compositions
A framework and a TDD methodology for testing web service compositionsA framework and a TDD methodology for testing web service compositions
A framework and a TDD methodology for testing web service compositions
 
User Interface Evaluation: is it Ever Usable?
User Interface Evaluation: is it Ever Usable?User Interface Evaluation: is it Ever Usable?
User Interface Evaluation: is it Ever Usable?
 
Model-Driven Engineering of Workflow User Interfaces
Model-Driven Engineering of Workflow User InterfacesModel-Driven Engineering of Workflow User Interfaces
Model-Driven Engineering of Workflow User Interfaces
 
Workflow management
Workflow managementWorkflow management
Workflow management
 
Assessment outcomes from the TENCompetence project
Assessment outcomes from the TENCompetence projectAssessment outcomes from the TENCompetence project
Assessment outcomes from the TENCompetence project
 
technology in standardized language assessment
technology in standardized  language assessmenttechnology in standardized  language assessment
technology in standardized language assessment
 
Object Oriented Analysis
Object Oriented AnalysisObject Oriented Analysis
Object Oriented Analysis
 
Using open source assessment and feedback tools
Using open source assessment and feedback toolsUsing open source assessment and feedback tools
Using open source assessment and feedback tools
 
A Practical Method for Courseware Evaluation
A Practical Method for Courseware EvaluationA Practical Method for Courseware Evaluation
A Practical Method for Courseware Evaluation
 
Open lw reference architecture project
Open lw reference architecture projectOpen lw reference architecture project
Open lw reference architecture project
 
Designing Object Oriented Software - lecture slides 2013
Designing Object Oriented Software - lecture slides 2013Designing Object Oriented Software - lecture slides 2013
Designing Object Oriented Software - lecture slides 2013
 
INTERFACE BASED PROGRAMMING ASSIGNMENTS AND AUTOMATIC ASSESSMENT AND GRADING ...
INTERFACE BASED PROGRAMMING ASSIGNMENTS AND AUTOMATIC ASSESSMENT AND GRADING ...INTERFACE BASED PROGRAMMING ASSIGNMENTS AND AUTOMATIC ASSESSMENT AND GRADING ...
INTERFACE BASED PROGRAMMING ASSIGNMENTS AND AUTOMATIC ASSESSMENT AND GRADING ...
 
1. (slide share)glue-integrationofexternaltools
1. (slide share)glue-integrationofexternaltools1. (slide share)glue-integrationofexternaltools
1. (slide share)glue-integrationofexternaltools
 
ICALT 2010: Supporting Exception Handling in Scripted Collaborative Courses
ICALT 2010: Supporting Exception Handling in Scripted Collaborative CoursesICALT 2010: Supporting Exception Handling in Scripted Collaborative Courses
ICALT 2010: Supporting Exception Handling in Scripted Collaborative Courses
 
Avaliação da Usabilidade e da Acessibilidade do Ambiente Virtual de Aprendiza...
Avaliação da Usabilidade e da Acessibilidade do Ambiente Virtual de Aprendiza...Avaliação da Usabilidade e da Acessibilidade do Ambiente Virtual de Aprendiza...
Avaliação da Usabilidade e da Acessibilidade do Ambiente Virtual de Aprendiza...
 
Climbing the tree of unreachable fruits, reusing processes
Climbing the tree of unreachable fruits, reusing processesClimbing the tree of unreachable fruits, reusing processes
Climbing the tree of unreachable fruits, reusing processes
 
A Multivocal Literature Review on the use of DevOps for e-learning systems
A Multivocal Literature Review on the use of DevOps for e-learning systemsA Multivocal Literature Review on the use of DevOps for e-learning systems
A Multivocal Literature Review on the use of DevOps for e-learning systems
 

More from Jean Vanderdonckt

Engineering the Transition of Interactive Collaborative Software from Cloud C...
Engineering the Transition of Interactive Collaborative Software from Cloud C...Engineering the Transition of Interactive Collaborative Software from Cloud C...
Engineering the Transition of Interactive Collaborative Software from Cloud C...
Jean Vanderdonckt
 
UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...
UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...
UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...
Jean Vanderdonckt
 

More from Jean Vanderdonckt (20)

To the end of our possibilities with Adaptive User Interfaces
To the end of our possibilities with Adaptive User InterfacesTo the end of our possibilities with Adaptive User Interfaces
To the end of our possibilities with Adaptive User Interfaces
 
Engineering the Transition of Interactive Collaborative Software from Cloud C...
Engineering the Transition of Interactive Collaborative Software from Cloud C...Engineering the Transition of Interactive Collaborative Software from Cloud C...
Engineering the Transition of Interactive Collaborative Software from Cloud C...
 
UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...
UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...
UsyBus: A Communication Framework among Reusable Agents integrating Eye-Track...
 
µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...
µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...
µV: An Articulation, Rotation, Scaling, and Translation Invariant (ARST) Mult...
 
RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...
RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...
RepliGES and GEStory: Visual Tools for Systematizing and Consolidating Knowle...
 
Gesture-based information systems: from DesignOps to DevOps
Gesture-based information systems: from DesignOps to DevOpsGesture-based information systems: from DesignOps to DevOps
Gesture-based information systems: from DesignOps to DevOps
 
Engineering Slidable User Interfaces with Slime
Engineering Slidable User Interfaces with SlimeEngineering Slidable User Interfaces with Slime
Engineering Slidable User Interfaces with Slime
 
Evaluating Gestural Interaction: Models, Methods, and Measures
Evaluating Gestural Interaction: Models, Methods, and MeasuresEvaluating Gestural Interaction: Models, Methods, and Measures
Evaluating Gestural Interaction: Models, Methods, and Measures
 
Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...
Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...
Conducting a Gesture Elicitation Study: How to Get the Best Gestures From Peo...
 
Designing Gestural Interaction: Challenges and Pitfalls
Designing Gestural Interaction: Challenges and PitfallsDesigning Gestural Interaction: Challenges and Pitfalls
Designing Gestural Interaction: Challenges and Pitfalls
 
Fundamentals of Gestural Interaction
Fundamentals of Gestural InteractionFundamentals of Gestural Interaction
Fundamentals of Gestural Interaction
 
Gestural Interaction, Is it Really Natural?
Gestural Interaction, Is it Really Natural?Gestural Interaction, Is it Really Natural?
Gestural Interaction, Is it Really Natural?
 
User-centred Development of a Clinical Decision-support System for Breast Can...
User-centred Development of a Clinical Decision-support System for Breast Can...User-centred Development of a Clinical Decision-support System for Breast Can...
User-centred Development of a Clinical Decision-support System for Breast Can...
 
Simplifying the Development of Cross-Platform Web User Interfaces by Collabo...
Simplifying the Development of  Cross-Platform Web User Interfaces by Collabo...Simplifying the Development of  Cross-Platform Web User Interfaces by Collabo...
Simplifying the Development of Cross-Platform Web User Interfaces by Collabo...
 
Attach Me, Detach Me, Assemble Me like you Work
Attach Me, Detach Me, Assemble Me like you WorkAttach Me, Detach Me, Assemble Me like you Work
Attach Me, Detach Me, Assemble Me like you Work
 
The Impact of Comfortable Viewing Positions on Smart TV Gestures
The Impact of Comfortable Viewing Positions on Smart TV GesturesThe Impact of Comfortable Viewing Positions on Smart TV Gestures
The Impact of Comfortable Viewing Positions on Smart TV Gestures
 
Head and Shoulders Gestures: Exploring User-De fined Gestures with Upper Body
Head and Shoulders Gestures: Exploring User-Defined Gestures with Upper BodyHead and Shoulders Gestures: Exploring User-Defined Gestures with Upper Body
Head and Shoulders Gestures: Exploring User-De fined Gestures with Upper Body
 
G-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for Smartphones
G-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for SmartphonesG-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for Smartphones
G-Menu: A Keyword-by-Gesture based Dynamic Menu Interface for Smartphones
 
Vector-based, Structure Preserving Stroke Gesture Recognition
Vector-based, Structure Preserving Stroke Gesture RecognitionVector-based, Structure Preserving Stroke Gesture Recognition
Vector-based, Structure Preserving Stroke Gesture Recognition
 
An ontology for reasoning on body-based gestures
 An ontology for reasoning on body-based gestures An ontology for reasoning on body-based gestures
An ontology for reasoning on body-based gestures
 

Recently uploaded

Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 

Recently uploaded (20)

Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Speed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in MinutesSpeed Wins: From Kafka to APIs in Minutes
Speed Wins: From Kafka to APIs in Minutes
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2UiPath Test Automation using UiPath Test Suite series, part 2
UiPath Test Automation using UiPath Test Suite series, part 2
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
Measures in SQL (a talk at SF Distributed Systems meetup, 2024-05-22)
 
Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1UiPath Test Automation using UiPath Test Suite series, part 1
UiPath Test Automation using UiPath Test Suite series, part 1
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
SOQL 201 for Admins & Developers: Slice & Dice Your Org’s Data With Aggregate...
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 

Towards Task-Based Linguistic Modeling for designing GUIs

  • 1. Towards Task-Based Linguistic Modeling for designing GUIs Iyad Khaddam, Nesrine Mezhoudi, Jean Vanderdonckt Université catholique de Louvain Louvain School of Management (LSM) Place des Doyens, 1 – 1348 Louvain-la-Neuve (Belgium) iyad.khaddam@uclouvain.be
  • 2. Agenda • What is the Linguistic perspective? • Yet another task model? • The Linguistic Task model • Example and Demo • Questions and answers Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 2
  • 3. The Linguistic Perspective IHM’2015 Presentation (Toulouse, France, 29 October 2015) 3 • A perspective to develop GUIs • Aims at enhancing maintainability • Based on the Nielsen’s Virtual Protocol for Interaction
  • 4. Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 4 Goal Pragmatic (Task) Semantic Syntactic Lexical Alphabetical Physical Goal Pragmatic (Task) Semantic Syntactic Lexical Alphabetical Physical Realizers Linguistic Classification of Interaction Nielsen’s Virtual Communication Protocol for Interaction (1986)
  • 5. Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 5 Level Key GUI Concept at the level Goal Task UI Elements Semantic Syntax-time Containers and navigation elementsSyntax-Space Widgets UI WidgetsWidgets Properties -
  • 6. 6
  • 7. Example: Goal and Task levels Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 7 Fill Registration Information Pay Conference Fees Register for a conference Goal Task Finalize Order
  • 8. Example: Goal and Task levels Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 8 Fill Registration Information Pay Conference Fees Register for a conference Goal Task Finalize Order
  • 9. Example: Goal and Task levels Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 9 Fill Registration Information Pay Conference Fees Register for a conference Goal Task Pay Detailed Function Detailed Function Semantic
  • 10. Example: The Semantic level Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 10 First Name Last Name Email Special dietary needs Detailed dietary needs Special Requirements First Name Last Name Email Special dietary needs Detailed dietary needs Special Requirements Personal Information Conference Fees Regular Fee Discount Fee Student Fee Description for Discount Uploaded file name Upload letter Regular Fee Discount Fee Student Fee Description for Student University letter Uploaded file name Info msg: no file ……. Finalize Order
  • 11. Example: The Syntax-Time Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 11 First Name Last Name Email Special dietary needs Detailed dietary needs Special Requirements First Name Last Name Email Special dietary needs Detailed dietary needs Special Requirements Personal Information Conference Fees Regular Fee Discount Fee Student Fee Description for Discount Uploaded file name Upload letter Regular Fee Discount Fee Student Fee Description for Student University letter Uploaded file name Info msg: no file Finalize Order
  • 12. Example: The Syntax-Space 12 style 1 style 2 First Name Last Name Email Special dietary needs Detailed dietary needs Special Requirements First Name Last Name Email Special dietary needs Detailed dietary needs Special Requirements Personal Information Next Step First Name Last Name Email Special dietary needs Detailed dietary needs Special Requirements First Name Last Name Email Special dietary needs Detailed dietary needs Special Requirements Personal Information Next Step
  • 13. Example: The Widget level Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 13 First Name Last Name Email Special dietary needs Detailed dietary needs Special Requirements First Name Last Name Email Special dietary needs Detailed dietary needs Special Requirements Personal Information Next Step Label Text Box Drop-Down Button Panel
  • 14. Example: The Widget Properties level 14
  • 15. A Linguistic Modeling of GUIs Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 15 GM1 GM2 TM1 TM2 SM1 SM2 STM1 STM2 SSM1 SSM2 WM1 WM2 WPM1 WPM2 Goal Task Semantic Syntax-time Syntax-space Widgets Widgets Properties Two different abstractions/notations on the level Interface between the two levels
  • 16. Agenda • What is the Linguistic perspective? • Yet another task model? • The Linguistic Task model • Example and Demo • Questions and answers Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 16
  • 17. Linguistic Task model Requirements IHM’2015 Presentation (Toulouse, France, 29 October 2015) 17 R1: Well-defined criteria to separate goal and task levels. R2: Well-defined criteria to separate task and semantic levels. R3: A notation that supports identifying task input elements.
  • 18. Review of existing task models Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 18 Task Model Stopping Criteria Linguistic Levels GOMS judgment calls : The analyst needs to decide when to stop relying on a psychological theory or model for how people do the work Covers Goal, Task and Semantic levels CTT may continue and stop at the granularity of identifying needed user input element Goal, Task, Semantic, K-MAD elementary action Goal, Task, Semantic R2: Task Decomposition Stopping Criteria
  • 19. Review of existing task models Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 19 R2: Task Decomposition Stopping Criteria Guerrero’s Model: criteria are based on changes on the work environment .They are:  Change of space: when the location of operations changes.  Change of resource: a different resources is exploited. Resources are of types: • User • Material (Hardware) • Immaterial (Software)  Change of time: a different time period in which the task is performed. Three type: • interruption • waiting point (decision or accumulation) • permanence of execution unit (synchronization point).  Change of nature: tasks can have the following natures: • Manual, • Automatic • Interactive • Mechanical.
  • 20. Review of existing task models Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 20 R3: A notation to identify task input elements • The widely used notation is the CTT notation, with variations in different task models • Temporal relations in CTT are not enough to identify task input elements. Search Select Flight No Airways Time 1 Jetair 12:30 2 Ryanair 14:50 3 EasyJet 18:45 Can we re-execute the search? Can the user change the already- selected flight?
  • 21. Agenda • What is the Linguistic perspective? • Yet another task model? • The Linguistic Task model • Example and Demo • Questions and answers Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 21
  • 22. The Linguistic Task Model IHM’2015 Presentation (Toulouse, France, 29 October 2015) 22 • Follows the HTA theory. • Categories of tasks: user, interactive, system, mechanical and abstract. • Employs a configurable task state diagram => identify task input elements.
  • 23. The linguistic task state diagram Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 23 Created StartedOffered Destroyed Completed Suspended Repeat. If task is repeatable. Automatic destroy. IIf the task is created by another task cancel startoffer suspend complete resume State-full Rollback Stateless Rollback Creat e Errored recover error Manual state transitions identify task input elements State transitions can have a type: User, automatic or based on a condition.
  • 24. Task Relations Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 24 Event, Condition and Action (ECA ) rules Event ON TS.State TS is the source task Condition TD.State= “value” TD is the destination task Action TD.Transition Example: ON Search_params.Completed If (Display_Flight.State=”Created”) Display_Flight.offer Search Params Display Flights On Completed offer State: Created
  • 25. Task Repetition Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 25 Repetition can be implemented on a task T using relations like: On T.Completed If (true) T.create T is a dynamic task The decision to create a a dynamic task is either a system or a user task. A Justification to create a repetition task Repetition is implemented using repetition tasks as: On R.Completed If (true) T.create R is called a pumping task This would produce an infinite number of tasks
  • 26. Agenda • What is the Linguistic perspective? • Yet another task model? • The Linguistic Task model • Example and Demo • Questions and answers Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 26
  • 27. Example on using the notation 27 Search for flight Id Parent Task Justification Configuration 1 / Search for a flight Grouping Abstract, Stateless rollback, 2 1 Fill Search params. - Interactive, State-full rollback, canCancel=true 3 1 Display Flights Grouping Abstract, Stateless rollback, 4 3 Repeat on flights Repetition. System, Stateless rollback, repetitionTask=true 5 3 Display a Flight From 2: Change in nature: interactive->system System, Stateless rollback, canCancel=false 6 3 Select the Flight From 5: Decision point, System- >Interactive Interactive, Stateless rollback, canCancel=false 1. Search for flight 2. Fill Search Params. 3. Display Flights 4. Repeat on Flights 5. Display a flight 6. Select the flight On Completed offer On Completed create On Completed create Abstract User SystemRepetitive Dynamic Task Categories On Completed Complete On CompletedComplete Any
  • 28. Demo Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 28
  • 29. Thanks for listening Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 29
  • 30. Questions? Louvain School of Management Presentation (Louvain-la-Neuve, 17 March 2015) 30

Editor's Notes

  1. Hello, My name is Iyad Khaddam. I’m here to present the linguistic task model. (click)
  2. First, i think many of you may question the need for another task model as we already have plenty. The anwser is yes we need a task model that fulfils requirements imposed by the linguistic perspective to design GUIs. So what is the linguistic perspective? (click) Thats the first item in this presentation to motivate the need for the linguistic task model. (click) The third item is to present the proposed linguisti task model and then we give an example on using this model and present a demo (click). I will try to finish as fast as i can to give more time to (click) questions and answers.
  3. The linguistic perspective is a perspective to develop GUIs with the aim at enhancing maintainability. It is based on Nielsen’s Virtul Protocol for Interaction. (click)
  4. In 1986, Jacob Nielsen introduced his Virtual Communication Protocol of Interaction. He aims to use his protocol to analyze the interaction between the human and the machine. His protocol employs a linguistic classification of the interaction (click). The protocol consists of seven levels (ordered by level of abstraction): goal, task, semantic, syntax, lexical, alphabetical and physical. These levels form a stack of interaction, where each lower level implements required services by the upper level (click) (realizes the upper level) . Therefore, the interaction is analyzed in a refined way from the goal to physical level. In a previous work, we turned this protocol from an analysis tool to a taxonomy tool to classify GUI concepts and artifacts. The taxonomy also classifies activities of developing a GUI on linguistic levels, like: Where to identify a task? Where to define navigation between containers? Where to define placement on the screen? The result is a classification of GUI concepts and elements on adapted levels from the original protocol. (click)
  5. The slide can read as: Identification of UI elements is at the task and semantic levels. On syntax-time, we define the navigation model using time-containers. On the syntax-space level, we define space containers to determine the placement of elements on the screen. The Widgets level maps UI elements to concrete widgets, and the widgets properties level sets the properties of these widgets. Let’s explain the Linguistic perspective through an example.
  6. Take the example of a GUI for registration to a conference. The end-user needs to fill registration information and then pay the fees (which is not shown on the slide). Registration information include the user’s personal information, registration type (regular, student or discounted fees), additional information if exists, and billing information. The goal of the user from using the GUI is: Register for a conference. This goal is further refined at the task level into two tasks: (click)
  7. “Fill registration information” and “Pay conference fees”. This is on the system side, but what about the user’s side? the user needs an input element (click) to carry out the task. When the user clicks the “Finalize order” (click)
  8. The related task completes and the « Pay Conference Fees » task is activated and displays an input elements to the user to carry out the task.
  9. On the semantic level, we need to define detailed functions to carry out the task (click). These detailed functions in turn identify all UI elements needed to carry out the task. The user at this level would have more UI elements to interact with to help in carrying out the task. (click)
  10. That is what the user sees at this level. Gery rectangles represent output elements while white rectangles represent input elements. Notice that the task input element « Finalize Order » is also visible because the task level produces this elements. This level will be further refined to the final GUI (click) on the left. Now let’s refine it on the syntax-time level (click)
  11. On the syntax-time: we define a correct distribution on time (with respect to environment constraints). We may have two styles: (1) Display UI elements at the same time. (2) Define navigation among them. On the Syntax-space (click), for conciseness, we will refine the « Personal Information » only (click)
  12. We place elements on the screen. This will be displayed like this (click) on the final GUI. Or we could use another style like this (click), which will be displayed like this (click). (click)
  13. On the widget level: map UI elements to concrete GUI widgets. (click)
  14. Finally, on widget Properties level: Setting properties of widgets to get the final GUI. (click)
  15. A linguistic modeling approach aims at abstracting modules on linguistic levels. The marriage between modeling approaches and the linguistic perspective promises to have the benefits of both: follow an engineering discipline with enhanced maintainability in the GUI. The linguistic perspective follows an iteratively-refined method. It emphasizes a clear interfacing between levels. Thus, two models can exsist on the same level as far as they respect interfacing constraints among levels. For example: we can have two models for navigation and both are used in the design.
  16. Now, let’s get back to the first question: do we need another task model?
  17. The linguistic perspective has specific requirements for an appropriate task model: First it must fit on the task level and only the task level. Thus we need well-defined criteria to separate the goal level from the task level (click) and the task level from the semantic (click). Unfortunatily, the first requirement can’t be satisfied, if we follow a Hierarchical Task Analysis. This is because the hierarchy of tasks is in fact a hierarchy of goals and sub-goals. That are linked by plans. Plans describe how to perform a sub-goal and determine conditions to trigger a sub-goal. Thus, goals and tasks are coupled together and are unseparable. The third requiremet is related to the role of the task model in the GUI development. The task model provides two outcomes: the tasks needed to archeive the user’s goal, and task input elements for the user to carry out tasks. Thus, we need a notation (click) that allows to represent tasks hierarchically and to support identifying task input elements.(click)
  18. Reviewing existing task models (click) reveals a limitation in satisfying the second requirement: Task decomposition stopping criteria to separate what is a task from what is a detailed function. We analysed several task models: GOMS, CTT and K-MAD. Criteria employed by these models allow the resulting model to cover more than the lingsuitic tasl level. For instance, CTT stopping criteria is at the granularity of identifying needed user element. This means, the CTT model covers the task, semantic and syntax-space levels.
  19. An interesting model for the linguistic perspective is Guerrero’s. This model addresses developing user interfaces to workflow systems. Shortly said, this model employs the CTT to design the GUI as a sub activity in the workflow development. It employs interesting criteria to identify root tasks to be modeled using CTT. These criteria are based on changes to the work environment. They are: (click and read) These criteria are interesting because they can be applied in the linguistic task model to separate what is a task a nd what is a detailed function. We adopt them.
  20. Now for the third requirement, The task notation. We need to use a notation that supports identifying task input elements. (click) CTT notation is widely used, with variations in different task models. (click) Temporal relations in CTT are not enough to identify task input elements. Take the example of search for a flight where the user fills some search parameters and the system displays a list of flight for the user to select one among them. If we emply CTT notation in the linguistic task model (click), we would identify only two input elements: the search and select. But the final GUI shows that we need a select for each displayed flight. This is not possible to predict from the CTT notation. This is a limitation in supporting dynamic aspects in the CTT notation. Besides, Can we re-execute the search? Or is the user allowed to change his mind and select a different flight? (click) the notation is silent in this regard. It doesn’t tell if a task can be reverted after completion or not. This is essential to the linguistic task model as reverting a task requires a task input element on the GUI.
  21. Now let’s present the proposed linguistic task model.
  22. First it follows the same theory of Hierarchical task analysis. Categories of Tasks are: user, interactive, system, mechanical and abstract. It employs a configurable task state diagram that helps identifying task input elements. Let’s have a look at the task state diagram. (click)
  23. An ordinary task lifecycle is: created, offered, started and completed. If the task can be suspended, it can pass from the started stat eto the suspended state. If the task can’t be carried out, it passes to the errored state (an example if online payment is not available, the online payment task passes to the errored state. This allows exploring alternatives, like offline payment). If the task can be reverted while maintaining already-captured information (click), the state diagram is changed to support a trarnsition from the completed state to the started state. If the revert is stateless (discard task information) (click), a transition to the offered state is added. If the task can be repeated (click), a transition to the created state is added.If a task is created by another task, the later can pass to the destroyed state. Transitions among tasks can be (click) manual, automatic, or based on a condition. In the case of manual transition, a task input elements is required in the GUI for the user to be able to change the state of the task (click). Thus, the task state diagram allows identifying task input elements to carry out a task. (click)
  24. Now let’s see how to define relations among tasks. Relations take the form of ECA rules. An example is (click and read the example). (Click)
  25. Now let’s see how to represent dynamic aspects (repetition) using the notation. To repeat a task, this recursive task relation would be enough. In this case, T is a dynamic task because it is created by another task at run-time. The problem in this notation is that it leads to (click) infinite number of tasks. The repetition decition (the decision to create a dynamic task) (click) is taken by the user or the system. This represents a decision point which justifies the identification of a task according to the task identification criteria. (click). Thus, to implement repetition on a task, we need to use a repetition task and model and represent the relation as (click). In this example, R is called a pumping task because it pumps dynamic tasks in the model at run-time (click). (click)
  26. Now let’s show an example on how to use the notation. (click)
  27. Let’s model the search for flight example using the proposed notation. The first step is to identify the tasks in the given scenario with the appropriate justification. The first task we identify is the Fill Search Params. It doesn’t need a justification because it is the first task. The second is display a flight with justification of change in nature from interactive to system. The third is select the flight. This task is justified by the change in nature and as a decision point. To allow dynamic creation of tasks, the task Repeat on flights is added with justification as repetiotion. This is the pumping task. The three tasks are grouped in a parent task Display Flights and then a root parent task: Search for flight. The last column in the table « configuration » denotes teh configuration of tasks which leads to confirguration of the task state diagram for each task. Now lets see this model in action. Till here 20 min 10 s
  28. 2 minutes