"Multi-Player" Enterprise Applications: Why and How to Build a Collaborative UX
summary
Practical blueprint for adding live collaboration to CRUD-heavy enterprise apps: explains tradeoffs between CRDTs vs event sourcing, when to use optimistic or pessimistic locking, and how to represent shared UI state as JSON topics with presence, chat, locks, notifications and live editing. Covers concrete infra options — Kafka or Infinispan/Hazelcast, synthetic events for safe subscription, snapshots and truncation of event logs, and UI latency compensation patterns so locks and previews behave predictably for small team collaborations.
AI-written summary · about
chapters (19)
- 0:00Intro
- 0:57Multiplayer
- 3:13Who am I
- 4:54Agenda
- 5:55Use Cases
- 7:41Business Applications
- 8:05User Examples
- 9:00The Problem
- 17:04Security
- 17:42Architecture
- 21:36Consistency
- 26:45Updating State
- 31:15Architecture Summary
- 32:46Building a Distributed System
- 35:40Dealing with Conflicts
- 37:09Snapshots
- 39:16Latency Compensation
- 42:22Other Considerations
- 43:21Summary
related talks
22mEvery Node.js app should have real-time collab features
24mBuilding Realtime Singlepage Apps
32mCRDT and other new ideas for client-server communication
44mHow to Approach Modern Web Applications
41mThe UI/UX Benefits and Trade-Offs of Local-First Apps
01h 00mBuilding a real-time collaborative editor
37mBuilding a Collaborative Text Editor
23mDesigning Robust and Scalable Distributed Applications
