Friday, August 14, 2015

A warm welcome to NVDA Add-on Internals

One of the most influential books I read was Windows Internals (sixth edition) by Alex Ionescu, David Solomon and Mark Russinovich. This book covers everything a programmer, IT professional and power users need to know about Windows 7 and Server 2008 R2, including startup and shutdown sequence, running programs, user management and so on.
After reading that book, I thought, "why not write a series of articles describing internals of NVDA screen reader and some NVDA add-ons?" As a developer and a student interested in good quality documentation, I found that some of the NVDA add-ons were poorly documented, and some had source code layout that puzzled me at first (but I figured out how the add-on worked in the end). Thus this series was born: NVDA Add-on Internals (perhaps we should talk about NVDA Core internals at a later time, which would be a volume if written (I imagine)).
There were several reasons (besides the above ones) that prompted me to start writing this series. For add-on users (especially for power users), I think letting you see the heart of the add-on(s) you are using will help you appreciate the work required for add-on writers and better understand what the add-on does. For add-on developers (mostly blind NVDA users and developers), I think the Internals series will become a handy reference in future add-on developments, and eventually help you assist NVDA screen reader development. For sighted computer users, programmers, IT professionals, students and teachers (mostly those studying computer science, communication studies and related fields), I hope this series will help you gain insight into how blind people write amazing code and to let you glimpse what a good documentation looks and feels like.
Our first add-on is an add-on that is being used by many blind broadcasters: StationPlaylist Studio, developed by Geoff Shang, James Teh, I (Joseph Lee) and others (currently I maintain this add-on). The style I employed (mostly from user's perspective with some technical details thrown into the mix) and the material I'll cover (literally everything about this add-on) will set the stage for other add-ons in the future. So sit back and enjoy a detailed tour of internals of StationPlaylist Studio add-on for NVDA.
P.S. I should also mention that one of my "documentation heroes" was David Pogue (New York Times), author of such books as iPhone: The Missing Manual and others (O'Reilly). Thank you David for teaching me how to write good documentation from users' perspectives through your books (I'm glad to see that you did mention VoiceOver in your iPhone books, and many blind people have benefited from your insight).

No comments:

Post a Comment