SPLASH 2023
Sun 22 - Fri 27 October 2023 Cascais, Portugal

Live stream recording

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.

Accepted Contributions

Title
Can local-first really scale at the edge?
PLF
Collaborative offline-first applications in Education
PLF
Extending Automerge: Undo, Redo, and Move
PLF
How to Enforce and Verify Invariants in Weakly Consistent Databases
PLF
Keynote: Feeling the Local-First Elephant: A Roadmap, Hidden Gems, and New Puzzles from the Field
PLF
Local-first at Actyx
PLF
Local-first: experiments & lessons learned building TypeCell
PLF
Local-First in Practice: Learnings of building a high-performance, local-first music app
PLF
Mixed & Verified Consistency with Propel & ConOpY
PLF
MVC, MVCC and Causal Trees
PLF
Proposal: Versioned Collaborative Documents
PLF

Call for Talks and Papers

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

Last years keynote talk also suggested nine problem areas we would like to see solutions for, that serve as examples for interesting problems to solve:

  • Networking: Tech that still works in 40 years?
  • Schemas: How to allow independent evolution?
  • Security & Privacy: Whom to trust?
  • Version Control: How to let users access and manage multiple versions?
  • Indexing & Queries: How to scale local-first to more than what fits in memory?
  • Decentralized Search: How to make non-replicated information accessible to everyone?
  • Portable Compute: How to replicate – distribute – application execution?
  • Code as (CRDT) Data: How to improve the collaborative coding experience?
  • Programming Models: How everything fits together, and the core question of this workshop.

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 talk Slot. Expect talks to be scheduled for roughly 20 minutes + 10 minutes of questions and discussion (may change due to scheduling). In addition, submissions are published on the website.

If you have a contribution you consider relevant, but that does not fit the 20-minute talk style, please still submit your proposal! We are considering to offer poster demonstrations, lightning talks, and space for tool demonstrations in smaller groups (depending on the availability of suitable space at the venue) and would very much be interested to know if there is interest.

Submission

Use the submission link at the top of the right sidebar, if there is anything unclear, or you are unsure how your proposal could fit the workshop, feel free to email mogk@cs.tu-darmstadt.de – we are always interested in discussing interesting ideas!

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.

Workshop dinner

Update: There unfortunately is no single place to fit all potential interested parties – while there will be a speaker dinner, we encourage participants to self-organize into smaller groups.

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

Tue 24 Oct

Displayed time zone: Lisbon change

10:30 - 11:00
Coffee BreakCatering at Gallery
11:00 - 12:30
PLF Talks 1PLF at Room VI
11:00
30m
Talk
Collaborative offline-first applications in Education
PLF
Annette Bieniusa University of Kaiserslautern-Landau, Christopher Thyssen University of Kaiserslautern-Landau
11:30
30m
Talk
Local-first: experiments & lessons learned building TypeCell
PLF
12:00
30m
Talk
Proposal: Versioned Collaborative Documents
PLF
Matthew Weidner Carnegie Mellon University
12:30 - 14:00
14:00 - 15:30
PLF Talks 2PLF at Room VI
14:00
30m
Talk
Can local-first really scale at the edge?
PLF
Carlos Baquero HASLab/INESC TEC & University of Minho
14:30
30m
Talk
Local-first at Actyx
PLF
Roland Kuhn Actyx AG, José Duarte Actyx AG
15:00
30m
Talk
Extending Automerge: Undo, Redo, and Move
PLF
Leo Stewen Technical University of Munich, Martin Kleppmann TU Munich, Liangrun Da TU Munich
15:30 - 16:00
Coffee BreakCatering at Gallery
16:00 - 17:30
PLF Short TalksPLF at Room VI
16:00
22m
Talk
How to Enforce and Verify Invariants in Weakly Consistent Databases
PLF
Dina Borrego NOVA LINCS, FCT, Universidade NOVA de Lisboa, Carla Ferreira NOVA University Lisbon, Nuno Preguica NOVA LINCS, FCT, Universidade NOVA de Lisboa
16:22
22m
Talk
Local-First in Practice: Learnings of building a high-performance, local-first music app
PLF
16:45
22m
Talk
MVC, MVCC and Causal Trees
PLF
Victor Grishchenko Unaffiliated
17:07
22m
Talk
Mixed & Verified Consistency with Propel & ConOpY
PLF
Mirko Köhler TU Darmstadt, George Zakhour University of St. Gallen, Pascal Weisenburger University of St. Gallen, Guido Salvaneschi University of St. Gallen