@philipwhite Public chat rooms are similar to mailing lists, forum topic or newsgroup. Private chat rooms where you invite who is in the room is similar to how mail is usually used.
There is a big difference is in the underlying protocols. In synchronous comm, servers push updates to clients, while in asynchronous comm, clients fetch updates from servers. It means that in synchronous comm, the client need to be always connected to the server, while it's not needed in an asynchronous comm.
@philipwhite The differences are in fact not in the UI, but in the supporting technologies.
You can build chat-like interface on top of email protocol, but may not receive the messages in the right order, and may not know who is in the discussion in case of public mailing lists.
You can build email-like interface on top of chat protocols, but you will loose messages when you are disconnected.
@Feufochmar My contention is that the user doesn't care which of these underlying protocols is used. We could easily get the best of both worlds in one protocol, so why do I have to decide between sending someone an email or sending them a chat message?
One might say, "Email is for when I don't care if they respond immediately, and chat is for when I want an quick response." Those two modes of communication are useful, but the difference isn't enough to need two underlying tech stacks.
@Feufochmar Email interfaces are always much higher friction than chat interfaces, as shown by the fact that people get fatigued by getting 50 emails a day, but are fine with sending a couple hundred chat messages. In chat, I can just type and press enter, but with email, I have to click "reply", which brings up a window that obscures the rest of the thread; in addition, every email by default contains the whole content of the conversation? Why?
@philipwhite I wonder. Maybe to keep the context, since indicating to which mail you are replying to may not be supported by some servers. You need an identifier in the original message to be able to do that, but it may not be present, so you cannot keep the context that way.
Mastodon is based on ActivityPub which is a mail-like asynchronous protocol, however, in that protocol, every object has an identifier, so you can indicate to which element you are replying to.
The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!