Idea is for a live share feature, similar to options like
VS Code Live Share Extension Pack
HackMD / CodiMD
google docs
for real-time team collaboration. The main feature is that one or more people can edit the same document at the same time and see each others cursors. Perhaps even sharing the same application UI state with panel locations, file browser, graph view, etc.
I think that is on the roadmap as a paid service (āPublishā, scroll down here), hosted on Obsidian.md. I hope that is comparable to HackMD, but who knows.
Also, as Obsidian notes are plain markdown, you can edit them in other apps like VS Code and benefit from its Live Share. You will miss some features (backlinks pane and link auto-completion, for instance) but you can easily switch between VS Code and Obsidian to see the changes you make on the other app (you have to save the note in VS Code to see changes in Obsidian, though it is not necessary in the other direction.)
To collaborate in the cloud ā unlike VS Code Live Share that is hosted on one of team membersā machine, iirc ā you might consider versioning your notes by GitHub, and use HackMDās GitHub integration to push notes to your repo on GH every now and then. Then by pulling the changes to your machine, you can have them again in Obsidian. (I know this is not straightforward, but that is how I am planning to do it.)
I noticed Publish, but little detail about what it will be.
Wonder if foam might simulate obsidian decently enough in vs code if it works with live share
I like the idea of HackMD, but dislike needing to share each individual note to github (non-starter for 100s or 1000s of notes). Some discussion on CodiMD about challenges of implementing a git import/export https://github.com/codimd/server/issues/222
some valid points in there about commit frequency, etc.
Did you have any luck? I was looking into this again recently and seemed like HackMd can only push/pull one file at a time. Another option could be to checkout your branch, import the whole lot into HackMd, do collaborative editing, then export the whole lot, copy to working tree and commit & push.
wondering if HackMD is the one, or some other open source Iāve come across:
Hedgedoc (another fork of HackMD->Codimd, being re-written)
Boostnote; though Iām unclear if itās possible to self host
Also seeing the new sync and publish add-ons, which unfortunately donāt cover this. Would definitely be into a real time collab add-on!
Posted about this in another thread, 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ā¦
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
Always active.
Activate on Toggle On/Off.
Additional Features:
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.
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
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!
+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ā¦
This really is a must for commercial use.
While used by a small minority for a long time, since everyone has become familiar with collaborative tools while working from home for the past couple years, it is something no one wants to lose.
As such, we were just going through approvals for software for the next project, and almost unanimously, that landed as a dealbreaker in the Pugh matrix.