Implement UX for Updating, Fetching and Downloading
Open, NormalPublic

Description

When users Update and/or Download metrics, an intricate sequence of events transpires among various back-end processes and UI elements. This ticket describes the functionality and behavior of the UI elements that control and reflect the status of the back-end processes.

NOTE: This ticket relies on terms and concepts defined in T213136, which summarizes and codifies the Updating and Downloading processes. Please make sure you have read T213136 before proceeding with this ticket.

The UI elements under discussion

This ticket defines the management of five simple UI elements, all located at the upper-right of the Edit Summary and Edit List pages:

  • the Download Reports Button/Menu (defined in T206576)
  • the Animated 'Working' Indicator (also T206576)
  • the Update button
  • the On-Page Message/Timestamp
  • the View Edit List button (Edit Summary page only)

Also defined here are some page behaviors relating to the Update/Download process—such as when the on-page metrics do or don't refresh.

The Animated 'Working' Indicator, Download Button and On-Page Message (in the "Updating" state)

The three states of the Update/Download UX

For the purpose of describing this system, it's useful to think of it as having three possible states: Available, Updating, and Fetching. (These states are abstractions that may or may not match actual implementation strategy.) The sections below specify how each of the five elements named above behave and appear in each of the three States.

'Available' state

In this state, Update and Download are available. This is the default state.

  • Update button is available; clicking will initiate update.
  • The working indicator is not visible; no work is progressing.
  • On-page message: shows the timestamp in the following format "Last updated 2018-10-29 18:49 (Africa/Accra)" [this is the existing format]
  • Download menu: is available.
  • View Edit List button is available/clickable
'Updating' state

When the user initiates update by clicking the button or downloading a report, the Update state commences.

  • The 'Working" indicator appears and animates, (as per T206576)
  • Update button: is unavailable (it's actually replaced by the indicator)
  • On-page message: Please wait, currently crunching the numbers.... [Note: this is the existing message]
  • Download menu: is unavailable
  • View Edit List button is unavailable
'Fetching' state

Fetching is the process of gathering data without gathering new page IDs (the IDs come from a prior update).

  • During Fetch—UX is as above During Fetch, all front-end, UX elements appear and behave exactly as they do during Updating.
  • After Fetch—the timestamp (depending...) The only visible UX difference between a Fetch and an Update occurs after the Fetch completes: strictly speaking, Fetch does not cause the timestamp to refresh. HOWEVER, Fetch often occurs in combination with an Update, rendering this difference invisible to users in such cases. The below section, "After Update/Fetch completes" defines when the timestamp does and doesn't update.

After Update/Fetch completes

The sequence of events that occurs after Updating and/or Fetching varies slightly depending on what initiated the processes. There are three possibilities.

1. Update with NO Fetch

Caused by clicking the Update button on the Event Summary page. When the Update completes, the following things happen:

  • The page refreshes and onscreen metrics update to show new values.
  • The On-Page Message shows a new timestamp corresponding to the completion time of the Update.
  • The Update button, Download menu and View Edit List button return to their available states.
2. Update WITH Fetch

Caused by requesting Download of most reports—unless the data is fresh and still in the cache—or by clicking Update on the Edit List page. When the Update/Fetch process completes, the following things happen:

  • Everything is the same as #1 All UX elements behave and display as above, plus
  • The requested data is provided if a report was requested, the system shows the Popup Selector, etc. (as per T206576). If the Update button on the Edit List page was clicked, then a new Edit List is displayed.
3. Fetch with NO update

Happens when the user requests download of a report after a recent Update, when page ID data is fresh and in the cache. When the Fetch process completes, the following things happen:

  • The page does not refresh on-page data remains as it was
  • On-page message returns to the timestamp, which remains that of the last update (i.e., the timestamp does not update).
  • The Update button, Download menu and View Edit List button return to their available states.
  • The requested data is provided the system shows the Popup Selector (as in T206576), so the user can select a format for the report.

Getting the files

When the user makes her selection, behavior is the same as for the existing Grant Metrics reports. Which is to say

Related Objects

jmatazzoni triaged this task as Normal priority.
jmatazzoni updated the task description. (Show Details)Thu, Jan 10, 7:38 PM
jmatazzoni renamed this task from Implement UX for the Update, Fetch and Download processes to Implement processes and UX for Updating, Fetching and Downloading.Thu, Jan 10, 8:35 PM
jmatazzoni updated the task description. (Show Details)
jmatazzoni updated the task description. (Show Details)
jmatazzoni updated the task description. (Show Details)Thu, Jan 10, 10:00 PM
jmatazzoni updated the task description. (Show Details)Thu, Jan 10, 11:16 PM
jmatazzoni updated the task description. (Show Details)Thu, Jan 10, 11:20 PM
jmatazzoni updated the task description. (Show Details)
jmatazzoni renamed this task from Implement processes and UX for Updating, Fetching and Downloading to Implement UX for Updating, Fetching and Downloading.Fri, Jan 11, 2:11 AM
jmatazzoni updated the task description. (Show Details)
jmatazzoni updated the task description. (Show Details)Fri, Jan 11, 2:15 AM
jmatazzoni updated the task description. (Show Details)Fri, Jan 11, 6:18 PM
jmatazzoni updated the task description. (Show Details)Fri, Jan 11, 11:40 PM
jmatazzoni updated the task description. (Show Details)Sat, Jan 12, 12:44 AM
jmatazzoni updated the task description. (Show Details)Sat, Jan 12, 2:14 AM
jmatazzoni updated the task description. (Show Details)

I'm sending this ticket back for re-estimation. I've completely rewritten the ticket, simplifying the UX somewhat but mostly clarifying how things really work, based on the new understanding I've documented in T213136. (It was a 3, FWIW.)

jmatazzoni updated the task description. (Show Details)Mon, Jan 14, 5:59 PM
jmatazzoni updated the task description. (Show Details)Mon, Jan 14, 6:01 PM
jmatazzoni updated the task description. (Show Details)Mon, Jan 14, 6:46 PM
jmatazzoni updated the task description. (Show Details)
jmatazzoni updated the task description. (Show Details)Mon, Jan 14, 7:29 PM
jmatazzoni removed the point value for this task.
jmatazzoni updated the task description. (Show Details)Tue, Jan 15, 6:02 PM
jmatazzoni updated the task description. (Show Details)Tue, Jan 15, 6:36 PM
jmatazzoni updated the task description. (Show Details)
jmatazzoni updated the task description. (Show Details)Tue, Jan 15, 6:41 PM
jmatazzoni updated the task description. (Show Details)
jmatazzoni moved this task from Backlog to Triaged on the Event Metrics board.Tue, Jan 15, 11:48 PM