One of my projects is a platform for organizing and hosting community events (which I'm cleaning up for an open source release), two live examples:
These sites end up with a lot of multimedia uploaded like user photos, session photos, recordings/media for sessions. Currently this presents challenges when people want to fork instance to experiment or duplicate content into new years. In my mind this application aligns really well philosophically with IPFS, because a big part of how I set these sites up is making sure content is preserved indefinitely so the connections and materials such communities build doesn't rot away after everyone goes home.
Currently, no media uploaded to the system is considered secret or secure, if you obtain the (currently integer) ID of an upload it's public to share and download. I'm considering moving this function to IPFS, so that each host when be an IPFS node, and the database would just have CIDs for media and not worry about where they're stored. If I did that, I imagine a cool next move would be making a bigger deal in the UI of having presenters and attendees use the site to achieve media/materials from sessions and maybe educate in-UI a bit why having all that uploaded to IPFS is useful (e.g. have a link to a pin list per session?)
What sort of questions should I be thinking through in an application like this? So far I'm wondering:
- Would it be good or bad form to serve image assets directly from
https://ipfs.io/ipfs/... or should I set up my own HTTP endpoint that servers content from a node where the content is likely to already be pinned? (there can be up to thousands of headshots served on a page)
- Can CID's be considered a secret? I expect that one thing that might put organizers on edge with IPFS being use for this is if content would actively propagate on its own or be easily enumerable for bulk scraping outside what CIDs the UI chooses to render. Could the set up be such that content generally doesn't ever leave our node until we hand out a CID?
- Anything else I should think about or read up on?