Two things I’d like to add to this discussion:
Gaia Extensions sounds amazing.
I love the idea of Gaia extensions. Perhaps I created an app that deletes files after a certain amount of time (like a disappearing story after 24 hours) - I would want to use a Gaia Hub that has the “Delete Files after Time” feature. It would also help decentralize/democratize the development of the Hub itself. Think of it as a “vanilla” game server versus one that allows mods.
The “inbox message” could simply be a pointer to a multi-player user-data folder.
The biggest issue that was brought up in this thread was the 160 byte limit - and, expanding on the solution that @jude brought up, what if that file (which is limited to user:dapp
) was just a pointer to a folder that the sender had on their storage platform which contained all the “notifications” that the receiver of the notification needed?
This of course makes another issue of - how do I know when something is read? If multiplayer storage allows the “delete” operation then the receiver could just delete the messages out of the senders outbox that they have transferred/read. If not, there could be a “message” json file of “last read timestamp” in it, and the sender (or the hub + extension) would clean up the messages that happened before the timestamp.
Otherwise, I love this idea and really hope it gets implemented sooner rather than later. Having just finished setting up a mail server myself (way too complicated), having a mail-protocol use Blockstack + Gaia was a project I had in mind but knew was impossible to create without something like this.