una icon indicating copy to clipboard operation
una copied to clipboard

Messenger: Schema, Terminology, Functionality

Open andreyasko opened this issue 4 years ago • 0 comments

LOT (group)

  • Top level item of the messenger schema is called a LOT, as in "group, crowd, circle".,
  • LOT can reflect contexts (group, space, channel) and is usually comprised of members of the context
  • All direct messages relate to INBOX lots based on relationship status or medium: Direct, Friends, Emails, Spam.
  • Lots can be labeled (grouped) by type of context (groups, spaces, etc)
  • Lots are auto-generated by UNA modules when a user joins a conversation in any context.
  • While "lot" is used in URLs and as a system name, the name should be possible to change to something like Community, Team, Server, Department, etc - as it may be suitable for the site structure.
  • It should be possible to create custom Lots, invite people to them and set privacy (Public, Private, Secret)

Sample list of LOTS

-- INBOX (all sets) -- Direct (messages from profile-type modules and emails) -- Friends (messages from friends) -- Emails (messages from external email sent to [email protected] -- Spam (messages identified as spam) -- My Mob (example of a custom set) -- Universe (channel) -- Multiverse -- Soul -- Body -- Stargazers (group) -- Townsville Mob -- Mothers United -- Stargazers (space) -- Townsville Mob -- Mothers United

SET (meeting)

  • A conversation is called a Set, reflecting a smaller subgroup of participants, a setting (special topic)
  • A SET is the container for messages between specific people that belong to the Set in which this Set is created.
  • Sets can be open (visible to all members of the parent set) or private (only visible to members of the set invited to the room) or secret (only visible to Set Admins and invited participants).
  • A "SET" is a system name but depending on the site structure it can be renamed to Meet, Moment, Chat, Gathering, Chatroom, Meeting, Talk, Conversation, Discussion, etc.
  • Each Set may have Text, Audio and Video enabled/disabled by Host - at least one of the 3 should be made available.
  • When Audio / Video is ongoing anyone in the Set can join the stream.
  • Person creating a Set is called a Host
  • When creating a Set it's possible to invite people and set a "Topic". Topic is optional. If a Meet without a topic is created and participants match an existing Set, then the new Set is not generated, and host is transferred to the existing room. If Topic is added and it's not matching an existing topic with same participants, a new meet is created. Requirement for a new Set - unique combination of participants + unique topic (optional).

SUB / or SUBSET (room)

  • A SUB is the breakout "thread" that participants of a Set can create based on a message inside a Set, or simply by creating a new Sub with a topic, either making it an "open sub" or "closed sub" for invited members only.
  • Rooms can be Open (visible to all members of the parent meet) or Closed (only visible to members of the meet invited to the room and the meet host).
  • A "sub" is a system name but depending on the site structure it can be renamed to Thread, Chatbox, Subroom, Quick Chat, etc.
  • Each sub may have Text, Audio and Video enabled/disabled by creator - at least one of the 3 should be made available.
  • When Audio / Video is ongoing anyone in the Sub can join the video stream.
  • Person creating a Sub is called a Host
  • When creating a Sub it's possible to invite people and set a "Topic". Topic is optional. If a Sub without a topic is created and participant match an existing Sub, then the new Sub is not generated, and host is transferred to the existing Sub. If Topic is added and it's not matching an existing topic with same participants, a new Sub is created. Requirement for a new room - unique combination of participants + unique topic (optional). A message from parent Set can be used as a Topic.

Considerations

  • Messenger may be considered an upgrade to the Conversations module.
  • "Talks" in current Messenger to be renamed to "Rooms".
  • Since UNA already has a Conversations CoreApp, build a method to synchronise existing conversations from Convos module/app to Messenger when/if Messenger is installed.

andreyasko avatar Aug 10 '21 06:08 andreyasko