Powered by Blogger

Tuesday, April 25, 2006

The 1st Annual BC T2 Hacker Slam

The concept of technology transfer, one of the recurring themes in Blind Confidential articles about electronics, continues to excite me and remain at the core of many of the ideas that I come up with for products that we blinks can use in the future.  Recently, I visited our local Circuit City and Best Buy and did a bunch of Internet searches regarding various consumer electronics products that might have some future value for people with vision impairments.

A lot of truly excellent pan-disability work on technology transfer happens at U. Buffalo, home of the T2 RERC.  One should check their web site for many of the best ideas to emerge from the theory that using mainstream products for people with disabilities will both cut costs and increase the speed at which technology advances.  Fundamentally, this is the theoretical boundary between using a screen reader versus proprietary, blind guy ghetto software.

Recently, in addition to buying some cool toys like a LinkSys Wireless G Music Bridge to attach to my stereo, a pair of $70 Blue Tooth GPS receivers for some of the PPO projects currently going on and a really cool Logitech “Force Feedback,” flight simulator joystick, I have been dabbling with writing some actual prototype programs using the free “Express” series of compilers from MS and realizing that making accessible tools using off-the-shelf consumer electronics products is actually a lot easier than I had previously thought.

My first experiment in this area included finding and downloading the Visual C# Express and the Visual C++ Express systems from the Microsoft web site.  I had gone to the MS web site in hopes that they might have a demo but, much better, their “programming for fun” section provides lightweight but very usable versions of their development environment and compilers.  Including the not insignificant amount of time it took to download the Express editions of C#, C/C++, Windows 32 SDK, MSDN and Direct X, I was able to put together a development system that included all of these parts and, within a couple of hours, write a C# program that could access Direct Sound and made a little simulation of a ball bouncing around a cube with the auditory point of reference at the center of the big box.  Not to boast but I had never looked at the C# programming language before that afternoon so learning the language (not hard) and a bit about Direct Sound (very well documented) well enough to make a little program went far more smoothly than I could have guessed.

Since then, I’ve accessed the joystick and taken input from it as well as sent tactile feedback to it.  I’ve received GPS information through Blue Tooth and was able to compare the results and calculate things like the direction (North, South, etc.) between two points or average out a trend of a bunch of points into a straight line.  The GPS stuff is essential to PPO but, whether I’m just screwing around with an API or doing something of moderate practicality, I find all of this to be pretty darn cool.

I think the biggest boundary between many inaccessible items and their convenient use by people with vision impairments might just be a general lack of creativity and an overall assumption that we cannot do something because we’ve never been able to do it and we probably never will be able to do it.  In the case of my LinkSys Music Bridge, my sighted wife helped me through an installation routine where JAWS only says, “graphic,” and we attached it to our stereo.  Then, I fired up the controller application and found it was totally inaccessible.  This shouldn’t be too hard.  The desktop application only lets you select which Wireless Music Bridge you want to address (how many of these items does LinkSys expect to sell per household?) and whether it should be “connected” or to use the PC speaker for output.  After “connecting” the device, one then uses Windows Media Player, Real Audio, WinAmp or whatever media player you favor and, instead of coming from your PC speakers or headphones, the audio comes out of your stereo.  I think this item is very cool as it gives me access to almost every radio station on Earth and an enormous amount of audio content played through my Bose stereo rather than my laptop squeakers.

To make the desktop application accessible, I sat with my wife, asked her to place the mouse pointer on the control of interest, got its X, Y coordinates and wrote very, very simple JAWS scripts that would click in the appropriate spots.  I have keystrokes for connecting, disconnecting, raising or lowering the volume and shifting the balance.  All of the scripts took a combined fifteen minutes to write (they are all virtually identical except for the coordinates, their name and keystroke.  Thus, with a little help from a sightie, I could make an otherwise unusable piece of hardware entirely accessible in a single sitting.

The thing that makes this device especially useful is that the LinkSys Wireless G Music Bridge has no user interface on the hardware itself.  It does, I am told, have three LEDs that inform a sighted user whether it is powered up, whether it has an Ethernet connection or whether it is attached to a wireless network.  In our house, the power and wireless lights are always on, shining but ignored.  Most other products in this category require some fiddling about with a touch screen or remote control that does something with a front panel user interface which is, of course, completely inaccessible.

With the LinkSys Music Bridge and my handful of JAWS scripts (write to me if you’d like a copy) I can, with total independence, play almost any digital audio accessible to my home network through my stereo.  This is pretty damn cool if you ask me.

The other projects I’ve been doing are less practical in the short term.  Sitting in a cube and listening to a ball bounce around you demonstrates that I can make API calls and do a little arithmetic but has little practical value to anyone but me who will use the learning experience in other more useful tasks in the future.  Taking input and sending feedback to a joystick is equally simple and, unless applied to an actual task, is pretty useless.

I believe I am pretty creative for a hacker/engineer/management type so, when I hear of a mainstream technology, I put on my blink patrol hat and try to figure out how it can be applied in a manner useful for people with vision impairments.  I do not, however, have the capability of thinking up every possible idea.  Nor do the ideas I have always please others.  I feel strongly, though, that the enormous supply of electronics products, appliances, software, hardware and the panoply of SDK and APIs available for use by Windows hackers, not to mention the ability to configure JAWS extensively, opens up a vast number of possibilities for creative use by people in our community.

So, the DIY in me pours out this morning.  I consider anything under $100 “cheap” when it comes to products that a blink can use for some positive purpose.  I also believe that “free” (as in “without cost” rather than “as in freedom”) makes the choice of the Microsoft Express line of development tools a favorite for creative hacking on the Windows platform.  Finally, most of the SDK and API software from third parties provide demos that you can use until you distribute anything you make at which time you need to pay royalties, so making prototypes has only a minimal cost burden.

I can’t speak to Window-Eyes or screen readers other than JAWS where it comes to making configurations to make the hopelessly inaccessible somewhat to entirely useful, but, JAWS users have a ton of flexibility to create a custom world that provides access to all kinds of devices, software, hardware, etc. available to our community.  Mobile Speak Pocket also has the Lua language at its core and can also be highly customized to make applications and devices more accessible on mainstream PDA units.

I, therefore, toss down the accessibility gauntlet and challenge the hackers among us to come up with the coolest application of a mainstream device (appliance, consumer electronic, toy, video game controller or other product not traditionally considered accessible), write a Microsoft Windows or Windows Mobile program (I use the term “program” very loosely and include JAWS and MSP scripts in the category) or, for those who are technically savvy but aren’t actual hackers, write up a practical proposal that someone else can follow to make a program that solves this same problem.

In the coming week, I will think up prizes for a few different categories.  Maybe, best proposal, best compiled program and best script or configuration set, will do it.  I’ll try to come up with worthwhile prizes (donations will be graciously accepted by any kind souls out there who want to participate in this little contest) and I’ll try to come up with a team of judges who agree that the technology transfer idea is basically a good one but who will also bring perspectives that differ from my own.  Once we post a deadline, the first Blind Confidential Technology Transfer Slam will commence.

I’ll develop and post a set of rules fairly soon.  People interested in becoming judges should send me an email.  Anyone interested in entering can start hacking today as I don’t think the rules will govern their programming activities too tightly but should also email their idea to me so we can use a time/date stamp to judge a tie if an excellent idea comes from two separate entrants and results in software of a very similar quality.

Any participants should be aware of the following (incomplete) rules of the contest:

  1. The purpose of this contest is to evaluate a creative use of an item that is not designed for use by blind people nor has an existing analogue in the AT world today.  Thus, OCR, bar code, GPS and other programs that have already come to market are not acceptable unless used in a more complex and new manner.

  1. All entries should work with a device that costs less than $200.  

  1. No current employees of any blindness related AT companies can participate without a note from the CEO of the company for whom they work.  We don’t want anyone getting themselves in trouble with their boss nor do we want to find BC under legal attack from a company claiming ownership of a technology entered in this contest.

  1. Regarding rule 3: all entries are the responsibility of the person who enters them and, in the event that someone else claims ownership, it is up to the contest entrant to fight the power.

  1. The $200 limit on the appliance to be put to use for a person with a vision impairment does not include the cost of a PC or PDA or any “standard” peripheral.  Bar code scanners and thermometers are examples of non-standard peripherals.  A PDA camera or WiFi on a PC are examples of standard peripherals.

I’m sure there will be a few other rules and we’ll let the panel of judges serve as the rules committee.  Bribing the judges, especially me, is highly encouraged.

So, be creative.  Write a program or describe one that can be practically written and enjoy the slam.


Blogger Chris Westbrook said...

I think this is a great idea. I've forwarded it to some people at our university to see if anyone there would be interested.

7:07 AM  
Anonymous video games industry analysis said...

This is an excellent blog. Keep it going.You are providing
a great resource on the Internet here!
If you have a moment, please take a look at my video games industry analysis site.
Have a great week!

1:39 PM  

Post a Comment

<< Home