jelly: a multi-device design environment for managing consistency across devices

67
UHasselt - Belgium Jelly: A Multi-Device Design Environment for Managing Consistency across Devices an Meskens, Kris Luyten and Karin Coni

Upload: jmeskens

Post on 01-Nov-2014

1.274 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

UHasselt - Belgium

Jelly: A Multi-Device Design Environment for Managing Consistency across Devices

Jan Meskens, Kris Luyten and Karin Coninx

Page 2: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Multi-Device GUI Design

Page 3: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Mobile Phone

Page 4: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Smart Phone

Page 5: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Tablet PC

Page 6: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Notebook

Page 7: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

ApplicationGUI GUI GUI GUI

Page 8: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Related Work

Page 9: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Generating GUIs Automatically

Page 10: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

GUI GUI GUI GUI

Abstract Model

Page 11: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Generate an optimal UI for each device[Supple – Gajos et al., IUI ‘04]

Page 12: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Automatic remote control GUI generation[PUC – Nichols et al. TOCHI ‘09, UIST’06, CHI’07]

Page 13: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Such approaches are not designer oriented…

[Myers et al., TOCHI’00]

Page 14: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Multi-Device GUIDesign Tools

Page 15: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

GUI GUI

(semi-) automatically transforming GUIs

Page 16: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

DAMASK: Pattern transformations[Lin et al., CHI’08]

Page 17: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

GUMMY: Hidden abstract model [Meskens et al., AVI’08]

Page 18: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

What do designers think about this

approach?

Page 19: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

We interviewed 9 designers about Gummy

Page 20: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

TransformingParts of a GUI1

Page 21: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

2[Grigoreanu et al., VL/HCC’09][Ko et al., VL/HCC’04]

Testing !

GUI Deployment takes time…

Page 22: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

3[Lin et al., CHI’08]

ConsistencyManagement

GUI Content Update

Page 23: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

4[Myers et al., VL/HCC’08]

Custom GUI Controls

Page 24: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

JELLY

Page 25: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices
Page 26: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Multiple Design Workspaces

Page 27: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Flexible Toolbox

Page 28: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Flexible Toolbox

Page 29: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Flexible Toolbox

Page 30: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices
Page 31: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Jelly’s Features

Page 32: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

1 Jelly TransformsParts of a GUI

Page 33: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Adobe FlexWindows Mobile

Cross-Device Widget “Copies”

Page 34: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices
Page 35: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices
Page 36: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

What’s under the hood?

Page 37: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

A Semantic UI Network

[Demeure et al., CADUI’06]

Page 38: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

= UI Widget= Input/Output/Action= DataType

Page 39: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices
Page 40: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

2Jelly can manageContent Consistency

Page 41: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

[Toomim et al., VL/HCC’04]

Linked Editing

[Hartman et al., UIST’08]Linked Editing

Page 42: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Adobe Flex Windows Mobile

Linked Editing

Page 43: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices
Page 44: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

3 Jelly supportsfast testing

Page 45: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Toolglass approach!

[Bier et al., Siggraph’93]

Page 46: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Transparent Canvas

GUI Renderer

Page 47: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

GUI Renderer

Transparent Canvas

Page 48: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

GUI Renderer

Transparent Canvas

Page 49: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

What happens behind the scenes?

Jelly

Page 50: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Data Structure

XML / JSON Serialization

XMPP Network Communication

XML / JSON Deserialization

Data Structure

Page 51: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

4Jelly can handlecustom components

Page 52: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices
Page 53: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Data Structure

XML / JSON Serialization

XMPP Network Communication

Self-Describing Data Structure

Page 54: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Root Panel

… Panel

… Round Range

Page 55: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Root Panel

… Panel

… Round Range

Page 56: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Panel

Round Range

mapsTo: mx.Panel

mapsTo: custom.RRange

Page 57: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Informal Use Study

Page 58: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Music PlayerWindows MobileAdobe Flex

Page 59: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

8 Participants

Page 60: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Observations

Page 61: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Fast TestingUsed by

almost every participant

Page 62: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Great for software maintenance!

Page 63: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Copying ElementsUseful, but…

… what’s on the clipboard?… can we copy more than the content?

Page 64: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Conclusions

Page 65: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Design Environment

Cross-Device Copies

Linked Editing

Page 66: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Jelly is Open Source !http://research.edm.uhasselt.be/jmeskens/jelly

Page 67: Jelly: A Multi-Device Design Environment for Managing Consistency Across Devices

Jelly is Open Source ! http://research.edm.uhasselt.be/jmeskens/jelly

Questions?

[email protected]