SlideShare a Scribd company logo
Quill: A Collaborative DesignQuill: A Collaborative Design
Assistant for Cross Platform WebAssistant for Cross Platform Web
Application User InterfacesApplication User Interfaces
Vivian G. Motti, Université catholique de Louvain
Dave Raggett, World Wide Web Consortium
WWW2013, Rio de Janeiro, 2013
This was supported by funding from the European Commission’s Seventh
Framework Program under grant agreement number 258030 (FP7-ICT-2009-5).
2
How mobile-ready areHow mobile-ready are
corporate websites?corporate websites?
● UK companies not ready for mobile internet
– Two-thirds of companies in the FTSE 100 have websites that are difficult to use on
smartphones, a study shows.
– Robert Cookson, Financial Times, 2 January 2013
●
http://on.ft.com/Zp4UZI
●
“FTSE 100 companies are not mobile-ready and are wasting millions of pounds on internet
advertising by sending visitors to websites that do not work as users expect them to,” said
Jonathan Bass of Incentivated
●
Domino’s Pizza, one of the pioneers of online fast-food sales in the UK, reported in
September that purchases from mobile phones were growing at almost 50 per cent a year
and accounted for nearly a fifth of its online sales.
● CIOs struggling to meet mobility challenge
– 78% of respondents state their mobility strategy is at low to medium maturity
according to a 2013 study by Teksystems
●
http://teksystems.com/resources/research/it-trends/mobile-outsourcing-landscape-infograp
hic
3
It's only going to get worse...It's only going to get worse...
● Increasing variety of devices
– Desktop, mobile, tablets, connected TVs
– Regular and ultra high resolution displays
● Coming soon
– Multi-screen applications
●
In the living room and in the office
– Cars
●
Dashboard displays, smart phones, heads up displays,
multimodal interaction, and concerns over ensuring driver safety
– Wearable devices
●
Smart watches and glasses
●
Sports and healthcare
4
Why Web Apps?Why Web Apps?
● Current practice is to use web sites for
desktop, and native apps for other platforms
● Developers need to learn new programming
languages and SDKs for each platform
● Web technologies reduce the cost and
increase the reach!
● Save time and money by avoiding app stores!
– Keep all of your income
● Responsive Design techniques
● But need for better developer tools!
5
Desktop vs PhoneDesktop vs Phone
Captured from mobile App
6
Desktop vs PhoneDesktop vs Phone
Captured from mobile App
7
Desktop vs PhoneDesktop vs Phone
Captured from mobile App
8
Desktop vs PhoneDesktop vs Phone
Captured from mobile App
9
Design ProcessDesign Process
● Agree on the business requirements
● Map them into domain and task models
● Use automated design tool to generate rough
design proposals for each target platform
● Adjust the design to suit your taste
● Apply a UI skin and generate the
final UI for each class of device
● Review and adapt until done!
10
Abstraction LayersAbstraction Layers
Domain Tasks
Abstract UI
Concrete UI
Final UI
User
Platform
Environment
Context
of Use
Platform Independent
Platform Dependent
Device Dependent
UI Skins
11
Abstraction LayersAbstraction Layers
Domain Tasks
Abstract UI
Concrete UI
Final UI
Platform Independent
Platform Dependent
Device Dependent
Desktop
Phone
Tablet
TV
Car
User
Platform
Environment
Context
of Use
UI Skins
12
Abstraction LayersAbstraction Layers
Domain Tasks
Abstract UI
Concrete UI
Final UI
Platform Independent
Platform Dependent
Device Dependent
e.g. iPhone
User
Platform
Environment
Context
of Use
UI Skins
13
Abstraction LayersAbstraction Layers
Domain Tasks
Abstract UI
Concrete UI
Final UI
Platform Independent
Platform Dependent
Device Dependent
Distinguish
between
normal and
advanced
features
User
Platform
Environment
Context
of Use
UI Skins
14
Abstraction LayersAbstraction Layers
Domain Tasks
Abstract UI
Concrete UI
Final UI
Platform Independent
Platform Dependent
Device Dependent
Not all tasks
are relevant
to every
platform
User
Platform
Environment
Context
of Use
UI Skins
15
QuillQuill
● Open Source, HTML5 based design tool
● Expert system generates proposals
via a search of the design space
– You select which one you prefer
● You can adjust the design at each layer of abstraction
● Your changes are considered as constraints and propagated to reduce
the size of the search space as Quill looks for consistent designs
– Quill synchronizes changes across layers and platforms
– Ensures that the UI remains consistent across devices
– Dependency based explanation when search space is over constrained
16
QuillQuill
Early demo http://www.w3.org/2012/quill/
17
Quill – Abstract UI modelsQuill – Abstract UI models
18
Quill – Abstract UI modelsQuill – Abstract UI models
19
Quill – Abstract UI modelsQuill – Abstract UI models
20
Domain ModelsDomain Models
● Notation inspired by
WebIDL
● Parsed into JavaScript
Object model
● Annotated with
– Relevancy conditions
– Validity constraints
– Default values
– Call outs to handlers
@import "clauses"
@import "vehicles"
interface customer {
first_name string;
last_name string;
email email_address;
phone phone;
young_driver boolean;
marketing_opt_in boolean;
}
interface card {
type {MasterCard, VISA, AMEX};
number string;
expiry_month month;
expiry_year year;
}
interface itinerary {
pickup_date date_time;
return_date date_time;
pickup_location location using find_location();
return_to_origin boolean;
return_location location using find_location();
pay {now, at_location};
#relevant return_location !return_to_origin
#default return_location pickup_location
}
21
Task ModelsTask Models
● High level
– Independent of UI details
● Hierarchy of tasks
– Task – sub-tasks
– Normal/advanced tasks
● Ordering constraints
– One task enabling another
– Unordered tasks
– Task preconditions
task "make a reservation" {
task "Customer details" using customer;
enables {
task "Pick up and return" {
task "pick up details" {
concurrent {
task "find rental location" using
itinerary.pickup_location;
task "enter date and time" using
itinerary.pickup_date;
task "Return to pickup location" using
itinerary.return_to_origin;
}
}
task "return details" {
concurrent {
task "find location" using itinerary.return_location
#precondition !itinerary.return_to_origin;
task "enter date and time" using
itinerary.return_date;
}
}
task "Pay now or at pickup" using itinerary.pay;
}
task "pick car model" using agreement.vehicle;
task "Choose extras" using extras;
task "Review and book" using agreement;
}
}
22
Abstract UI ModelsAbstract UI Models
● Platform independent
● Generated from domain
and task models
– Bindings to interfaces
defined in domain model
– Annotated to express
constraints, e.g. relevancy
group "make a reservation" {
group "Customer details" {
select customer.first_name;
select customer.last_name;
select customer.email;
select customer.phone;
select customer.young_driver;
select customer.marketing_opt_in;
}
group "Pick up and return" {
group "pick up details" {
select "find rental location"
itinerary.pickup_location;
select "enter date and time" itinerary.pickup_date;
select "Return to pickup location"
itinerary.return_to_origin;
}
group "return details" {
select "find location" itinerary.return_location
#precondition !itinerary.return_to_origin;
select "enter date and time" itinerary.return_date;
}
select "Pay now or at pickup" itinerary.pay;
}
group "pick car model" {
using agreement.vehicle;
}
group "Choose extras" {
using extras;
}
group "Review and book" {
using agreement;
}
}
23
Quill's ArchitectureQuill's Architecture
● Models held in the cloud
– Node.js based processor
● Direct manipulation interface in browser
– HTML5 Canvas for graphical models
– Force directed layout (charges and springs)
●
Uses window.requestAnimationFrame() for smooth animation
●
Plan to combine with hierarchical Voronoi cells for tree models
● Changes to models transmitted in text format over web sockets
– Live editing through near real-time revision control
● A work in progress, with deadline of September 2013
24
Constraint PropagationConstraint Propagation
● Decision points – where human designer can force a given choice
– e.g. decisions on layout and sub-dialogs
● Some things follow naturally from domain/task model
– Changes to abstract or concrete UI that effect domain/task models
● Relationships across abstraction layers
– Abductive Reasoning
●
If you know certain facts and also that certain relationships hold true, then it
is possible to infer additional facts that must be true if the relationship is to hold
– Formalized as combination of relational joins and unification
●
Demo http://www.w3.org/2013/01/abduction/
– Replaces lots of event-condition-action rules
25
Developer Survey – QuotesDeveloper Survey – Quotes
● Yes, I believe that models are very relevant and useful but the lack of "easy to
use" applications, "easy to draw models" puts a certain level of resistance of
using this tools from part of developers"
● ... if the model-based approach is directly responsible for the generated code
and any changes in the code automatically reflects in the model then it would
be extremely relevant to have this kind of approach in my development phase.
The model would give me a macro approach to my application helping me to
quickly understand what the application is doing...
● ... maintaining the docs and the code in a disjoint manner makes me waste
some of the time [...] given that the coding sometimes needs to be changed to
work
● I'm not sure models could be used in our domain: UIs are very complex and
uses custom widgets.
26
Related WorkRelated Work
● EU FP7 Serenoa project
– Context aware model-based user interfaces
– http://www.serenoa-fp7.eu/
● W3C Model-Based UI Working Group
– Standardizing task models and abstract UI
– http://www.w3.org/2011/mbui/
● Responsive Design, e.g.
– http://www.w3.org/2013/Talks/responsive-design.pdf
● This talk and associated short paper
– http://www.w3.org/2013/Talks/quill-slides-www2013.pdf
– http://www.w3.org/2013/Talks/quill-paper-www2013.pdf

More Related Content

Similar to Quill slides-www2013

DHANA_CV
DHANA_CVDHANA_CV
DHANA_CV
Dhananjayan D
 
Design Dynamics: Elevating UiPath Apps with UX Wireframes
Design Dynamics: Elevating UiPath Apps with UX WireframesDesign Dynamics: Elevating UiPath Apps with UX Wireframes
Design Dynamics: Elevating UiPath Apps with UX Wireframes
DianaGray10
 
How Responsive Is Your Testing?
How Responsive Is Your Testing?How Responsive Is Your Testing?
How Responsive Is Your Testing?
Cognizant
 
MAGE PROCESSING BASED BILLING STRUCTURE USING EDGE COMPUTING AND REACTJS
MAGE PROCESSING BASED BILLING STRUCTURE USING EDGE COMPUTING AND REACTJSMAGE PROCESSING BASED BILLING STRUCTURE USING EDGE COMPUTING AND REACTJS
MAGE PROCESSING BASED BILLING STRUCTURE USING EDGE COMPUTING AND REACTJS
IRJET Journal
 
MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021
Nicholas Bowman
 
Somnath Resume
Somnath ResumeSomnath Resume
Somnath Resume
SomnathJamadar
 
Household Veritas - A platform that provides household services
Household Veritas - A platform that provides household servicesHousehold Veritas - A platform that provides household services
Household Veritas - A platform that provides household services
IRJET Journal
 
20101007 how smart use cases drive web development
20101007   how smart use cases drive web development20101007   how smart use cases drive web development
20101007 how smart use cases drive web development
Sander Hoogendoorn
 
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdf
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdfInternship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdf
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdf
VitulChauhan
 
M 4 iot..
M 4 iot..M 4 iot..
M 4 iot..
VIT VELLORE
 
Mobile Application Testing af Frederik Carlier, Jamo Solutions
Mobile Application Testing af Frederik Carlier, Jamo SolutionsMobile Application Testing af Frederik Carlier, Jamo Solutions
Mobile Application Testing af Frederik Carlier, Jamo Solutions
InfinIT - Innovationsnetværket for it
 
User Interface Design for Web and Mobile Devices
User Interface Design for Web and Mobile DevicesUser Interface Design for Web and Mobile Devices
User Interface Design for Web and Mobile Devices
IRJET Journal
 
IRJET - Survey Paper on Tools Used to Enhance User's Experience with Cons...
IRJET -  	  Survey Paper on Tools Used to Enhance User's Experience with Cons...IRJET -  	  Survey Paper on Tools Used to Enhance User's Experience with Cons...
IRJET - Survey Paper on Tools Used to Enhance User's Experience with Cons...
IRJET Journal
 
How to Maximize User Experience with Effective Front-End Technology Choices
How to Maximize User Experience with Effective Front-End Technology ChoicesHow to Maximize User Experience with Effective Front-End Technology Choices
How to Maximize User Experience with Effective Front-End Technology Choices
Minds Task Technologies
 
Development of Android Based Mobile App for PrestaShop eCommerce Shopping Ca...
Development of Android Based Mobile App for PrestaShop eCommerce  Shopping Ca...Development of Android Based Mobile App for PrestaShop eCommerce  Shopping Ca...
Development of Android Based Mobile App for PrestaShop eCommerce Shopping Ca...
IRJET Journal
 
Project synopsis.
Project synopsis.Project synopsis.
Project synopsis.
ssuser3bb83f1
 
Preparing_for_PCA_Workbook.pptx
Preparing_for_PCA_Workbook.pptxPreparing_for_PCA_Workbook.pptx
Preparing_for_PCA_Workbook.pptx
mambrino
 
online shopping
online shopping online shopping
online shopping
Ankuj Kumar
 
Importance of Mobile App Architecture For Mobile App Development
Importance of Mobile App Architecture For Mobile App DevelopmentImportance of Mobile App Architecture For Mobile App Development
Importance of Mobile App Architecture For Mobile App Development
Helios Solutions
 
Technology Trend 2018
Technology Trend 2018Technology Trend 2018
Technology Trend 2018
Wan Muzaffar Wan Hashim
 

Similar to Quill slides-www2013 (20)

DHANA_CV
DHANA_CVDHANA_CV
DHANA_CV
 
Design Dynamics: Elevating UiPath Apps with UX Wireframes
Design Dynamics: Elevating UiPath Apps with UX WireframesDesign Dynamics: Elevating UiPath Apps with UX Wireframes
Design Dynamics: Elevating UiPath Apps with UX Wireframes
 
How Responsive Is Your Testing?
How Responsive Is Your Testing?How Responsive Is Your Testing?
How Responsive Is Your Testing?
 
MAGE PROCESSING BASED BILLING STRUCTURE USING EDGE COMPUTING AND REACTJS
MAGE PROCESSING BASED BILLING STRUCTURE USING EDGE COMPUTING AND REACTJSMAGE PROCESSING BASED BILLING STRUCTURE USING EDGE COMPUTING AND REACTJS
MAGE PROCESSING BASED BILLING STRUCTURE USING EDGE COMPUTING AND REACTJS
 
MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021MuleSoft Meetup Adelaide 7th April 2021
MuleSoft Meetup Adelaide 7th April 2021
 
Somnath Resume
Somnath ResumeSomnath Resume
Somnath Resume
 
Household Veritas - A platform that provides household services
Household Veritas - A platform that provides household servicesHousehold Veritas - A platform that provides household services
Household Veritas - A platform that provides household services
 
20101007 how smart use cases drive web development
20101007   how smart use cases drive web development20101007   how smart use cases drive web development
20101007 how smart use cases drive web development
 
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdf
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdfInternship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdf
Internship-Report-VitulChauhan-18132023-IT_CRUD-OPERATION.pdf
 
M 4 iot..
M 4 iot..M 4 iot..
M 4 iot..
 
Mobile Application Testing af Frederik Carlier, Jamo Solutions
Mobile Application Testing af Frederik Carlier, Jamo SolutionsMobile Application Testing af Frederik Carlier, Jamo Solutions
Mobile Application Testing af Frederik Carlier, Jamo Solutions
 
User Interface Design for Web and Mobile Devices
User Interface Design for Web and Mobile DevicesUser Interface Design for Web and Mobile Devices
User Interface Design for Web and Mobile Devices
 
IRJET - Survey Paper on Tools Used to Enhance User's Experience with Cons...
IRJET -  	  Survey Paper on Tools Used to Enhance User's Experience with Cons...IRJET -  	  Survey Paper on Tools Used to Enhance User's Experience with Cons...
IRJET - Survey Paper on Tools Used to Enhance User's Experience with Cons...
 
How to Maximize User Experience with Effective Front-End Technology Choices
How to Maximize User Experience with Effective Front-End Technology ChoicesHow to Maximize User Experience with Effective Front-End Technology Choices
How to Maximize User Experience with Effective Front-End Technology Choices
 
Development of Android Based Mobile App for PrestaShop eCommerce Shopping Ca...
Development of Android Based Mobile App for PrestaShop eCommerce  Shopping Ca...Development of Android Based Mobile App for PrestaShop eCommerce  Shopping Ca...
Development of Android Based Mobile App for PrestaShop eCommerce Shopping Ca...
 
Project synopsis.
Project synopsis.Project synopsis.
Project synopsis.
 
Preparing_for_PCA_Workbook.pptx
Preparing_for_PCA_Workbook.pptxPreparing_for_PCA_Workbook.pptx
Preparing_for_PCA_Workbook.pptx
 
online shopping
online shopping online shopping
online shopping
 
Importance of Mobile App Architecture For Mobile App Development
Importance of Mobile App Architecture For Mobile App DevelopmentImportance of Mobile App Architecture For Mobile App Development
Importance of Mobile App Architecture For Mobile App Development
 
Technology Trend 2018
Technology Trend 2018Technology Trend 2018
Technology Trend 2018
 

More from Vivian Motti

Keynote speech - Webmedia 2020
Keynote speech - Webmedia 2020Keynote speech - Webmedia 2020
Keynote speech - Webmedia 2020
Vivian Motti
 
Usable Privacy
Usable PrivacyUsable Privacy
Usable Privacy
Vivian Motti
 
Smartwatch Applications as Assistive Technologies
Smartwatch Applications as Assistive TechnologiesSmartwatch Applications as Assistive Technologies
Smartwatch Applications as Assistive Technologies
Vivian Motti
 
Wearable technologies
Wearable technologiesWearable technologies
Wearable technologies
Vivian Motti
 
Cards - Users with Disabilities - Course Material
Cards - Users with Disabilities - Course MaterialCards - Users with Disabilities - Course Material
Cards - Users with Disabilities - Course Material
Vivian Motti
 
Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Assisting Students with Intellectual and Developmental Disabilities in Inclus...Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Vivian Motti
 
Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Assisting Students with Intellectual and Developmental Disabilities in Inclus...Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Vivian Motti
 
Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Assisting Students with Intellectual and Developmental Disabilities in Inclus...Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Vivian Motti
 
mHealth Application to Inform Caregivers of Babies with Congenital Zika Virus...
mHealth Application to Inform Caregivers of Babies with Congenital Zika Virus...mHealth Application to Inform Caregivers of Babies with Congenital Zika Virus...
mHealth Application to Inform Caregivers of Babies with Congenital Zika Virus...
Vivian Motti
 
Smartwatch Applications for Mental Health: A Qualitative Analysis of Users’ P...
Smartwatch Applications for Mental Health: A Qualitative Analysis of Users’ P...Smartwatch Applications for Mental Health: A Qualitative Analysis of Users’ P...
Smartwatch Applications for Mental Health: A Qualitative Analysis of Users’ P...
Vivian Motti
 
Wearable privacy skeletons in the data closet
Wearable privacy  skeletons in the data closetWearable privacy  skeletons in the data closet
Wearable privacy skeletons in the data closet
Vivian Motti
 
Wearable Life: a Wrist-Worn Application to Assist Students in Special Education
Wearable Life: a Wrist-Worn Application to Assist Students in Special EducationWearable Life: a Wrist-Worn Application to Assist Students in Special Education
Wearable Life: a Wrist-Worn Application to Assist Students in Special Education
Vivian Motti
 
UX Design for Wrist-Worn Wearables – how contextual dynamics influence intera...
UX Design for Wrist-Worn Wearables – how contextual dynamics influence intera...UX Design for Wrist-Worn Wearables – how contextual dynamics influence intera...
UX Design for Wrist-Worn Wearables – how contextual dynamics influence intera...
Vivian Motti
 
Using Smartwatches to Assist Students with Intellectual and Developmental Dis...
Using Smartwatches to Assist Students with Intellectual and Developmental Dis...Using Smartwatches to Assist Students with Intellectual and Developmental Dis...
Using Smartwatches to Assist Students with Intellectual and Developmental Dis...
Vivian Motti
 
Smart Wearables or Dumb Wearables? Understanding how Context Impacts the UX i...
Smart Wearables or Dumb Wearables? Understanding how Context Impacts the UX i...Smart Wearables or Dumb Wearables? Understanding how Context Impacts the UX i...
Smart Wearables or Dumb Wearables? Understanding how Context Impacts the UX i...
Vivian Motti
 
Toward a Visual Vocabulary for Privacy Concepts
Toward a Visual Vocabulary for Privacy ConceptsToward a Visual Vocabulary for Privacy Concepts
Toward a Visual Vocabulary for Privacy Concepts
Vivian Motti
 
Wearable Health
Wearable HealthWearable Health
Wearable Health
Vivian Motti
 
Wearable Computing: Healthcare, Human Factors and Privacy
Wearable Computing: Healthcare, Human Factors and PrivacyWearable Computing: Healthcare, Human Factors and Privacy
Wearable Computing: Healthcare, Human Factors and Privacy
Vivian Motti
 
Micro interactions and multi dimensional graphical user interfaces in the des...
Micro interactions and multi dimensional graphical user interfaces in the des...Micro interactions and multi dimensional graphical user interfaces in the des...
Micro interactions and multi dimensional graphical user interfaces in the des...
Vivian Motti
 
An Overview of Wearable Applications for Health Care: Requirements and Challe...
An Overview of Wearable Applications for Health Care: Requirements and Challe...An Overview of Wearable Applications for Health Care: Requirements and Challe...
An Overview of Wearable Applications for Health Care: Requirements and Challe...
Vivian Motti
 

More from Vivian Motti (20)

Keynote speech - Webmedia 2020
Keynote speech - Webmedia 2020Keynote speech - Webmedia 2020
Keynote speech - Webmedia 2020
 
Usable Privacy
Usable PrivacyUsable Privacy
Usable Privacy
 
Smartwatch Applications as Assistive Technologies
Smartwatch Applications as Assistive TechnologiesSmartwatch Applications as Assistive Technologies
Smartwatch Applications as Assistive Technologies
 
Wearable technologies
Wearable technologiesWearable technologies
Wearable technologies
 
Cards - Users with Disabilities - Course Material
Cards - Users with Disabilities - Course MaterialCards - Users with Disabilities - Course Material
Cards - Users with Disabilities - Course Material
 
Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Assisting Students with Intellectual and Developmental Disabilities in Inclus...Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Assisting Students with Intellectual and Developmental Disabilities in Inclus...
 
Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Assisting Students with Intellectual and Developmental Disabilities in Inclus...Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Assisting Students with Intellectual and Developmental Disabilities in Inclus...
 
Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Assisting Students with Intellectual and Developmental Disabilities in Inclus...Assisting Students with Intellectual and Developmental Disabilities in Inclus...
Assisting Students with Intellectual and Developmental Disabilities in Inclus...
 
mHealth Application to Inform Caregivers of Babies with Congenital Zika Virus...
mHealth Application to Inform Caregivers of Babies with Congenital Zika Virus...mHealth Application to Inform Caregivers of Babies with Congenital Zika Virus...
mHealth Application to Inform Caregivers of Babies with Congenital Zika Virus...
 
Smartwatch Applications for Mental Health: A Qualitative Analysis of Users’ P...
Smartwatch Applications for Mental Health: A Qualitative Analysis of Users’ P...Smartwatch Applications for Mental Health: A Qualitative Analysis of Users’ P...
Smartwatch Applications for Mental Health: A Qualitative Analysis of Users’ P...
 
Wearable privacy skeletons in the data closet
Wearable privacy  skeletons in the data closetWearable privacy  skeletons in the data closet
Wearable privacy skeletons in the data closet
 
Wearable Life: a Wrist-Worn Application to Assist Students in Special Education
Wearable Life: a Wrist-Worn Application to Assist Students in Special EducationWearable Life: a Wrist-Worn Application to Assist Students in Special Education
Wearable Life: a Wrist-Worn Application to Assist Students in Special Education
 
UX Design for Wrist-Worn Wearables – how contextual dynamics influence intera...
UX Design for Wrist-Worn Wearables – how contextual dynamics influence intera...UX Design for Wrist-Worn Wearables – how contextual dynamics influence intera...
UX Design for Wrist-Worn Wearables – how contextual dynamics influence intera...
 
Using Smartwatches to Assist Students with Intellectual and Developmental Dis...
Using Smartwatches to Assist Students with Intellectual and Developmental Dis...Using Smartwatches to Assist Students with Intellectual and Developmental Dis...
Using Smartwatches to Assist Students with Intellectual and Developmental Dis...
 
Smart Wearables or Dumb Wearables? Understanding how Context Impacts the UX i...
Smart Wearables or Dumb Wearables? Understanding how Context Impacts the UX i...Smart Wearables or Dumb Wearables? Understanding how Context Impacts the UX i...
Smart Wearables or Dumb Wearables? Understanding how Context Impacts the UX i...
 
Toward a Visual Vocabulary for Privacy Concepts
Toward a Visual Vocabulary for Privacy ConceptsToward a Visual Vocabulary for Privacy Concepts
Toward a Visual Vocabulary for Privacy Concepts
 
Wearable Health
Wearable HealthWearable Health
Wearable Health
 
Wearable Computing: Healthcare, Human Factors and Privacy
Wearable Computing: Healthcare, Human Factors and PrivacyWearable Computing: Healthcare, Human Factors and Privacy
Wearable Computing: Healthcare, Human Factors and Privacy
 
Micro interactions and multi dimensional graphical user interfaces in the des...
Micro interactions and multi dimensional graphical user interfaces in the des...Micro interactions and multi dimensional graphical user interfaces in the des...
Micro interactions and multi dimensional graphical user interfaces in the des...
 
An Overview of Wearable Applications for Health Care: Requirements and Challe...
An Overview of Wearable Applications for Health Care: Requirements and Challe...An Overview of Wearable Applications for Health Care: Requirements and Challe...
An Overview of Wearable Applications for Health Care: Requirements and Challe...
 

Recently uploaded

HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
Edge AI and Vision Alliance
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
Kumud Singh
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 

Recently uploaded (20)

HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
“Building and Scaling AI Applications with the Nx AI Manager,” a Presentation...
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Mind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AIMind map of terminologies used in context of Generative AI
Mind map of terminologies used in context of Generative AI
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 

Quill slides-www2013

  • 1. Quill: A Collaborative DesignQuill: A Collaborative Design Assistant for Cross Platform WebAssistant for Cross Platform Web Application User InterfacesApplication User Interfaces Vivian G. Motti, Université catholique de Louvain Dave Raggett, World Wide Web Consortium WWW2013, Rio de Janeiro, 2013 This was supported by funding from the European Commission’s Seventh Framework Program under grant agreement number 258030 (FP7-ICT-2009-5).
  • 2. 2 How mobile-ready areHow mobile-ready are corporate websites?corporate websites? ● UK companies not ready for mobile internet – Two-thirds of companies in the FTSE 100 have websites that are difficult to use on smartphones, a study shows. – Robert Cookson, Financial Times, 2 January 2013 ● http://on.ft.com/Zp4UZI ● “FTSE 100 companies are not mobile-ready and are wasting millions of pounds on internet advertising by sending visitors to websites that do not work as users expect them to,” said Jonathan Bass of Incentivated ● Domino’s Pizza, one of the pioneers of online fast-food sales in the UK, reported in September that purchases from mobile phones were growing at almost 50 per cent a year and accounted for nearly a fifth of its online sales. ● CIOs struggling to meet mobility challenge – 78% of respondents state their mobility strategy is at low to medium maturity according to a 2013 study by Teksystems ● http://teksystems.com/resources/research/it-trends/mobile-outsourcing-landscape-infograp hic
  • 3. 3 It's only going to get worse...It's only going to get worse... ● Increasing variety of devices – Desktop, mobile, tablets, connected TVs – Regular and ultra high resolution displays ● Coming soon – Multi-screen applications ● In the living room and in the office – Cars ● Dashboard displays, smart phones, heads up displays, multimodal interaction, and concerns over ensuring driver safety – Wearable devices ● Smart watches and glasses ● Sports and healthcare
  • 4. 4 Why Web Apps?Why Web Apps? ● Current practice is to use web sites for desktop, and native apps for other platforms ● Developers need to learn new programming languages and SDKs for each platform ● Web technologies reduce the cost and increase the reach! ● Save time and money by avoiding app stores! – Keep all of your income ● Responsive Design techniques ● But need for better developer tools!
  • 5. 5 Desktop vs PhoneDesktop vs Phone Captured from mobile App
  • 6. 6 Desktop vs PhoneDesktop vs Phone Captured from mobile App
  • 7. 7 Desktop vs PhoneDesktop vs Phone Captured from mobile App
  • 8. 8 Desktop vs PhoneDesktop vs Phone Captured from mobile App
  • 9. 9 Design ProcessDesign Process ● Agree on the business requirements ● Map them into domain and task models ● Use automated design tool to generate rough design proposals for each target platform ● Adjust the design to suit your taste ● Apply a UI skin and generate the final UI for each class of device ● Review and adapt until done!
  • 10. 10 Abstraction LayersAbstraction Layers Domain Tasks Abstract UI Concrete UI Final UI User Platform Environment Context of Use Platform Independent Platform Dependent Device Dependent UI Skins
  • 11. 11 Abstraction LayersAbstraction Layers Domain Tasks Abstract UI Concrete UI Final UI Platform Independent Platform Dependent Device Dependent Desktop Phone Tablet TV Car User Platform Environment Context of Use UI Skins
  • 12. 12 Abstraction LayersAbstraction Layers Domain Tasks Abstract UI Concrete UI Final UI Platform Independent Platform Dependent Device Dependent e.g. iPhone User Platform Environment Context of Use UI Skins
  • 13. 13 Abstraction LayersAbstraction Layers Domain Tasks Abstract UI Concrete UI Final UI Platform Independent Platform Dependent Device Dependent Distinguish between normal and advanced features User Platform Environment Context of Use UI Skins
  • 14. 14 Abstraction LayersAbstraction Layers Domain Tasks Abstract UI Concrete UI Final UI Platform Independent Platform Dependent Device Dependent Not all tasks are relevant to every platform User Platform Environment Context of Use UI Skins
  • 15. 15 QuillQuill ● Open Source, HTML5 based design tool ● Expert system generates proposals via a search of the design space – You select which one you prefer ● You can adjust the design at each layer of abstraction ● Your changes are considered as constraints and propagated to reduce the size of the search space as Quill looks for consistent designs – Quill synchronizes changes across layers and platforms – Ensures that the UI remains consistent across devices – Dependency based explanation when search space is over constrained
  • 17. 17 Quill – Abstract UI modelsQuill – Abstract UI models
  • 18. 18 Quill – Abstract UI modelsQuill – Abstract UI models
  • 19. 19 Quill – Abstract UI modelsQuill – Abstract UI models
  • 20. 20 Domain ModelsDomain Models ● Notation inspired by WebIDL ● Parsed into JavaScript Object model ● Annotated with – Relevancy conditions – Validity constraints – Default values – Call outs to handlers @import "clauses" @import "vehicles" interface customer { first_name string; last_name string; email email_address; phone phone; young_driver boolean; marketing_opt_in boolean; } interface card { type {MasterCard, VISA, AMEX}; number string; expiry_month month; expiry_year year; } interface itinerary { pickup_date date_time; return_date date_time; pickup_location location using find_location(); return_to_origin boolean; return_location location using find_location(); pay {now, at_location}; #relevant return_location !return_to_origin #default return_location pickup_location }
  • 21. 21 Task ModelsTask Models ● High level – Independent of UI details ● Hierarchy of tasks – Task – sub-tasks – Normal/advanced tasks ● Ordering constraints – One task enabling another – Unordered tasks – Task preconditions task "make a reservation" { task "Customer details" using customer; enables { task "Pick up and return" { task "pick up details" { concurrent { task "find rental location" using itinerary.pickup_location; task "enter date and time" using itinerary.pickup_date; task "Return to pickup location" using itinerary.return_to_origin; } } task "return details" { concurrent { task "find location" using itinerary.return_location #precondition !itinerary.return_to_origin; task "enter date and time" using itinerary.return_date; } } task "Pay now or at pickup" using itinerary.pay; } task "pick car model" using agreement.vehicle; task "Choose extras" using extras; task "Review and book" using agreement; } }
  • 22. 22 Abstract UI ModelsAbstract UI Models ● Platform independent ● Generated from domain and task models – Bindings to interfaces defined in domain model – Annotated to express constraints, e.g. relevancy group "make a reservation" { group "Customer details" { select customer.first_name; select customer.last_name; select customer.email; select customer.phone; select customer.young_driver; select customer.marketing_opt_in; } group "Pick up and return" { group "pick up details" { select "find rental location" itinerary.pickup_location; select "enter date and time" itinerary.pickup_date; select "Return to pickup location" itinerary.return_to_origin; } group "return details" { select "find location" itinerary.return_location #precondition !itinerary.return_to_origin; select "enter date and time" itinerary.return_date; } select "Pay now or at pickup" itinerary.pay; } group "pick car model" { using agreement.vehicle; } group "Choose extras" { using extras; } group "Review and book" { using agreement; } }
  • 23. 23 Quill's ArchitectureQuill's Architecture ● Models held in the cloud – Node.js based processor ● Direct manipulation interface in browser – HTML5 Canvas for graphical models – Force directed layout (charges and springs) ● Uses window.requestAnimationFrame() for smooth animation ● Plan to combine with hierarchical Voronoi cells for tree models ● Changes to models transmitted in text format over web sockets – Live editing through near real-time revision control ● A work in progress, with deadline of September 2013
  • 24. 24 Constraint PropagationConstraint Propagation ● Decision points – where human designer can force a given choice – e.g. decisions on layout and sub-dialogs ● Some things follow naturally from domain/task model – Changes to abstract or concrete UI that effect domain/task models ● Relationships across abstraction layers – Abductive Reasoning ● If you know certain facts and also that certain relationships hold true, then it is possible to infer additional facts that must be true if the relationship is to hold – Formalized as combination of relational joins and unification ● Demo http://www.w3.org/2013/01/abduction/ – Replaces lots of event-condition-action rules
  • 25. 25 Developer Survey – QuotesDeveloper Survey – Quotes ● Yes, I believe that models are very relevant and useful but the lack of "easy to use" applications, "easy to draw models" puts a certain level of resistance of using this tools from part of developers" ● ... if the model-based approach is directly responsible for the generated code and any changes in the code automatically reflects in the model then it would be extremely relevant to have this kind of approach in my development phase. The model would give me a macro approach to my application helping me to quickly understand what the application is doing... ● ... maintaining the docs and the code in a disjoint manner makes me waste some of the time [...] given that the coding sometimes needs to be changed to work ● I'm not sure models could be used in our domain: UIs are very complex and uses custom widgets.
  • 26. 26 Related WorkRelated Work ● EU FP7 Serenoa project – Context aware model-based user interfaces – http://www.serenoa-fp7.eu/ ● W3C Model-Based UI Working Group – Standardizing task models and abstract UI – http://www.w3.org/2011/mbui/ ● Responsive Design, e.g. – http://www.w3.org/2013/Talks/responsive-design.pdf ● This talk and associated short paper – http://www.w3.org/2013/Talks/quill-slides-www2013.pdf – http://www.w3.org/2013/Talks/quill-paper-www2013.pdf