Skip to content

Make upgrades smooth for users #8866

Open

Description

What feature do you want to improve?

When webapp detects a new version is available it downloads the db docs and refreshes the service worker cache and then prompts the user to reload. This happens in the background so the prompt can pop up at inconvenient times like during a household visit halfway through filling in a form. We know there's a long tail of users not upgrading so we added a reminder that prompts every 2 hours. This is annoying for users, and trains them to ignore the upgrade dialog.

Describe the improvement you'd like

Instead of prompting the user at an random...

  1. Update the UI subtly that an upgrade is available (eg: a notification dot, or a menu item in the hamburger near the sync status). If someone is waiting on an upgrade this lets them know it's ready.
  2. The next time the user navigates to a new page (submits a form, selects a new tab, etc), instead of doing the usual single page navigation, do a full page load which brings in the new code. This ensures the reload happens at a convenient time and users aren't distracted. Before doing this ensure that the page reload time is acceptable so the users don't unexpectedly get a long running spinner!

The result should be a better experience for CHWs who won't get interrupted with prompts.

Describe alternatives you've considered

Instead of automatically reloading we could just move the prompt to after the page navigation but most people in the world including our users have been trained to dismiss popups like this, so smoothly applying the upgrade without bothering the user is preferable.

Additional context

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions