Hi all, With the end of fall finals, I decided to look at the forum archives in hopes of answering some add-on questions raised in the last few days. Specifically, I’m posting this message in response to a thread about Application Dictionary compatibility and the maintenance window for most of my add-ons is coming to a close soon. Regarding Add-on Updater: some of you might be wondering about which add-ons Add-on Updater can check for updates. Add-on Updater can check for updates for add-ons registered on NVDA Community Add-ons website (addons.nvda-project.org). This means Add-on Updater cannot check for add-ons not registered there. In the past, in order to get an add-on registered on community add-ons website, it must go through a review by an add-ons community member. This process was simplified recently – all that the add-on author must do is provide the following when registering add-ons: - Add-on name
- Author information
- Brief add-on description
- Download link to an add-on release
- Add-on source code repository (if one exists)
This information forms the basis of a pull request to be sent to NV Access to officially register new add-ons and/or update existing add-ons. Once registered, Add-on Updater will start checking for add-on updates without user intervention. But that’s only part of the picture: one of the things people look for when testing add-ons is compatibility, specifically the minimum and last tested NVDA releases the add-on is compatible with. Even if an add-on is registered on community add-ons website, if NVDA determines the add-on is incompatible with the version of NVDA you are using, then NVDA itself will not install the add-on. Add-on Updater will go further and will not offer updates to add-ons deemed incompatible for the version of NVDA the Add-on Updater is running on (this check is also done without user intervention); this is the reason why I announced the other day that Add-on Updater will not offer add-on updates for NVDA versions earlier than 2021.2 for some add-ons (notably mine), so to get updates for these, you must install newer NVDA releases. In relation to Application Dictionary, Add-on Updater cannot check for updates not only because the add-on is not registered on community add-ons website, the add-on itself isn’t compatible with NVDA 2021.1 API. I’m writing this explanation for three reasons: - The best people to contact regarding add-on compatibility isn’t just users – add-on authors are the best people to contact about add-ons, and if contact is lost, the add-ons community.
- Unless unable to do so, add-on authors must be proactive in keeping their add-ons updated and ready for recent changes, including compatibility changes. I guarantee that by the time NVDA 2022.1 beta 1 is released, there will be attempts to circumvent API changes by “modifying” add-on manifests, and that strategy will FAIL for several add-ons.
- Please help the community add-ons website by requesting add-on registrations (it would be great if add-on authors themselves shows willingness to register their add-ons). Not only it helps the add-ons community, it would also improve the reputation of NVDA by making add-ons more discoverable.
Speaking of add-ons, I hereby announce that the following add-ons will end support for Windows 7 and 8.0 (not 8.1) as early as 2022: - Control Usage Assistant
- Enhanced Touch Gestures
- GoldWave
- Resource Monitor
- StationPlaylist
Specifically, I expect the next (planned )stable versions of these add-ons will be one of the last releases to end support for Windows 7. This is so that whoever is going to maintain these add-ons in the future can work with simplified code. As for NVDA itself ending support for Windows 7, that’s not up to me to decide – that decision lies with NV Access (although you can taste what that would look like; coming soon). I’m making the above statement to prepare you for the day when NVDA will require Windows 8.1 or later (or for that matter, Windows 10 and later). Unless your computer is part of an organization that has elected to stay on Windows 7 and/or need to use it for development and testing purposes, I advise you all to move to a supported Windows release – Windows 8.1, 10, or 11 (and any future release). Windows 7 will be supported by Microsoft until January 2023 but if and only if the organization the computer is part of pays Microsoft for extended security updates (ESU’s); for everyone else, Windows 7 is no longer supported by Microsoft. Again let me make it clear that the decision to end support for Windows 7 from NVDA itself does not rest with me – it is up to NV Access to decide, and for now NVDA supports Windows 7. Cheers, Joseph
|
|
You know I've said this before but I will say it yet again. I really think its about time for the addon updater to become part of nvda core. That and the windows app essentials if not part of nvda at least one of the addons installed by default. Saying that the last time I mentioned this I was told the store was coming along. Now I admit I don't really duck about with looking at each repo unless its not compatible or working or anything as much as I should, I am just a normal user for the most part. So what is the status, idealy there should be a way to add addon sourdces as well as addons like in linux. Obviously if you sideload and it falls over its your own funeral but linux allows adding extra addon points as well as the official addons. There should also be an easy way to register one either vote one to the main site as a user or something though obviously authors would need to put them there. As well as this where possible things like interactive fiction stuff should be if not part of the core at least have basic support. I realise that some engines do change from time to time though.
toggle quoted messageShow quoted text
On 19/12/2021, Joseph Lee <joseph.lee22590@gmail.com> wrote: Hi all,
With the end of fall finals, I decided to look at the forum archives in hopes of answering some add-on questions raised in the last few days. Specifically, I'm posting this message in response to a thread about Application Dictionary compatibility and the maintenance window for most of my add-ons is coming to a close soon.
Regarding Add-on Updater: some of you might be wondering about which add-ons Add-on Updater can check for updates. Add-on Updater can check for updates for add-ons registered on NVDA Community Add-ons website (addons.nvda-project.org). This means Add-on Updater cannot check for add-ons not registered there.
In the past, in order to get an add-on registered on community add-ons website, it must go through a review by an add-ons community member. This process was simplified recently - all that the add-on author must do is provide the following when registering add-ons:
* Add-on name * Author information * Brief add-on description * Download link to an add-on release * Add-on source code repository (if one exists)
This information forms the basis of a pull request to be sent to NV Access to officially register new add-ons and/or update existing add-ons. Once registered, Add-on Updater will start checking for add-on updates without user intervention.
But that's only part of the picture: one of the things people look for when testing add-ons is compatibility, specifically the minimum and last tested NVDA releases the add-on is compatible with. Even if an add-on is registered on community add-ons website, if NVDA determines the add-on is incompatible with the version of NVDA you are using, then NVDA itself will not install the add-on. Add-on Updater will go further and will not offer updates to add-ons deemed incompatible for the version of NVDA the Add-on Updater is running on (this check is also done without user intervention); this is the reason why I announced the other day that Add-on Updater will not offer add-on updates for NVDA versions earlier than 2021.2 for some add-ons (notably mine), so to get updates for these, you must install newer NVDA releases.
In relation to Application Dictionary, Add-on Updater cannot check for updates not only because the add-on is not registered on community add-ons website, the add-on itself isn't compatible with NVDA 2021.1 API. I'm writing this explanation for three reasons:
1. The best people to contact regarding add-on compatibility isn't just users - add-on authors are the best people to contact about add-ons, and if contact is lost, the add-ons community. 2. Unless unable to do so, add-on authors must be proactive in keeping their add-ons updated and ready for recent changes, including compatibility changes. I guarantee that by the time NVDA 2022.1 beta 1 is released, there will be attempts to circumvent API changes by "modifying" add-on manifests, and that strategy will FAIL for several add-ons. 3. Please help the community add-ons website by requesting add-on registrations (it would be great if add-on authors themselves shows willingness to register their add-ons). Not only it helps the add-ons community, it would also improve the reputation of NVDA by making add-ons more discoverable.
Speaking of add-ons, I hereby announce that the following add-ons will end support for Windows 7 and 8.0 (not 8.1) as early as 2022:
* Control Usage Assistant * Enhanced Touch Gestures * GoldWave * Resource Monitor * StationPlaylist
Specifically, I expect the next (planned )stable versions of these add-ons will be one of the last releases to end support for Windows 7. This is so that whoever is going to maintain these add-ons in the future can work with simplified code. As for NVDA itself ending support for Windows 7, that's not up to me to decide - that decision lies with NV Access (although you can taste what that would look like; coming soon).
I'm making the above statement to prepare you for the day when NVDA will require Windows 8.1 or later (or for that matter, Windows 10 and later). Unless your computer is part of an organization that has elected to stay on Windows 7 and/or need to use it for development and testing purposes, I advise you all to move to a supported Windows release - Windows 8.1, 10, or 11 (and any future release). Windows 7 will be supported by Microsoft until January 2023 but if and only if the organization the computer is part of pays Microsoft for extended security updates (ESU's); for everyone else, Windows 7 is no longer supported by Microsoft. Again let me make it clear that the decision to end support for Windows 7 from NVDA itself does not rest with me - it is up to NV Access to decide, and for now NVDA supports Windows 7.
Cheers,
Joseph
|
|
Hi,
There is a philosophy in computer programming that is introduced to students when talking about object-oriented programming: separation of concerns; that is, treat each code as a domain expert, thereby allowing programs to be modularized. I personally take that approach a step further: let each add-on be an expert on one thing or a related set of concepts under a theme that can be maintained easily. This, together with the upcoming Add-on Store, are reasons why I have no plans to transform Add-on Updater into a fully-fledged add-on store system.
I also tend to apply the concept of separation of concerns to the relationship between NVDA and add-ons:
- NVDA: let the screen reader be what it is good at - accessibility data gathering, processing, interpreting, and output. Essentially, screen readers are sophisticated data processors, and as such, screen readers come with basic rules for handling common scenarios.
- Add-ons: use the basics provided by the screen reader to open up possibilities for users. Only if a feature or two from an add-on is deemed common or have potential for wider usage should it be included in screen readers.
As for Windows App Essentials, as long as Microsoft does not let go of Windows and accessibility adventures continue, it will remain an add-on unless all major features from the add-on become part of NVDA. And as long as Windows as a Service (WaaS) remains in place, Windows App Essentials will not be declared end of life as the add-on embodies WaaS strategy. This is because:
- Feature updates come and go. Although not applicable to Windows 11 yet, around this time next year, there will be a buzz about Windows 11 Version 22H2. I intentionally end support for the oldest supported Windows 10/11 feature update several weeks prior to end of consumer support (the next such occurrence will be in February 2022 when Windows App Essentials will not support Windows 10 Version 20H2 (October 2020 Update) as consumer support for that feature update will end in May 2022) to highlight the need to stay current.
- Apps and features can change with or without notice. Although not applicable to users on stable versions for now, a change was introduced to Notepad on Insider Preview dev channel builds that breaks status bar announcements. Because this is a major change, a workaround is included in Windows App Essentials add-on as of the upcoming stable version (22.01). It is sometimes advantageous to include changes like this in NVDA, but things can change without notice to a point where the app is changed again by the time the change comes to stable users, making just announced change useless. The next best alternative is an add-on release that can react to changes like this faster. This is especially important when supporting features introduced in Insider Preview builds (things can change without notice).
As for including interactive fiction modules in NVDA, think about the following questions carefully:
- Is interactive fiction module support gaining traction within the community, and if so, why? Notice I didn't say "how" because I want you to give folks justifiable justifications.
- What community-wide benefit can be gained and lost if interactive fiction support is included AND not included?
- What is the current priority of NVDA right now?
- Is interactive fiction support a core component of screen reading or can it be done outside of it?
- Why should I justify the feature request?
- How can I respond to feedback and counterarguments about this suggestion?
- Why should I justify the justifications for the above points?
In other words, I say this with care: please think things through. To say it more bluntly: persuade the community with justifiable reasons. If folks feel a suggestion needs greater community attention, think about the suggestion, take a walk, organize your thoughts, think again, take a walk again, organize your thoughts again, and THEN write something (what I just wrote is my heartfelt advice to the entire NVDA community, something that has been in my mind for the last few years; I will come back to this thought in a later post).
Cheers,
Joseph
|
|
To be honest though store excluded, i thought it would make sence for nvda's own updater to update addons. I know there is an addon store allready in the works but all I know is that its being worked on for release. On the subject of addons, what happened to nvspeech player. I mean why is that even an addon. Point, we only have 1 synth, espeak and while thats multiplatform and yeah it works do we want to remain using something like this or have a secondary synth nvaccess natively makes or whatever. I understand space and such but in a ideal world and a lot of the world has some form of high speed net, I do wander if it would make sence for nvda to have more synths either included or as an extra addon package for those that have the power. I know we are moving away from this stuff but well.
toggle quoted messageShow quoted text
On 19/12/2021, Joseph Lee <joseph.lee22590@gmail.com> wrote: Hi,
There is a philosophy in computer programming that is introduced to students when talking about object-oriented programming: separation of concerns; that is, treat each code as a domain expert, thereby allowing programs to be modularized. I personally take that approach a step further: let each add-on be an expert on one thing or a related set of concepts under a theme that can be maintained easily. This, together with the upcoming Add-on Store, are reasons why I have no plans to transform Add-on Updater into a fully-fledged add-on store system.
I also tend to apply the concept of separation of concerns to the relationship between NVDA and add-ons:
* NVDA: let the screen reader be what it is good at - accessibility data gathering, processing, interpreting, and output. Essentially, screen readers are sophisticated data processors, and as such, screen readers come with basic rules for handling common scenarios. * Add-ons: use the basics provided by the screen reader to open up possibilities for users. Only if a feature or two from an add-on is deemed common or have potential for wider usage should it be included in screen readers.
As for Windows App Essentials, as long as Microsoft does not let go of Windows and accessibility adventures continue, it will remain an add-on unless all major features from the add-on become part of NVDA. And as long as Windows as a Service (WaaS) remains in place, Windows App Essentials will not be declared end of life as the add-on embodies WaaS strategy. This is because:
1. Feature updates come and go. Although not applicable to Windows 11 yet, around this time next year, there will be a buzz about Windows 11 Version 22H2. I intentionally end support for the oldest supported Windows 10/11 feature update several weeks prior to end of consumer support (the next such occurrence will be in February 2022 when Windows App Essentials will not support Windows 10 Version 20H2 (October 2020 Update) as consumer support for that feature update will end in May 2022) to highlight the need to stay current. 2. Apps and features can change with or without notice. Although not applicable to users on stable versions for now, a change was introduced to Notepad on Insider Preview dev channel builds that breaks status bar announcements. Because this is a major change, a workaround is included in Windows App Essentials add-on as of the upcoming stable version (22.01). It is sometimes advantageous to include changes like this in NVDA, but things can change without notice to a point where the app is changed again by the time the change comes to stable users, making just announced change useless. The next best alternative is an add-on release that can react to changes like this faster. This is especially important when supporting features introduced in Insider Preview builds (things can change without notice).
As for including interactive fiction modules in NVDA, think about the following questions carefully:
1. Is interactive fiction module support gaining traction within the community, and if so, why? Notice I didn't say "how" because I want you to give folks justifiable justifications. 2. What community-wide benefit can be gained and lost if interactive fiction support is included AND not included? 3. What is the current priority of NVDA right now? 4. Is interactive fiction support a core component of screen reading or can it be done outside of it? 5. Why should I justify the feature request? 6. How can I respond to feedback and counterarguments about this suggestion? 7. Why should I justify the justifications for the above points?
In other words, I say this with care: please think things through. To say it more bluntly: persuade the community with justifiable reasons. If folks feel a suggestion needs greater community attention, think about the suggestion, take a walk, organize your thoughts, think again, take a walk again, organize your thoughts again, and THEN write something (what I just wrote is my heartfelt advice to the entire NVDA community, something that has been in my mind for the last few years; I will come back to this thought in a later post).
Cheers,
Joseph
|
|
Hi,
Regarding add-on updates: in short, what you are suggesting is exactly the mechanism Add-on Updater uses to download add-on updates, although with tweaks added. The story about it goes back many years- Add-on Updater's true ancestor is the update facility from StationPlaylist add-on, and Windows App Essentials also contributed tweaks to Add-on Updater.
As for NV Speech Player: it came out of a project to add Klat functionality to eSpeak, which was added to the synthesizer itself recently. Thus, for all practical purposes NV Speech Player is end of life although it is kept for those who are using older NVDA releases.
As for including additional speech synthesizers inside NVDA or as an add-on: bandwidth is not the biggest puzzle piece - money and resources, combined with copyright regulations and human will, are biggest puzzle pieces. Think about the following: NVDA is not really free from financial standpoint. In some respects, free add-ons hosted on community add-ons website are not really free either from the same standpoint. NVDA is free and many add-ons are free because the copyright license we (developers and add-on authors) use directs us to make our code available and modifiable.
Let us suppose someone approaches NV Access and says, "look, I have this awesome speech synthesizer I want to see included in NVDA," or perhaps an add-on author says, "I want to write a speech synthesizer driver for this cool synthesizer." How would NV Access and/or the add-ons community respond? If what you expect is an email five minutes later from NV Access saying, "cool, we will add support for this speech synthesizer", then either you are the copyright owner of the synthesizer in question, you have somehow convinced NV Access and/or the add-ons community that you have the necessary resources to make it happen, or asked NV Access to accept your suggestion without doing their own critical research. Especially for speech synthesizer add-ons, asking NV Access should be the last step - you must first talk to the vendor and arrange something (like what Tiflotecnia did with Nuance Vocalizer), calculate resources including costs, obtain permission from copyright holders unless the copyright holder said yes to free and open-source licensing, build trust between yourself and the vendor, and then let NV Access and the community know about what's going on. It can be argued that all this comes down to a single number or a point, but as the above example demonstrates, many things are involved just to add support for a speech synthesizer.
Hope this helps.
Cheers,
Joseph
|
|
Wow yeah I guess it makes sence.
Opensource is a complex beast so many moving parts the user like
myself does not notice but yeah I can see the issue.
toggle quoted messageShow quoted text
On 19/12/2021 6:49 pm, Joseph Lee
wrote:
Hi,
Regarding add-on updates: in short, what you are suggesting is
exactly the mechanism Add-on Updater uses to download add-on
updates, although with tweaks added. The story about it goes
back many years- Add-on Updater's true ancestor is the update
facility from StationPlaylist add-on, and Windows App Essentials
also contributed tweaks to Add-on Updater.
As for NV Speech Player: it came out of a project to add Klat
functionality to eSpeak, which was added to the synthesizer
itself recently. Thus, for all practical purposes NV Speech
Player is end of life although it is kept for those who are
using older NVDA releases.
As for including additional speech synthesizers inside NVDA or
as an add-on: bandwidth is not the biggest puzzle piece - money
and resources, combined with copyright regulations and human
will, are biggest puzzle pieces. Think about the following: NVDA
is not really free from financial standpoint. In some respects,
free add-ons hosted on community add-ons website are not really
free either from the same standpoint. NVDA is free and many
add-ons are free because the copyright license we (developers
and add-on authors) use directs us to make our code available
and modifiable.
Let us suppose someone approaches NV Access and says, "look, I
have this awesome speech synthesizer I want to see included in
NVDA," or perhaps an add-on author says, "I want to write a
speech synthesizer driver for this cool synthesizer." How would
NV Access and/or the add-ons community respond? If what you
expect is an email five minutes later from NV Access saying,
"cool, we will add support for this speech synthesizer", then
either you are the copyright owner of the synthesizer in
question, you have somehow convinced NV Access and/or the
add-ons community that you have the necessary resources to make
it happen, or asked NV Access to accept your suggestion without
doing their own critical research. Especially for speech
synthesizer add-ons, asking NV Access should be the last step -
you must first talk to the vendor and arrange something (like
what Tiflotecnia did with Nuance Vocalizer), calculate resources
including costs, obtain permission from copyright holders unless
the copyright holder said yes to free and open-source licensing,
build trust between yourself and the vendor, and then let NV
Access and the community know about what's going on. It can be
argued that all this comes down to a single number or a point,
but as the above example demonstrates, many things are involved
just to add support for a speech synthesizer.
Hope this helps.
Cheers,
Joseph
|
|