You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Users can create a bookmark/marker/pin group and share it with other accounts. Accessible/controllable via the main navbar.
Usage:
Every user in the marker group can:
Place a marker down on any pasuk/sentence inside any sefaria text. (imagine like how you can see everyone's cursors in a shared google doc)
The other users of the group can jump to that location and see the marker as it updates in real time.
Marker positions are persisted across sessions as long as the group still exists
A user can only have one marker per group, when they select something else, the marker gets updated with the new location
(Optional) Separately, we can store a list of markers outside of the context of groups so the user can create bookmarks and save their location but not share it with anyone
Why:
This would be an amazing feature to have for anyone learning together (chavruta, chaburas etc...) over long periods of time and/or on video calls. Keeping track of progress between learning sessions or using it as a bookmark to jump back to while briefly checking a commentary or a reference would become trivial and greatly improve the ergonomics of Sefaria in my opinion.
Implementation:
This can possibly be done with minimal impact to server performance via p2p with a lib like peerjs or something equivalent. The only limitation in this case is that each client requires a p2p connection to every other user in the group. If groups are limited to a few users though it should be ok. A server endpoint would need to be established to perform p2p handshakes.
Another more standard option I would recommend is some form of django websocket server that broadcasts marker location messages to the group over pubsub (even mongo pubsub might work to get easy persistence)
This feature is definitely quite achievable as it does not require any sort of conflict resolution algorithm such as operational transformation or crdts that are normally found inside of a google doc. Simple location updates will do because each user 'owns' their own marker state / that state can only be updated by that user
If this interests anyone and would actually be something that if completed would be merged into the project, I would be happy to try and implement this. Although it may take much less time to implement for someone more knowledgeable in the structure of the project.
The text was updated successfully, but these errors were encountered:
Users can create a bookmark/marker/pin group and share it with other accounts. Accessible/controllable via the main navbar.
Usage:
Every user in the marker group can:
Why:
This would be an amazing feature to have for anyone learning together (chavruta, chaburas etc...) over long periods of time and/or on video calls. Keeping track of progress between learning sessions or using it as a bookmark to jump back to while briefly checking a commentary or a reference would become trivial and greatly improve the ergonomics of Sefaria in my opinion.
Implementation:
If this interests anyone and would actually be something that if completed would be merged into the project, I would be happy to try and implement this. Although it may take much less time to implement for someone more knowledgeable in the structure of the project.
The text was updated successfully, but these errors were encountered: