Moving away from building Prettified JSON Viewers

At my jobby job the status quo is that we build apps like this:

Status Quo

* for simplification I called it a controller, it is an illustration of the layer(s) between backend and a view

I call this Prettified JSON Viewers. I do not remember who coined this term first, if you know please send me an email to hello [at] peterspath.net - think it was on a podcast.

It is very boring. Offloads all the logic and storage of data to a backend. Which often require the user to create an account.

Proposed Flow

I want to challenge it. Make the flow a bit more complex:

Proposed Change

In this new flow there is a Local Database and a Sync Engine added.

Local Database is responsible for storing all the data and the data from the Local Database is used in the app.

Sync Engine is responsible for keeping the Local Database and the Backend in sync. Large parts of the app only talk to the Local Database and never to the Backend directly.

Why do you ask?

Some scenarios

Just showing things that are already there

What about changing things?

Second device?

On Device A
On the Backend
On Device B

Category:

Year: