damus icon indicating copy to clipboard operation
damus copied to clipboard

Disable all animations toggle [Accessibility][UX][Feature Request]

Open alltheseas opened this issue 2 years ago • 12 comments

User Story

As a Damus user who has an accessibility negative user experience with experiencing animations, I would like a setting that allows me to disable all animations, so that I can improve my Damus user experience.

Acceptance Criteria

  1. Damus user has option to disable (and enable) all animations in the Settings Menu

Mockup: Disable Animations

Origin "Just sent a ⚡️Tip of 1,000,00 Sats to #[0] for raising a topic to #NostrDevs that will allow his friend who lives with epilepsy to join Nostr. Topic raised on 02/19: Client Accessibility. #NostrDevs: Can a stop all animation feature be created and added to Client Settings features?"

image

-Gabe & Angela

alltheseas avatar Feb 21 '23 16:02 alltheseas

Good idea. Should be easy to implement.

tyiu avatar Feb 21 '23 19:02 tyiu

Anyone working on this one? I guess that would mean not animating GIFs as well?

joelklabo avatar Feb 21 '23 23:02 joelklabo

Anyone working on this one? I guess that would mean not animating GIFs as well?

I believe so.

tyiu avatar Feb 22 '23 00:02 tyiu

I guess that would mean not animating GIFs as well?

Yes 🙏

alltheseas avatar Feb 22 '23 00:02 alltheseas

Hi all, I have a PR up proposing to switch image libraries. I will implement this with whichever library is decided on.

OlegAba avatar Feb 22 '23 03:02 OlegAba

Instead of having a separate setting inside Damus for disabling animations, it should simply respect the user's UIAccessibility. isReduceMotionEnabled value.

bryanmontz avatar Feb 24 '23 12:02 bryanmontz

Instead of having a separate setting inside Damus for disabling animations, it should simply respect the user's UIAccessibility. isReduceMotionEnabled value.

Great suggestion. I am checking now with the user who requested this feature.

alltheseas avatar Feb 24 '23 16:02 alltheseas

@bryanmontz

There are two choices for where disabling motion setting can take place for Damus/iOS:

  1. in app Damus setting
  2. iOS has a reduce motion settings in accessibility/motion menu. Damus can read the iOS setting and respect this choice. Which do you suggest is the better option, and why?

Accessibility User Feedback:

#1. Why: it shows the client thought to include the setting option. Similar to language translation options; the consideration is there as an option of inclusion/user reach.

https://damus.io/note1z6r36tyj4kr5hhhg0k0s2rjtxajqa7j9txv2lmnjaaq4y7aphsnqdz6umh

alltheseas avatar Feb 24 '23 17:02 alltheseas

@alltheseas Thanks for checking and continuing the conversation!

To each their own, but here's why I respectfully disagree:

  1. A user with the Reduce Motion setting turned on has already declared that they don't want to see unnecessary motion, so there's no further decision that they should need to make by flipping another switch in each app. Apple's way for their platforms is that things should "just work", meaning the user should have to fiddle with things the least they possibly could and still get their desired result.
  2. The developer of any given app respecting that setting by default shows as much care about accessibility settings as does having another switch in the app.

I suppose that as long as the in-app setting's default value is to read the accessibility value, and then give the user the option to override that, it would be fine. I just wouldn't want the app to default to showing animations when the accessibility setting was to not show it.

bryanmontz avatar Feb 24 '23 17:02 bryanmontz

@bryanmontz I hear you, and I believe I understand where the accessibility user feedback is coming from. How does this sound:

User Story

As a Damus user who has an accessibility negative user experience with experiencing animations, I would like a visible in-app Damus setting that allows me to disable all animations, so that I feel included and can improve my Damus user experience.

Acceptance Criteria

  1. Damus user has option to disable (and enable) all animations in the Settings Menu,
  2. As a default setting, Damus checks and imports user's iOS UIAccessibility. isReduceMotionEnabled value (one time check. For instance, if user has iOS reduce motion enabled, and installs Damus, Damus has animations disabled by default),
  3. If user changes setting in Damus, this overrides iOS.

alltheseas avatar Feb 24 '23 17:02 alltheseas

Seems fine to me, but I'm not in charge. Just giving my opinion. Thanks again.

bryanmontz avatar Feb 24 '23 17:02 bryanmontz

"I spoke to my friend this afternoon who couldn't join due to this issue. she said that while the ios setting works, it would be more assuring to have an in app setting to show it's being considered and to offer a feeling of safety. If possible it could just be presented as an option in the client that is automatically enabled according to the ios setting."

https://damus.io/note1dwkgcudjg3jtn5004dnljxjchz02nj0cvtlgq9v2m0t9qupmz8wquytktk

alltheseas avatar Feb 24 '23 22:02 alltheseas