Page MenuHomePhabricator

Provide data saving preferences
Closed, ResolvedPublic

Description

Background

When user is online and navigates to an article, detect if the article is in a downloaded compilation file or reading list, and if it is NOT the most recent version, we should provide users with the option to save data by continuing to read the older version already offline.

User story

As a user with limited data and/or bandwidth, I want to provided with options to save data usage where possible.

Proposed solution

Add a Preference in Settings to "Prefer offline vs Prefer most recent
Make a setting that allows users to set their default behavior to either "prefer offline articles for data savings" or "prefer online articles for most recent version".
The default setting will be as per current behavior (prefer most recent). However, if "Prefer offline" is selected, then offline articles will always be shown with a snackbar advising users they are viewing an offline version of the article, with a "reload" button in case they wish to see if there is a newer version available.

Mocks

i. Additional option in Settings:

image.png (376×588 px, 47 KB)

Proposed title:
Prefer offline content
Proposed caption:
Save data usage by loading articles that are available offline rather than always loading the latest version of an article

ii. Prompt to go to Settings from the Offline compilations screen:

A06v - Offline libary with caption to settings.png (1×720 px, 116 KB)

Proposed text:
Want to save on data-usage? Choose to “Prefer offline content” in Settings to show available offline articles first, even when you have connectivity. Go to Settings

Created a V2 subtask for automatic detection as to whether a newer version of an offline article is available
If preference has been set to "prefer offline", provide an option to reload an article to a newer version if one is available
NOTE: When 'prefer offline' is selected a user navigates to an article where an older version is available offline, show a snackbar notification with the date of the newer version and provide them with an option for them to retrieve the newer version or save data by reading the version already offline.

Details

Related Changes in Gerrit:

Event Timeline

V1 would be to change the cache policy to prefer offline vs online.

Dynamic requests are a V2 thing.

Both parts need to be done to ensure good user experience.

Change 377323 had a related patch set uploaded (by Mholloway; owner: Mholloway):
[apps/android/wikipedia@master] Add "data saving" mode

https://gerrit.wikimedia.org/r/377323

Change 377323 merged by jenkins-bot:
[apps/android/wikipedia@master] Add "data saving" mode

https://gerrit.wikimedia.org/r/377323