Skip to content
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

Add QR brightness tips screen #389

Merged
merged 6 commits into from
Jul 20, 2023
Merged

Conversation

overcat
Copy link
Contributor

@overcat overcat commented Jun 13, 2023

@jdlcdl
Copy link

jdlcdl commented Jun 13, 2023

Concept ACK, at the least, and tested
...however I'd personally prefer 3s instead of 2s for the delay. Just my 2c.

I think that this may actually resolve an issue where we've considered changing the default brightness (#377 and #380), because as long as the user knows how to do this, we might not need to default to a strangely dark qrcode background.

Also, I really like that there is an Advanced Settings option to disable QR brightness tips, and that it's default=enabled so that new users will see it; they can disable these notices once they learn how important it is.

@newtonick
Copy link
Collaborator

Concept ACK

@SmokeTag
Copy link
Contributor

ACK tested

When testing I tried pressing one of the push buttons during the QR brightness tip screen which resulted in skipping the QR instead of skipping the brightness tip screen.

@overcat
Copy link
Contributor Author

overcat commented Jun 25, 2023

ACK tested

When testing I tried pressing one of the push buttons during the QR brightness tip screen which resulted in skipping the QR instead of skipping the brightness tip screen.

Thank you, I can reproduce it and will fix it as soon as possible.

@jdlcdl
Copy link

jdlcdl commented Jun 25, 2023

Well done @SmokeTag for catching that! I was able to confirm as well.

and @overcat, I confirm that your latest commit 1e11f09 corrects it.
Also, I like the extra second for time to read the message.

@newtonick newtonick self-requested a review June 29, 2023 02:21
@newtonick newtonick added the enhancement New feature or request label Jun 29, 2023
@newtonick newtonick added this to the 0.6.1 milestone Jun 29, 2023
@newtonick
Copy link
Collaborator

ACK Tested

@kdmukai
Copy link
Contributor

kdmukai commented Jun 30, 2023

I think any new UI element (esp if it isn't just a standard ButtonListScreen should have images or a video demo in the PR.

20230630_091655_edit.mp4

@overcat
Copy link
Contributor Author

overcat commented Jun 30, 2023

I think any new UI element (esp if it isn't just a standard ButtonListScreen should have images or a video demo in the PR.

20230630_091655_edit.mp4

Thank you for your reminder. I will follow this point in future PRs.

@easyuxd
Copy link
Contributor

easyuxd commented Jun 30, 2023

Super useful feature. Thanks, @overcat!

Possible enhancement: I'm thinking it could be helpful to provide the help text in context of the QR code rather than introducing a separate (blank) screen, so I put together a couple quick mocks. Thoughts?

qr-brightness-snackbar

@kdmukai, I'm trying to recall if this is what the latest snackbar component looks like. Do you have an example from the current build?

@newtonick
Copy link
Collaborator

Possible enhancement: I'm thinking it could be helpful to provide the help text in context of the QR code rather than introducing a separate (blank) screen, so I put together a couple quick mocks. Thoughts?

qr-brightness-snackbar

I like the Brightness Up/Down screen on the left. I think this could be implemented as a GUI component that renders for both static and animated QRs. @easyuxd how do you imagine this help text disappearing/fading out? I think it would be nice for it to flash up for about 1 second and fade out quickly when any QR initially is displayed. Then when the brightness is changed (up or down) it would display again for 1 second and fade out again.

@easyuxd
Copy link
Contributor

easyuxd commented Jul 1, 2023

I love your idea, @newtonick.

Here's what it would look like if the snackbar/overlay holds on screen for 1000ms and fades in/out with a standard 300ms transition.

qr-snackbar-anim

@overcat
Copy link
Contributor Author

overcat commented Jul 2, 2023

Hi @easyuxd, if it is an animated QR code, should the QR code change when the snackbar/overlay appears, or should it remain unchanged?

@kdmukai
Copy link
Contributor

kdmukai commented Jul 2, 2023

@easyuxd food for thought (I am in no way convinced this is necessarily a better word choice, though!):

^ Brighter
⌄ Darker

Or perhaps "Dimmer".

@easyuxd
Copy link
Contributor

easyuxd commented Jul 2, 2023

Hi @easyuxd, if it is an animated QR code, should the QR code change when the snackbar/overlay appears, or should it remain unchanged?

@overcat -- I don't see a reason why the behavior would change. The QR code would continue to animate as usual while the overlay appears momentarily.

^ Brighter
⌄ Darker

@kdmukai Certainly more succinct! Increase/decrease brightness is another option. I don't have a strong preference, myself. Which language are users going to best associate with screen brightness (and when localized to other languages)?

@overcat
Copy link
Contributor Author

overcat commented Jul 3, 2023

Hi @easyuxd, if it is an animated QR code, should the QR code change when the snackbar/overlay appears, or should it remain unchanged?

@overcat -- I don't see a reason why the behavior would change. The QR code would continue to animate as usual while the overlay appears momentarily.

OK, I raised this question because we now have ToastOverlay, but when it appears, the animated QR code does not change.

@easyuxd
Copy link
Contributor

easyuxd commented Jul 3, 2023

OK, I raised this question because we now have ToastOverlay, but when it appears, the animated QR code does not change.

@overcat Thanks for the context. What's the difference between Snackbar and Toast? Do you have a toast example (visual/interaction) you can share?

@overcat
Copy link
Contributor Author

overcat commented Jul 3, 2023

OK, I raised this question because we now have ToastOverlay, but when it appears, the animated QR code does not change.

@overcat Thanks for the context. What's the difference between Snackbar and Toast? Do you have a toast example (visual/interaction) you can share?

When you insert/remove the SD card, you will see this toast.

IMG_0088.mov

@easyuxd
Copy link
Contributor

easyuxd commented Jul 3, 2023

@overcat Thanks for the visual aid -- super helpful.

We don't need to interrupt the experience unless there's rationale supporting it, like system messaging that users must dismiss. And messaging like this is currently done using Dialogs today so that we can include CTAs:

Dialog


If we think we have 2 distinct messaging use cases that require nuanced interactions (see toast vs snackbar) I'd propose 2 variants of the component:

Messaging-Toast

  • System messaging
  • Non-dismissable
  • Interrupts experience

Messaging-Snackbar:

  • Task-related messaging
  • Dismissable
  • Does not interrupt experience

Otherwise (and I think this would be much simpler), we could just align the SD Card messaging with the single messaging component behavior proposed in this PR and have one global messaging component everywhere. This would mean not interrupting users when they add/remove an SD card.

@overcat
Copy link
Contributor Author

overcat commented Jul 9, 2023

Hi, I have made some updates and here is the video presentation: https://imgur.com/a/15OjKmH

l don't know why I can't upload videos smoothly on GitHub :-(

IMG_0091.mov

@kdmukai
Copy link
Contributor

kdmukai commented Jul 15, 2023

Note: suggested refactoring and UI improvements submitted here: overcat#1

@kdmukai
Copy link
Contributor

kdmukai commented Jul 15, 2023

20230715_093853_edit.mp4

* Refactor to use existing components

* final tweaks

* Update screen.py

* Adding comments, TODO
@kdmukai
Copy link
Contributor

kdmukai commented Jul 16, 2023

ACK on the latest version of this (incorporates my suggested refactoring and UI tweaks)!!

@jdlcdl
Copy link

jdlcdl commented Jul 16, 2023

ACK ef70a8d

It's looking very nice.

@newtonick
Copy link
Collaborator

ACK and tested! Awesome work!

@newtonick newtonick merged commit 013dd50 into SeedSigner:dev Jul 20, 2023
@easyuxd easyuxd mentioned this pull request Aug 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Development

Successfully merging this pull request may close these issues.

[Enhancement] Create UI element to explain screen brightness adjustment technique during QR presentation
6 participants