How Blind Programmers Write Code
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."
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
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.
Happiness in intelligent people is the rarest thing I know.
Ernest Hemingway
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 breathe easy...for now :P
Very interesting read.
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.
Because even a blind squirrel will eventually find a loose nut behind the keyboard.
Happiness in intelligent people is the rarest thing I know.
Ernest Hemingway
Meh, the UX designers are the blind ones, as nobody who needs to see the text would put light blue text on blue background as in Skype. Or why would the UI be designed in trendy 4bit paletter if they were not blind? For the people who use screen readers, the colors are irrelevant.
Yes, folks, there are blind programmers.
Did anyone particularly think there weren't?
systemd is Roko's Basilisk.
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.
I realize that you are just cracking a joke, but the reality is that computers are a great enabler. My deficiency is minor in comparison, being colorblind, but knowing a bit about the theory of color and having colors being handled numerically allows me to overcome that in the digital realm. I may not see the world as other people see it, but I'm not going to create an eyesore either.
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.
Of course !
Looks like we've found the "Dick of the Week."
Now that you've found it, you can put it down, and back away.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
you can put it down, and back away
"I put it down and tried to back away but it keeps following me! Help!"
No. It's not.
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)
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) :)
I worked LBL in the CS department; the guy on the front desk was blind, had a little bell with 'ping if I don't respond'
As front desk was not a big deal, he programmed for one of the internal projects, using a text-to-voice machine that went much faster than I could understand.
A well respected member of the team, not trivial stuff.
Must have been 35 years ago. But that's Berkeley for you.
He used vi if I recall.
Something happened since then, HR departments became the risk management department, and the risks they take are exactly "zero".
Including the risk of being seen as violating the Americans with Disabilities Act or other applicable law?
The link is at http://www.theaustralian.com.a...
It is a story about two vision impaired guys from Australia who programmed the NVDA for their own use and for all the vision impaired people everywhere
That program has been translated into many languages and now is being used all over
They are making the program themselvesl and give their program away, for free
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.
The GUI *is* a real b*tch. I's a huge problem compared to navigating constant-sized screen elements arranged in, say, an 80x25 cell grid. Those old DOS text programs had their advantages.
"Transparent" is a shit show that trades on every stereotype going. A man in drag is NOT a transsexual.
Wife to husband: "You only want to fuck me when you are drunk!"; Husband "No I don't, sometimes I fancy a kebab"
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).
..what is this, I don't even.
I made a lowbrow joke, deal with it people. (or not, as indicated by most responses)
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.
sed -e 's/Chuck Norris/Rajnikant/g' joke > fact
Totally blind, and by far the best student in the electronics club in high school. His only real issue was finding someone to read the numbers or colors on the components (i.e. resister color codes), so he could solder in the correct parts.
He was amazing.
thanks for posting the article. Years ago I met a blind person who used a braille reader. I forgot the details about the braille reader though.
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.
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 to scramble through the sheets to catch up. One of the many geniuses of his time, and sorely missed.
I wonder. Has anyone even remotely considered that 'blind' people may not be blind and may actually see - but because the way they see is so remarkably different than your definition, you interpret this lack of being able to see 'like you' as blindness?
Do they see characters like Neo does in the Matrix? Do they see n dimensions and you're stuck in 4 (x,y,z+time)? Does your mind simply not know how to interpret their vision and as a result, you keep on plodding down this (boring) storyline that they are more like you than not?
From: http://dojotoolkit.org/referen...
"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 with the dijit widgets. If you are new to accessibility, please refer to the Web Accessibility Issues page for more general information about accessibility"
A 21st century issue: the irony of technologies of abundance in the hands of those still thinking in terms of scarcity.
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. That makes it hard to scan the entire web page, to see where the article continues.
So here's my recommendation: Let the user pick an article to display, and then display just that article in the window. (Make JavaScript change the web page's styling, so that only that article appears in the window.)
But I'm being replaced by cheap labor from Asia, then children, and now the blind!
Wow,,,the lead-in is that there are blind programmers - and we are supposed to be surprised? I've seen blind student programmers using primitive speech apps since the mid 80's beginning on Apple 2e's. In a blind population of 5+M, and seeing impaired of 3x that - believe me there are many, many blind programmers, systems engineers, project managers, etc. My blind son is a Sr. systems engineer for the Treasury Dept. - his best friend who is blind is a long time contract PHP programmer.
Now if you want to have a better wow - I've seen my son help clear a lot with a chainsaw, install a hardwood floor, drive using his uncle's vision, etc. - programming for the blind is nothing big.
I do agree with Beijers - bad UI is the bane of the blind - SHAME ON PROGRAMMERS WHO CANT FOLLOW SIMPLE GUIDELINES AND TOOLSETS TO ACCOMODATE THE BLIND AND VISUALLY IMPARIED.
Yeah, ok, bad joke. It's unusable for blind people as well.
No, that's not a joke, it's an offensive anti-male screed.
Kill yourself.
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.
There's no time like the present. Well, the past used to be.
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 shortcuts and high quality voice//auditory feedback for navigation in screen-format editors.
The only reason this particular developer had a CRT is because it was an integrated part of the serial terminal he used to communicate with the host system.
Nicolas Pitre is one of the most important kernel developers working on ARM.
http://www.fluxnic.net/cv.en.html