Re: Add-on development guide: terminology changes, Python 3 examples are being added

Luke Davis

On Thu, 31 Oct 2019, Joseph Lee wrote:

As the original author of NVDA Add-on development Guide, I would like to take this time to thank everyone for honest (and blunt) comments about terminology
going forward. Based on community feedback, the upcoming edition of NVDA Add-on Development Guide (this weekend) will include terminology changes as
Joseph. With respect, I'm not sure that less than ten messages, and less than 24 hours of conversation, can really count as completed community feedback. I feel like this is a hasty reaction, and we don't have to start setting things in stone, issuing effective dates, new terms, and so on just yet.

Anyway, if feedback is still welcome, than I submit the below.

The difference between “plugin” and “add-on” will be clarified, along with noting a history of how they came to be known. For future reference, the
Good. I think that is the thing we all seem to agree on. I was going to do so last night, but after your message I was afraid to make any changes for further evaluation.

definitions to be used (taking effect on January 1, 2020) will be:

* Add-on: a package for NVDA that includes one or more components for enhancing support for an app, a speech synthesizer, or a braille display, along with
global features and vision enhancement providers.
Personally, I am not convinced of the idea of introducing yet another term: components.

* Plugin: a module that modifies NVDA’s functionality, including adding support for a new app or a global feature.
I'm not fond of using the word module here, at least not unqualified.
A Python module, maybe. Unless you disagree about trying to use the more Pythonic definition of module.

* Component: another name for “plugin”, although this term will include things such as support components.
To me, this only seems to muddy the waters even more.
Do we really need this new term in the mix?

Honestly, how I would have done this whole thing would probably be more along the lines of the below (first draft):

* Add-on: a package for NVDA that contains one or more plugins or drivers, and all of their associated files and folders.

* Plugin: one or more Python modules, Windows libraries, or executables that modify NVDA's functionality. A plugin can add a global feature, add support for an app, or can supply a vision enhancement provider.

* Driver: a plugin which supports a speech synthesizer or a braille display.

* Enhancer: a plugin that works in tandem with NVDA in order to enhance usability of computer systems. Currently vision enhancement provider is the only Enhancer.

* Vision enhancement provider: a type of enhancer that allows people with varying sight to use computers more efficiently with help from NVDA. These include highlight tracking, screen curtain, magnification, and other possibilities.

I am not entirely pleased with the last two. Not sure we need Enhancer as a separate category of thing while there is only one kind, and it could be better explained than we have yet done.


Join to automatically receive all group messages.