ECOOP 2022
Mon 6 June - Thu 7 July 2022 Berlin, Germany

Languages for Multi-Device Collaborative Applications

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.

Workshop timeline

We currently plan an in-person event, however, we will keep monitoring the ongoing situation. In case of a virtual workshop, we will ask speakers to prerecord their talk, and organize live Q&A sessions. We do plan to make the workshop accessible to remote participation for non-speakers.

See the “Program” tab for details.

Click here for the full Program

Accepted Contributions

Title
A new open source framework for using the web stack to build offline/local-first, TCP/UDP enabled UIs on desktop and mobile
PLF
A Programming Language Perspective on Replication
PLF
Building data-centric apps with a reactive relational database
PLF
Link to publication
Encrypted Replicated Data Types within REScala
PLF
Pre-print
Local-first in commercial software: Muse
PLF
Local-first Webstrates
PLF
Resilient Self-Organized Neighborhoods
PLF
Link to publication DOI

Call for Talks and Papers

Note: details about the process are still subject to change.

Scope of contributions

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

Types of contribution

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

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.

Timeline and submission

  • 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).

Plenary

This program is tentative and subject to change.

You're viewing the program in a time zone which is different from your device's time zone - change time zone

Tue 7 Jun

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

09:00 - 10:30
Opening SessionPLF at Pine
09:00
60m
Talk
The path to local-first software.
PLF
10:00
30m
Talk
A Programming Language Perspective on Replication
PLF
Jim Bauwens Vrije Universiteit Brussel, Kevin De Porre Vrije Universiteit Brussel, Elisa Gonzalez Boix Vrije Universiteit Brussel, Belgium
10:30 - 11:00
10:30
30m
Coffee break
Coffee break
Catering

12:30 - 13:30
12:30
60m
Lunch
Lunch
Catering

15:00 - 15:30
15:00
30m
Coffee break
Coffee break
Catering

15:30 - 17:00
Panel SessionPLF at Pine
15:30
90m
Panel
How programming languages might help shape the future of local-first
PLF
Mira Mezini TU Darmstadt, Kevin Jahns Y CRDT Project, Marc Shapiro LIP6, Adam Wiggins Ink & Switch
Questions? Use the PLF contact form.