XX:YY

Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.

For the best experience please use the latest Chrome, Safari or Firefox browser.

Liquid Web Apps

Cesare Pautasso
http://www.pautasso.info
[email protected]
@pautasso

University of Lugano (USI)

Faculty of Informatics

Architecture, Design and Web Information Systems Engineering

http://design.inf.usi.ch

Abstract

The personal computing experience is changing. Users no longer run every application and store their data on a single computer. Instead they own and operate a complex multi-device ensemble made of desktop computers, laptops, phones, tables, watches, glasses and cars to accomplish their tasks and collectively manage their personal information. Existing approaches to achieve a liquid user experience whereby data and software can seamlessly flow between devices are starting to appear within the confines of proprietary platforms or may rely on centralized solutions, where data is stored in the Cloud, outside the control of the users producing and consuming it. In this talk we discuss how the open Web and emerging Web technologies can still play an important role to build next generation liquid Web applications.

1 Computer
Many Users

(1950-1970)

1 Computer
1 User

(1980-1990)

Many Computers
1 User

(2000-)

Apple Continuity

Samsung Flow

Second Screen

Collaboration

Education

What about the Web?

Responsive

Liquid

Liquid

Adapt

Liquid Metaphor

Flow

Liquid Software

  1. Adapt the distributed user interface to fully take advantage of the set of devices
  2. Seamlessly migrate and clone running applications across devices

Minority Report (2002)

Liquid User Experience

Flow

How to seamlessly flow running applications across devices?

  1. Migrate = Copy + Delete
  2. Copy
  3. Clone = Copy + Synchronize

Adapt

How to take advantage of different devices?

  1. Manual
  2. Automatic: Responsive (one device)
  3. Automatic: Complementary (many devices)

How Liquid is the Web?

Web Evolution

Migrate/Copy

Clone (Synchronization)

State Synchronization

When to share updates?

  1. Batch (Copy)
  2. Trickle (Synchronize)

State Identification

What needs to be migrated/synchronized?

  1. Explicit
  2. Implicit

Granularity

What needs to be migrated/synchronized?

  1. OS/VM (Implicit)
  2. Application (Implicit)
  3. Component (Explicit)

Deployment

When to install the app?

  1. Pre-installed
  2. On-Demand

Discovery

How to establish trust between paired devices?

  1. Smartcard
  2. WiFi
  3. Bluetooth
  4. Shared URL
  5. QR Code

Liquid Software Design Space

Liquid Web Apps

How to build liquid Web apps?


Demo http://liquid.inf.usi.ch
Polymer({
      is: 'liquid-component-vaadin-gauge-chart',

      behaviors: [LiquidBehavior],

      properties: {
                data: {
                    type: Number,
                    value:42,
liquid: { scope: "shared" }
} }, _getType: function () { return 'gauge'; } });

Liquid Software

Acknowledgements

Daniele Bonetta, Tommi Mikkonen, Antero Taivalsaari, Kari Systä, Andrea Gallidabino, Vasileios Triglianos, Masiar Babazadeh, Yoël Luginbuhl

References

Use a spacebar or arrow keys to navigate

Powered by
asq