Created
January 19, 2015 22:00
-
-
Save zersiax/1c7057704774f18f5df0 to your computer and use it in GitHub Desktop.
blog post for FreeCodeCamp
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
###A vision of coding, without opening your eyes | |
The title of this blog post may look a little odd. Don't worry, it will all make sense | |
soon. And by the end of this article, you'll likely be groaning about the plentiful puns | |
regarding eyes, looking, and other such vocabulary. | |
Why is this, you may ask? This is actually quite simple. I am blind, as a bat you might | |
say. I was born this way, just like lady Gaga likes to make us believe she was born quite | |
...gaga. :) | |
When I mention this to my fellow human beings, the ones who have never had any form of | |
visual impairment tend to look at me somewhat oddly. Usually, a small pause ensues, | |
followed by either one or several of the following questions: | |
* Then, how do you even know what I'm saying? (in chatrooms, IM etc) | |
* Wow. How do you code? (fellow coders, fellow students etc) | |
* ......Do you dream? (the rest of the human populace) | |
Ok ok, granted, these aren't the only questions I receive but these three are a common | |
subset of what I get asked about again and again. Therefore, let me answer these three | |
questions in this blog post and sketch an image for you guys, the readers who are | |
wondering about accessibility and how blind people use a computer to code or do any kind | |
of work in the 21st century. | |
####How do you even know what I am saying? | |
I like this question because it allows me to immediately explain how blind computer users | |
....actually use computers. | |
A lot of people are under the impression that you need a "specially adapted computer" of | |
some kind to be able to use it as a blind or visually impaired person. Even some of my | |
fellow VIPs tend to think this. | |
**VIP ...that is visually impaired person. I did warn about the puns, didn't I?** | |
Anyway, let me debunk this myth right here and now. I am currently typing this on a normal | |
Dell Inspiron 15r SE notebook, which can be bought in any laptop store that has somewhat | |
less recent machines for sale. The machine runs windows 8, which wasn't my personal choice | |
but UEFI is too much of a pain to downgrade it, and all I did to adapt it was install an | |
open-source screenreader called[NVDA](www.nvaccess.org). | |
What a screenreader basically does, at its most basic level, is ...wait for it ...read the | |
screen. | |
It tells you the **textual** content of the screen in a synthesized text-to-speech voice | |
(Siri anyone?) and also allows for the use of a braille display, which is a device that | |
consists of a line of refreshable braille cells which can form letters according to what | |
content is highlighted on the screen. | |
This is really all the adaptation a blind computer user needs. Using this program, I can | |
do some things you can probably not imagine doing with your eyes closed, including but not | |
limited to: | |
* Browsing the web using Firefox | |
* Writing up and marking up reports that stand up to a college teacher's stringent layout | |
demands using Microsoft Word | |
- Writing up snazzy blog posts like this one | |
* Recording, editing, mixing and publishing audio (I sing and make music for a hobby) | |
using Reaper, Goldwave, Audacity and Sonar | |
* coding websites and applications using Eclipse, Visual Studio (now isn't that one | |
ironic?) and good old NotePad++ | |
I could go on for a while, but ...I'd better not. The reason I put so much emphasis on | |
what programs I use is to show that I use mainstream technology, just like people who are | |
not ocularly challenged. | |
If you are writing the next big application, with a stunning UI and a great workflow, I | |
therefore humbly ask you to consider accessibility as part of the equation. In this day | |
and age, there really is no reason not to and in a lot of UI toolkits it's a lot easier | |
tha you may think. Yes, that includes the Android activities, iOS NsViews and HTML5 | |
widgets you might be thinking of right now. | |
I joined FreeCodeCamp a few weeks back and really loved the concept. I have been pursuing | |
a degree in Computer Science for the last few years and failed a semester that involved a | |
lot of work with the MEAN stack. I was really happy to find such an amazing community to | |
be a part of and learn with and I am sure I will pass my semester with flying colors this | |
time. Although I sadly did run into an accessibility glitch when working through the by | |
now famous [Dash tutorials](http://dash.generalassemb.ly) by General Assembly. | |
The tutorials are undoubtedly very good, but were completely unreadable for me because the | |
slides that are being used lack any textual description or content for screenreaders to | |
work with. Recall that I said screenreaders read out *textual* content of the screen, they | |
are not smart enough to interpret graphics. | |
Some people in the FreeCodeCamp were sympathetic towards my plight and completely | |
voluntarily offered to transcribe these slides for me. I will freely admit this offer left | |
me 'flabbergasted' as our dear western neighbors across the sea would say, and I am still | |
very grateful for the work these people have done just to further my studying. You know | |
who you are guys, thanks a lot. :) | |
####But ...how do you code? | |
> If left paren x equals five right paren left brace print left paren quote hello world | |
exclaim quote right paren right brace | |
This is how a typical if-block in a Java-ish programming language would be read to me. You | |
can see that is rather verbose, which is why I tend to turn off the notifications for | |
parens and brackets until I find I need to match brackets while debugging, to not go crazy | |
by the rather wordy descriptions of these signs. Others have solved this problem by | |
substituting the default (left brace) for something like (lace) or (begin) just to save | |
some milliseconds. The speech rate also is deemed to be extremely fast by people who are | |
not used to it, let me give you an [example] | |
(https://dl.dropboxusercontent.com/u/6643494/example.mp3). | |
For those who cannot follow this, it is my computer reading out the first bit of this very | |
blog post I am writing in NotePad++. | |
So, how I code doesn't actually differ all that much from how others code. I've learned | |
how to touch type (getting sick of the puns yet?), mentally conceptualize my code and work | |
with it just like you guys do. The only difference is that I barely ever use a mouse for | |
anything and I tend to go for hotkeys or the commandline instead. | |
Sadly though, in this field it's not all good. Premier tools coders use every day like the | |
IntelliJ editor as well as all its offshoots (PhpStorm, WebStorm, PyCharm etc) are | |
completely inaccessible, simply due to the fact that the developers of these programs have | |
not adhered to the accessibility guidelines and gave screenreaders no textual labels or | |
accessibilityDescriptions to work with. The same goes for an application like SourceTree, | |
which is slowly getting better but still a pain to use. | |
I therefore have to keep looking for tutorials, programs , tools etc. that are accessible | |
and cannot simply pick up any off-the-shelf IDE. | |
####How do you dream? | |
Yeah ...I did promise to answer all three questions so I'll keep that promise. Don't | |
expect much though. :) | |
I dream just like you guys do, my mind translates experiences and impulses I have received | |
during the day into dreams I have at night. The difference being that I don't actually see | |
anything but hear, smell and feel everything just like in real life. The reason for this | |
is simple: Dreams based on visual imagery pull from your already stored visual knowledge | |
to construct that visual imagery. Since I have been blind since birth, I have no visual | |
frame of reference so the visual portion of my dreams run into a big fat 404 error: | |
**image not found** | |
####Conclusion | |
I was asked to write this blog post for FreeCodeCamp. After the welcome I have received | |
into this community, I was all too happy to do this and I really hope you guys have | |
learned something from it. I could talk about this for hours and the article has already | |
grown far longer than I initially wanted to make it, so I think this is a good place to | |
end the Markdown. If you have questions, come find me in the chatroom. I am Zersiax there, | |
and I can be found by that name on twitter as well. | |
Alright, thanks all for reading and ....**see you later**. Sorry ...I really couldn't | |
resist. :) *runs off screen* |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment