# Thinking about sharing on IPFS as a reusable construct
attended by:
- Adin
- David Dahl
- @olizilla
- @lidel
- @fsdiogo
## Actions / thought experiments
- consider standard file paths for things vs IPLD schemas
- what parts of peer pad would need to be implemented/duplicated to deliver a native desktop app.
- what would need to happen to make documents stored in peerpad shareable in another system?
- standard names for keys in url hash fragments?
- what would it take to move keybase to IPFS?
## Links
- some additional background on open annotation specs existing today: https://github.com/ipfs-shipyard/pm-discussify/issues/8#issuecomment-413008203
- centralized annotation service: https://hypothes.is
- ipfs-based poc: https://github.com/ipfs-shipyard/discussify-browser-extension
## Notes
Adin's intro...
- worked on encypted real time collab
- dropbox and google drive merged
- it was wild
- sync.com
- keybase fs
- non of them talked to each other
- access by location, data is silo'd, you cant get your dropbox data via google drive.
- encrypted world, you still cant get the data.
- IPFS can solve this.
- It's easy enough to shift content addressable content from one app to another.
- Dev needs to be able to set up the UX for sharing.
- like Unix where all files are text you can edit, vs windows where config was obscure.
- It'd be great to go to keybase: store your data with IPFS, so all encrypted collab folk can
- to be portable data needs to live on IPFS
- **tressera** - close to dropbox, i need to share a folder, for every combination of users we have our own folder... for every
- **keybase** - files are inert, the file system is around capabilities.
- **how do i find users and get their keys?**
- do we want cloud-like semantics, is it important that someone is always online to make a file retrievable
- **peer-pad** is doing real time collaboration, building a lot of stuff from scratch. So is peergos.
- needs to **move down a level**...
- needs to be spec'd out, so the C++ can go build an interoperable thing.
- docx is more interoperable than the previous. You can at least get the content to render in other systems even if it may look slightly off.
- API things we might want to have.
- **multiwriter IPNS**.
- relies on the kindness of strangers, the dht.
- the amount of data balloons in the multiwriter scenario
- set up a sharing group, gossiping group or pubsub.
- you get forwarded to a group who is willing to co-host your data.
- social network, optimisitic co-hosting
- in the keybase / peergos , you have to have keys already, but i can go tap up a list of machines that you have.
- is this someone i trust / can i sue them / smart contract
- build a path, and with enough oversight so that we can avoid building an app that becomes the lock in format, when it could have been baked in at lower level.
David: how am i storing threads.
Oli:
- IPLD! http://ipld.io, https://proto.school
- discussify: https://github.com/ipfs-shipyard/discussify-browser-extension
adin: 2 hard aspects
- identity: how do i get keys and manage them, finding who people are from a din/did
- messaging: when you share a file with someone the cloud provider. how can we message people in app.
what would it take to switch keybase to IPFS?
you get everything for free in exchange for your attention
David: doing pgp is not doing anything at all (its really hard)
worked on spideroak - grumpy file storage system. (0 social anything)
- exploring keybase like features on IPFS, for identity.
lidel:
- Extremely basic **key management API** already exists in IPFS (`ipfs key --help`)
- Improving this API is a low hanging fruit: what is missing?
- We want to be able to assign pet names to keys
- We want to be able to sign and verify things
- Can you use ipfs node keys for identity proofs?
- When filecoin lands can we use its primives for identity/social proofs too?
- IPFS uses paths for alot of things...
- ...can we have **path conventions** for access control / capabilities?
stick this file in IPFS, pin it, give it a name, can they have conventions?
- signalling changes!
- i allow multiple writers to a doc
- adin indicates change by updating his IPNS key.
- everyone should have a node!
- js-ipfs wants to be