Back to overview

Architecting Liquid Software

Type of publication Peer-reviewed
Publikationsform Original article (peer-reviewed)
Author Gallidabino Andrea , Pautasso Cesare , Ilvonen Ville , Mikkonen Tommi , Systä Kari , Voutilainen Jari-Pekka , Taivalsaari Antero ,
Project Fundamentals of Parallel Programming for Platform-as-a-Service Clouds
Show all

Original article (peer-reviewed)

Journal Journal of Web Engineering
Volume (Issue) 16
Page(s) 433 - 470
Title of proceedings Journal of Web Engineering
DOI 10.26421/jwe16.5-6


The Liquid Software metaphor refers to software that can operate seamlessly across multiple devices owned by one or multiple users. Liquid software applications can take advantage of the computing, storage and communication resources available on all the devices owned by the user. Liquid software applications can also dynamically migrate from one device to another, following the user{\textquoteright}s attention and usage context. The key design goal in Liquid Software development is to minimize the additional efforts arising from multiple device ownership (e.g., installation, synchronization and general maintenance of personal computers, smartphones, tablets, home and car displays, and wearable devices), while keeping the users in full control of their devices, applications and data. In this paper we present the design space for Liquid Software, categorizing and discussing the most important architectural dimensions and technical choices. We also provide an introduction and comparison of two frameworks implementing Liquid Software capabilities in the context of the World Wide Web.