Disable all animations toggle [Accessibility][UX][Feature Request]
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
- Damus user has option to disable (and enable) all animations in the
SettingsMenu
Mockup:

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?"

-Gabe & Angela
Good idea. Should be easy to implement.
Anyone working on this one? I guess that would mean not animating GIFs as well?
Anyone working on this one? I guess that would mean not animating GIFs as well?
I believe so.
I guess that would mean not animating GIFs as well?
Yes 🙏
Hi all, I have a PR up proposing to switch image libraries. I will implement this with whichever library is decided on.
Instead of having a separate setting inside Damus for disabling animations, it should simply respect the user's UIAccessibility. isReduceMotionEnabled value.
Instead of having a separate setting inside Damus for disabling animations, it should simply respect the user's
UIAccessibility. isReduceMotionEnabledvalue.
Great suggestion. I am checking now with the user who requested this feature.
@bryanmontz
There are two choices for where disabling motion setting can take place for Damus/iOS:
- in app Damus setting
- 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 Thanks for checking and continuing the conversation!
To each their own, but here's why I respectfully disagree:
- 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.
- 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 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
- Damus user has option to disable (and enable) all animations in the Settings Menu,
-
As a default setting, Damus checks and imports user's iOS
UIAccessibility. isReduceMotionEnabledvalue (one time check. For instance, if user has iOS reduce motion enabled, and installs Damus, Damus has animations disabled by default), - If user changes setting in Damus, this overrides iOS.
Seems fine to me, but I'm not in charge. Just giving my opinion. Thanks again.
"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