Progressive Accounts

A way to start using a Fission app without having to go through an auth process.

The app can be used, with restrictions or not depending on the app design, and then the user is prompted at some point to create a full account to save their data long term.

Depending on the app, this could be far in the future, with localstorage being trusted to hold account state for some time.

This is related but not sure if the same thing, adding here just to record the idea: Progressive Accounts for developers.

One of the things I found super cool about ipfs-deploy being able to use Infura is that they allowed anyone to upload to their IPFS hosting service without any kind of auth. It was a bit messy because it wasn’t clear how much you could upload, how long they would hold it for, and the request errored out more often than not, but as a first win experience, when it worked, it was sweet (kinda like imgur.)

So I came up with a flow I didn’t end up implementing which would allow size- and time-limited uploads and subdomains that the user could then renew with an auth token or sign up to persist. There is a cli mockup of this (except the signup part) at https://github.com/agentofuser/hashlinked.website. For Fission it might go something like this:

$ echo '<h1>Hello, worlds!</h1>' | \
fission up -n my-free-temporary-ipfs-subdomain

Congrats! Your upload succeeded and the CID is:
QmQzKWGdjjQeTXrruYL2vLkCqRP8TyXnG1a9QEJjDM8WTY

A temporary subdomain now points to it via a dnslink at:
https://my-free-temporary-ipfs-subdomain.fission.app

Call again with this auth token to renew, modify, or delete:
--auth-token=bRcaqpCugH6e3hBSh5sQq39kreqpgt7Q

Upload and subdomain expire in 1 week unless renewed.
1 Like

I think that asking for an (unverified) email address is a pretty low bar.

2 Likes

Talking to @rosano about this, we can look at the remoteStorage JS client for inspiration:

It apparently wraps localStorage before having to login.

They actually have Dropbox / Google Drive sync included there too which is interesting! Not sure if we can re-use that.

It actually uses IndexedDB, then localStorage as a fallback, and then memory as another fallback. But yes it’s great because the developer has a single API to work with regardless of whether you have logged in. If you start in ‘anonymous mode’ and then identify yourself later on, it seamlessly syncs to your server.

It basically works for syncing documents but the public folder support isn’t possible. Unfortunately also requires access to the entire Dropbox, and I believe Google seems to treat all subdomains as the same app.

2 Likes