davidacm / NVDA-IBMTTS-Driver

This project is aimed at developing and maintaining the NVDA IBMTTS driver. IBMTTS is a synthesizer similar to Eloquence. Please send your ideas and contributions here!
GNU General Public License v2.0
56 stars 23 forks source link

Do *not* steal my focus with your update requests #91

Open ctoth opened 1 year ago

ctoth commented 1 year ago

Especially do not automatically focus me on the yes button so as to initiate your download! Use system tray notifications or some similar mechanism if you must inform me of updates. I should never, ever be typing and hit space and trigger your poorly-designed, frankly user-hostile update system.

Can you tell I'm a little frustrated here?

Please fix this poor user experience ASAP!

davidacm commented 1 year ago

Hi @ctoth,

Thanks for your report. Is a good suggestion that no one reported before.

Until this issue is fixed, I have some suggestions for you:

  1. You can use the Code Factory add-on, it costs around $69 including vocalizer, and it sure has no usability or performance issues. You know, the paid things should be better, right? If you don't know where to get it, this is the link.
  2. Also, instead of complaining, criticizing and demanding,, you have the option to send a pull request for the add-on you use for free, with the problem corrected. I'm sure you know how to do it, this can be easily fixed.
  3. You can disable the poor designed UI dialog if you go to NVDA settings, IBMTTS category, and uncheck the "Check for update" option

We are humans, and as humans we have mistakes sometimes. I'm not an UI designer, I just used the gui.messageBox that hasn't a funtion or flag to set the focus to the "no" button.

I await your PR asap. If not, I'll correct it when I have time, as you know very well as an open source collaborator that you are, programmers also have to eat and therefore work to earn money and be able to buy food. Those trivial and silly things that humans need.

Cheers, David CM

davidacm commented 1 year ago

Hi @ctoth, I did some tests using windows notifications to ask the user for the update of the driver. In some cases, is not possible to open the notifications to confirm or reject it, and there are many users that don't know how to open the notifications system of windows.

So, I won't implement the confirming update via windows notifications. I thinking about the following solutions, all of them require to steal the focus:

  1. Check updates when NVDA starts. Something like the NVDA update dialog, to confirm or reject it.
  2. Create a customized dialog, focusing on a non action control. So, the user can accept or reject the update without mistakes.

@Mohamed00, @cary-rowen, @CyrilleB79, and others, what do you think about it?

Since the updates aren't released very often, I don't consider this an immediate priority, but this need to be solved anyway.

If anyone wants to work in this issue, please tell me the proposed solution firstbefore working on it.

For now, unless I receive very good arguments, I rule out the possibility of implementing it through windows notifications.

Regards, David.

cary-rowen commented 1 year ago

Hi @ctoth I kindly request that your comments be more considerate. It is natural for people to make mistakes, and we welcome any proposed corrections or friendlier solutions. It's important to remember that this project is completely free, and as such, it would be more fitting to express gratitude rather than complaints.

@davidacm Given that NVDA already features an add-on store, my preference would be for this add-on to be incorporated there. This isn't pirated software, and I believe it would offer a much friendlier user experience if updates could be managed directly through the add-on store.

Thanks

CyrilleB79 commented 1 year ago

@davidacm, first of all, thanks for all the work on that add-on.

Since you ask for my opinion: I would say that stealing the focus is not a good user experience for an NVDA add-on. What if the user has 20 add-ons and all use this same mechanism? On the other hand, I understand your concern about people not knowing how to focus notifications, or even not paying attention to it.

IMO, a good solution would be to have the following controls in IBMTTS config panel:

At last, the best solution would be to submit the add-on to the Add-on Store. Since NVAccess has now advertised more clearly that they are not responsible for the add-ons delivered in the add-on store, let's wait that the store is officially launched in a stable release; but a few weeks later, you may ask NVAccess if it would bother them if you submit your IBMTTS driver in the store.