I am a bit disappointed that the “curator” user approach requires a server
Depending on how you structure the client, you wouldn’t need a server in the traditional sense. If I were to build this, I’d set up the curator bot on a Raspberry Pi on my home network, and connect it to a WebRTC relay endpoint in e.g. Google AppEngine (or some other PaaS that I don’t have to maintain myself). I’d list my WebRTC relay in the bot’s Blockstack profile, so the forum client could discover how to connect to it. When the forum client posts a new topic or message, it would also send a hint via the WebRTC relay to my Raspberry Pi, which would wake up my curator bot so it could automatically create/update the topic. That way, my private keys never leave my home, and if my WebRTC relay misbehaves, I can transparently swap in a new one.
puts the control of the forum data viewing onto a user account.
Fortunately, each user will store their posts and forum data in their own Gaia hubs, so if my curator goes offline or for whatever reason gets malicious, it’s straightforward to set up a new curator (i.e. use the indexer approach to find all the forum posts for the sub-forum, and have the new curator sign them all and re-build the sub-forum topic list). This would be an improvement over what Reddit offers, for example, because it gives users a way to revolt against bad admins without worrying about the sub-forum getting deleted. It also gives communities the ability to split and join at will, again without losing data
The “indexer” approach leaves something to be desired as well, as it requires a centralized hosted index server (although maybe you could develop something based on IPFS).
I like to think of the indexer as like a “write-through CDN”. It’s not part of the trusted computing base; it’s just an optimization on the read path that saves clients from having to query every user However, IPFS won’t help you here either, since you’re still in the position of having to constantly “merge” a bunch of unrelated writes into a coherent view of the forum and publish a replica of it somewhere.
Like with my curator description above, the indexer logic does not need to run on a remote server. You could run the indexer on a local computer in your home network, and replicate the indexed data to a cloud storage provider of your choice (or IPFS, if that suits you). This is what I would do if I was taking the indexer approach—I’d run a home server to build up the forum view, and I’d give it a Blockstack ID which it would use to sign the index (i.e. the indexer has its own Blockstack ID, so clients can authenticate index state without having to trust the cloud storage). Then, clients would fetch and authenticate the index as needed, and then authenticate each forum post.
The Gaia inbox protocol idea sounds the most interesting. Is there a rough idea of the timeline for this to be released?
You’ll have to ask @aaronb I think he’s already working in it.