Due to ubiquitous connectivity and cheap availability of user devices from smartphones to desktops, applications supporting multi-device and collaborative use have become more common, and with the Corona pandemic this trend has tremendously accelerated.
While most of the distributed applications that we see nowadays are cloud-based, avoiding the cloud can lead to privacy and performance benefits for users and operational and cost benefits for companies and developers. Following this idea, Local-First Software runs and stores its data locally while still allowing collaboration, thus retaining the benefits of existing collaborative applications without depending on the cloud.
Many specific solutions already exist: operational transformation, client-side databases with eventually consistent replication based on CRDTs, and even synchronization as a service provided by commercial offerings, and a vast selection of UI design libraries.
However, these solutions are not integrated with the programming languages that applications are developed in. Language based solutions related to distribution such as type systems describing protocols, reliable actor runtimes, data processing, machine learning, etc., are designed and optimized for the cloud not for a loosely connected set of cooperating devices. This workshop aims at bringing the issue to the attention of the PL community, and accelerating the development of suitable solutions for this area.
See the “Program” tab for details.
The workshop is an in person event, but we will try out best to stream it for anyone interested.
Call for Talks and Papers
We are looking to advance the state of the art to program local-first software, that is, programs that are useful to a single user while offline, but allow sharing and collaboration when connected. Examples topics include:
- language constructs that enable offline use
- case studies that consider what works well and what is challenging using existing languages
- UI techniques that consider connectivity states
- users, identities, and trust as language constructs
- type systems to track what functionality is available offline
- easy to use APIs for (new and existing) efficient data synchronization algorithms
- dynamic placement techniques that scale down to a single offline device
We encourage a range of contributions to facilitate exchange between academia and industry. Specifically, we are looking for:
- Talk proposals of at most 1 page summarizing:
- the content and scope
- the context (speaker, company, research group, larger project, etc.)
- include links to further info if available (an existing published paper, prior talks, project websites, etc.)
- Relevant in progress research papers:
- no format or page limit
- if the paper is longer than 8 pages: include a summary one or two key contributions/sections the reviewers should focus on
- these will receive reviews by the organizing committee focused on potential improvements
- there will be no officially published proceedings, but papers will be listed on the website if the authors agree
- no format or page limit
If accepted, authors of both types of submission are assigned a 25 minute slot for a talk + 5 minutes for questions. In addition, submissions are published on the website.
- 2022-04-01 Submission closes
- 2022-05-01 Notification of accepted papers
Use the submission link at the top of the right sidebar.
For talk proposals, you may either upload a PDF, or put the proposal into the “abstract” field of the submission site.
For in progress papers of more than 8 pages, include the description of what the reviewers should focus on as part of the abstract.
In case will would only attend the workshop in person or only via video conferencing, please indicate this as part of the submission (in the abstract field).
Tue 7 JunDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
09:00 - 10:30
|The path to local-first software.|
Peter van Hardenberg Ink & Switch
|A Programming Language Perspective on Replication|
10:30 - 11:00
11:00 - 12:30
|A new open source framework for using the web stack to build offline/local-first, TCP/UDP enabled UIs on desktop and mobile|
|Local-first in commercial software: Muse|
|Shared state for local-first computing|
Marc Shapiro LIP6
13:30 - 15:00
|Encrypted Replicated Data Types within REScala|
Christian Kuessner , Ragnar Mogk Technische Universität Darmstadt, Anna-Katharina Wickert TU Darmstadt, Germany, Mira Mezini TU DarmstadtPre-print
Clemens Nylandsted Klokmose Aarhus University
|Building data-centric apps with a reactive relational database|
PLFLink to publication
15:00 - 15:30