Interconnectivity for social networks - Offdem 2022 Appendix

Hi everyone!

it has been a great event, i took many great impressions home, thanks so much for organizing, beeing there and sharing your work and thoughts.

So i wanted to talk with you about interconnectivity as protocol design principle and how this applies to communication technologies. Sadly it did not work out that i could share my presentation in person, because i joined the gathering spontanteously and the main track was already full. But i have recorded it and still would like to share the concepts with the community as an appendix.

You can find the recording here:
https://libre.video/videos/watch/4c918eeb-6145-4a1a-8f05-731ed57ef257

I’m looking forward on feedback and some critical discussion on the concepts. This presentation is meant to provide a more general overview, we’re working on releasing more detailed documentation on how to actually built it.

Our only incentive is to bring people together who build communication tech, and sort out together how there can be a consistent connectivity experience. So that users of each open network can communicate with users of other networks. If we together can climb that barrier, i believe open networks have taken a great step.

Cheers from me,
Steffen!

Hi @Steffen, thank you for sharing this. I finally took the time to watch your presentation.

Indeed you’re proposal to OFFDEM came late, but I had taken the time to browse through your presentation at rC3, although I cannot get German. I thought the final questions were strongly relevant and that you did not address them properly. Especially two points seem critical to me:

1. Engagement with existing efforts

It’s not clear why you’re trying to “bring people to the table”, or more precisely, what table it is. In your rC3 presentation you were vague at responding to this question, and it’s not clear yet why you’re not engaging with W3C, IETF, or other similar bodies that would be the right place to go. If you think it’s too early to do this, you might as well engage with existing community efforts for the protocols you’re interested in. See also the question of scope below…

2. Licensing

Your licensing FAQ remains vague about this question. You do mention “open source” a few times, but since there’s no engagement on your part as to what license you’re working with, it’s difficult to assess whether you’re going to work for the community or are willing to exit at some point. Given that 6 out of 7 “share icons” link to proprietary companies, including all three of your stated competitors, your statement about “open source” is not convincing at all.


After viewing your presentation, beyond the above two points, I’m left with a number of questions.

First and foremost, I don’t think you convey a technical meaning for interconnectivity. There’s a lot of debate currently about interoperability and interconnection, and you might have seen our take on this. I suggest you engage with the community on those topics where they happen.

One limitation I see in your approach about interconnectivity is the promise you make about A and B being able to communicate across non-interoperable networks while approaching the problem from a perspective of the Web: you mention W3C, and you seem to aim at Web frameworks. But how would you handle XMPP or Matrix in that regard?

This issue shows when you talk about “global addresses”: your slide mentions a number of networks using various protocols, but these addresses remain ambiguous: ‘Ẍp3zlxkrZ45@xmpp.tech’ could be anything from email to Web to XMPP. They probably should include a protocol, but then how do you handle cross-protocol communication? Here again, there are many existing efforts to bridge protocols, maybe you had a chance to discuss at OFFDEM with a few people working on some of those. “Global addresses” should probably be unambiguous URNs.

At some point you mention presentation as being the core functionality of social media. I’m curious about this aspect, especially as A11y is concerned. It seems to me that message passing and data structures are more specifically concerned with interoperability and interconnection than presentation, which remains a last mile function. You insist in pushing for a “consistent user experience”: how would that play with so much variety in what people experience in their lives and especially in front of their computers? That said I proposed something a long time ago that may inform you about something you could want in terms of structuring interconnection: A User Perspective of Free Social Networking.

Now, to respond to your explicit demands…

“Which networks and projects do you think such a concept is useful for? For which not?”

As it is now, I don’t think this concept is useful. It requires a lot more depth as to what can be transmitted and how it should circulate across networks. It also needs to think about power relations, as mentioned in our take on interop linked above, before it can be useful to anyone. There are cases of “bridges” from one protocol to another, but they already experience a lot of difficulty translating concepts from A to B. I guess you could start with the Web and see the existing mess of trying to think along: even if ActivityPub exists, there are many other more or less compatible approaches that do not translate 1:1 from each other, technically and humanely.

“What problems do you see in this approach?”

I hope this long post responds fully to this question.

“What do you require of the standard to include in your favorite tech (especially p2p & other utopias)”

Agnosticism mostly. There are so many angles, it’s often a case-by-case basis for aligning things, when and if they can align. I hope the “user perspective” linked above can contribute to answering this question.

“From your experience: what’s needed to make the process work?”

A lot of dedication and engagement with a lot of communities. A strong determination and a clear position. Excellent technical skills that allow moving from concept to implementation, because “We reject kings, presidents and voting. We believe in rough consensus and running code.” Years of patience, infinite humility because you never know enough, and unshakable will to make others succeed.

1 Like

Hi @how , thanks for taking the time to critically engage with the topic and share advice and further readings. That’s all very helpful!

You are right, that the given presentation leaves a lot of questions unanswered, I’m currently working on and aiming to publish in the next weeks a way more detailed documentation. In the presentation i wanted to give an overview across the topic. Seemingly it wasn’t conveyed this way. It may have seemed like the topics i skipped for keeping the presentation short are details we in the project haven’t addressed at all. That’s already a great learning for us on how to explain our goals and scope.

Now for some of the points directly:

What is interconnectivity for us: You said it’s technically not really defined. True! It’s a concept for which the exact technical definition needs to be found for each use case, we are defining the technical definition for it on the use case diverse social networking.
What is the concept? Let’s do the example of Matrix and XMPP you brought up.
If Matrix and XMPP will manage to get their bridges going and have full interoperability, great. For all the cases where they don’t, they should agree on a common minimal interconnectivity standard and mechanism, to ensure user communication. Whatever that is in their use case, needs to be found. For instant messaging there might be a different approach meaningful than the embedded experience we are pushing for in diverse social networking.
So there is no problem with cross-protocol communication, because the very approach is to define a common interconnectivity protocol, which can be used for the use cases where the cross-protocol interoperability is not given.
My belief is that the protocols themselves require rethinking. If they produce incompatible applications, they need rework. Since applications implementing a protocol should not need to worry about compatibility, thats what the standard is for. If AP, XMPP, Matrix.org want to build for use cases where communication islands are acceptable, thats alright. If they want to produce open communication, they should come back to a table together and see, how they can guarantee communication, even if the other system is implemented in a different way. I understand these systems each want to address different aspects, but i believe when communicating in-between, they should allow to drop those aspects. Otherwise they are advancing more their own technical beliefs, than actually producing value for the end user.
What will happen in the future - if some of these protocols add a new interconnectivity layer into there own structure, if only some instances will add an interconnectivity module to their architecture, or if no one ever cares about this approach - i of course don’t know.

Engagement with W3C, IETF: I do see these institutions as the go to places as well. As you rightly guessed, we’ll aim to engage with these working groups, once we have further progressed! Until then my goal is to lurk into different communities, find people engaged with the topic and learn about different views. You’ll find a proposal from me towards the W3C interop group soon. I’ve followed your proposals there, but did not engage in the discussion yet because i do want to address this body, once we have our written documentation.

Whom to bring to the table and which table: I believe it needs a standard for interconnectivity. Those who need to implement it, should get an invitation to the table. What table that is, if it is an iconet, W3C, IETF, or any other table, i don’t really mind. For me it’s not about putting my label on things, i just want to support the process.

Global addresses: These where examples for addresses in a shared interconnectivity standard! What’s needed is a global and a local part. Global needs to have a defined structure (here dns), so it’s clear where to deliver packages to. Local can be whatever, the one system does not need to understand how the other system maps a local part to their rightful user.

Consistent user experience: Hereby i mean that users do not have to understand, from which applications they can reach which other applications, and which protocol they are using. I do agree that we do not solve consistent user experience on a front end layer, i should probably use a different term to describe what i mean there., maybe consistent availability.

License & openness of the project:
Since you last raised the topic, we have contacted the FSFE-legal team for help, they have not had the time to get back to us yet. The difficulty is the following: Our prototype development uses rdf-pub as a first context, which uses eupl, a copyleft license. So our interconnectivity module into that project will also be under eupl. If we now will built another interconnectivity module into another context, which has another copyleft license, i’m not sure if conflict can happen. When we have figured out those details, we’ll be more vocal about our license usage, i just want to do it right.

If i’m looking for an exit? How would the open communities ever use and implement on top of a standard for interconnectivity, where i have a corporate thumb on it. That’s not at all the plan, but i do respect your healthy distrust. We updated our impressum. You’ll find our bylaws where we state that all knowledge and advancements we produce or gather, are made available to the public for free. That’s the legal basis for our non-profit on a research promoting basis. I understand the details are also important, we’ll get there.

The usage of ̷̑͜F̸͛̿͜á̴̜͍k̶̡̺̃̈́e̵̲̬̎b̶̹̄̏o̵̖̾͘o̶͘ͅz̴͉̺̈́̀, insta, youtube etc.: I do agree with you and value your honest feedback! It’s a hard topic, also in our team we’re split about it. I actually am on your side there, i don’t really want to promote these links on the webpage, but currently the majority of our team thinks that they add more value than harm. I’m happy you shared that this lowers your trust. I hope we can rebuilt trust with meaningful contributions.

On your answer on what’s needed process-wise:
I love these inspiring words. I want to do my best to grow into the direction you have laid out here. What helps me is to know that i’m not alone on that journey.

Again: thanks for being so critical, that helps me a lot. I hope the explanations i added here helped with some of the things which remained unclear.

1 Like