Date   
Re: Object detection pre-release

Christo de Klerk
 

Hello again

I forgot to mention: It would be great if you could provide the facility to change its hotkey, as it currently conflicts with the hotkey that exists for the DropBox add-on.

Kind regards

Christo

On 2020/07/11 10:06am, Shubham Jain wrote:
Hello Everyone!

I am very happy to announce that a pre-release version of my add-on, Object detection, is now available. You can find it here: https://github.com/ShubhamJain7/objectDetection-NVDA-Addon/releases/tag/v0.1-alpha

Detection is triggered by pressing Alt+NVDA+D. When the detection is complete, "Result Document" is announced. Users can then access the result as a navigator object by pressing CTRL+arrow keys. Press ESC to escape the result.

As a bare-bones version, the model it implements is very small and simple and so it may not work for some images. There are larger and better models available but I have chosen to omit them in this release as the purpose of this release is to gather feedback from the community to decide a path forward. As a sighted developer, I feel I may not be the best person to make decisions on the UI/UX of this add-on. For instance, it may be easy for me to ascertain when there is an image on the screen and to determine the accuracy of the results. It may not be so for non-visual users. Thus it would be very helpful if you could test this add-on and provide some feedback on things such as if detection should be automatic, triggered or both, the gesture used to trigger the add-on, the quality and syntax of the result, the ways in which to make the result available and anything else.
I must also mention that another feature I wish to implement is drawing bounding boxes around the detected objects. When users move the mouse or their finger(in touch displays), the object name would be announced. Any feedback on this feature would be appreciated too!

regards,
Shubham Jain


Re: Object detection pre-release

Christo de Klerk
 

Hi Shubham

I have installed and tested the add-on on several websites, but every time I only received this message: "Cannot identify any objects in the image." I have not managed to find one that it could describe to me.

I think this could have great potential, but the currently used recognition engine seems to be pretty limited.

Keep up the good work. There definitely is demand for something like this. Thank you for making the effort.

Kind regards

Christo

On 2020/07/11 10:06am, Shubham Jain wrote:
Hello Everyone!

I am very happy to announce that a pre-release version of my add-on, Object detection, is now available. You can find it here: https://github.com/ShubhamJain7/objectDetection-NVDA-Addon/releases/tag/v0.1-alpha

Detection is triggered by pressing Alt+NVDA+D. When the detection is complete, "Result Document" is announced. Users can then access the result as a navigator object by pressing CTRL+arrow keys. Press ESC to escape the result.

As a bare-bones version, the model it implements is very small and simple and so it may not work for some images. There are larger and better models available but I have chosen to omit them in this release as the purpose of this release is to gather feedback from the community to decide a path forward. As a sighted developer, I feel I may not be the best person to make decisions on the UI/UX of this add-on. For instance, it may be easy for me to ascertain when there is an image on the screen and to determine the accuracy of the results. It may not be so for non-visual users. Thus it would be very helpful if you could test this add-on and provide some feedback on things such as if detection should be automatic, triggered or both, the gesture used to trigger the add-on, the quality and syntax of the result, the ways in which to make the result available and anything else.
I must also mention that another feature I wish to implement is drawing bounding boxes around the detected objects. When users move the mouse or their finger(in touch displays), the object name would be announced. Any feedback on this feature would be appreciated too!

regards,
Shubham Jain


Re: Object detection pre-release

Shubham Jain
 

Hello Joseph,

Thank you for pointing that out to me, I'll add a copyright header to my files and update the same release.
I've ensured that the license for all these models allows me to use them, do I need to include the licenses in my add-on?

regards,
Shubham Jain

Re: Object detection pre-release

 

Hi Shubham,

I cannot review this add-on until copyright header is included in your add-on files. Also, just a heads up: you might want to check license for models you are including so we won’t have to go through licensing headache down the road.

As for copyright header, the following information should be present at the top of your files:

  • One line description of what the file is.
  • Copyright years, author, and license type.

 

A minimal header would look like:

# Object Detection global plugin main module

# Copyright 2020 Shubham Jain, released under GPL (or a suitable license compatible with GPL 2)

 

Note that I’m reviewing source code directly at this point i.e. cloning your repo directly.

Cheers,

Joseph

 

From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Shubham Jain
Sent: Saturday, July 11, 2020 1:06 AM
To: nvda-addons@nvda-addons.groups.io
Subject: [nvda-addons] Object detection pre-release

 

Hello Everyone!

I am very happy to announce that a pre-release version of my add-on, Object detection, is now available. You can find it here: https://github.com/ShubhamJain7/objectDetection-NVDA-Addon/releases/tag/v0.1-alpha

Detection is triggered by pressing Alt+NVDA+D. When the detection is complete, "Result Document" is announced. Users can then access the result as a navigator object by pressing CTRL+arrow keys. Press ESC to escape the result.

As a bare-bones version, the model it implements is very small and simple and so it may not work for some images. There are larger and better models available but I have chosen to omit them in this release as the purpose of this release is to gather feedback from the community to decide a path forward. As a sighted developer, I feel I may not be the best person to make decisions on the UI/UX of this add-on. For instance, it may be easy for me to ascertain when there is an image on the screen and to determine the accuracy of the results. It may not be so for non-visual users. Thus it would be very helpful if you could test this add-on and provide some feedback on things such as if detection should be automatic, triggered or both, the gesture used to trigger the add-on, the quality and syntax of the result, the ways in which to make the result available and anything else.
I must also mention that another feature I wish to implement is drawing bounding boxes around the detected objects. When users move the mouse or their finger(in touch displays), the object name would be announced. Any feedback on this feature would be appreciated too!

regards,
Shubham Jain

Re: Object detection pre-release

Akash Kakkar
 

Amazing! gonna try it Shubham

On 7/11/20, Shubham Jain <@ShubhamJain> wrote:
Hello Everyone!

I am very happy to announce that a pre-release version of my add-on, Object
detection, is now available. You can find it here:
https://github.com/ShubhamJain7/objectDetection-NVDA-Addon/releases/tag/v0.1-alpha

Detection is triggered by pressing Alt+NVDA+D. When the detection is
complete, "Result Document" is announced. Users can then access the result
as a navigator object by pressing CTRL+arrow keys. Press ESC to escape the
result.

As a bare-bones version, the model it implements is very small and simple
and so it may not work for some images. There are larger and better models
available but I have chosen to omit them in this release as the purpose of
this release is to gather feedback from the community to decide a path
forward. As a sighted developer, I feel I may not be the best person to make
decisions on the UI/UX of this add-on. For instance, it may be easy for me
to ascertain when there is an image on the screen and to determine the
accuracy of the results. It may not be so for non-visual users. Thus it
would be very helpful if you could test this add-on and provide some
feedback on things such as if detection should be automatic, triggered or
both, the gesture used to trigger the add-on, the quality and syntax of the
result, the ways in which to make the result available and anything else.
I must also mention that another feature I wish to implement is drawing
bounding boxes around the detected objects. When users move the mouse or
their finger(in touch displays), the object name would be announced. Any
feedback on this feature would be appreciated too!

*regards,*
*Shubham Jain*



Object detection pre-release

Shubham Jain
 

Hello Everyone!

I am very happy to announce that a pre-release version of my add-on, Object detection, is now available. You can find it here: https://github.com/ShubhamJain7/objectDetection-NVDA-Addon/releases/tag/v0.1-alpha

Detection is triggered by pressing Alt+NVDA+D. When the detection is complete, "Result Document" is announced. Users can then access the result as a navigator object by pressing CTRL+arrow keys. Press ESC to escape the result.

As a bare-bones version, the model it implements is very small and simple and so it may not work for some images. There are larger and better models available but I have chosen to omit them in this release as the purpose of this release is to gather feedback from the community to decide a path forward. As a sighted developer, I feel I may not be the best person to make decisions on the UI/UX of this add-on. For instance, it may be easy for me to ascertain when there is an image on the screen and to determine the accuracy of the results. It may not be so for non-visual users. Thus it would be very helpful if you could test this add-on and provide some feedback on things such as if detection should be automatic, triggered or both, the gesture used to trigger the add-on, the quality and syntax of the result, the ways in which to make the result available and anything else.
I must also mention that another feature I wish to implement is drawing bounding boxes around the detected objects. When users move the mouse or their finger(in touch displays), the object name would be announced. Any feedback on this feature would be appreciated too!

regards,
Shubham Jain

Re: Need help making a software accessible

Noelia Ruiz
 

Hello, this is for testing. The program is not accessible, and I don't
know if all issues could be fixed easily and soon, since the program
uses display model, which is kept by NVDA as a last resource when
other methods fail, as I read time ago. Please, Leonard, Reef and
other developers familiarized with this, fixme or add any feedback if
appropiate or if I'm wrong.
Anyway, since this is for testing in case you or your team find it
useful as a starting point, I have made the following main changes:

1. Assign the 'Edit' class to the windows whose windowClassName were
listed by you.
2. Now NVDA doesn't complains saying that bottom coordinate is minor
than top, which is not allowed.
3. Other minor changes in properties.

event_I used NVDAObject_init for this small changes, but if more
events have to be used, we probably work better with
chooseNVDAObjectOverlayClasses. But since I don't know the program, I
have done things as simple as possible to explore and follow later if
needed.
Cheers

Re: Need help making a software accessible

Noelia Ruiz
 

I will try to keep an eye on this during the weekend.
Cheers

2020-07-10 4:37 GMT+02:00, Cuong Dang Manh <@cuongdang>:

Hello Nolia and Joseph
1. I atach the module I wrote here.
2. The program named Sao Mai Braille (SMB), which translate print
document into braille in many languages. It has the main area not
accessible to NVDA. You can get it from my Google drive at:
https://drive.google.com/file/d/1g6SFOCyw4tvJFiQwU-7109ZpXZgfNT3y/view?usp=sharing
Thanks for your suggestion, and I'll try to learn it.
Cuong

Đặng Mạnh Cường
Chuyên viên công nghệ trợ giúp
Trung tâm hướng nghiệp và công nghệ trợ giúp cho người mù Sao Mai
52/22 Huỳnh Thiện Lộc, P. Hòa Thạnh, Q. Tân Phú, TP. HCM
Điện thoại: 028-7302-4488
E-mail: tech@...
Website: http://www.trungtamsaomai.org; http://www.saomaicenter.org
Điện thoại di động / Zalo: 0902-572-300
E-mail: @cuongdang; @dangmanhcuong
Skype: dangmanhcuong
facebook: http://facebook.com/dangmanhcuong
Twitter: ManhCuongTech

On 7/9/2020 12:30 PM, Noelia Ruiz wrote:
Hello, I suggest you to attach your app module (Python file) instead
of pasting, to preserve tabs.
We don't know the specific application. You may want to use other
events instead of event_gainFocus if you want to limit this to
specific objects of the app, or use chooseNVDAObjectOverlayClasses
method
You may want to see the NVDA's developer guide and app modules of NVDA
or in Windows Ten App Essential, by Joseph:
https://github.com/nvdaaddons/wintenApps/tree/master/addon/appModules
Cheers

2020-07-09 6:24 GMT+02:00, Cuong Dang Manh <@cuongdang>:
Hi All,

I have a software that its RichEdit control is not accessible with NVDA.
But if I run the following code in Python Console before launching the
software, NVDA can recognize and work with its RichEdit control. Can you
help me how to create an add-on or any other ways to let NVDA
automatically run this code whenever NVDA starts? The code is:

import NVDAObjects.window
NVDAObjects.window.windowClassMap['TSRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewHeaderFooterEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewNoteEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TInnerDBRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRVRichViewHeaderFooterEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRVRichViewNoteEdit']='Edit'

P.S. This is a letter from my boss. I try writing a small add-on using
that code, and sounds like it works, but I'm still a beginner of writing
NVDA add-on, so please check the code below and help me.


#code begin

import appModuleHandler
import NVDAObjects.window

class AppModule(appModuleHandler.AppModule):

    def event_gainFocus(self, obj, nextHandler):
        NVDAObjects.window.windowClassMap['TSRichViewEdit']='Edit'
        NVDAObjects.window.windowClassMap['TSRVRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewHeaderFooterEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewNoteEdit']='Edit'
        NVDAObjects.window.windowClassMap['TDBSRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TInnerDBRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRVRichViewHeaderFooterEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRVRichViewNoteEdit']='Edit'
        nextHandler()

#code end

Many thanks and look forward to hearing from you.Cuong







Re: NVDA Add-on Download and Usage Stats

Noelia Ruiz
 

Hi, seeing this right now. I cannot read long threads due to time and
things to do :)
I like a lot the opinion og Doug Lee and the service privided by Joseph.
If someone is interested in improve this, since it's open source and
easy to explore, I created this long time ago, but I think this is not
very useful for the reasons mentioned by :Doug Lee, though it may be
orientative:

https://nvdaaddons.github.io/
You can clone the repo and explore the form to improve it using AJAX.
Cheers


2020-07-10 3:44 GMT+02:00, Joseph Lee <@joslee>:

Hi all,
Found an interesting service where you can view download stats for GitHub
repo releases:
https://somsubhra.com/github-release-stats/
Cheers,
Joseph


-----Original Message-----
From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io>
On Behalf Of James Scholes
Sent: Tuesday, July 7, 2020 12:13 PM
To: Doug Lee <nvda@...>; nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] NVDA Add-on Download and Usage Stats

> * Deciding whether to count all downloads or just count one download per
unique IP address. For that one, keep in mind that if you count only one
download per IP, the downloads of updates will get ignored if you ask for
too wide a * time range.

Not to mention the fact that many people share a single IP, for several
reasons including:

1. shared accommodation e.g. school or college campuses; 2. shared NAT,
enforced by virtually all celular data networks and an increasing number of
fixed line providers due to IP v4 shortage; and 3. increased VPN usage for
privacy or geolocation circumvention.

Definitely not a trivial problem!

Regards,

James Scholes

On 07/07/2020 at 12:24 pm, Doug Lee wrote:
I consider download stats useful - in fact that is one of a few reasons I
keep the add-ons I write on my own website, so I can get those stats
myself for those add-ons.

However, it is a bit tricky to get accurate information. Problems I've
had to address as best I can include
* Avoiding the counting of bots and crawlers along with "real" downloads.
* Deciding whether to count all downloads or just count one download per
unique IP address. For that one, keep in mind that if you count only one
download per IP, the downloads of updates will get ignored if you ask for
too wide a * time range.
* Watching out for partial downloads, HTTP RANGE requests that pull down a
file in chunks, etc.
And my favorite,
* Handling of unexpected HTTP status codes.

Unexpected status codes? Yes, I got a bunch of code 418 log entries.
Googling that told me, much to my amusement, that HTTP status code 418
means "I am a teapot"! Further research finally indicated that my web host
provider uses that code when it blocks a retrieval that looks like it
comes from a source that is trying to do something unfriendly to my
website.

On Tue, Jul 07, 2020 at 10:42:53PM +0530, Bhavya shah wrote:
Hi Andy,

I think that's a fair argument against collecting daily usage
statistics, and personally, I agree that daily usage stats for add-ons
might be a bit of an overkill. However, download counts can be
recorded for add-ons without any changes in NVDA and without
permissions from NVDA users. What are your thoughts on tracking
download stats?

Thanks.

On 7/7/20, Andy B. <sonfire11@...> wrote:
Hi,



NVDA already does this for itself. It doesn’t make any sense asking
add-on users to allow it for each add-on. From my experience, add-on
users aren’t interested much in providing stats like this because the
overwhelming amount of questions from add-ons asking the same
question would be annoying at best. Imagine having 10 add-ons
installed. This means the user has to manage
11 requests for statistics. Not pleasant at all. I already get
annoyed when a developer asks once. Why would I make my users do it?
You could allow NVDA itself track this for you, but it is outside the
scope of NVDA’s purpose.







Sent from Mail for Windows 10



From: Bhavya shah
Sent: Tuesday, July 7, 2020 11:54 AM
To: nvda-addons
Subject: [nvda-addons] NVDA Add-on Download and Usage Stats



Dear NVDA add-ons community,



I would like to propose that we track the download and/or daily usage

statistics of NVDA add-ons. Neither of these is publicly displayed on

the community add-ons portal, and I am assuming that download stats

are not being recorded behind the scenes. This data could come in

handy in scenarios such as, but not limited to the following:

* Determining how popular a functionality is and using that

information when deciding or prioritizing which add-on's features

should be included in core.

* Potentially using those stats as a basis for ordering add-ons on
the website .

* Viewing that data for other forms of research, for an author to

prioritize development of a more downloaded add-on over lesser

downloaded ones, and even simply for the inherent value of stats.



I would appreciate thoughts and suggestions from add-on users and

developers on the (a) feasibility of obtaining this data, and (b) its

utility.



Thanks.



--

Best Regards

Bhavya Shah



Blogger at Hiking Across Horizons:
https://bhavyashah125.wordpress.com/

E-mail Address: bhavya.shah125@...

LinkedIn: https://www.linkedin.com/in/bhavyashah125/












Where has the clone url edit box and copy button on github?

Jaffar Sidek
 

Hi.  I wanted to clone the NVDA development wiki onto my local drive, but can't find the Read-only edit box of the git clone url and the copy button.  In fact, those have gone from most git pages recently.  So How can I clone the development wiki's repo onto my pc now?  Thanks for any hint.  Cheers!

Solve Reading Twice with NVDA Controller

 

Hi all

I am using nvdaControllerClient32.dll to communicate with NVDA from my application. When I call NVDA to read, it reads my requested message then NVDA itself
also reads second time.
Can you show me to let NVDA speak only my application requested messages?
Thanks in advance.
Regards,

Re: Need help making a software accessible

 

Hello Nolia and Joseph
1. I atach the module I wrote here.
2. The program named Sao Mai Braille (SMB), which translate print document into braille in many languages. It has the main area not accessible to NVDA. You can get it from my Google drive at: https://drive.google.com/file/d/1g6SFOCyw4tvJFiQwU-7109ZpXZgfNT3y/view?usp=sharing
Thanks for your suggestion, and I'll try to learn it.
Cuong

Đặng Mạnh Cường
Chuyên viên công nghệ trợ giúp
Trung tâm hướng nghiệp và công nghệ trợ giúp cho người mù Sao Mai
52/22 Huỳnh Thiện Lộc, P. Hòa Thạnh, Q. Tân Phú, TP. HCM
Điện thoại: 028-7302-4488
E-mail: tech@...
Website: http://www.trungtamsaomai.org; http://www.saomaicenter.org
Điện thoại di động / Zalo: 0902-572-300
E-mail: @cuongdang; @dangmanhcuong
Skype: dangmanhcuong
facebook: http://facebook.com/dangmanhcuong
Twitter: ManhCuongTech

On 7/9/2020 12:30 PM, Noelia Ruiz wrote:
Hello, I suggest you to attach your app module (Python file) instead
of pasting, to preserve tabs.
We don't know the specific application. You may want to use other
events instead of event_gainFocus if you want to limit this to
specific objects of the app, or use chooseNVDAObjectOverlayClasses
method
You may want to see the NVDA's developer guide and app modules of NVDA
or in Windows Ten App Essential, by Joseph:
https://github.com/nvdaaddons/wintenApps/tree/master/addon/appModules
Cheers

2020-07-09 6:24 GMT+02:00, Cuong Dang Manh <@cuongdang>:
Hi All,

I have a software that its RichEdit control is not accessible with NVDA.
But if I run the following code in Python Console before launching the
software, NVDA can recognize and work with its RichEdit control. Can you
help me how to create an add-on or any other ways to let NVDA
automatically run this code whenever NVDA starts? The code is:

import NVDAObjects.window
NVDAObjects.window.windowClassMap['TSRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewHeaderFooterEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewNoteEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TInnerDBRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRVRichViewHeaderFooterEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRVRichViewNoteEdit']='Edit'

P.S. This is a letter from my boss. I try writing a small add-on using
that code, and sounds like it works, but I'm still a beginner of writing
NVDA add-on, so please check the code below and help me.


#code begin

import appModuleHandler
import NVDAObjects.window

class AppModule(appModuleHandler.AppModule):

    def event_gainFocus(self, obj, nextHandler):
        NVDAObjects.window.windowClassMap['TSRichViewEdit']='Edit'
        NVDAObjects.window.windowClassMap['TSRVRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewHeaderFooterEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewNoteEdit']='Edit'
        NVDAObjects.window.windowClassMap['TDBSRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TInnerDBRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRVRichViewHeaderFooterEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRVRichViewNoteEdit']='Edit'
        nextHandler()

#code end

Many thanks and look forward to hearing from you.Cuong





Re: NVDA Add-on Download and Usage Stats

 

Hi all,
Found an interesting service where you can view download stats for GitHub repo releases:
https://somsubhra.com/github-release-stats/
Cheers,
Joseph

-----Original Message-----
From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of James Scholes
Sent: Tuesday, July 7, 2020 12:13 PM
To: Doug Lee <nvda@...>; nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] NVDA Add-on Download and Usage Stats

> * Deciding whether to count all downloads or just count one download per unique IP address. For that one, keep in mind that if you count only one download per IP, the downloads of updates will get ignored if you ask for too wide a * time range.

Not to mention the fact that many people share a single IP, for several reasons including:

1. shared accommodation e.g. school or college campuses; 2. shared NAT, enforced by virtually all celular data networks and an increasing number of fixed line providers due to IP v4 shortage; and 3. increased VPN usage for privacy or geolocation circumvention.

Definitely not a trivial problem!

Regards,

James Scholes

On 07/07/2020 at 12:24 pm, Doug Lee wrote:
I consider download stats useful - in fact that is one of a few reasons I keep the add-ons I write on my own website, so I can get those stats myself for those add-ons.

However, it is a bit tricky to get accurate information. Problems I've
had to address as best I can include
* Avoiding the counting of bots and crawlers along with "real" downloads.
* Deciding whether to count all downloads or just count one download per unique IP address. For that one, keep in mind that if you count only one download per IP, the downloads of updates will get ignored if you ask for too wide a * time range.
* Watching out for partial downloads, HTTP RANGE requests that pull down a file in chunks, etc.
And my favorite,
* Handling of unexpected HTTP status codes.

Unexpected status codes? Yes, I got a bunch of code 418 log entries.
Googling that told me, much to my amusement, that HTTP status code 418 means "I am a teapot"! Further research finally indicated that my web host provider uses that code when it blocks a retrieval that looks like it comes from a source that is trying to do something unfriendly to my website.

On Tue, Jul 07, 2020 at 10:42:53PM +0530, Bhavya shah wrote:
Hi Andy,

I think that's a fair argument against collecting daily usage
statistics, and personally, I agree that daily usage stats for add-ons
might be a bit of an overkill. However, download counts can be
recorded for add-ons without any changes in NVDA and without
permissions from NVDA users. What are your thoughts on tracking
download stats?

Thanks.

On 7/7/20, Andy B. <sonfire11@...> wrote:
Hi,



NVDA already does this for itself. It doesn’t make any sense asking
add-on users to allow it for each add-on. From my experience, add-on
users aren’t interested much in providing stats like this because the
overwhelming amount of questions from add-ons asking the same
question would be annoying at best. Imagine having 10 add-ons
installed. This means the user has to manage
11 requests for statistics. Not pleasant at all. I already get
annoyed when a developer asks once. Why would I make my users do it?
You could allow NVDA itself track this for you, but it is outside the scope of NVDA’s purpose.







Sent from Mail for Windows 10



From: Bhavya shah
Sent: Tuesday, July 7, 2020 11:54 AM
To: nvda-addons
Subject: [nvda-addons] NVDA Add-on Download and Usage Stats



Dear NVDA add-ons community,



I would like to propose that we track the download and/or daily usage

statistics of NVDA add-ons. Neither of these is publicly displayed on

the community add-ons portal, and I am assuming that download stats

are not being recorded behind the scenes. This data could come in

handy in scenarios such as, but not limited to the following:

* Determining how popular a functionality is and using that

information when deciding or prioritizing which add-on's features

should be included in core.

* Potentially using those stats as a basis for ordering add-ons on
the website .

* Viewing that data for other forms of research, for an author to

prioritize development of a more downloaded add-on over lesser

downloaded ones, and even simply for the inherent value of stats.



I would appreciate thoughts and suggestions from add-on users and

developers on the (a) feasibility of obtaining this data, and (b) its

utility.



Thanks.



--

Best Regards

Bhavya Shah



Blogger at Hiking Across Horizons:
https://bhavyashah125.wordpress.com/

E-mail Address: bhavya.shah125@...

LinkedIn: https://www.linkedin.com/in/bhavyashah125/







Re: Notice on NVDA Add-ons community repositories: do not use that repo to store your add-on repos unless you have to

 

Hi,
Ah yes, I'll add mine and sort add-ons table alphabetically.
Cheers,
Joseph

-----Original Message-----
From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Noelia Ruiz
Sent: Wednesday, July 8, 2020 11:26 PM
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] Notice on NVDA Add-ons community repositories: do not use that repo to store your add-on repos unless you have to

OK, also as a reminder, time ago I created this wiki page for authors wishing to list the repos where they want to receive contributions.
Your add-ons are not listed and I mentioned your forked add-on just due to the fact that the organization may include other useful add-ons, knowing that you could reply providing more info to help. For now the add-ons workflow is paused regarding the translation system and other questions, but I agree about your reply.
Listed repos are at
https://github.com/nvdaaddons/nvdaaddons.github.io/wiki/repos
Cheers

2020-07-09 8:10 GMT+02:00, Joseph Lee <@joslee>:
Hello everyone,

I believe I posted this a while back, but looks like a reminder might
be handy at this time:

As many of you may know, there exists a group of repositories hosted
on GitHub that are managed under "nvdaaddons" organization. The
overall purpose of that organization and repositories hosted by it is
to coordinate community-wide add-on development and workflow
integration. As such, only repositories critical to the operation of
NVDA add-on community workflow such as translations, add-on template,
new add-on workflow experiments, add-on development guide, and related
repos are accepted.

A special group of repositories hosted on nvdaaddons organization is
the "add-ons workflow" copy of community add-ons. They are not meant
to be edited by humans unless it is absolutely needed (such as
registering an add-on for translations) and sending add-on messages to
translators. As such, YOU SHOULD NOT HOST YOUR CODE IN THOSE REPOS
UNLESS EXCEPTIONS ARE GRANTED! That exception being that you have no
other place to host add-on code. These days, given that many add-on
authors have GitHub accounts, this exception is rarely granted - in
other words, your own GitHub repo should be the authoritative source
of add-on development.

Another reason for hosting your own add-on source code under your own
GitHub account repo is for ease of review and future workflow
integration. This helps reviewers as we can determine who the primary
author of the add-on is (unless told otherwise) and keep track of
repos as we review add-ons. It also helps would-be pull request
writers and people submitting issues as they can send in their work
(or file a new issue) under the actual add-on repo's issue tracker,
not the community version issue tracker under nvdaaddons organization.



Special note for people wishing to obtain source code for my add-ons:
I would like to kindly request that people no longer use the URL of the form:

https://github.com/nvdaaddons/{repoName}
<https://github.com/nvdaaddons/%7brepoName%7d>



That URL is reserved for use by community add-on integration tools
such as translations and for me to synchronize my add-on source code
with nvdaaddons version for exchanging translations and documentation
with translators.
Instead, the authoritative repos of my add-ons can be found via the
URL of the form:

https://github.com/josephsl/{repoName}
<https://github.com/josephsl/%7brepoName%7d>



For example, for Windows 10 App Essentials, the authoritative version
of the work I'm doing with the add-on is located at:

https://github.com/josephsl/wintenapps



Thanks.

Cheers,

Joseph




Re: Notice on NVDA Add-ons community repositories: do not use that repo to store your add-on repos unless you have to

Noelia Ruiz
 

OK, also as a reminder, time ago I created this wiki page for authors
wishing to list the repos where they want to receive contributions.
Your add-ons are not listed and I mentioned your forked add-on just
due to the fact that the organization may include other useful
add-ons, knowing that you could reply providing more info to help. For
now the add-ons workflow is paused regarding the translation system
and other questions, but I agree about your reply.
Listed repos are at
https://github.com/nvdaaddons/nvdaaddons.github.io/wiki/repos
Cheers

2020-07-09 8:10 GMT+02:00, Joseph Lee <@joslee>:

Hello everyone,

I believe I posted this a while back, but looks like a reminder might be
handy at this time:

As many of you may know, there exists a group of repositories hosted on
GitHub that are managed under "nvdaaddons" organization. The overall
purpose
of that organization and repositories hosted by it is to coordinate
community-wide add-on development and workflow integration. As such, only
repositories critical to the operation of NVDA add-on community workflow
such as translations, add-on template, new add-on workflow experiments,
add-on development guide, and related repos are accepted.

A special group of repositories hosted on nvdaaddons organization is the
"add-ons workflow" copy of community add-ons. They are not meant to be
edited by humans unless it is absolutely needed (such as registering an
add-on for translations) and sending add-on messages to translators. As
such, YOU SHOULD NOT HOST YOUR CODE IN THOSE REPOS UNLESS EXCEPTIONS ARE
GRANTED! That exception being that you have no other place to host add-on
code. These days, given that many add-on authors have GitHub accounts, this
exception is rarely granted - in other words, your own GitHub repo should
be
the authoritative source of add-on development.

Another reason for hosting your own add-on source code under your own
GitHub
account repo is for ease of review and future workflow integration. This
helps reviewers as we can determine who the primary author of the add-on is
(unless told otherwise) and keep track of repos as we review add-ons. It
also helps would-be pull request writers and people submitting issues as
they can send in their work (or file a new issue) under the actual add-on
repo's issue tracker, not the community version issue tracker under
nvdaaddons organization.



Special note for people wishing to obtain source code for my add-ons: I
would like to kindly request that people no longer use the URL of the form:

https://github.com/nvdaaddons/{repoName}
<https://github.com/nvdaaddons/%7brepoName%7d>



That URL is reserved for use by community add-on integration tools such as
translations and for me to synchronize my add-on source code with
nvdaaddons
version for exchanging translations and documentation with translators.
Instead, the authoritative repos of my add-ons can be found via the URL of
the form:

https://github.com/josephsl/{repoName}
<https://github.com/josephsl/%7brepoName%7d>



For example, for Windows 10 App Essentials, the authoritative version of
the
work I'm doing with the add-on is located at:

https://github.com/josephsl/wintenapps



Thanks.

Cheers,

Joseph




Notice on NVDA Add-ons community repositories: do not use that repo to store your add-on repos unless you have to

 

Hello everyone,

I believe I posted this a while back, but looks like a reminder might be handy at this time:

As many of you may know, there exists a group of repositories hosted on GitHub that are managed under “nvdaaddons” organization. The overall purpose of that organization and repositories hosted by it is to coordinate community-wide add-on development and workflow integration. As such, only repositories critical to the operation of NVDA add-on community workflow such as translations, add-on template, new add-on workflow experiments, add-on development guide, and related repos are accepted.

A special group of repositories hosted on nvdaaddons organization is the “add-ons workflow” copy of community add-ons. They are not meant to be edited by humans unless it is absolutely needed (such as registering an add-on for translations) and sending add-on messages to translators. As such, YOU SHOULD NOT HOST YOUR CODE IN THOSE REPOS UNLESS EXCEPTIONS ARE GRANTED! That exception being that you have no other place to host add-on code. These days, given that many add-on authors have GitHub accounts, this exception is rarely granted – in other words, your own GitHub repo should be the authoritative source of add-on development.

Another reason for hosting your own add-on source code under your own GitHub account repo is for ease of review and future workflow integration. This helps reviewers as we can determine who the primary author of the add-on is (unless told otherwise) and keep track of repos as we review add-ons. It also helps would-be pull request writers and people submitting issues as they can send in their work (or file a new issue) under the actual add-on repo’s issue tracker, not the community version issue tracker under nvdaaddons organization.

 

Special note for people wishing to obtain source code for my add-ons: I would like to kindly request that people no longer use the URL of the form:

https://github.com/nvdaaddons/{repoName}

 

That URL is reserved for use by community add-on integration tools such as translations and for me to synchronize my add-on source code with nvdaaddons version for exchanging translations and documentation with translators. Instead, the authoritative repos of my add-ons can be found via the URL of the form:

https://github.com/josephsl/{repoName}

 

For example, for Windows 10 App Essentials, the authoritative version of the work I’m doing with the add-on is located at:

https://github.com/josephsl/wintenapps

 

Thanks.

Cheers,

Joseph

Re: Need help making a software accessible

 

Hi,
Forgot to say: I meant to type "app module"... Sorry for the typo.
As for repo links, I'll make a post about them soon.
Cheers,
Joseph

-----Original Message-----
From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Joseph Lee via groups.io
Sent: Wednesday, July 8, 2020 10:40 PM
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] Need help making a software accessible

Hi,
No, don't use that link, as it is not the correct repository link at this time. The correct (and authoritative) link is:
https://github.com/josephsl /wintenApps/tree/master/addon/appModules

The NVDA add-ons repo version of my add-ons are there for maintenance and community workflow integration only. As such, you SHOULD NOT fork the NVDA Add-ons repo; please fork josephsl repo.
As for Windows 10 App Essentials being a good example for app modules: yes and no. Yes as it will let you see some inner workings of app modules. At the same time, it is not really a good example for beginners yet as it requires specific configurations in order for them to work (namely you must be running most recent Windows 10 releases).
As for the original question at hand: I would say the best approach would be overlay class chooser (chooseNVDAObjectOverlayClasses). You need to have a list of these window class names somewhere in the pap module file, then in chooseNVDAObjectOverlayClasses method, you need to see if the window class name match the list of classes defined and reclassify them as edit windows.
Cheers,
Joseph


-----Original Message-----
From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Noelia Ruiz
Sent: Wednesday, July 8, 2020 10:30 PM
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] Need help making a software accessible

Hello, I suggest you to attach your app module (Python file) instead of pasting, to preserve tabs.
We don't know the specific application. You may want to use other events instead of event_gainFocus if you want to limit this to specific objects of the app, or use chooseNVDAObjectOverlayClasses method You may want to see the NVDA's developer guide and app modules of NVDA or in Windows Ten App Essential, by Joseph:
https://github.com/nvdaaddons/wintenApps/tree/master/addon/appModules
Cheers

2020-07-09 6:24 GMT+02:00, Cuong Dang Manh <@cuongdang>:
Hi All,

I have a software that its RichEdit control is not accessible with NVDA.
But if I run the following code in Python Console before launching the
software, NVDA can recognize and work with its RichEdit control. Can
you help me how to create an add-on or any other ways to let NVDA
automatically run this code whenever NVDA starts? The code is:

import NVDAObjects.window
NVDAObjects.window.windowClassMap['TSRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewHeaderFooterEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewNoteEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TInnerDBRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRVRichViewHeaderFooterEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRVRichViewNoteEdit']='Edit'

P.S. This is a letter from my boss. I try writing a small add-on using
that code, and sounds like it works, but I'm still a beginner of
writing NVDA add-on, so please check the code below and help me.


#code begin

import appModuleHandler
import NVDAObjects.window

class AppModule(appModuleHandler.AppModule):

def event_gainFocus(self, obj, nextHandler):
NVDAObjects.window.windowClassMap['TSRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewHeaderFooterEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewNoteEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TInnerDBRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRVRichViewHeaderFooterEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRVRichViewNoteEdit']='Edit'
nextHandler()

#code end

Many thanks and look forward to hearing from you.Cuong





Re: Need help making a software accessible

 

Hi,
No, don't use that link, as it is not the correct repository link at this time. The correct (and authoritative) link is:
https://github.com/josephsl /wintenApps/tree/master/addon/appModules

The NVDA add-ons repo version of my add-ons are there for maintenance and community workflow integration only. As such, you SHOULD NOT fork the NVDA Add-ons repo; please fork josephsl repo.
As for Windows 10 App Essentials being a good example for app modules: yes and no. Yes as it will let you see some inner workings of app modules. At the same time, it is not really a good example for beginners yet as it requires specific configurations in order for them to work (namely you must be running most recent Windows 10 releases).
As for the original question at hand: I would say the best approach would be overlay class chooser (chooseNVDAObjectOverlayClasses). You need to have a list of these window class names somewhere in the pap module file, then in chooseNVDAObjectOverlayClasses method, you need to see if the window class name match the list of classes defined and reclassify them as edit windows.
Cheers,
Joseph

-----Original Message-----
From: nvda-addons@nvda-addons.groups.io <nvda-addons@nvda-addons.groups.io> On Behalf Of Noelia Ruiz
Sent: Wednesday, July 8, 2020 10:30 PM
To: nvda-addons@nvda-addons.groups.io
Subject: Re: [nvda-addons] Need help making a software accessible

Hello, I suggest you to attach your app module (Python file) instead of pasting, to preserve tabs.
We don't know the specific application. You may want to use other events instead of event_gainFocus if you want to limit this to specific objects of the app, or use chooseNVDAObjectOverlayClasses method You may want to see the NVDA's developer guide and app modules of NVDA or in Windows Ten App Essential, by Joseph:
https://github.com/nvdaaddons/wintenApps/tree/master/addon/appModules
Cheers

2020-07-09 6:24 GMT+02:00, Cuong Dang Manh <@cuongdang>:
Hi All,

I have a software that its RichEdit control is not accessible with NVDA.
But if I run the following code in Python Console before launching the
software, NVDA can recognize and work with its RichEdit control. Can
you help me how to create an add-on or any other ways to let NVDA
automatically run this code whenever NVDA starts? The code is:

import NVDAObjects.window
NVDAObjects.window.windowClassMap['TSRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewHeaderFooterEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewNoteEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TInnerDBRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRVRichViewHeaderFooterEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRVRichViewNoteEdit']='Edit'

P.S. This is a letter from my boss. I try writing a small add-on using
that code, and sounds like it works, but I'm still a beginner of
writing NVDA add-on, so please check the code below and help me.


#code begin

import appModuleHandler
import NVDAObjects.window

class AppModule(appModuleHandler.AppModule):

def event_gainFocus(self, obj, nextHandler):
NVDAObjects.window.windowClassMap['TSRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewHeaderFooterEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewNoteEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TInnerDBRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRVRichViewHeaderFooterEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRVRichViewNoteEdit']='Edit'
nextHandler()

#code end

Many thanks and look forward to hearing from you.Cuong





Re: Need help making a software accessible

Noelia Ruiz
 

Hello, I suggest you to attach your app module (Python file) instead
of pasting, to preserve tabs.
We don't know the specific application. You may want to use other
events instead of event_gainFocus if you want to limit this to
specific objects of the app, or use chooseNVDAObjectOverlayClasses
method
You may want to see the NVDA's developer guide and app modules of NVDA
or in Windows Ten App Essential, by Joseph:
https://github.com/nvdaaddons/wintenApps/tree/master/addon/appModules
Cheers

2020-07-09 6:24 GMT+02:00, Cuong Dang Manh <@cuongdang>:

Hi All,

I have a software that its RichEdit control is not accessible with NVDA.
But if I run the following code in Python Console before launching the
software, NVDA can recognize and work with its RichEdit control. Can you
help me how to create an add-on or any other ways to let NVDA
automatically run this code whenever NVDA starts? The code is:

import NVDAObjects.window
NVDAObjects.window.windowClassMap['TSRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewHeaderFooterEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewNoteEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TInnerDBRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRVRichViewHeaderFooterEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRVRichViewNoteEdit']='Edit'

P.S. This is a letter from my boss. I try writing a small add-on using
that code, and sounds like it works, but I'm still a beginner of writing
NVDA add-on, so please check the code below and help me.


#code begin

import appModuleHandler
import NVDAObjects.window

class AppModule(appModuleHandler.AppModule):

    def event_gainFocus(self, obj, nextHandler):
        NVDAObjects.window.windowClassMap['TSRichViewEdit']='Edit'
        NVDAObjects.window.windowClassMap['TSRVRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewHeaderFooterEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewNoteEdit']='Edit'
        NVDAObjects.window.windowClassMap['TDBSRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TInnerDBRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRVRichViewHeaderFooterEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRVRichViewNoteEdit']='Edit'
        nextHandler()

#code end

Many thanks and look forward to hearing from you.Cuong





Need help making a software accessible

 

Hi All,

I have a software that its RichEdit control is not accessible with NVDA. But if I run the following code in Python Console before launching the software, NVDA can recognize and work with its RichEdit control. Can you help me how to create an add-on or any other ways to let NVDA automatically run this code whenever NVDA starts? The code is:

import NVDAObjects.window
NVDAObjects.window.windowClassMap['TSRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewHeaderFooterEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewNoteEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TInnerDBRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRVRichViewHeaderFooterEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRVRichViewNoteEdit']='Edit'

P.S. This is a letter from my boss. I try writing a small add-on using that code, and sounds like it works, but I'm still a beginner of writing NVDA add-on, so please check the code below and help me.


#code begin

import appModuleHandler
import NVDAObjects.window

class AppModule(appModuleHandler.AppModule):

    def event_gainFocus(self, obj, nextHandler):
        NVDAObjects.window.windowClassMap['TSRichViewEdit']='Edit'
        NVDAObjects.window.windowClassMap['TSRVRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewHeaderFooterEdit']='Edit'
NVDAObjects.window.windowClassMap['TSRVRichViewNoteEdit']='Edit'
        NVDAObjects.window.windowClassMap['TDBSRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TInnerDBRichViewEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRVRichViewHeaderFooterEdit']='Edit'
NVDAObjects.window.windowClassMap['TDBSRVRichViewNoteEdit']='Edit'
        nextHandler()

#code end

Many thanks and look forward to hearing from you.Cuong