freedomofpress / securedrop-client

a Qt-based GUI for SecureDrop journalists 📰🗞️
GNU Affero General Public License v3.0
41 stars 39 forks source link

Animate the refresh active icon #343

Closed sssoleileraaa closed 4 years ago

sssoleileraaa commented 5 years ago

Description

When a user clicks on the refresh icon, we display the refresh_active icon. This should be animated ("rotating at a pleasingly elegant pace... nothing frenetic or sluggy")

eloquence commented 4 years ago

Before we can consider this dev-ready, I think we should resolve the following questions:

1) Do we want to keep user-initiated syncs around at all?

2) What events should trigger this animation? Only user syncs (provided we keep them), or background syncs as well? How about user-initiated downloads or other network operations? Note that downloads currently add a "Downloading file" status update to this same area of the client, so we're already overloading it semantically beyond syncs.

3) For a sync, should the animation only last for the duration of the initial "is there anything new" check, or until all messages and replies associated with it have been downloaded?

Back in July, Nina created this spreadsheet which conveys a set of proposals for how the icon and status message should be updated based on user actions, and which proposes answers to some (but not all) of these questions.

For the beta, I would encourage us to look for ways to dramatically reduce complexity here. Here's a proposal:

In other words, treat it as the "sync progress area", not the "all network activity reported here" area. Even in that context, we might want to not animate the icon during the "is there anything new" stage of the sync, if we perform this check constantly, because that could get very visually annoying and distracting.

eloquence commented 4 years ago

@ninavizz and I discussed the approach outlined above today. If we go down this road, it may make sense to change to a different icon entirely -- the current icon selection very much reflects the intention of an interactive refresh.

For an operation that frequently runs in the background, something like a color indicator, a pulse loader, or a subtle spinner may be a better fit. And we'd still want to decide what stages of the operation to animate it for: just the metadata sync, just the message/reply downloads, or both.

redshiftzero commented 4 years ago

655 is closed so this one will get some broader changes since the user will no longer click on the refresh icon in order to trigger a sync

ninavizz commented 4 years ago

OH!! I think w can close this—or shd it be a new issue for Animate The Sync Icon?

ninavizz commented 4 years ago

Clozing, cuz there ain't no more refresh button!