Re: Important notice: a note or two about future compatibility of add-ons on community add-ons website and elsewhere


Tyler Spivey
 

So far, the user experience for this is really bad. I had to manually
tweak 40+ addons three times during two updates.
I hope I don't have to deal with this every time I update my snapshot.

On 12/7/2018 10:45 PM, Devin Prater wrote:
Thanks so much for all this information. I hope that the author of
Braille Extender updates that add-on, as it is one of the most useful
admins to me.

On Dec 7, 2018, at 11:50 PM, Joseph Lee <joseph.lee22590@gmail.com
<mailto:joseph.lee22590@gmail.com>> wrote:

Hi,
Yes, I and another NVDA developer wrote messages concerning this to
add-on authors.
By the way, one more thing: I’ll release patches for most of the
add-ons I’m maintaining (resource Monitor and StationPlaylist, for
instance) around Christmas to extend last tested NVDA version flag to
2019.3. The only exception will be Unicode Braille Input, which is no
longer maintained by me.
Cheers,
Joseph
 
*From:* nvda@nvda.groups.io
<mailto:nvda@nvda.groups.io><nvda@nvda.groups.io
<mailto:nvda@nvda.groups.io>> *On Behalf Of *David Goldfield
*Sent:* Friday, December 7, 2018 9:44 PM
*To:* nvda@nvda.groups.io <mailto:nvda@nvda.groups.io>
*Subject:* Re: [nvda] Important notice: a note or two about future
compatibility of add-ons on community add-ons website and elsewhere
 

Joseph,

Thank you for alerting us to this situation. I am somewhat concerned
as I do use some third-party add-ons not hosted on the community
add-ons page but which are well-known and legal. I'm wondering if the
developers of these add-ons have been informed about this change?
Specifically, I use the Code Factory Eloquence and Vocalizer add-on,
Acapela voices, Dictation Bridge and NVDA Remote. I also hope that
Clipspeak and Clip Contents Designer will be updated but I realize
these are not your apps.

Thank you again.

 

David Goldfield, Assistive Technology
Specialist WWW.David-Goldfield.Com <http://www.david-goldfield.com/>
On 12/8/2018 12:30 AM, Joseph Lee wrote:

Dear NVDA community,
 
This is Joseph Lee, one of the code contributors to NVDA screen
reader project and a reviewer of community add-ons. I would like
to take this time to update you on what’s been happening in
regards to future compatibility of add-ons hosted on various
websites, as well as rationale for compatibility notices you’re
seeing from recent NVDA development releases (chiefly on alpha
channel).
 
As of December 6, 2018, NVDA 2019.1 alpha snapshots (build 16382
onwards) will prompt you to check compatibility of various add-ons
when you’re installing snapshots. This is because NVDA will now
check if any of your add-ons are compatible with it by looking at
two new manifest keys. These add-on manifest keys will tell NVDA
if a given add-on is compatible with latest NVDA release, as well
as providing a minimum compatible NVDA version if specified. After
installing that alpha build and beyond, if NVDA detects one or
more add-ons are not compatible, it will present a dialog at start
up asking you to check which add-ons you still wish to use despite
them being flagged as incompatible. This will be noticeable if you
are using a third-party speech synthesizer or braille display by
default and somehow these are not loading. Also, when trying to
install new add-ons, if NVDA sees the add-on is incompatible,
it’ll prompt a warning about it.
 
Prior to this change, you can install add-ons on any NVDA release
(including upcoming 2018.4), and it was up to add-ons to use
features provided by a given NVDA release. This meant really old
add-ons could be installed, and if not optimized for recent NVDA
releases, the add-on would not work as intended, and in some
cases, fail to run outright. Some add-ons do have specific NVDA
version requirements, but not all add-ons take advantage of this
recommendation.
 
There are several reasons for the change as described above:
 

1. Python 3 transition: as some of you (I think, at this point,
more people) may know, NV Access and several developers
(including I) are researching possible roadblocks to Python 3
transition, and I’m maintaining an actual Python 3 version of
NVDA for testing purposes. Given massive differences between
Python 2 and 3, it was felt to place add-on compatibility
checks in place so you won’t install add-ons written in Python
2 on a Python 3 version of NVDA. This is one of the reasons
for adding minimum NVDA version checks for add-ons if
appropriate. As of today (December 8, 2018), at least three
add-ons are Python 3 ready (thus will require newer NVDA
versions in the future), and I expect that number to grow
significantly in the next few months; the three compatible
add-ons are Resource Monitor, SystrayList, and Windows 10 App
Essentials, with StationPlaylist Studio to be added to this
list in January 2019. 
2. Various internal work planned for the future: these include
projects such as speech refactor (changing internals behind
NVDA’s speech functionality) and such that will cause some
add-ons to fail to work as advertised. 

 
The new compatibility flags are:
 

* minimumNVDAVersion: specifies minimum version of NVDA the
add-on is compatible with. 
* lastTestedNVDAVersion: latest compatible NVDA version for the
add-on. 

 
These manifest keys are optional for now; in 2019, they will
become mandatory for ALL add-ons. I would go so far as say that
they are MANDATORY from now on, especially if you need to test
your add-ons in alpha snapshots and intend to produce a Python 3
version of your add-ons.
 
As of December 8, 2018, only several add-ons hosted on community
add-ons website (addons.nvda-project.org
<http://addons.nvda-project.org/>) are truly future-proof
(compatibility flags are present). The good news is that add-on
authors do understand the impact this change will have on their
add-ons and some have begun updating their add-ons to add
compatibility flags; others plan to add changes once 2019.1 enters
beta testing phase (based on past conversations), while the
community lost contact with authors of some add-ons (some of which
are popular) and their add-ons will be flagged as incompatible
unless updates are released.
 
The following add-ons are NVDA 2019.1 compatible and thus won’t
cause NVDA to flag them as incompatible:
 

* Add-on Updater 
* Easy Table Navigator 
* Enhanced Touch Gestures 
* Focus Highlight 
* Golden Cursor 
* GoldWave 
* ObjPad 
* Object Location Tones 
* Resource Monitor 
* StationPlaylist Studio 
* SystrayList 
* Unicode Braille Input 
* Virtual Review 
* Windows 10 App Essentials 
* And possibly more. 

 
For add-ons not listed:
 

* For users: please contact authors of add-ons you’re using and
ask for their thoughts and plans for add-on compatibility
flags and other future work (see below for words about my
add-ons). 
* For developers: please think about the impact of this change
and update your add-ons. I don’t expect all add-ons to be made
compatible by the time 2019.1 stable version (or release
candidate) is released, but at least for popular ones, please
have your add-ons made compatible by the time 2019.1 beta 1
shows up. Also, I advise setting last tested version to 2019.2
so you can have plenty of time modernizing add-ons. 

 
Notes for users of my add-ons or add-ons that’ll be reviewed by me:
 

* For users: I expect all my add-ons (at least ones currently
under active support) to be made Python 3 ready no later than
March 2019. As far as last tested version flag is concerned,
I’ll try my best to target later NVDA releases (for example,
if using an add-on in NVDA 2019.1, the compatibility flag will
indicate support for at least NvDA 2019.3) so you won’t have
to worry about compatibility flag problems for a long time;
compatibility flags (at least last tested version flag) will
be updated once or twice a year. 
* For add-ons to be reviewed: I will look for compatibility
flags (as part of user experience portion of basic review)
starting from February 2019; other add-on reviewers may or may
not look for these flags. 
* For Add-on Updater users: I will start enforcing add-on
compatibility flags from version 19.03; that is, Add-on
Updater will refuse to install add-on updates if they do not
specify at least last tested version flag to align with NVDA
2019.1 behavior. 

 
Thank you.
Cheers,
Joseph

Join nvda@nvda.groups.io to automatically receive all group messages.