Skip to main content

Designing for Local-First: UX Patterns for a Network-Optional World

K.3.201 | Day 2 | 14:20 - 14:40 | Speakers: Matt Derocher

Designing for Local-First: UX Patterns for a Network-Optional World
A picture of a devroom at FOSDEM 2024
Open in browser
Get involved in the conversation!Join the chat

Notes

Abstract

CRDTs and local-first sync engines provide exciting opportunities for creating new experiences for our users, but with technological advances come new challenges, such as:

  • When the network connection is restored, how do we replace stale data without disorienting the user?
  • If an app allows partial loading of remote data, how do we communicate what is and what is not available offline?
  • If actions cannot be completed because of no or limited network connection, how can they know which actions haven’t been completed and retry them?
  • In a multiplayer app, how do we communicate in a non-disruptive way which content has changed and who has changed it?

These are questions that hadn’t needed to be addressed in a world of server-first apps, but we will need to take some thought in how to pair clear and informative UX with sync technologies to create the best possible user experiences for our apps.

In this talk, we will go over pitfalls that we should avoid when making local-first apps and some patterns that can help make better experiences for our users.


Notice: The placeholder video image is licensed under CC BY-SA 4.0. The original image can be found hereChanges made to the image are: Cropped the image to a new ratio, part of the image was cut off.