This was a very slow week, more thinking and decision making and less coding. There were a few issues with the file structure of the add-on. Turns out NVDA expects every Python file in the globalPlugins
directory to contain an instance of globalPluginHandler.GlobalPlugin
. After spending an embarrassingly long amount of time (read two days). I was finally able to solve it by packaging all the code as a Python package. You can see the code here.
After discussions with my mentor Reef, I came to realize that I may have been focused on the wrong things. With such projects, it is quite easy to lose track of your initial goals and fly off on a tangent. I started worrying about things like the size and speed of the object detection models and lost focus on the real goal, to make an add-on that is useful and userfriendly for non-visual users. I wished to release the add-on and get feedback on which model the users think is the best and not how I can make the add-on more useful. As a sighted developer, it is quite easy for me to know when there is an image on the screen and how accurate the results are. For non-visual users, it is not the same. So, after thinking hard and realigning my goals with users' needs, I set out to release the add-on.
It was very exciting to create a release for my code! So much so that I entirely forgot about adding a license to the repo and copyright headers to my code files. Oops. You can find the alpha version of the pre-release here. Having done that, I shared the news with users and asked them for feedback. You can see that on the NVDA add-ons development group. There are some very obvious flaws to my code but it's all part of the process!