Doubts about the message storing on a decentralized chat

Hello Solid community,

I am part of one of the teams developing a decentralized chat at the University of Oviedo. We have encountered certain problems, and we would like to have some hints on how to approach them.

Firstly, should the whole application been granted access to the solid pods, or just individual users of the chat?

Secondly, should every user have a copy of the whole conversation, or just their own messages? At first, we think that the second option would follow more the Solid philosophy, although it would be far more challenging to implement.

I think this is one of the inherent difficulties of a federated model. We know it would be better to decentralise based around each user, but with federation that’s both hard and creates problems. I’ve used a few federated systems in the past, and they have their value, definitely good for small scale things, but when it comes to larger scales, then server based systems will inevitably centralise IMO. And I think that’s a problem we need to solve, and can solve with decentralised (as opposed to federated) storage.

It doesn’t help answer your question though, because that is predicated on a federated model. Sorry! I’d like to have an answer but I’m not sure there’s a good solution, so I think it’s better to work on eliminating this problem.


Cosmetically, the new style and old style messaging service may look the same (similar to Facebook messaging perhaps) but there are crucial differences.

EXAMPLE: You put a picture in your POD, to which one of your ‘friends’ adds a comment, and you then reply to that comment and a ‘second friend’ then adds a different comment.

The picture, and all the comments, appear on your screen just as they would currently appear on Facebook, BUT your picture is always physically in your POD, your friend’s comment is always physically in their POD, and your second friend’s comment is always physically in your second friend’s POD . The image, and every individual comment, is given its own URL which connects everything together.

It all looks the same as the old style social media, but behind the scenes it is completely different.

To answer @flecktarn121’s question directly. Each individual POD user will only see the chats of those other users who have given them specific permission to view it. Each POD user has control of their own chat, and can control who sees a chat they have initiated, and they can only view, or take part in other people’s chats on other people’s POD’s with the specific permission of each pod owner. Hope this makes sense. It does only make sense when you realise that each part of the chat is being held in each individual’s POD, and not in a central POD or a central server. Each individual POD is a separate entity and has its own unique id.


There is also this issue to solve: if you as a viewer of the chat have permissions only on some of the participants contents, the discussion could look weird since some of the replys in between are missing. Or maybe inplace is displayed something like “You dont have access to this reply”.

I don’t think this is an issue. You may not have permission to view everyone’s chat, but you would have permission to view every part of the chat to which you take part in. This is no different to what happens on social media now. It is only the location of the files that changes (from Facebook to your own POD).

If the person who instigates the chat makes it available to the whole world, you are able to take part in that chat and add a comment. In order to do so, you automatically make your reply available to the whole world. Your reply would be placed in the public folder of your POD and marked available for everyone to read.

If the person who instigates the chat limits availability to four invited friends, those four friends are able to take part in that chat and add a comment, but nobody else can see it or comment. When the four friends accept the invitation to partake, they automatically make their replies available for viewing by the other three. Their reply would be placed in their private folder in their POD but marked as visible to the other three.

The concept is identical to how things work now, EXCEPT there is no central server or central commercial owner. The individual replies can of course be deleted by their individual owners at some time in the future, but this would be no different if I cancelled my Facebook account. My posts would be deleted and no longer be available.