A web application has users and users do operations which require storage of data.
Problems
As a web developer
I cannot just have a freely hosted SPA, now I also need a backend and pay for web app server hosting and storage.
I need a privacy policy, I am responsible for end-user data, and users needs to trust me with their data.
As a end-user
I need to read privacy policies, I need to trust some web application with my data.
My data is stored somewhere in cyberspace and I do not own it.
The app owner can spy on my data.
Desired outcome
For app developers
I can develop an serverless SPA app and host it for free on hosts such as GitHub.
I have no access to user data. I pay for no hosting.
For end-users
I own my data.
Considered solutions
LocalStorage — Inadequate. Too ephemeral; data disappears when browser history is cleared. User cannot access data across devices.
Input element of type "file" — Inadequate. Too inconvenient to open/save data, and difficult to access data across devices.
Requested solution
Functionality available through JavaScript to store user data in the cloud. The end-user can use a provider of choice (such as Google, Microsoft, etc) or host an own instance on a private server (such as ownCloud, NextCloud, etc).
The web app developer shouldn't know, nor care what provider or storage backend that the user uses. The web app developer should be able write the application with client-side technology only, without any backend.
A web application has users and users do operations which require storage of data.
Problems
As a web developer
As a end-user
Desired outcome
For app developers
For end-users
Considered solutions
LocalStorage
— Inadequate. Too ephemeral; data disappears when browser history is cleared. User cannot access data across devices.Requested solution
Functionality available through JavaScript to store user data in the cloud. The end-user can use a provider of choice (such as Google, Microsoft, etc) or host an own instance on a private server (such as ownCloud, NextCloud, etc).
The web app developer shouldn't know, nor care what provider or storage backend that the user uses. The web app developer should be able write the application with client-side technology only, without any backend.