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

Incompatible add-on dialog messages updated to be more end-user friendly #13673

Closed

Conversation

XLTechie
Copy link
Collaborator

@XLTechie XLTechie commented May 9, 2022

Note to Reef/Sean: the commit should be complete for merging, without needing the text of the PR pasted in.

Link to issue number:

Closes #13632

Summary of the issue:

It was thought by some users and developers, that the messages shown when an add-on can not be installed because of being too young or old for the current NVDA version (by indicating API version), were overly developer centric.

Specifically, one of the messages had the potential, if not read with great care and some understanding of NVDA internals, to make users think that the add-on was compatible with the current version of NVDA, even though it wasn't, thus causing confusion as to why it wasn't installable.

Description of how this pull request fixes the issue:

The messages have been updated to present more end-user friendly information, although at the cost of exactitude in the case of the add-on too old message.

Sample of the revised add-on too old for NVDA dialog:

Installation of this add-on has been blocked. Add-on Name version #.# is too
old to work with your version of NVDA.
The add-on is only compatible through the 2021 NVDA series. Please
download a newer version, or contact the add-on's author: Firstname Lastname
<email>, to ask for an update.

Sample of the revised add-on too new for NVDA dialog:

Installation of this add-on has been blocked. Your version of NVDA (2022.2)
is too old to support Add-on Name version #.#.
Please update NVDA to at least version 2025.1, to use this version of
Add-on Name.

Testing strategy:

  • Attempted to install an add-on which was too old for the current NVDA version. Sample: Dev Helper 1.4.
  • Created, and attempted to install, a version of the Numpad Nav Mode add-on, configured for a version of NVDA which does not yet exist. Available here.

Known issues with pull request:

Regarding the add-on too old for NVDA dialog: I am not really satisfied with the presentation of the last supporting NVDA version by year only. However, without a map of NVDA versions to API supported versions being carried somewhere in core, there seems no convenient way to provide an exact final version.

Naturally, such a mapping could be created, but then it must be maintained. I don't think that is desirable. If the current pattern of only breaking API compat on year.1 versions continues, this should only prove incorrect for 2019.3.1 situations, and we're far past that.

Change log entries:

Changes

The dialogs shown when an add-on can not be installed because it is incompatible, have been revised so they are easier to understand by end users. (#13632)

Code Review Checklist:

  • Pull Request description:
    • description is up to date
    • change log entries
  • Testing:
    • Unit tests
    • System (end to end) tests
    • Manual testing
  • API is compatible with existing add-ons.
  • Documentation:
    • User Documentation
    • Developer / Technical Documentation
    • Context sensitive help for GUI changes
  • UX of all users considered:
    • Speech
    • Braille
    • Low Vision
    • Different web browsers
    • Localization in other languages / culture than English

XLTechie pushed a commit to XLTechie/xlnvda that referenced this pull request May 9, 2022
…dly. (nvaccess#13673)

It was thought by some users and developers, that the messages shown when an add-on can not be installed because of being too young or old for the current NVDA version (by indicating API version), were overly developer centric. These have been updated to present more end-user friendly information.

- Revised the message shown when an add-on is too old for the current version of NVDA, giving the last supported NVDA version year.
- Revised the message shown when the current version of NVDA is too old for the prospective version of an add-on, giving the add-on's minimum NVDA version.
- Updated the variable names used for messages in _showAddonTooOldDialog() and _showAddonRequiresNVDAUpdateDialog().
- Made the translator messages more accurate.
@XLTechie XLTechie force-pushed the incompatibleAddonDialogFix branch from 750de81 to bdb4e1f Compare May 9, 2022 03:41
Copy link
Member

@seanbudd seanbudd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In case you missed it - the line endings for this file has changed, causing the PR diff to be for the whole file. Can you please restore the line endings or change them to LF in a separate commit/PR. You'll need to also perform a lint in a separate commit if you change the line endings.

incompatibleReasonMessage = _(
# Translators: The message displayed when installing an add-on package is prohibited,
# because it requires a newer version of NVDA than is currently in use.
"Installation of this add-on has been blocked. Your version of NVDA ({NVDAVersion}) "
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think "failed" is more typical UX terminology than "blocked"

Suggested change
"Installation of this add-on has been blocked. Your version of NVDA ({NVDAVersion}) "
"Installation of this add-on has failed. Your version of NVDA ({NVDAVersion}) "

Copy link
Collaborator Author

@XLTechie XLTechie May 9, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't mind that change if you really want it, but I think "blocked" is more accurate.

"failed" implies that some error condition or resolvable problem keeps the add-on from being installed.
Here, however, this is NVDA intentionally refusing to install this add-on, even though technically it could be installed.

In fact, other add-ons with these manifest conditions that were already installed when NVDA was updated, are not uninstalled. They are simply disabled. So there is no technical reason at all why an add-on could not be installed and kept disabled under these circumstances, except that NVDA is, quite literally, blocking it from happening.

We could switch to "Installation of this add-on is prohibited", which is the language used in the original translator comments. But I think "blocked" is less "in your face" IMO.

As an aside, note that the "has been blocked" language comes from the original versions of these dialogs. That is the one part of the messages that I didn't change. :)

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not particularly fussed. I'd like to leave this PR open for a short while to see what others think.

@AppVeyorBot

This comment was marked as resolved.

…dly. (nvaccess#13673)

It was thought by some users and developers, that the messages shown when an add-on can not be installed because of being too young or old for the current NVDA version (by indicating API version), were overly developer centric. These have been updated to present more end-user friendly information.

- Revised the message shown when an add-on is too old for the current version of NVDA, giving the last supported NVDA version year.
- Revised the message shown when the current version of NVDA is too old for the prospective version of an add-on, giving the add-on's minimum NVDA version.
- Updated the variable names used for messages in _showAddonTooOldDialog() and _showAddonRequiresNVDAUpdateDialog().
- Made the translator messages more accurate.
@XLTechie XLTechie force-pushed the incompatibleAddonDialogFix branch from bdb4e1f to b0e47b3 Compare May 9, 2022 04:29
@AppVeyorBot

This comment was marked as off-topic.

@seanbudd
Copy link
Member

seanbudd commented May 9, 2022

Requested a review from @Qchristensen to provide feedback on the new dialog text (see PR description).

@XLTechie XLTechie marked this pull request as draft May 13, 2022 10:10
@XLTechie
Copy link
Collaborator Author

After some conversation with @feerrenrut in #13632, I have decided to try another approach, rather than the "The add-on is only compatible through the 2021 NVDA series." message for add-ons that are too old.
Marking as draft until the code is revised.

@seanbudd
Copy link
Member

seanbudd commented Aug 8, 2022

Blocked by #13985

@seanbudd
Copy link
Member

@XLTechie - can this be closed now that #13985 is merged?
Do these strings still need improving?

@seanbudd seanbudd added feature/browse-mode feature/addon-store Features / behavior of the add-on Store and removed blocked feature/browse-mode labels Jun 13, 2023
@XLTechie
Copy link
Collaborator Author

I forgot about this one. It is no longer relevant.

@XLTechie XLTechie closed this Jun 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature/addon-store Features / behavior of the add-on Store
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Attempting to install an incompatible add-on presents a dialog that can be confusing to some users
3 participants