Working on Cloud app without connection

  softwareengineering

I am creating an application based on the cloud for the management of articles. I’m also a desktop developer so I never had problems with the internet absence, mainly because I was working with db locally, and then on the user’s PC.

This time the app is on the cloud, then I would know if there is a way to continue working even when the customer does not have a connection.

1

You’d have to provide some local, client-side logic, as well as use local storage. Viewing cached content, offline. Taking commands that have effect when connected later.

This is not trivial: there are a lot of considerations, as not only does that mean replicating some business logic on the client, which is bad enough; however, this cannot, in general, be made transparent, which means that the user experience is more complicated and demanding to develop.

Let’s say that offline I make a number of changes. But back online in the real system, the content that I have cached is going stale as others who are online are making changes. Do my changes still do what I intended, and, should they go thru as they were despite that the cached values and thus assumptions I had when making those changes are possibly no longer valid? In the general case, there’s no good answer. Yes, send them thru might be very bad (e.g. pay a bill a second time that my spouse just paid); where as one alternative is discard all those changes (also very unfriendly), and the last, reconcile the changes is very hard to do in the general case.

There are no magic solutions for the general case; however, some problem domains make this more doable than others. Getting deeper to into problem domain and its use cases is probably where you can do the best rather than attempting to solve this in general.


In some domains, it might work to offer cached content, and support the user taking some notes on changes they want to move forward. Then when back online, review each note or intended change for confirmation before (adjusting and/or) applying. You might also allow an option to pre-download some set or subset if the user knows they are going to be offline. Otherwise there may be nothing in the cache for them to work with.

1

LEAVE A COMMENT