Skip to content

Collaborative Editing and Account Sharing #1333

Description

@eaterjolly

Use Cases:

+-------------+----------------+--------------+------------+-------------------+
| Roleplaying | Coding Parties | Pinned Posts | Org Emails | Imaginary Friends |
+-------------+----------------+--------------+------------+-------------------+

Backend Support

Collaborative Editing

Fundamentally already an existing feature as discussed in element-hq/element-web#9793, without UI support.
Protocol needs to support character-by-character attribution, like any collaborative text editor.

Account Sharing

Shouldn't require any protocol support, aside from concurrent logins.
Usability will also require the client to support concurrent logins.
I'll describe implementation without attribution confusion in UX.

Permissions

Rooms should have Collaborative Editing unticked by default.
Members should by default receive edit requests as ping messages only visible to them.
Next to a member's ticked checkbox to receive edit requests, an advanced settings button should allow them to whitelist (auto-accept) or blacklist (auto-decline) other members.

A "Pass-and-Play" mode, by default disabled in the room's settings, should make the avatar, next to the compose message box, selectable to open a list of concurrently logged-in accounts. Then client and server track each letter per account, so, in a magnified view, a box surrounds those characters indicating the author by username along with a shrunk avatar.

UX

Even the most unsavy participants must learn to identify a message author by the username or avatar next to the message, so, to make abundantly clear the abnormal attribution, the client must ommit the usernames then either replace the avatar with a "mobile desktop style" folder, some other graphic, or an ascii design styled in a manner unmistakably not a username.

Who:

As an amateur, I would enjoy the challenge of building a branch testing out such a functionality.
I have wanted to for a long while, studying the code on multiple occasions with this in mind.
Any willingness to offer help or answer questions, greatly appreciated.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions