Peer2Peer Collaboration

Use case or problem

  1. Collaborated Editing
  • Across two or more people (good for Teams) .
  • Across devices of same person.
  1. Chat and Communication.
  • Assuming that it is going to be on server-less P2P model, This will allow users to skip any third party service, and allow better privacy and control.

Proposed solution

I suggest a Peer2Peer solution for collaboration. On server-less model, (server-less implies that no server computer will negotiate when establishing P2P contact, it must all depend on individual peer’s user-agent (user-agent=Obsidian).

As per my Idea, you don’t need a Obsidian Account to collaborate. The connections are formed on ad-hoc basis, and Secure.

Interface:

  • There can a “Collaboration” settings tab under Settings > Plugin Options.
  • Where user creates/generates a “Collaboration Code (simple text)”, or “Service URL/QR Code of Service URL(real url or obsidian url, I don’t know)”
  • The user needs to share this Collaboration Code to his/her Collaborating partner who inturn will enter it in his/her Open vault > Onboarding Screen> New Collaboration Vault > give local location to save > Enter Code/URL > get started.
  • On entering that shared code/URL, The two Obsidian apps will establish a P2P connection. Tada!
  • The collaboration access has to be set per vault. The users may choose to set collaboration
  1. Always active.
  2. Activate on Toggle On/Off.
  • Additional Features:
  1. Optional User Profile picture, User Name, etc independent from Obsidian Account.

For Chat service,

  • There can be a tab under sidebar pane which shows a Chat among all peers, (similar to Zoom).
  • The Chat pane can float too or dock to bottom of app UI.

Current workaround (optional)

Nothing.

Related feature requests (optional)

Yeah, I saw few months ago.

11 Likes

Good idea

Hello

It has been a long time since I want to try out inter-connected gardens.

I think it is essential to experiment to see how it goes!.

One way to implement this is that the participants control their vault, a directory synchronized in P2P. Technically it can use a protocol
such as https://hypercore-protocol.org/, perhaps using Beaker.

Then one can ‘mount’ several directories (vaults) of people you want to follow. And then use obsidian on top to see in real-time any change that happens.

Perhaps the identifier ‘Service URL/QR Code’ could be an identifier of the vault, shared in the P2P network.

I see Obsidian and personal Wikis in general, as an excellent mechanism for collaboration on the Internet. It is less cumbersome and cleaner than write HTML and more flexible than the linearity of, let’s say, a forum.

We know Wikipedia; it worked well.

Perhaps many of us can give it a try, I think it will be worth it

2 Likes

What would be really cool is something like Honk

This is a very cool app and my mind is racing thinking about potential use cases! Collaboration would be amazing, would gladly purchase a team sync account for that feature. But galaxy-brain level would be to allow users to share private anonymous links to solicit input from folks who don’t have the app. Obviously would require a limited editor web app, not trivial but I think many many teams would adopt this!

Very cool app, kudos

1 Like

+1 to this! Check out yjs/yjs: Peer-to-peer shared types (github.com). They already have a codemirror implementation as a demo, seems like this could be a surprisingly straightforward implementation…

1 Like

@brush701 That yjs is impressive!

How do you imagine the interaction with others?