Sel-Sync (Selective Synchronization) is a technology that enhances real-time collaboration and resource versioning. Sel-Sync is based on the idea that users should be able to opt in and out of synchronizing various aspects of their workflow. When opting out, other peers should be made aware of the state. Each peer of a collaborative group should be able to manage multiple resource versions distributed between their peers.
For information on downloading the Sel-Sync SDK, click here.
The cornerstones of Sel-Sync are:
A sync prop™️ defines a distinct property managed by the Sel-Sync system. Each sync prop is represented by metadata and provides a specification outlining its functionality. A sync prop may have multiple implementations and deployments.
The sync prop API is distrubted as part of the Sel-Sync SDK. For information on the Sel-Sync SDK, click here.
For example, the Webpage Areas Scroll Position sync prop will synchronize multiple browsers' scrollable areas with each other. This will insure every user will view the same content regardless of browser window dimension or font size. The Sel-Sync and sync prop mechanism also provides actions to allow users to join or detach from the group, manage version state, modify version mappings, and view indications.
Sync props are a means of establishing a standard for end-users and developers. Please contact us if you are a developer and would like to contribute any sync props targeted for your use-case to the Sel-Sync ecosystem.
Visit the Sync Prop Database to browse our database of published sync props.
Installing Sel-Sync on your host enables the synchronization of additional aspects.
Google Docs already synchronizes document content, comments, and user selections. The Sel-Sync extension adds additional features, including:
In addition to synchronizing each aspect, the sel-sync extension provides the ability to opt out of individual aspects, and displays indicators to monitor the sync state of peers.
Aspects categorize the nature of sync props. For instance, if a document is being edited, the specific document is a Subject Aspect, the content of the document is a Content Aspect, the visibility of the window that displays the document is an Outlet Aspect, and the scroll position of the document is a View Aspect.
One of Sel-Sync's main objectives is to enable collaboration on aspects beyond the Content Aspect.
This is just a glimpse of aspects; There are many more aspects defined by Sel-Sync specification.
See Sel-Sync Aspects for more details.
A sync prop may be instantiated multiple times. These are called instances. Each instance is mapped to one or more versions of the property.
A sync group is an abstract association of resources. A sync group is comprised of
Sync groups can be entered and exited by users that have been granted permission.
Versions are a cornerstone of Sel-Sync. Each sync prop may have multiple versions. Each version represents an alternative state of the sync prop. Every instance of the sync prop can map to various versions. Sel-Sync manages the state of these versions, the mapped versions. and the effective version of each instance.
Indicators are used to convey the state of of sync prop instances. This state includes:
The following items are standard conventions used to indicate state.
Green: In-Sync Orange: In-Sync - Detached Red: Out-Of-Sync - Detached Grey: Disconnected
An icon is used to indicate the state of the current user.
The border around the icon is used to indicate the state of other users. No border indicates that no other users are joined, detached.
Actions in Sel-Sync are responsible for working with the various versions of a sync prop. Some actions manipulate the states of these versions, while other actions manipulate how instances of the sync prop map versions.
effective version handle primary version some public version secondary version *some private version
[coming soon]
[coming soon]
[coming soon]
[coming soon]
[coming soon]
[coming soon]
[coming soon]
[coming soon]