Blogs (9) >>
Sun 30 October - Fri 4 November 2016 Amsterdam, Netherlands
Tue 1 Nov 2016 11:45 - 12:10 at Lausanne - Session 2

Developing modern collaborative applications burdens the programmer with local event handling (e.g. user interaction), remote event handling (e.g. updates from the server) and shared state (e.g. in order to allow operations while being disconnected).
Several solutions have been developed at the programming language level in order to reduce the complexity of these aspects.
On one hand, distributed reactive models (e.g. DREAM) tackle both local and remote event handling.
On the other hand recent replicated consistency models (e.g. CRDT's and CloudTypes) hide the complexity of shared, replicated state.
Both solutions only partially alleviate the complexity associated with developing collaborative applications.
To the best of our knowledge, none or very little effort has been undertaken to provide a single unified model able to tackle both event handling and shared state.
In this paper we argue the need for such a united model.
To that end we present Direst, a domain specific language which enhances traditional reactive abstractions (i.e. signals) with replication and consistency features.
Direst reduces the complexities of writing truly collaborative applications by providing a framework in which elegantly handling events and easily managing shared state are not mutually exclusive.