Discussion: Solid vs. ActivityPub

@strypey I’d would be happy & certainely other here too to contribute to interoperability.
Here it’s how a chat works on Solid for the moment :

  • POD = a personnal storage on Solid
  • webId = the identifier / the login / the identity of the owner of a POD

Each one that has a POD can create as many chat as he wants on his POD, the only limit I know, is the 25Mo sized POD for the moment .

The creation of a chat can be done by the basic tool provided on each POD, the databrowser
and a chat example could be this one https://solidarity.inrupt.net/public/Solidarity/

A chat can be created in the public folder, or in a private, the owner of the POD can also change permission level (read, write) to allow everyone, webIds, groups or apps…

Chat channels on a POD can be found reading the publicTypeIndex of a but like this one
https://solidarity.inrupt.net/settings/publicTypeIndex.ttl where an instance points to https://solidarity.inrupt.net/public/Solidarity/index.ttl#this
Some preference or events can be stored here https://solidarity.inrupt.net/public/Solidarity/index.ttl

How chat is structured ?
When someone post on a chat, that data is stored in subfolders structured by dates
so if you post something today, your post will be stored at https://solidarity.inrupt.net/public/Solidarity/2020/03/27/chat.ttl and here is a most active day https://solidarity.inrupt.net/public/Solidarity/2020/03/25/chat.ttl

Here is the basics of the actual Solid Chat system as provided by the basic tools. But some have other implementation. Another way could be to store the data on user’s POD and share a place to reference this is the approach i’ve adopted for Agora https://scenaristeur.github.io/compagent-tuto/

I’m working now on Solidarity (could be stored on a POD or on gh-pages or in any website ) with @jules .
That is an example of implementation of an UI that read the data on https://solidarity.inrupt.net/public/Solidarity
As already said there is now outputbox system on Solid, but if you want it must not be really hard to send some data (ActivityPub formatted) when someone publish a post on https://solidarity.inrupt.net/public/Solidarity chat :wink: if you just give me an endpoint and what data could be interesting (user, date, …) And a reverse way could be an “activitypub app” that transfert data to the pod in a similar way…

Hope we could interoper’ :star_struck: