Just viewing files would be doable like GitHub.dev, but implementing Obsidian in the browser would be insanely hard. Currently, you’ll need something like VNC or KASM workspaces type systems to access it this way (which you can already do). As I said in my comment above, it would be hard to have a web-based system since Obsidian’s internal APIs rely on interfacing with a filesystem (and not an emulated one like from an SMB share). If your “single source of truth” is Obsidian Sync though, it would be cool to be able to interface with that store with some access control. I would use Obsidian Sync in corporate if we could limit the access.
Putting Obsidian in the Browser would get people assuming multi-user or multi-device scenarios, and this complicates things. I currently use Obsidian Git and a GitHub repo as my single source of truth, and I edit things from GitHub.dev when I need to from a browser. The plugins and interactivity is the hard part since it needs a filesystem.
I’ve got the solution though. Here’s how you could actually get this working, and you could sell this service off or to Obsidian.md. This would allow you to work with Obsidian in the browser, in corporate settings, and with multiple users on the system at the same time despite it interfacing with a filesystem.
- You need something like a VNC interface like KASM workspaces uses. This allows you to still have plugins, but there is some added latency.
- To make things faster, and to make it possible for multiple users and simultaneous connections, you would need a “local first” approach and to implement a content conflict resolution process for the syncing piece of things. An example of this would be CRDT (conflict free replicate data types). This would be implemented in the Obsidian application maybe as a plugin, and this would actually solve all of the issues seen with using SMB shares too. There would need to be a way to track which files have been opened or locked or whatever, and then as the files are closed, use CRDT to resolve them or something. Lots of nuance here though and just some ideas really. This would be the hardest problem to solve.
- To make this better for corporate, you would need a layer maybe in something like KASM or the VNC piece that helps with IAM or access control. You would want this to be able to use all of the enterprise protocols.
This is the only way I could see Obsidian in the web without absolutely overhauling the Obsidian application or plugin ecosystem and approach.