Interoperable Chat and Profile apps

There are quite a few Solid apps listed under the Social category on https://solidproject.org/use-solid/apps

It would be great if these apps were interoperable. Wanted to invite the developers behind these apps to have a conversation to make this happen.

There is also a gitter thread for those who prefer that tool on https://gitter.im/solid/chat-app

4 Likes

I think the profile is already quite interoperable and most apps rely on foaf and/or vcard? Is there something to do on that side? I am not involved in chat development, so cannot speak about that.

Another interesting social topic are groups. I built my group on vcard as well, which is interopable with Web-ACL. But I am also experimenting with activity streams for the join-request and interaction stuff.

3 Likes

About the profileā€¦
Humā€¦ yeah !
I think, I would like to add ( if we can suggest some new stuff) some new or standardized vocab for :

  • have many Role in Organization/Groups (not only one) : Iā€™m Player in that Football Team, developer in company, animator for two association, participant in some otherā€¦
    Nb :
    vcard:ā€˜organization-nameā€™ is not a good predicate name as the hypen(-) is not easily accessible with some libs,
    and we should use a more generic role/group I think). ā†’ @aveltens +1 for an easy group managing tool :+1::trophy: Iā€™m waiting for your work :wink:

  • Skills / soft skills so that people could find ā€œfriendsā€ with skills that match their needs.

  • another field: topic of interest, or ā€˜what make me vibrateā€™ as I tested on 'salut allā€™s Salut

  • doap:GitHub, flicker, Mastodon, Fediverse (insta? FB?)ā€¦ : or some general link/ entrypoint to something the user want to shareā€¦ where we could find some user creative work, projects, achievements, work, participations, associative enrollment, contributionsā€¦

  • another field : ā€œwhat I needā€, ā€œwhat Iā€™m looking forā€ ā€¦ That could be very efficient with some app that find match to the different skills or work fields :wink:

Those field could be applied in many domainsā€¦ Not only for developers but for many, many use cases of social interactionsā€¦

PS: address seems not to have been used a lotā€¦ As people donā€™t want to share their address, I think, ā†’ could perhaps be migrated in some /private folder one address by file, so we could only share the address at some decending level of information according to the need of the applications: planet/country/state/locality/quarter-arrondissement-block/street/number in the street/stage/ letting me choose what level I share with whom :exploding_head::crazy_face::thinking:

4 Likes

Would any of the developers behind the Solid apps listed in the ā€˜socialā€™ category be interested in joining the Interoperability panel call next Tuesday at 1600 CEST on https://global.gotomeeting.com/join/620786365 to talk about making the apps there interoperable? If youā€™re interested in joining and havenā€™t already, donā€™t forget to join the W3C Solid Community Group.

This is not new, since 2010 these sort of features have been standardized, you can Check Classrates for iOS and Android this precise feature exist. It was developed by mobile app developers in Canada.

The reason there isnā€™t interoperability is because there is no consensus, even though there is standardization. URI Schemes are technically the way the go, but, itā€™s up to these different app developers to form a consensus between them. The users will gladly benefit from this.

1 Like

Hi, is https://name.solid.community/profile and https://name.solid.community/profile/card#me specified? Or is the location and format more or less random? is there a kind of default structure of a pod?
Thanks Fredy

Hi @naturzukunftSolid does this fit your needs https://github.com/solid/webid-oidc-spec ?

No this is deliberatly not specified. Solid does not rely on fixed URIs and storage conventions, but makes use of linked data principles. Itā€™s important to understand those and do never hardcode any such assumptions into your apps.

I understand (believe) the LD approach. Still, I donā€™t know how to find a POD ownerā€™s VCARD if I donā€™t know what the address is. Since the VCARD type can appear in the pod as often as you like. So when I have 100 PODs, how do I create an address book of POD owners?

As far as I know, the url https://*name*.solid.community/profile/card#me represents the webid of a user. It does not matter where it is stored, since it must be provided by each owner of a POD (given your address book example) but its content is well known (https://github.com/solid/solid-spec/blob/master/solid-webid-profiles.md).

From that webid, you can get everything you want with type indexes : https://github.com/solid/solid/blob/master/proposals/data-discovery.md#data-discovery-workflow, is this what you are talking about @aveltens ?

Yes, you usually start with a WebID, which you get when a user logs in and you can find anything else from there by following links.

@naturzukunftSolid not sure what you mean by ā€œI have 100 Podsā€

Very interesting, i thougt the webId is like https://naturzukunft.solid.community it was not clear to me, that the WebId is https://naturzukunft.solid.community/profile/card#me. Is this the case?
@julien_leicher thanks for the specification. This I think is what i was searching for.
@aveltens ā€œI have 100 Podsā€ for example in a pod of an organisation there are a list (container?) of partners specified by their webId. And if there is a sepcification for the soild-webid-profile, then i know, that the owner/maker of the partners pod is described as http://xmlns.com/foaf/spec/#term_PersonalProfileDocument And then i can write a cardDav adapter for the partners of that organisation. Because there are a lot of tools, that understand cardDav, but not solid. if my words are confusing, maybe the reason is that iā€™m very new in this linked data thing and I have to get used to it.

Iā€™m almost sure it is, but Iā€™m fairly new too :slight_smile:

1 Like

Yes it is. That is the link a solid app will get after you log in. Most log ins allow to pass just the pod URL https://naturzukunft.solid.community to simplify the login process, but nevertheless https://naturzukunft.solid.community/profile/card#me is what the app will get. A WebID usually identifies a resource of type foaf:Person (or to be less academic ā€œa personā€).

So, if I understand you correctly you want to manager organizations and associate persons with it. This could be done by creating an organization resource (e.g. a foaf:Organization or vcard:Organziation) and link to the WebIDs of the persons that are member or partner of that organization.

I already experimented with forming groups in my group app.

1 Like

We want to share data from organizations between platforms.
I think vcard covers most of the attributes we need for this. It would be nice if every organization has a POD and the platforms only know the WebIds of these PODS. But I would also see a platform as an organization! So in my head there are many organizations that have a POD that has the organizationā€™s data in the foaf: PersonalProfileDocument. Address e.g. . Since the foaf: maker of the POD is the organization and foaf: primaryTopic is also the organization, I think that should fit. And an organization could then have a predicat ā€œhas as a partnerā€, ā€œaddress bookā€, ā€œmanages organizationsā€ or similar. I have no idea whether this is SOLID / LD compliant, but it sounds good to me. Can this discussion take place in this thread, or would it be better another thread?

@aveltens This does indeed overlap with your groups, as these organizations in turn have hashtags that you can use to group them, search for them. Background, Iā€™m talking about organizations that are stored on https://kartevonmorgen.org, among others.

1 Like

Actually solid server is at the same time a webId provider (IDP) and a storage provider (LDP).

Your organisation will have a webId and LDP with an address book containing partners information including webIdā€™s.

Each partner will have a webId from an IDP provider

That is where Solid discovery helps you. You log in with your web id, and that takes your app to your private preferences file. And to a Type Index which has a list of key things in your solid world, like you main address book, and in future, projects, and organizations which you are involved in, which will have their own lists of stuff which are shared with their members.

1 Like

Yes, absolutely. Organizations can have pods. https://solidos.solid.community/profile/card#me is in fact an organization not a person. There isnā€™t much support at the moment, but that would be a great contribution to this to make write a good profile [editor] for an org. An org can have a relationshiop with a group like :thisOrg solid:membershipGroup :thatGroup and so on ā€“ possibly several different groups, like employees, the board etc. If we create that structure I think it will be very powerful.

3 Likes

@timbl
On Popock, I started some nested group UI creation with org:subOrganizationOf for groups/subgroups

See https://scenaristeur.github.io/solid-vue-panes/groups