OFN Germany

Thanks @Leo239 for the ping!

@Kirsten Matrix is a data replication protocol.
(http is synchronous+stateless whereas matrix is asynchronous+stateful)
The canonical application is a decentralized Slack/Whatsapp (eg Riot.im app)

Distributed systems become slower and more fragile with more participants because the likelihood of internet/machine failure grows. Making the system partition-tolerant, ie available/usable+fast in case of network partition brings the risk of data inconsistency, since the same data can be edited at the “same” time in a conflicting way (CAP theorem …)

Matrix protocol (re)solves this reconciliation of data and ensures that everybody eventually arrives at the exact same “chat log”, even if different parties have been disconnected while chatting.
(technically this eventual consistency works like git but for data: servers doing ‘git fetch && git merge && git push’ between each other to synchronize)

The wonderful OFN is this inspiring community, ie a network of people brought together by beautiful communication infrastructure that works today (kudos!) but technically is (still) a central database and not yet a network (even though there has always been the spree rest api that can already do a lot…)

Making OFN also technically a network, (ie a computer network of apps) requires imho a standardized communications protocol, ie an interoperable “language/gramar”, the way how to communicate (and reconcile). Data formats (api/vocabularies) can easily be translated between each other and standards emerge from actual usage best practices …but replicating decentralized data is hard.

Just thinking out loud:
The OFN rails app already pushes out email via smtp protocol. So why could it not also chat out data changes via matrix protocol? in dfc/spree/valueflows format…?

Other apps could hang out in the same chat room(s) and eg generate excel reports from the chatlog or populate/update other product catalogues or chat about (pos) sales that the ofn rails app could then pick up (eg with a chat bot that posts them to the spree api)

Matrix makes sure every app eventually arrives on the same page-
(even if participants are temporarily disconnected but continue to use their apps)