Re: [nvda-devel] Concern about terminology in developer guides

Luke Davis

On Thu, 31 Oct 2019, Leonard de Ruijter wrote:

While reading the add-on developer guide (I actually never did so before), I came across the following note:
Note: add-ons are sometimes called "Plugins", especially in the [NVDA Developer Guide]. In general, we will call them add-ons in this guide for the sake of
clarity, but just be aware that they are the same thing.
I wrote that section with the thought of very new developers in mind, trying to cut down on information overload and eliminate confusion.

Plugins allow you to customize the way NVDA behaves overall or within a particular application.
Which is the very definition of an add-on as well, is it not?

Was that written before we called them add-ons, or is add-on just not the preferred term from a development prospective?

There are two types of plugins. These are:
Well, as you don't quite say, that just isn't true--there are four or five types. But the main Dev Guide seems to only want to talk about those two types, at least in that area.

Anyway, I think an add-on should be described as a bundle of plugins, most of the time only containing one plugin, but in case of win ten apps for example,
there are lots of plugins in one add-on. Therefore, what the add-on developer guide calls add-on modules, might be better to describe as what the nvda dev
guide calls plugins.
I think there is merit in this. If I remember right, I used the already accepted terminology when I was expanding those sections, based on what was there before and I assumed was well understood by the community already. But at least at the moment I am in favor of revising this according to what you say. I would like to hear Joseph's thoughts though.

Effectively we would be restricting the term module to its more pythonic use, which I don't find objectionable. App Module is really just another way of saying App Plugin anyway.

Furthermore, a module and a plugin don't have to be the same either. A plugin is what NVDA uses, appModule, globalPlugin, etc. A module can also be a helper
module, a plugin could also be a python package with several sub modules.
I am not sure about that last bit. What is the context for "a plugin could also be a python package with several sub modules." as different from the way that NVDA uses the word plugin?

Any thoughts on this and on how to improve this documentation?
I can improve the add-on dev guide later today. I haven't read the main dev guide in quite a while, so I am not sure what it says about the other kinds of plugins (synth drivers, etc.), but I think it should talk more about those in the section you quoted, even if it is just to point to other sections.


Join to automatically receive all group messages.