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


Mobeen Iqbal
 

I would be inclined to agree. The add-ons shouldn't be prevented from running and the user should be given the option to suppress notifications about compatibility until they upgrade to the next major release, then be given the option to dismiss the notice again until the next upgrade and so on. Yes there is a risk that the existing add-ons could stop working and that they should be updated, but an example is the dolphin sam add-on which some users use because they can understand dolphin's voices better. They have hearing difficulties. I am going to see if the developer can be located and the add-on updated, but users won't be happy if the add-ons are prevented from running and their equipment stops working. I know that prevention isn't on the cards so much but developers need to be careful so people don't stop using NVDA.


Mo.

On 08/12/2018 11:12, Brian's Mail list account via Groups.Io wrote:
Right then. At the moment it is the majority of add ons that are incompatible. I am thinking this is going to be a show stopper for many as included in this list are toolbar Explorer, Application dictionary, Extended winamp  say  prompts for copy etc, The 3D sounds add on, Pico synth, Speech player in Espeak,   open link with an add on that is really very useful.
MP3 Direct cut  and sundry others I use all the time.
I may in the end have to stop using alphas and intended the later versions of NVDA unless all this work done by people can be either fixed or nvda rethinks its Python 3 migration.
Brian

bglists@blueyonder.co.uk
Sent via blueyonder.
Please address personal E-mail to:-
briang1@blueyonder.co.uk, putting 'Brian Gaff'
in the display name field.
----- Original Message ----- From: "Joseph Lee" <joseph.lee22590@gmail.com>
To: "'NVDA screen reader development'" <nvda-devel@lists.sourceforge.net>
Sent: Saturday, December 08, 2018 5:30 AM
Subject: [nvda] Important notice: a note or two about future compatibility of add-ons on community add-ons website and elsewhere


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) 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.