@conference {www2018:liquidjs, title = {The Liquid User Experience API}, booktitle = {The Web Conference (WWW2018)}, year = {2018}, month = {April}, pages = {767-774}, publisher = {ACM}, organization = {ACM}, address = {Lyon, France}, abstract = {In the past years the average number of Web-enabled devices owned by each user has significantly increased. Liquid Web applications enable users to take advantage of all their devices sequentially to migrate their running applications across them or simultaneously when running different views of the same application at the same time on each device. Developers of liquid Web application need to control how to expose the liquid behavior of their cross-device Web applications to the users. To do so, they can use the API of Liquid.js we describe in this paper. Liquid.js is a framework for building component-based rich Web applications which run across multiple Web-enabled devices. The framework is based on technologies such as Polymer, WebRTC, WebWorkers, PouchDB and Yjs. Liquid.js helps to build decentralized Web applications whose components can seamlessly flow directly between Web browsers carrying along their execution state. The Liquid.js API gives developers fine-grained control over the liquid user experience primitives, device discovery, and the lifecycle of liquid Web components. }, keywords = {API, liquid software, web components}, doi = {10.1145/3184558.3188738}, author = {Andrea Gallidabino and Cesare Pautasso} } @demo {liquidjs:2016:www, title = {The Liquid.js Framework for Migrating and Cloning Stateful Web Components across Multiple Devices}, year = {2016}, month = {April}, pages = {183-186}, publisher = {ACM}, address = {Montreal, Canada}, abstract = {We are heading toward an era in which users own more than one single Web-enabled device. These devices range from smart phones, tablets and personal computers to smart Web-enabled devices found in houses and cars. The access mechanisms and usage patterns of Web applications are changing accordingly, as users interact more and more with Web applications through all their devices, even if the majority of Web applications are not ready to offer a good user experience taking full advantage of multiple devices. In this demonstration we introduce Liquid.js, a framework whose goal is to enable Web developers to take advantage of multiple heterogeneous devices and offer to their users a liquid user experience, whereby any device can be used sequentially or concurrently with Web applications that can effortlessly roam from one device to another. This way, as highlighted in the demonstration users do not need to stop and resume their work on their Web application as they migrate and clone them across different devices. The demo will also show how developers can easily add such liquid behavior to any Polymer Web component.}, keywords = {demo, liquid software, liquid.js, web components}, url = {http://www2016.net/proceedings/companion/p183.pdf}, author = {Andrea Gallidabino and Cesare Pautasso} }