falzonv / discreet-launcher

Enjoy a clean home screen while accessing everything in an instant! (Profitez d'un écran d'accueil épuré tout en accédant à tout en un instant !)
https://vincent-falzon.com
GNU General Public License v3.0
216 stars 41 forks source link

User Experience: First Launch and Accessibility Support #296

Closed bmivzkrp closed 1 week ago

bmivzkrp commented 1 year ago

@falzonv The main idea of DL is that we have a clean home screen. But it will be confusing for a while for blind users who are using DL for the first time. They end up with a blank screen where the screen reader doesn t say anything, so they mistakenly think something is wrong. I propose the following concept: after the first launch of DL, the user receives a dialog box with the offer to enable accessibility support, as well as a brief explanation that this is required if the user uses a screen reader such as TalkBack. It also says that even if the user opts out, they can turn it on later in the settings. And, accordingly, the Ok and Cancel buttons. I think this is the best solution, because if DL will detect if the user is using a screen reader, it can be interpreted as a privacy issue. In addition, not all blind users enable accessibility support.

falzonv commented 1 year ago

Hello @bmivzkrp,

Thank you for the suggestion and sorry for the late answer, I am very busy with my job these weeks...

To be honest, I don't really like apps which open unnecessary dialog boxes on first launch. Even though it would be useful for blind people, most non-blind users would probably be confused and wondering why their launcher is talking about screen readers (user with less technical knowledge may even worry that there is some virus reading their screen).

We may try something like auto-enable touch targets if accessibility support is enabled, I am not sure how to check this in Android but this should be possible (no privacy issue as DL wouldn't store the status and works completely offline anyway). Detecting if there is a screen reader may not be feasible due to the variety of them, but I guess accessibility support needs to be enabled to use a screen reader in the first place (no?). On the other hand, some users may have accessibility support enabled but do not want touch targets in DL so this would introduce conflicts between auto and manual enabling.

Another idea would be to set a content description to the empty home screen when touch targets are disabled. For non-blind users it would change nothing as the content description is invisible, but screen readers would read it to blind users. However it would have to be a passive text, so the user would still need to navigate in the menu to enable the setting themselves.

No perfect solution so far, but I will think about it...

Best regards.

bmivzkrp commented 1 year ago

@falzonv Interesting... Here s what I came up with: in the Android settings, we have not one, but two flags. Discreet Launcher, as well as Discreet Launcher (accessibility support). What do you think about it? In general, I agree with you.

falzonv commented 1 year ago

Hello,

Sorry again for the late answer...

Here s what I came up with: in the Android settings, we have not one, but two flags. Discreet Launcher, as well as Discreet Launcher (accessibility support).

I am not sure what you mean by flags in Android settings, where do you find these? (I checked Discreet Launcher app details and the accessibility section but I saw nothing special) Or do you have an example of app using such flags? (preferably open source so that I can check how it's implemented)

Best regards

bmivzkrp commented 1 year ago

Hello.

Sorry, I must have expressed myself incorrectly. I propose the following concept: in the Android system settings, we can choose the desired launcher. I suggest making the Discreet Launcher appear there with not one, but two flags. That is, in the list of launchers presented in the Android settings, the user can choose either Discreet Launcher or Discreet Launcher (accessibility support).

falzonv commented 1 year ago

Hello,

Ok thank you for the clarification, good idea indeed :-) I am not sure how to have two entries in this menu for a single app but I will investigate.

Best regards.

falzonv commented 1 month ago

Hello @bmivzkrp,

Sorry for the very very long delay... Without entering in the details, since almost one year now I have repetitive strain injuries in both wrists and had to reduce a lot my computer activities, especially programming.

Lately, I was finally able to test and search about the ideas suggested above and found out that:

Since I still wanted to do something about this ticket, I decided to go with the content description idea at the end of my first message, it is not perfect but will work on all devices and doesn't increase code complexity:

Another idea would be to set a content description to the empty home screen when touch targets are disabled. For non-blind users it would change nothing as the content description is invisible, but screen readers would read it to blind users. However it would have to be a passive text, so the user would still need to navigate in the menu to enable the setting themselves.

This will be implemented in the next release for which I will post a message in the translation update ticket in a few minutes (already prepared the draft over last days, like for this message).

Note: in the last release I also moved the touch targets option upwards in the settings to make it easier to find.

Best regards

bmivzkrp commented 1 month ago

Thank you. I agree with that.

03.08.24 00:08, Vincent Falzon:

Hello @bmivzkrp,

Sorry for the very very long delay... Without entering in the details, since almost one year now I have repetitive strain injuries in both wrists and had to reduce a lot my computer activities, especially programming.

Lately, I was finally able to test and search about the ideas suggested above and found out that:

  • Checking accessibility support status is not reliable as some devices report wrong status, the behavior seems to also vary across Android versions.
  • Trying to have two entry points for the launcher would bring confusion by showing the app twice in several places. Some of this duplication could probably be managed in Discreet Launcher at the cost of increasing code complexity and maintenance effort, but I cannot really do that anymore.

Since I still wanted to do something about this ticket, I decided to go with the content description idea at the end of my first message, it is not perfect but will work on all devices and doesn't increase code complexity:

Another idea would be to set a content description to the empty home screen when touch targets are disabled. For non-blind users it would change nothing as the content description is invisible, but screen readers would read it to blind users. However it would have to be a passive text, so the user would still need to navigate in the menu to enable the setting themselves.

This will be implemented in the next release for which I will post a message in the translation update ticket in a few minutes (already prepared the draft over last days, like for this message).

Note: in the last release I also moved the touch targets option upwards in the settings to make it easier to find.

Best regards

falzonv commented 1 week ago

This has been implemented in v7.6.0 which is now published in F-Droid