-
Notifications
You must be signed in to change notification settings - Fork 39
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Activity indicator for file download / decryption. #702
Activity indicator for file download / decryption. #702
Conversation
Upload size limit for individual files is 500 MB. How long does it take at or near that limit in Qubes? |
@eloquence aha... good point. I've just been uploading goofy images and the like. In any case, the worst that will happen is the indicator will be simply displayed for longer. |
|
@ninavizz OK lets chat about this on Slack. :-) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like the download links are out of alignment and with extra space after clicking on them, see before:
and after:
Also, the active refresh button would look better if it were the same light blue as the highlighted "DOWNLOAD" link and if it didn't flash by so quickly. Maybe adding a 1-2 second delay would improve the UX here. We can discuss in tomorrow's UX discussion.
@creviera by out of alignment do you mean they don't have the same width from before and afterwards..? |
FWIW, I've not actually changed the spacing / layout of anything yet. I've just updated the icon on the button to the "spinner". So this out-of-alignment problem is probably already there before this PR was submitted. Happy to fix though, just need to know what you want. :-) |
Also, (sorry for the number of message) the colour changes are what were defined in the Zepelin page I linked to. I agree, the colour looks "nicer" if it remains the same as the "DOWNLOAD" link. But I'm a programmer, what do I know..? ;-) |
OK... so I've been looking into the layout of the file state as flagged by @creviera. It appears it was broken before this PR (current master displays this behaviour for me). I'm in the process of trying to clean this up. |
Whoop-de-do. This took a while to figure out... ;-) (Note hoe everything is all aligned now...) Happy to change anything. Just let me know if this looks OK to you. However I strongly disagree with including a delay of a few seconds so people see the spinner. To my mind that's making the UI appear inaccurate to the user. If something's finished, I humbly suggest the UI should reflect that. 🙂 After all, we want folks to trust this application right..? 😱 |
OK... borked some tests so fixing before I push. |
Please check again. Thanks! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The animation looks nice. Just two requests (the last request you can ignore if you think it's outside the scope of this PR/ if you'd like to continue discussion and followup in a separate issue):
(1) See how clicking on a download link while not logged in causes an error message to appear that says you must be logged in to perform this action? We don't want to show the download as in progress when we're not downloading the file, so this needs to be updated.
(2) If the download finishes very quickly (like less than a couple-few seconds), then I don't think we should show the animation because it looks broken when you can't tell what is flashing before your eyes. I think this is what @ninavizz mentioned here: #702 (comment). Basically you could add a timer that begins when a click occurs and then waits a couple seconds before animation begins.
Whoops I meant we maybe shouldn't show the spinner if it's only spinning for a second because it's so fast it's confusing what happened. |
@creviera many apologies -- my misunderstanding. I see what you mean. I don't know about you, but I sometimes find it infuriating if the computer flashes some important looking message up only for it to disappear immediately after you've registered there's an important looking message there and "dammit, what on earth did it say..?". ;-) This is very much a case of helping the UI signal things in "human time" rather than the speedier "computer time". I guess we could schedule the change in UI state after something like 0.3 seconds, i.e. if the network latency is low and the file size is small, then it'll complete before then... BUT if there's a longer delay that's perceivable to the user, then the UI will look as if it's doing something. I'll play around to see what I can do in this respect, but would welcome thoughts from more UX focussed folks with more experience and expertise than a numpty like me. :-) @ninavizz ??? |
OK... I've just used a |
Hi @ntoll I'd like to get you permanent art for this spinner, but still do not know what format the art would need to be in. Could you let me know—and I'll create something straight away, for this PR and other animation needs? :D The timing concerns y'all discuss up above, I feel could be helpful to chat about synchronously before speaking to, here. Want to make sure I'm clearly understanding everyone/everything, first. |
This is looking so good! I see you addressed issue 2 from my review, but it looks like issue 1 still exists: |
@creviera fixed in latest push. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm, both issues addressed and confirmed to be fixed!
Description
Fixes #288.
Q: downloading involves network latency. Decrypting is pretty instantaneous for me (am I missing something here?).
Here's a screenie-gif of the progress so far:
The behaviour in the screenie (as of time of writing) is only what is implemented in the PR (along with a test update).
Please confirm:
refresh_active.svg
image. Updates to this welcome. :-)Test Plan
Added additions to relevant unit test.
Checklist
If these changes modify code paths involving cryptography, the opening of files in VMs or network (via the RPC service) traffic, Qubes testing in the staging environment is required. For fine tuning of the graphical user interface, testing in any environment in Qubes is required. Please check as applicable:
If these changes add or remove files other than client code, packaging logic (e.g., the AppArmor profile) may need to be updated. Please check as applicable: