-
Notifications
You must be signed in to change notification settings - Fork 16
Description
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.