Gusto
FamShare is a passion project to build something fun and exciting, based on new technologies. It is an exploration of the local-first principles and is something for which I have a personal use case. It's an excellent platform for ongoing learning and getting to play with interesting technologies.
The ecosystem context
There are similar projects in this space. Better projects, abandoned projects, coming projects, overlapping projects. The local-first community is full of people working on peer-to-peer sync, data sovereignty, privacy-first architecture, and decentralized storage. Honestly, it's very cool and exciting to see the shared vision.
Frequently Considered Questions
Why prioritize Obsidian compatibility?
Obsidian compatible is shorthand for what Obsidian represents. Open file formats, data ownership, no vendor lock in. The overlap is markdown on disk with YAML frontmatter for metadata.
Why not just build an Obsidian plugin for this?
https://relay.md/ is pretty close and neat looking. The sharing model is different.
Other people are or have been active in this area.
https://www.obsidianstats.com/categories/Collaboration%20&%20Sharing
This one in particular looks most similar: https://github.com/muckmuck96/obsidian-file-share
At the end of the day, if FamShare is Obsidian compatible and offers nothing extra, a plug-in may be a fine conclusion to the project.
Why not use existing sync/sharing engine for this?
FamShare has an internal, simplified p2p sync with basic permission primitives. This overlaps existing and more advanced solutions, so an obvious question is why I wouldn't use one of them.
The answer is that the current FamShare sharing model is simple. The files are mostly text, the files will have a low rate of change, the files will rarely be edited simultaneously across devices. FamShare doesn't need to solve the problems of a global permission system with cryptographic forward secrecy, it just needs to protect that family secret cinnamon toast recipe.
After getting some field experience with a sync engine, I will do another lap to see if something off the shelf works. Most interesting to me are Willow and DialogDB.
What should FamShare target?
I believe FamShare should target mobile and desktop. I take notes on mobile all the time, I expect other people will too. When I want to really create, I go to my desktop.
Is a mobile, p2p sync possible?
There are specific issues that make ongoing sync difficult, but these related tasks are proven to work:
- Transferring 2 TB of mobile data in a month
- Manually syncing mobile, desktop and laptop on LAN
- Connecting mobile, desktop and laptop securely across the internet