Croquet

A Unique Collaboration Architecture. site

The next generation of our connected world calls for a low-latency, low-bandwidth, low-development-effort platform for synchronized interactions. The platform must also enforce privacy from the ground up, in particular in anticipation of an always-on Augmented Reality future.

YOUTUBE ujOVHVAjXj4 DLS 2020 Keynote by Vanessa Freudenberg: Croquet. A Unique Collaboration Architecture

In traditional synchronization approaches, computations are performed on a server and results are continuously distributed to clients. Croquet moves all computation to the clients. A lightweight “Reflector” server directs the clients to advance time in sync, and ensures that any external event is incorporated by all clients at exactly the same point in the computation, leading to synchronized, bit-identical state. All data is end-to-end encrypted by the clients; the server stores and distributes data, but can never peek inside. Croquet’s programming model separates the synchronized computation of “models” from individually computed “views”. This means the world is the same for everyone, but the display of the world can be tailored to each device and user. Models and views communicate using a publish/subscribe mechanism that routes certain events via the reflector. This model/view separation and pub/sub communication is a major departure from the previous, proxy-based Smalltalk implementation of Croquet. It retains the ability for live programming by atomically incorporating new code. Vanessa is the chief architect of the current JavaScript-based implementation. She gives an overview of the system, highlights challenges in designing the API, and explores the far-reaching implications of the shift from server to client.

Keynote for the 16th Dynamic Languages Symposium (DLS) at SPLASH 2020, Wed 18 Nov 2020

~