toggle quoted messageShow quoted text
Hi Joseph. Thanks for breaking that down for us. That helps me understand the rationale for tackling Windows updates with the essentials add-on vs trying to bake it all into the main code.
email@example.com <firstname.lastname@example.org> On Behalf Of
Sunday, January 17, 2021 1:08 PMTo:
Re: [nvda] Windows 10 native Mail app
Parts of Windows 10 App Essentials are being rolled into NVDA Core at the moment. NVDA 2020.4 includes a notable contribution from this add-on, namely support for modern Windows 10 Calculator.
I noted “parts of the add-on” because of the way Windows 10 and its apps are developed: Windows 10 is a service, therefore changes happen frequently. This necessitates keeping up with Windows 10 and its apps on an ongoing basis – a bit close to real-time, but not quite. What makes it hard is that changes made to Windows 10 and apps can be reversed at any moment, therefore causing developers to scramble to undo changes or put compatibility layer in place. Add to the fact that NVDA stable releases happen in a matter of months (typically two to three months), and because some users install new Windows 10 development builds on a weekly basis, by the time a new NVDA stable version comes out, what NVDA knows about Windows 10 would be really out of date. Therefore a safer approach is letting Windows 10 App Essentials add-on fill the gap until certain Windows 10 features are announced as being made available to the general public, and then submit changes from the add-on to NVDA Core so it can be included in the next NVDA stable release. This is the reason why, at least once a month or two, you’ll get Windows 10 App Essentials update announcement.
To illustrate what I’m saying, here’s the procedure I employ when developing Windows 10 App Essentials add-on:
- As a Windows Insider, I install Windows 10 development builds on a weekly basis. We have folks here and on Win10 Forum for Screen Reader Users who are on the same boat as I.
- I read release notes for builds carefully, trying to see if there are visible changes that I can test.
- After installing a new build, I spend some time exploring new and changed features.
- If I do discover a bug, I debug it and try to come up with a fix.
- Once a fix (or several of them) is tested and verified, I package it as part of an add-on development snapshot, which is then deployed so you can get it. These development snapshots are equivalent to NVDA alpha builds.
- If a change is made to NVDA (especially from an alpha build) that will break the add-on, I package workarounds and deploy it as a snapshot.
- For items 5 and 6, I try my best to limit snapshots to once a day. Sometimes you’ll see fixes for Windows 10 builds, sometimes a workaround for NVDA is included, sometimes both, sometimes just localization updates. The above procedure is also applicable when I write a fix for app support.
- Toward the middle of the month, I finalize the next stable release and prepare the add-on for stable channel distribution.
- Close to end of the month, I submit the next stable add-on to NVDA add-ons community for distribution. This can change if the last Windows 10 build of the month makes significant changes that will break the add-on and/or NVDA, in which case I delay the stable release in order to let folks test last minute fixes. Typically this happens because a change is made to an app’s accessibility API implementation (typically UIA property or event changes) that will force me to write compatibility layer for old and new apps, or the executable for a Windows 10 app changes which breaks not only the add-on, but also NVDA itself (this happened last year when the executable file name for Mail and Calendar for Insiders changed, which broke NVDA’s Mail app support facility; a fix is included in a recent NVDA release, but was made close to unnecessary as the Mail and Calendar app executable file name was reverted to the name used until 2019; this delayed Windows 10 App Essentials 21.01 by a few days so I can work on supporting old and new Mail and Calendar app releases).
In other words, these days Windows 10 App Essentials add-on has become a testing platform for features that will be included in NVDA Core given stability over time. This is not limited to WinTenApps at all – you may have noticed that parts of other add-ons made their way into NVDA Core, the biggest change planned being incorporating Add-on Updater into NVDA Core in the future (a different topic).
Out of curiosity, if an add-on is needed to have reliable access to what are considered essential Windows apps, I just gotta ask… Why not just roll that into the core functionality of NVDA?
If you are using Windows 10 I would install the Windows 10 App essentials add-on, which smoothes out some of the accessibility wrinkles within the OS and it’s apps, including Windows Mail.
Hi all, recently returned to windows from a Macbook which I never really got on with. Using the native app for mail, going to the list of emails I have received I press enter to open one. I am only then able to read it line by line by holding down the control Key and using the down arrow. If I just use the down arrow key it reads the same line over and over. Is this an issue with NVDA, is there a keyboard command I am using wrongly or missing? The mail app does seem to be a bit fiddly but I don’t know whether it’s Windows 10 problem or a NVDA problem. is there a specific NVDA list of keystrokes to use within the mail app? Grateful for your help.