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."
Re: (Score:2)
The human will to succeed (Score:2, Insightful)
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
Americans with Disabilities Act (Score:2)
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?
Re: (Score:2, Interesting)
That makes it tougher to fire people, but it's obscenely easy to come up with reasons not to hire people in the first place.
If you inculcate capitalism, people will act as capitalists. And that means you don't hire the guy who you perceive to be a potential liability.
As someone with relatively good eyesight but whose brain doesn't seem to register any meaning to whitespace (it just all simplifies down in my head), I find Python really hard to read. I wonder whether this is even harder for a blind person?
Re: (Score:2)
the only meaning of whitespace in Python is related to indentation
That and the fact that a newline will end a statement if there's no open parenthesis. This makes long with statements slightly harder to fit into one line.
Re: Americans with Disabilities Act (Score:1)
Re: (Score:1)
Unless you're Uber.
Re: The human will to succeed (Score:1)
Re: Now I understand why most UIs are so awful (Score:1)
No. It's not.
Re: (Score:2)
Because even a blind squirrel will eventually find a loose nut behind the keyboard.
Re: (Score:3)
Looks like we've found the "Dick of the Week."
Now that you've found it, you can put it down, and back away.
Re: (Score:3)
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.
Re: (Score:2)
I made a lowbrow joke, deal with it people. (or not, as indicated by most responses)
Proofreading must be quite challenging. (Score:5, Insightful)
Re: (Score:2)
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
Re: (Score:2)
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.
Sure thing (Score:1)
Worked with blind programmer (Score:2, Insightful)
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.
Re: (Score:2)
Some companies are small enough that the programmer is expected to make a substantial contribution to the design of a graphical user interface. When programmers have occasional GUI design duties, I don't see how a blind person is likely to have the qualifications.
Re: (Score:3)
For those small companies, I can foresee two ways to contribute to the GUI. One is to test for and implement accessibility features. Another consideration is that they can still learn about GUI fundamentals and implement them. While they won't be able to see the outcome (as well or at all, depending upon the limits of their vision), this is certainly a possibility in many development environments.
Re: (Score:2)
Given some of the atrocities I've seen (including a few not a million miles from here) I reckon they'd be respectably mid-table.
Well duh (Score:2)
Yes, folks, there are blind programmers.
Did anyone particularly think there weren't?
Re: (Score:2)
Of course not, some of them worked on my last codebase! *buh dun chich*
(Sorry, couldn't resist)
Programming with disabilities (Score:5, Informative)
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.
Re: (Score:2)
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 :)
Better use of technology (Score:2)
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.
Learn from what blind people show us (Score:5, Informative)
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]
Accessibility is still a sad joke! (Score:5, Informative)
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) :)
Re: (Score:1)
http://www.afb.org/info/accessibility/creating--accessible-computer-applications/25
https://www.washington.edu/doit/sites/default/files/atoms/files/Designing-Software-Accessible-Individuals-Disabilites.pdf
Re: (Score:2)
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
Re: (Score:3)
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
Re: (Score:2)
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
Re: (Score:2)
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
Re: (Score:2)
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.
Re: (Score:2)
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.
Re: (Score:2)
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. :(
I worked with a blind guy once (Score:4, Informative)
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.
Re: (Score:3)
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.
Great stuff (Score:2)
I am amazed by this. (Score:2)
When you hire, give everyone a chance. (Score:1)
An example from WW2 (Score:1)
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.
Ted Glaser (Score:1)
That is why we chose the Dojo Javascript framework (Score:2)
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
Option to display just one section (Score:1)
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
Re: (Score:2)
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.
bad UI's are the bane of any person of any ability level. the UI induced pain gets worse with an increase in one's level of disablity. what may be a speed bump for you is a brick wall to a crip like me.
C/PM and a VOTRAX (Score:2)
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