Skip to content

Add an action to review add-ons in the store#15756

Merged
seanbudd merged 15 commits into
nvaccess:masterfrom
nvdaes:reviewUrlAction
Nov 12, 2023
Merged

Add an action to review add-ons in the store#15756
seanbudd merged 15 commits into
nvaccess:masterfrom
nvdaes:reviewUrlAction

Conversation

@nvdaes

@nvdaes nvdaes commented Nov 7, 2023

Copy link
Copy Markdown
Collaborator
  • Addan action to review add-ons in the store
  • Fix linter error and add changelog

Link to issue number:

Closes #15576

Summary of the issue:

The add-on store doesn't have a mechanism to see and provide feedback for add-ons.

Description of user facing changes

  • Now, it's possible to open a webpage to provide or see feedback for add-ons from an action added to the add-on store.
  • The review URL is shown in the details panel for add-ons including a reviewUrl in metadata.

Description of development approach

An action has been added to provide feedback for add-ons, in a similar way to the approach followed for the license URL. Also, this has been added to the details panel.

Testing strategy:

  • Tested manually in English to ensure that "f" shortcut doesn't produce conflicts with other shortcuts in the actions menu.
  • Ensure that the action is available for Alzaker add-on, which includes a reviewUrl in metadata. Also, ensure that the review URL is shown in the details panel.

Known issues with pull request:

None

Code Review Checklist:

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

@Adriani90

Copy link
Copy Markdown
Collaborator

Thanks Noelia for this great work! I think this action and the feedback process from submiting to how the feedback reaches the addon author definitely diserves a sub chapter in the user guide.

@nvdaes

nvdaes commented Nov 9, 2023

Copy link
Copy Markdown
Collaborator Author

Thank you @Adriani90 . Let's see how to make a subchapter in the user guide. It's not easy since actions aren't described in detail. I'll try to do it.

@nvdaes

nvdaes commented Nov 9, 2023

Copy link
Copy Markdown
Collaborator Author

@Adriani90 , I have added a subchapter in the user guide.
I don't know if we should provide examples of some reviews. I suppose that this is not needed, but I ask here in case.
I reviewed Windows App Essentials, reacting with hooray in the discussion (without specifying a version), and left a comment for mathCat 0.3.8, highlighting a feature of this version: the addition of CMU, a braille for math used in Spain and for Portuguese.
I think that this will be ready for review unless you have any other comments.

@nvdaes nvdaes changed the title reviewUrlAction Add a reviewUrl action in the add-on store Nov 9, 2023
@nvdaes nvdaes changed the title Add a reviewUrl action in the add-on store Add an action to review add-ons in the store Nov 9, 2023
@XLTechie

XLTechie commented Nov 9, 2023 via email

Copy link
Copy Markdown
Collaborator

@nvdaes

nvdaes commented Nov 9, 2023

Copy link
Copy Markdown
Collaborator Author

Ok @XLTechie . Then let's mark this as ready for review.

@nvdaes nvdaes marked this pull request as ready for review November 9, 2023 13:54
@nvdaes nvdaes requested review from a team as code owners November 9, 2023 13:54
Comment thread user_docs/en/userGuide.t2t Outdated
Comment thread user_docs/en/userGuide.t2t Outdated
Comment thread user_docs/en/userGuide.t2t Outdated
Comment thread user_docs/en/userGuide.t2t Outdated
+++ Reviewing and consulting feedback for add-ons +++[AddonStoreReviews]
Before installing an add-on, you may want to see opinions and reactions by others.
Also, you may want to provide feedback about add-ons to help other users.
To see or share your feedback about add-ons, select an add-on and use the See or provide feedback option in the actions menu.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I really do think that "read" is a better word than "see" for both the option and the usage. Not for any "ableist language" reason, but just because it flows better in English IMO.

Also, for this one, you are not going to "see your feedback", or even "read your feedback"--you are going to either read others' feedback, or leave your own.

Lastly, I think the menu option should be shorter--perhaps just "Reviews". I have only changed the word "see" in the suggestion though.

Suggested change
To see or share your feedback about add-ons, select an add-on and use the See or provide feedback option in the actions menu.
To read what others have said, or share your feedback about add-ons, select an add-on and use the Read or provide feedback option in the actions menu.

Comment thread user_docs/en/userGuide.t2t Outdated
Comment thread user_docs/en/userGuide.t2t Outdated

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Thanks for adding this to the user guide @nvdaes.
I have left some comments and suggestions for your consideration, to perhaps help it flow better in English.

Co-authored-by: Luke Davis <8139760+XLTechie@users.noreply.github.com>
@XLTechie

XLTechie commented Nov 9, 2023

Copy link
Copy Markdown
Collaborator

@nvdaes, Do you have some unrelated changes in your diff? Like changes to nvWave.py, etc.? GitHub is saying so, the way that I read it.

nvdaes and others added 4 commits November 9, 2023 15:12
Co-authored-by: Luke Davis <8139760+XLTechie@users.noreply.github.com>
Co-authored-by: Luke Davis <8139760+XLTechie@users.noreply.github.com>
Co-authored-by: Luke Davis <8139760+XLTechie@users.noreply.github.com>
Co-authored-by: Luke Davis <8139760+XLTechie@users.noreply.github.com>
@nvdaes

nvdaes commented Nov 9, 2023

Copy link
Copy Markdown
Collaborator Author

@XLTechie , thanks for your useful suggestion.
About diffs, I tried to merge last changes from master. Is not OK?

@XLTechie

XLTechie commented Nov 9, 2023 via email

Copy link
Copy Markdown
Collaborator

@nvdaes

nvdaes commented Nov 9, 2023

Copy link
Copy Markdown
Collaborator Author

@XLTechie wrote:

So all is fine with that now.

Great. Thanks for your valuable comments.

details.sourceURL
)

if details.reviewUrl is not None:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Shouldn't the "reviewUrl" variable in all of these places, be capitalized the same as "details.sourceURL"?

@nvdaes

nvdaes commented Nov 9, 2023

Copy link
Copy Markdown
Collaborator Author

Shouldn't the "reviewUrl" variable in all of these places, be capitalized the same as "details.sourceURL"?

I think no since in metadata the variable is set as reviewUrl, and I didn't realise about capitalization, and discussions are created for some add-ons at this moment, and in jsonschema of addon-datastore-validation the variable is also named reviewUrl.

),
AddonActionVM(
# Translators: Label for an action that opens the webpage to see and send feedback for the selected add-on
displayName=pgettext("addonStore", "See or provide &feedback"),

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

My same comment here as in the documentation: in my opinion this should be "Read", not "See". Or, the entire option should just be called "Reviews"--this menu tends to use short options.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I agree - this should just be "Reviews"

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

@seanbudd and @XLTechie, "Review" is not suitable IMO:

  • "Review" may let think to a developer's review. This is more true for add-ons given reviewing add-ons was part of the process to publish add-ons on the old website. This can lead to confusion.
  • At least in French, I would have difficulty to translate "Review" so that people understand that it is for anybody.

I would prefer the longer but more explicit "Read and provide feedback". But if you stick to something shorter, "Feedback" seems more suitable than "Review".

Of course, an alternative is also to merge the PR as is and wait for feedback from alpha users and translators. The UG and the GUI can be changed later if a more appropriate term is found.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I agree with Cyrille: reviews sounds like the technical procedure for the old website, and feedback is mor understandable, imo, at least in certain languages; anyway imo this shouldn"t prervent to merge this pr.

actionHandler=lambda aVM: startfile(
cast(
str,
cast(_AddonStoreModel, aVM.model).reviewUrl

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

See my previous suggestion about changing the capitalization of these to "reviewURL", for consistency with other "*URL" variables and fields.

),
validCheck=lambda aVM: (
isinstance(aVM.model, _AddonStoreModel)
and aVM.model.reviewUrl is not None

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

And here.

@nvdaes

nvdaes commented Nov 9, 2023

Copy link
Copy Markdown
Collaborator Author

@XLTechie I think I've addressed all your comments. Imo, we should use the word feedback, since review may sound as something technical, and feedback seems more user friendly.

@nvdaes

nvdaes commented Nov 9, 2023

Copy link
Copy Markdown
Collaborator Author

Also, note that see feedback is used in comments for translators since see is shorter than read.

Comment thread source/braille.py
return obj._hasNavigableText
if obj._hasNavigableText or isinstance(obj, EditableText):
return True
return False

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

these changes should probably be removed in the diff - I imagine merging master in will fix this

),
AddonActionVM(
# Translators: Label for an action that opens the webpage to see and send feedback for the selected add-on
displayName=pgettext("addonStore", "See or provide &feedback"),

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I agree - this should just be "Reviews"

@seanbudd seanbudd left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

There are a large amount of irrelevant changes in this diff. I will re-review from the start once these are resolved.

),
AddonActionVM(
# Translators: Label for an action that opens the webpage to see and send feedback for the selected add-on
displayName=pgettext("addonStore", "Read or provide &feedback"),

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Please add an appropriate accelerator key, but this should just be "Reviews"

Suggested change
displayName=pgettext("addonStore", "Read or provide &feedback"),
displayName=pgettext("addonStore", "Reviews"),

Comment thread source/nvwave.py
# reference to this instance by itself. We don't need to do it explicitly
# here. Furthermore, doing it explicitly might cause an exception because
# a weakref callback can run before __del__ in some cases, which would mean
# it has already been removed from _instances.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

same here re merging master to remove this diff

Comment thread source/touchHandler.py
# Ensure we are pumpped again by the time more pending multiTouch trackers are ready
self.pendingEmitsTimer.Start(interval*1000,True)
# Ensure we are pumped again by the time more pending multiTouch trackers are ready
self.pendingEmitsTimer.Start(int(interval * 1000), True)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

same here re merging master to remove this diff

@nvdaes nvdaes closed this Nov 9, 2023
@nvdaes nvdaes reopened this Nov 9, 2023
@nvdaes

nvdaes commented Nov 9, 2023

Copy link
Copy Markdown
Collaborator Author

@seanbudd , I've addressed your reviews and removed irrelevant diffs.

@seanbudd seanbudd left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I'll review the user guide once we settle on a label for the review action

Comment thread source/gui/_addonStoreGui/controls/details.py Outdated
),
AddonActionVM(
# Translators: Label for an action that opens the webpage to see and send feedback for the selected add-on
displayName=pgettext("addonStore", "Re&views"),

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Maybe this could be "Community reviews" to clear the misconception surrounding developer reviews

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

"User reviews" might be a bit more standard.

I do prefer some usage of "reviews" over "feedback", however--Feedback suggests an interaction between the users/community and the author. Reviews suggest comments meant to be read by other users, at least in the way it's utilized by Amazon, Ebay, Google, etc.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

I prefer Community reviews, so that everybody (users, but also developers and others) are encouraged to participate.

Co-authored-by: Sean Budd <seanbudd123@gmail.com>
@nvdaes nvdaes requested a review from seanbudd November 10, 2023 01:51
Comment thread user_docs/en/userGuide.t2t Outdated
Comment thread user_docs/en/userGuide.t2t Outdated
Comment thread user_docs/en/userGuide.t2t Outdated
Comment thread user_docs/en/userGuide.t2t Outdated
Comment thread user_docs/en/userGuide.t2t Outdated
Co-authored-by: Sean Budd <seanbudd123@gmail.com>
@nvdaes

nvdaes commented Nov 10, 2023

Copy link
Copy Markdown
Collaborator Author

@seanbudd I think I've applied all your suggestions for the user guide. I've used the batch option.

@nvdaes nvdaes requested a review from seanbudd November 10, 2023 02:26

@seanbudd seanbudd left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks @nvdaes

@nvdaes

nvdaes commented Nov 10, 2023

Copy link
Copy Markdown
Collaborator Author

Thank you @sean for approving this, and thanks to other reviewers.
I'll request feedback in the add-ons mailing list and in the spanish community when this is merged.

@Qchristensen Qchristensen left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

This will be a well received feature I think. Good work everyone

@seanbudd seanbudd merged commit c4b704a into nvaccess:master Nov 12, 2023
@nvaccessAuto nvaccessAuto added this to the 2024.1 milestone Nov 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

add-on store: add ability to evaluate add-ons from NVDA

7 participants