Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
Programming

How Blind Programmers Write Code 79

theodp writes: Yes, folks, there are blind programmers. There's Ed Summers, for one, who lost his vision at age 30 and now ghostblogs for Willie the Seeing Eye Dog. And if you've ever wondered how the blind can code, Florian Beijers, who has been blind since birth, explains that all he needs is a normal Dell Inspiron 15r SE notebook and his trusty open source NVDA screen reader software, and he's good-to-go. "This is really all the adaptation a blind computer user needs," Beijers adds, but he does ask one small favor: "If you're writing the next big application, with a stunning UI and a great workflow, I humbly ask you to consider accessibility as part of the equation. In this day and age, there's really no reason not to use the UI toolkits available."
This discussion has been archived. No new comments can be posted.

How Blind Programmers Write Code

Comments Filter:
  • by Anonymous Coward

    The human will to succeed.
    Back when a IBM 3270 "dumb terminal" was the height of technology I worked with a programmer with no arms, and another who was legally blind.
    A third was a quadriplegic.
    When you hire, give everyone a chance.
    Many thanks to my friends at Northeast Utilities, who taught me a thing or two.
    Tom D

    • When you hire, give everyone a chance.

      Unless you're Uber.

  • by rmdingler ( 1955220 ) on Saturday January 31, 2015 @09:50AM (#48946343) Journal
    It's great we live in a relatively wealthy and enlightened time where the special needs of the few can be borne by the many. The things I'm taking daily for granted that others still only dream to do! And I still can't explain why I continue to allow myself to have an occasional bad day, despite this awareness.
    • It is difficult to put yourself in another person's shoes - to put aside your beliefs and look at the world from a different perspective.

      It is even more challenging to update this constantly with each new person you see. And still more challenging to go through your life while staying mindful of others.

      Normal people only think of the "now" self, and find it easy to make the future self do all the hard work, losing the mindfulness of even your own self.

      Thinking about accessibility, or how someone else might

      • Good thoughts.

        Regarding self: without some wicked discipline, the needs of your present self overwhelmingly seem to outweigh consideration of what's beneficial to future you. Perhaps this is biological. The need to survive the day would trump some perceived future benefit.

        Regarding insight: placing yourself into the vantage point of another is an important part of the key, but you still need objective and accurate self-appraisal. For me, that's the more difficult part.

  • According to Wikipedia, the main symptom of Retinitis pigmentosa, which is what Ed Summers had been diagnosed with, is having less than 90 degree peripheral vision. I was worried because I spend more than 13 hours daily in front of a computer monitor, but seeing as how I have 90 degree peripheral vision at the moment, it's a relief. Sure this can change at any time, but there's also inheritance to consider, however my family has never been diagnosed with this degenerative eye disease. In conclusion, I can
  • by Anonymous Coward

    The man I worked with was one of the most talented programmers I have ever known. As a blind person he had a different perspective that was quit useful in evaluating problems.

  • Yes, folks, there are blind programmers.

    Did anyone particularly think there weren't?

  • by layabout ( 1576461 ) on Saturday January 31, 2015 @10:28AM (#48946547)

    I feel his pain because I've been living for over 20 years with nerve damage in my hands and it basically ended my programming career. I've been trying to build a programming by speech environment that matches the capabilities speech recognition versus the current efforts of trying to make speech recognition replicate the capabilities of one's hands.

    Much of the accessibility problems can be summed up as not being able to truly understand what it means to live with a disability, the steadfast belief that it will never happen to them, and the inability to accept any other application/user interface combination other than the all in one bundle we use today.Age will make us all disabled it's only a question of how much, how fast. The lack of understanding about disabilities and how they affect people has created generation after generation programmers writing software that they will never be able to use once their hands or eyes stop working..

    The biggest technical issue with accessibility is the fixation on the all-in-one user interface and application model. If you separate the user interface from the application then you can swap out the UI for another one. I could remove the GUI and put in a speech or an interface with graphical augmentation for feedback. Or use text-to-speech for feedback. Splitting off the UI from the application makes it possible to make an application accessible without having to go through the effort of writing an accessibility interface and it reduces the cost of accessibility on the developers making it possible to make more applications accessible.

    There is a secondary, less obvious reason for splitting off the UI from the application. We all know how messed up many GUIs are. These interfaces were written by people who've use the same interface for years but they still mess it up. You will not be surprised if I tell you that in the speech recognition world, the speech interfaces we are given are messed up even more than the GUI interfaces are and I believe that is directly due to the lack of empathy or experience with being disabled. So with the split I propose, I can do or other disability activists can build UIs based on the actual needs of disabled people versus forcing them to live with the interface you think they need.

    • The biggest technical issue with accessibility is the fixation on the all-in-one user interface and application model. If you separate the user interface from the application then you can swap out the UI for another one. I could remove the GUI and put in a speech or an interface with graphical augmentation for feedback. Or use text-to-speech for feedback. Splitting off the UI from the application makes it possible to make an application accessible without having to go through the effort of writing an accessibility interface and it reduces the cost of accessibility on the developers making it possible to make more applications accessible.

      In other words, Unix philosophy for the win :)

  • It's gratifying to see technological progress that enables people with obstacles to be productive, rather than just enabling cat videos and teenage gossip.

    It's also good for technology to actually help the visually impaired in a dignified way, because it seems most advocates for the disabled are lunatic fringe reverse bigots who want obnoxious in-your-fact interventions for the visually impaired which are merely political statements to inconvenience the able-bodied with no benefit to anyone.

  • by gwolf ( 26339 ) <gwolf@NosPAm.gwolf.org> on Saturday January 31, 2015 @10:57AM (#48946703) Homepage

    Back in 2009, I was at the Debian Conference (DebConf) in Cáceres, Spain. We had the presence of two blind Debian Developers, Sam Hartman and Mario Lang, both of which have continued to attend the conference at later editions, and are today very active project members.

    They gave this talk on how they use their computer — Completely different ways, both very interesting to appreciate:

    Accessibility and Debian (OGV video) [acc.umu.se]

  • by n1hilist ( 997601 ) on Saturday January 31, 2015 @10:57AM (#48946705)

    Very few developers give a shit about accessibility. It's still largely a joke. I run Windows 8 and use High Contrast themes, but so many apps still don't comply with the HC colour schemes.

    Applications often have hard coded font colours/sizes - so you end up with black on black text (oh my goth!) or apps that don't render properly with a non-standard DPI.

    Microsoft still insists on locking down Windows so that you need to resort to replacing system files to enable custom themes.

    The web is horrible in High Contrast mode using IE or Firefox.

    Linux is better in some regards but there are still apps that have hard coded font colours, I haven't used a Linux desktop in a while (I use Debian and just ssh for my needs) but last time I used Gnome/KDE and others there were still issues.

    Google Chrome is the worst, there are addons like Hackervision etc but they slow down the browser and are not a perfect solution, better than nothing and a huge help for a lot of people but it's still lacking.

    And on mobile phones/tablets: To have white on black text in apps I have to root my phone, install a custom rom (I use SlimROM) and I have to resort to third party sources for modified APKs that have white on black text. Which is obviously a security risk.

    Yes you can invert the entire screen on Android, iOS but that inverts *everything* and that also means that if you have a black keyboard, then your keyboard becomes white, or that page you're looking at has various bright/dark areas that, well, just invert to the opposite. It makes so much more sense to let users choose their desired text colour, background colour and other things and use those.

    It's even worse when companies don't give a shit about their users, I've emailed many developers/companies asking politely to follow the Windows colour scheme, some have been helpful but the majority don't respond or care.

    It's outrageous that in 2015 it's easier to overclock adn watercool my CPU than it is to change the UI colours/fonts on my computer.

    Microsoft has made improvements, Windows 8 now lets you have a high contrast theme AND fullscreen magnification (like good ol' Compiz did) and I've written a bit of Autohotkey script to improve it but it's still lacking, you can't change many elements of the High Contrast theme, if you want the window borders to be non-white, you have to change the Button Text colour value (or it's something else non-related to window borders)

    Another issue (for me) is that low vision options for phones is always a case of: Normal users get the cool themes/GUI but low vision means you get the unchangable theme, why not just let us set the colours/layouts/styles *WE* want and work with that? ie: Windows 8's high contrast theme is very useful and a big improvement but because I can't tweak it much, I am forced to have white lines (window borders/outlines of things) everywhere, which is NOT eye-friendly if you have retina problems or suffer from migraines (lots of outlines/grids = migraine attack)

    So if anyone reads my comment and is a developer, please run your OS in a High Contrast theme, see how various apps don't comply, see how much of a fuckup it is trying to surf the web with a high contrast theme and try improve your code to comply and encourage your friends to do the same.

    It's also not just us low vision chaps that hate white UIs, so many of the users I assist at work ask me how to change the colours/fonts to make it clearer/less bright/comfortable because staring at a PC/phone/tablet all day is NOT comfortable for many.

    (please excuse brevity, software accessibility issues gets my blood boiling) :)

    • Not trying to troll (honest), but you but have you looked into Macintosh systems? The visual accessibility features are invoked at the level of the graphics layer (Quartz, I believe) so there's no futzing with colors as such.

      For example, inverting colors (which is how I compute 99% of the time) cannot be overridden by third-party software. (The current trend for "professional" UIs, which avoids the black-text-on-white-background usability nightmare of most software and websites, makes me glad I can toggle t

      • Yeah I've looked into OSX, and I installed ML on my PC (Hackintosh) and I've researched it a lot and played on a few Macs.

        I agree on OSX the inversion thing is great, but Windows Vista,7, 8 has that too and it works well, Windows 8 lets you have a white on black theme AND full screen magnification - something Win7 and below lacked.

        As I said in my post though, the issue is, it inverts *everything* - which means, say, browsing a website with photos I'd have to invert/uninvert often, which for me is a big prob

        • Please correct me if I'm wrong but OSX has no high contrast - white on black themes. Also I couldn't find an easy/comfortable way of using the magnifier, I greatly prefer Win8's magnifier - it has a few limitations but I found OSX's one annoying.

          From your descriptions of how you use of Windows accessibility features, it sounds like you've figured out highly efficient usage patterns and your facility with navigating the UI seems (to me) a bit higher than even many expert users. So, manipulating a different set of accessibility interface may not be comfortable or as useful for you, which totally makes sense. To answer your question about contrast:

          OS X does have a separate slider and checkbox for contrast.

          I don't use these regularly so can't comment

          • Thanks for the heads up dude, appreciate it :)

            If I ever do use Macs regularly (tbh I don't at all yet) I'll be sure to check it out.

            From my limited research there was some app called Chameleon or something for OSX, but was for an older version - but seems dead in the water now. I did try a few theme 'hacks' for OSX but they were pretty poor at best.

            As for my case, yeah I grew up in the early DOS dsays, hated mice, prefer using hotkeys (even for minimising/moving windows around), I can navigate around a Win

        • I've also got my magnifier configured so that I can use CTRL+ALT + Mousewheel or WIN+Mousewheel to zoom in/out very quickly, and CTRL+ALT+Middleclick to toggle invert.

          The zoom feature in OS X is configurable, but the default combination is control+mousewheel, so I'm not sure what it is that you prefer about the Windows one.

          • It was a while ago when I last tried it out, so I'd need to re-visit OSX to make a direct comparison, I just remember finding it clunky/irritating but I can't remember exactly.

    • by antdude ( 79039 )

      Yep, I don't use standard display settings as well on my test machines. It amazes me how many issues I run into. I used to be a SQA tester/analyst for my employer (got laid off last week from a 10% layoff) and had to write up many issues about usability and comestic issues. I am very picky in catching them (can see slight differences like a pixel off, color differences, etc.). Most of the reported issues are just deferred or cared not. There need to be stricter rules about accessibility. :(

  • by Snotnose ( 212196 ) on Saturday January 31, 2015 @11:26AM (#48946809)
    Some 20 years ago I worked for a small company who's lead programmer was legally blind. He wasn't 100% blind, but had very little vision. He worked on a Linux box that had one of the biggest screens available at the time, and his font size was huge. I could easily read his screen from across the room.

    Guy was a phenomenal programmer. His code seldom had bugs. He knew the entire code-base inside out. Basically, as it was so hard for him to read code, he memorized it when he did read it.
    • Yeah I worked briefly with a guy who did mostly normal office work and was completely blind, he used JAWS (a screen reader for Windows) and man, that dude could format *perfect* documents, spreadsheets. Being blind or severely visually impaired forces you to build mental maps of things and do things in your head more.

      I'm sure it's similar to how Stephen Hawking works, though he has good eyes (as far as I know) not being able to use his hands has forced him to do stuff in his head.

  • I couldn't imagine being blind from birth - what a great story and a great guy. Hat's off to him and his work (that many sighted people couldn't do anyway).
  • I am truly amazed by blind programmers writing code. The way our company runs rally and agile, I have seem more of programmers writing code blindly.
  • When a "dumb terminal" was the height of technology I worked with a programmer with no arms, another legally blind, a third was a quadriplegic. When you hire, give everyone a chance. Many thanks to my friends at Northeast Utilities, who taught me a thing or two.
    • Instead of responding to the article title with "Not with Visual Studio, I assume" I decided to post something helpful.

      In one of the volumes of Patterson's biography of Robert Heinlein, there was a reference to a blind machinist. He demonstrated by his example to disabled WW2 veterans that they could make it in the world.

  • I worked several projects over many years with Ted Glaser, who was blind. Ted was one of the pioneering computer scientists, having worked on the B5000 and Multics. Ted's memory and ability to visualize from verbal description were phenomenal. Many times I would phone Ted with a question about a complex system described by multiple block diagrams at decreasing levels of abstraction, walk through the diagrams ("interrupt handler box, three exits, one to ... etc." and he'd contribute from memory while I had t
  • From: http://dojotoolkit.org/referen... [dojotoolkit.org]
    "Dojo has made a serious commitment to creating a toolkit that allows the development of accessible Web applications for all users, regardless of physical abilities. The core widget set of Dojo, dijit, is fully accessible since the 1.0 release, making Dojo the only fully accessible open source toolkit for Web 2.0 development. This means that users who require keyboard only navigation, need accommodations for low vision or who use an assistive technology, can interact w

  • Here's an idea that might help people with limited vision, who can read only very large text:

    Suppose a web page (or app) has several articles in it. An article might not be all in one column. The article might be in more that one column, and the columns might not be right next to each other.

    Someone with normal sight can look at the entire web page, and see that the article starts here, then jumps over to there. But if you have to enlarge the text 5x to read it, then you can see only part of the web page. Th

  • First time I saw blind programmer was a professional C/PM App developer back around 1982. He used a minimalist text editor and a Votrax speech speech synth as the print device. I was in high school at the time and said programmer was the father of a fellow hacker in my Pod of computer, theater, and gamer nerds. Seeing (and hearing) this kids father program in C and Fortran was fascinating.

    You want to accommodate blind developers? Give them CLI access to every element of the system, with consistent short

"The whole problem with the world is that fools and fanatics are always so certain of themselves, but wiser people so full of doubts." -- Bertrand Russell

Working...