Saturday May 13, 2006
|
David Lee Todd, Unknown Product Manager People who love sausages and software should never watch either being made |
|
All
|
Diary of a startup
|
General
|
Java CAPS
|
Open Source
|
Product Management
|
SeeBeyond
|
Solaris
|
StarOffice and OpenOffice.org
|
Who am I?
I've always been intrigued by the idea of an undocumented API, one that perhaps could open up new areas of software functionality to you, if you only knew about it. There's a certain romance in the sheer danger of using something that only the pros know how to use, because they were the ones that wrote it. My customers often bug me for help on using APIs that we don't document. They seem to have mysterious ways of finding out about them, either through our personnel spilling the beans, or through decompilation and reverse engineering. As more and more software goes open source, there are going to be more and more demands from customers for documentation of the APIs that they discover, a subject that I have blogged about before. Given this interest in undocumented APIs, I was quite amused today when my fat fingers uncovered an undocumented API in my bank's automatic teller machine (ATM). Since I've been banking with the same institution for umpteen years, and actually used to work there, this was something of a surprise. Here's how it works, in case you want to try it at your own bank: The ATM has two columns of steel buttons located on either side of the screen. For any given choice of operations, little text boxes appear adjacent to the buttons, and you press the button corresponding to your choice. There is also a numeric keypad below the screen, which for the last decade or two I thought was used only for entering one's PIN number or the amount one wished to withdraw. Of course, you can also indicate the withdrawal amount by choosing one of the text box/button combinations that appear on one screen page: $20, 40, 60, 100, other, etc. You only need to use the numeric keypad if you want to withdraw an amount that isn't among the choices. You do this by pressing "other," then entering the amount on the next screen. Perhaps due to early-onset Alzheimer's, I somehow started to key in the amount I wanted while I was on the wrong screen. It was at this point that something weird happened: the machine spat out money in spite of the error. It took me a while to figure out that there is an undocumented API: The two columns of buttons have an implicit numbering order: 1-2-3-4 down the left column, and 5-6-7-8 down the right column. Instead of pressing the button adjacent to your choice of operation, you can press the corresponding number on the keypad. However, if the choices are limted to yes/no, which appear (I think) next to the 6 and 7 buttons, you can use keypad 1 for yes and keypad 2 for no. Maybe I'm getting a little too geeky here, but I find this to be pretty cool. I wonder if this feature is actually documented somewhere? Maybe it's for handicapped accessibility, since (I think) the keypad numbers are also in Braille, and there are jacks for headphones. I wonder if the headphones give instructions based on numeric choices? I learned long ago that it is considered cool in the software world to use keyboard shortcuts instead of the mouse, so from now on I will try to do all my ATM transactions without lifting my fingers from the keypad. I will call this new system "ATM vi." ;-) Posted by davidleetodd ( May 13 2006, 10:28:00 PM PDT ) Permalink Comments [2] |
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||