Building a conversation platform — Part 3

Groups and audience

Mikolaj Szabó
4 min readAug 24, 2016

In the previous part, we outlined basic graph models of chats, forums and blogs, but without any notion of an actual chatroom, topic or blog.

Both the chatroom and the blog are things that users are members of, and where they “post” messages or posts to. These are groups of people, and represent the audience of the post or message “posted” to them. Usually only the first message or root post in a conversation, because whoever can see the first, can see the rest in the tree too, although this is not necessarily true in general.

This group of people is

  • the members of a chatroom in the chat model,
  • the followers of a blog in the blog model,
  • the single user in the “Twitter-model” (meaning one group per user),
  • everybody in the forum model (meaning one singleton group).

The last two basically mean no groups.

For a user to be able to assign a certain audience to a message / post

  • chat model: needs to be a member of that chatroom, to start it and write to it
  • blog model: needs to be a member of that blog, to post to it
  • Twitter-model: authoring the message automatically assigns the user’s followers as audience
  • forum model: there is no such concept of audience

For a user to be able to discover a message / post

  • chat model: needs to be a member of the chatroom, that was assigned to the message as audience
  • blog model: needs to follow the blog, that was assigned to the message as audience
  • Twitter-model: needs to follow the user, that is the author of the tweet
  • forum model: there are no such rules

For a user to be able to engage with a message / post

  • chat model: needs to be a member of the chatroom, that was assigned to the message as audience
  • in the blog model: there are no such rules, any user can comment it
  • in the Twitter-model: there are no such rules, any user can reply it
  • in the forum model: there are no such rules, any user can reply it

I had an imaginary, simple forum in mind, but forums in general tend not to have real social concepts, and topics are rather thematic groups of content. From our current point of view, the tree of posts is in itself a sufficient enough model.

Twitter could be described by a model that includes the group concept: every user could be a member of its own dedicated group, and tweets would be posted to these single-member groups, and users would follow these groups instead of other users directly. Instead, Twitter is the vanilla model, where author connections also represent a tweet’s audience, so social relationships are simply direct, asymmetric follows between users.

Instant messaging and blogging platforms add an extra level of indirection to this vanilla model, by defining these groups explicitly, that are chatrooms and blogs. These groups are communities, and also, they create new identities, separate from any actual author. Blogs (and chatrooms, in a way, too) are brands.

This indirection also means that user-to-user relationships don’t have to be unique anymore. In the Twitter-model, User A either follows User B or not, she cannot double- or triple-follow her. But by adding this indirection that groups mean, we let User B to be a member of many groups at the same time, and User A may follow only some of these, or neither or all.

In case of chats, the concept of membership and following a group is blended, resulting in symmetric social relationships: if you can see what I write, then I can see what you write. In contrast to the asymmetric social relationships of the Twitter-model. So to introduce chatrooms to the chat model, we add a chatroom node type, a membership arrow type, which arrows point from a user to a chatroom, and an audience arrow type, which arrows point from a chatroom to the first message of a message thread.

Blogs distinguish these two concepts of membership in a group, and following a group. So to add blogs to the blog model, we complete it with a blog node type, a membership arrow type, pointing from users to blogs, a follow arrow type, pointing from users to blogs, and an audience arrow type, pointing from blogs to posts.

We discussed earlier how the Twitter-model can be derived from the blog model, by the author relationship taking over the function of audience, and by collapsing every

Figure 1

into a single, unique

Figure 2

By the author arrow taking over the function of audience, we mean that this makes any post authored by User B discoverable by User A, without the need of audience arrows between blogs and posts.

This is a good example of how one such model can express another, and how there is a mapping between them. What model is the common denominator of these platforms? We will describe one in the next part.

--

--