Skip to content

Latest commit

 

History

History
69 lines (50 loc) · 2.59 KB

glossary.md

File metadata and controls

69 lines (50 loc) · 2.59 KB

Glossary

This glossary explains commonly used terms in this project. Feel free to expand it further!

Connection Id : For real-time communication, a connection is established between all sessions of a whiteboard (full mesh). Each peer-to-peer connection has an id assigned.

CRDT : Conflict-free Replicated Data Types can be used to modify data in distributed/replicated systems.

Chunk : A part of a snapshot. As Matrix events have a size limit, we have to split snapshots into multiple chunks to be able to store larger whiteboards.

Conflict : A change that two user perform at the same time that is contradicting. Like a user changing an element while it is deleted, or two users moving the element at the same time. Conflicts need a automatic resolution strategy, in our CRDTs, this is "last" change wins.

Document : A CRDT document, in our case based on Yjs.

Document Id : An id that references a CRDT document. The document id is the event id of the document create Matrix event.

Element : In the context of the whiteboard: Something that is drawn and displayed on a whiteboard slide, like shapes as rectangles, circles, or lines. Element can also refer to the company that sponsors the development of Matrix and a messenger with the same name.

Matrix : An open source project that builds a secure and decentralized real-time communication platform.

Matrix Room : A timeline of events that a group of members have access to.

Session : Users that are active in a whiteboard have a session. A session is used to implement presence information as well as identifying peers for real-time communication.

Session Id : Every session is identified by an id.

Slide : A drawing canvas that users can draw on. Multiple slides are grouped into a whiteboard.

Snapshot : A immutable version of the whiteboard at a specific state. Snapshots are used to restore the whiteboard on load and could be used to restore a later version. Snapshots are stored as room events in Matrix rooms.

WebRTC : A framework for real-time peep-to-peer communication in browsers.

Whiteboard : A collection of slides that belong to each other.

Whiteboard Id : Each whiteboard has an id. The id is the state_key of the whiteboard state event.

Widget : A integration into an Matrix client that is installed into a Matrix room. It allows to extend the UI of the Matrix client and read and store data in the current Matrix room to solve different use-cases.

Yjs : A JavaScript CRDT implementation.