Online with cache, next to offline-first

I understand that as a result of the current architecture the apps are all offline first.
It would be nice to be able to configure applications to be online.

Technically they could use an API to modify a remote datastore which could be a simple server application (i.e. based upon Node.js) which uses the existing sync logic to sync with the actual store.

This way, the local application does not have to store the entire set of notes and more importantly the resources. They could still use the current database and file storage for caching purposes.

Alternative: It could still be offline first, but fetch the resources from a configurable webserver (i.e. the way the current terminal client works).

Example: I have a library sized 100GB+ because of years of collecting resources. It is almost impossible to store this on my phone in a sane way. This practically makes the mobile app unusable.

what is the solution you use today ?

That would be evernote. Offline with the desktop client and online using the mobile app.

But you don’t store your library on Evernote, do you ?

1 Like

Hosted in evernote cloud (my latest .enex backup file) is near 2gb.

These are my notes for the past year. To explain the data usage: I use high resolution document scans and use the app as a document management solution. I periodically remove the old stuff from evernote cloud and put it into other backup files in case I need to find documents from a few years back.

When ignoring the 100GB argument because we could discuss its validity, and discussing 2GB in my example, I still feel a online mode could be helpful still saving all that storage on a mobile device.

Joplin wasn’t really develop with 100GB+ data in mind so at that level it might indeed start to cause problems.

A concept of online resources would indeed work. By default all resources should be downloaded automatically like now, but there could be an option where the resource is only downloaded when the note is opened (or when the user is prompted). I can’t see any technical issue with this so it might be implemented at some point.

Added issue there -