Best practices regarding storing app state across devices?


@DMPS wrote:

App developers can use the solid-auth-client library to generate a connected graph of all the information surrounding a pod. Like in the Make a Solid app on your lunch break tutorial, app developers can then run queries on that graph and transform the state of the application.

My question is, how should a developer reverse that transformation? In a standard web application with centralized data, you have already saved the previous state of the application in your own DB, so you just revert back to the old state you have saved. In Solid, the entire idea is that the application developer does not keep their own database with the user’s data.

A simple solution seems to be to keep some memory of the previous states within the user’s localstorage. But, that leads to 2 more questions:

  1. How do you persist the state of the app across devices?
  2. How much of the state should you store?

The first case seems near impossible to do without an database specific to the application.

On the second, if we ran vague enough queries on enough pods, we would eventually end up with large portions of the solid community all stored within localstorage. That doesn’t seem viable.

Any thoughts or advice would be helpful.

There has been some discussion on with @RubenVerborgh @MelvinCarvalho @kjetil @timbl and would like to invite more here.