How can you program if you're blind?
stackoverflow.com
stackoverflow.com
Do you think having braces over indentation would have helped for accessibility. Any other issues with the language syntax?
Although, it would seem to me that it would involve a lot of counting of white-space.
That's just amazing, but I guess it makes a lot of sense... since your display is not 2d-based in the same way as standard screens are and you can read the code itself (i.e. the display is consistent). I'd upvote you a thousand times just for how cool it is to workaround difficulties in so leet way :)
Of course it also reminds me of... I don't see code, just blondes, brunettes, redheads...
For regular text, we used to do a simple text conversion and print it using a special printer called braille embosser. We used a software called duxbury for the purpose. http://www.duxburysystems.com/dbt.asp
For math(non single line), braille uses something called, nemeth code. So we used code almost all the math functions/equations manually in nemeth code.
For graphics, we used to emboss 2d picture on a special paper. The process involved, scan the picture -> convert it into a grayscale -> remove all the noise -> take a print out -> use a tactile embosser to put it on a swell touch paper (http://www.abledata.com/abledata.cfm?pageid=19327&top=15...) Typically, a chart or graph or waveforms were key in understanding the material.
During the process I interacted with few blind cs engineers who were graduated and were working for Microsoft. At that time(10yrs ago), Microsoft was the best blind friendly company. They used the visual studio for daily hacking.
Coding blind would be much different. The input is physical but there is nothing tangible coming back. It is more or less all visual. Come to think of it, if I ever lost my vision I would probably become a full time sailor :)
Not really. At the end of the day it's just data, text, how you encode it is not very important as long as it can be understood.
Because humans very strongly rely on sight, it makes sense that the default serialization format for text output be print/visual, but there are a number of non-visual interfaces to text. And if none fits, build a new paradigm.
I think samlittlewood below makes a good point: even with a fairly slow (e.g. braille) output, it's at worst similar to coding using a line-oriented editor (e.g. ed). Except you're used to it because you see pretty much everything via a line-editor so you're probably proficient at it.
PS: Ok, his is not going to be building a GUI but text to speech works well. And a keyboard only interface works fine for both VI and visual studio.
Which is to say with the boat heeled over or the jib up, the helm is reliant on the bowman and the rest of the crew keeping watch anyway, you can't see much forward.
Blind people develop good memories because they are constantly building detailed mental models of spaces they need to navigate, and I think this might give them a leg up programming because they are used to working with mental models rather than referring to maps, diagrams and documentation. Their are obvious drawbacks, but I think programming is probably a pretty good choice of profession for blind people.
I hear some guys wrote a pretty cool operating system like that!
Also, you would have to give up syntax coloring and style and font variations.
Finally, chances are that some characters (braces, asterisk, plus sign) from your programming language take up more than one braille character. Real nerds would hack their character-to-braille pattern translator to optimize that translation table, but the price you pay for that is that you will have to cope with multiple mappings. Actually, you would have to do that anyways, as there is disagreement about the encoding to use, even for digits, and because the U.S. frequently uses a contracted braille system (where, for example, the single-letter word 't' must be read as 'the' where appropriate; that 'where appropriate' is for the reader to guess at)
I'm pretty sure ed was dead by the time those were invented, the wiki claims the "one of the first" syntax highlighting editors was in 85.
There's also Emacspeak (http://emacspeak.sourceforge.net/). I haven't used it, but there's a chapter about it in _Beautiful Code_.
WTF? Why has nobody invented a full-screen braille display? Is there some reason it's massively more complicated than it seems?
Software demo: http://www.youtube.com/watch?v=4qnL7479fbU
Source: http://github.com/hugs/pinmachine
Hardware demo: http://www.youtube.com/watch?v=AUgbu0cE2-Q
Biggest issues are cost and size. I'm currently at "1977 Apple" stage - a big, expensive, hand-made prototype. But the biggest issue is cost per pin. Also, resolution is an issue... I'm going for "big and expensive" first, then will work on making it small and cheap overtime. I'm working with small dc motors first, but there are plenty of electromechanical tricks to get this down to braille-worthy stuff.
I haven't sought a collaboration yet, because "pinmachine" is my weekend project -- my time is otherwise filled up working on my startup (saucelabs.com).
I know there's a ton of blind people out there... do most of them know or rely upon braille, and would be interested in such a product?
But if you rethought the problem and built a sort of generic pixel-field display, only with each pixel being a pin, and a consistent way of activating them (perhaps something like e-ink), you could manufacture arbitrarily large screens with sub-linear cost.
"When glass touch screens feel like sandpaper" : http://www.cnn.com/2010/TECH/innovation/10/08/tesla.touch.di...
How about a single "cell" that is on an X-Y mount (or just X for a simpler single line display). Your finger "sees" only one cell at a time anyway. As you used your finger to "skate" over the surface of the board, the "display" computer would read the X-Y position and drive the pins appropriately for that spot.
Back to a one-dimensional (X only) readout with something like a scroll wheel on one side to scroll up and down seems pretty easy and useful. Picture a dot matrix printer where your finger is the "paper". The printhead would need a 2D set of pins, not just a vertical line... hmmm, maybe a vertical line of pins would be adequate in conjunction with the left-right sliding motion.
Result: size is limited by the X-Y mechanical accuracy (backlash, rigidity) and cost would scale very well compared to size: one cell's worth of pin drivers for any reasonable size readout.
[edit] Per Someone http://news.ycombinator.com/item?id=1842617, a X-only (line) readout with two heads, one for each hand (probably on the same platen) would mimic the Braille best. If you had a force sensor to sense the user pushing +/- in the "Y" dimension, you could use that to "scroll" the line without having to take your hands off the readout.
Perhaps a capacitive touch screen with certain subtle audio and haptic feedback?
It seems like the mechanical approach current Braille devices use might've jumped the shark, and I wonder if the blind world doesn't need a system that's more easy to do in today's world.
Fills-screen is a bit of a holy grail. What prevents it from happening is technology and price. The only reliable technology uses space next to each character for a piezzo-electric actuator. That makes it impossible to make displays that stretch far in two dimensions (that two line display was over an inch high)
Also, those actuators are fairly expensive, say $40 per character. production volume is low, so any manufacturer will need 100% or so of margin. Result: 40 characters for a couple of grand.
AFAIk, any other technology still suffers from reliability problems. It turns out to be quite hard to make a small reliable actuator with the required force, travel, and resilience to dirt.
10 lines is 2400.
80 x 25 is 12,000.
[0]http://www.blogger.com/profile/07891377863557367515 [1]http://gnukhata.gnulinux.in [2]http://gnunify.in/speaker/profile/108
A couple of years ago I developed narrow-angle glaucoma, in addition to my other problems. After several laser surgeries failed to resolve the problem, I had a more invasive surgical procedure done. Afterwards, I was completely blind for 48hrs. Aside from the fact that it was terrifying, because at that point we didn't know how much of my vision would come back, I found that I was able to adjust fairly quickly. In just a few hours, I was able to get around the house, get dressed, shower, brush teeth, etc. unassisted. Eating was a little more difficult. It's hard to fork food you can't see. I stuck to sandwiches. I didn't attempt reading (I don't know Braille) or using the computer.
I'm sure this was made easier by the fact that I'm very familiar with my house and by the fact that my vision was already poor, so I'm more used to doing more things by feel/sound/memory, especially at night.
Which, I guess, answers your question, but to finish off the story:
After a couple of days, my vision started to slowly come back, though it was very blurry for a long time. I was able to start using the computer, via a combination of the screen reader, enlarging, and inverting the colors on the display. All I could see at that point were shapes, and, after about a week, in order to read text, it had to be about 128pt and high contrast.
Fortunately, most of my vision returned. The first couple of months were slow going, but after that, it got to the point where I could pretty much function as I did before. It took around 6 months to recover completely, though. I did end up losing some contrast sensitivity and as a result, I can no longer read printed text. There's just not enough contrast. I mean, I can see the words, reading for more than just a few minutes gives me a headache. So now I read books on an iPad and with the backlit screen (a backlit display helps a ton) and zoom capabilities, I can read without headaches.
P.S. I did a video of a screenreader and twitter a few days ago - you can see the thread for that at http://news.ycombinator.com/item?id=1799246
For example, there are blind golf players. They have their own golf associations and tournaments. One of my old co-workers used to assist blind golfers by describing the location, distance, etc. The golfer does the rest.
I was struggling with tendonitis in my right arm a year back and had to do all my coding left-handed, and that made me feel crippled and annoyingly slow. It's really impressive what people can overcome.
That's something I would love to find out and/or solve.