SolidOS - Chat

This is the page where you can keep up to date with the progress made on the 'Chat' topic.

Definition

By Chat, we mean text messaging between individuals or within groups. This includes extensions to plain and rich text, multimedia messages, and threads. This is functionality which people expect to find for example in Matrix, Slack, WhatsApp, and so on. For the purpose of this topic it does not include blog publishing though that is quite close in functionality. But it does include one-person chats like a private "Note to self" or a public stream of thoughts.

The problem

To get Solid Chat used:

  • It has to have the functionality people expect from other chats
  • It has to be sufficiently performant
  • It has to be sufficiently beautiful
  • It has to have a few things that can do the others can't
  • It has to have an adoption path, an on-boarding story

Connections

Because Solid is based on Linked Data, anything can connect to anything. So any implementation of a domain should offer connections to and from other domains. So for Chat, incoming links include:

  • Being able to start a new chat about anything.
  • For any person, being to find or create your 1:1 chat with them.
  • For any group, being to find or create its group chat.
  • It must be easy always to find one's Note To Self and one's public thought stream
and outgoing ones are many but include:
  • Making a message the seed of a to-do task in a tracker.
  • Bookmarking, liking a message or a thread.
  • Basing a new group on the people in that chat.
  • Adding a chat participant to your contacts.

The goal is to get our own team than other teams using Solid Chat.

The problems registered are described by the feedback we received from SolidOS users but also from the experience of the SolidOS team over time with the interface. We have collected bugs and discussions on GitHub:

The vision of Solid Chat

  • Scales from 3-message chat in a tracker issue to a long-running community forum
  • Functionally compatible with Matrix
  • Functionality generally includes features in Slack, etc
  • UI adapts from mobile whole small screen to multi-column large screen
  • Notifications on mobile
  • Very customizable. People evidently have strong opinions on how they like their chat. As chat is a crucial productivity tool for groups, it has got to work without any grating bits or distracting bits.

Representatives of topic

Break down of problems

  1. SoildOS Client Code
    1. Add Direct replies like - last bit of matrix compat
    2. Add tests
    3. Export message toolbar as re-usable tool bar
  2. Matrix - Solid Bridge
    1. Test
    2. Get running on our project pods to archive our matrix chat
  3. Other bridges?
    1. Slack? (Code started)
    2. Mastodon? Open standards use Activity Pub
  4. Specification
    1. Create new repo for Solid Chat spec ✅
    2. Shapes
      1. Test shapes against real chats
    3. Diagram ✅ - put in repo
    4. Chat Spec Document
      1. Test shapes match document shapes
      2. Get reviews