KeyTraino is a tiny and super useful utility.
KeyTraino knows all the keystrokes for all the applications you use.
KeyTraino knows all about the office suite, many business applications, many development tools (even query analyser!)
When you're using an application and you hold down the control key, the alt key, or the WinKey... KeyTraino provides a friendly semi-transparent popup window (don't worry -- no animated paperclips) that gives you all the options available to you for the current application.
When you hold down a function key -- KeyTraino tells you what that key will give you, and what it *can* do if you combine it with other keys...
When you use the toolbar, the menus or the context-menus of an application, KeyTraino shows the alternative keystroke you could've used.
If you let it, KeyTraino will record your behaviour inside an application (microsoft word, or visual studio for example). Using this information keytrain is then able to provide you with a neat little summary of what keystrokes could be helping you the most. Not unlike TimeSnapper, you can leave KeyTraino recording all the time, and it won't noticeably impact the performance of your machine.
KeyTraino is something that Jon Galloway could use to help him achieve Mouseless Computing. Keyboard junkies like Scott Hanselman should be all over KeyTraino. Jeff Atwood, from Coding Horror, would love KeyTraino, if he ever tried it.
What does KeyTraino do for developers?
As a developer you can build a KeyTraino file that will tell KeyTraino what keystrokes your application uses, and what features are on your toolbars, menus etc. Send this file to the KeyTraino website and it will be available for slurping into people's copies of KeyTraino, is they use your application.
Why is KeyTraino so much less annoying than Clippy?
There's three things that stop it from having the annoyance factor of old clippy.
Firstly, because you deliberately installed it, you are not alarmed by its sudden appearance.
Secondly, it doesn't combine its advice with a pushy personality.
Third, when you tell it to go away, it goes away completely, and doesn't return until you tell it to. It goes away immediately, not stopping to show off some clever 'exeunt' animation.
But what do I like about it best? My favourite feature is that this is another purely fictional piece of software. This means that in my imagination it behaves seamlessly. It's fast, bug-free, and reliable. It never gives you information you don't need and its information is never out of date.
Ah, dreaming of software.
'Scott' on Wed, 28 Jun 2006 10:20:09 GMT, sez:
You are a nasty nasty man. I was searching for the download button before I finished the article.
'Yaron' on Wed, 28 Jun 2006 13:47:50 GMT, sez:
Making an interface that would be more useful than annoying is a problem.
But the technical aspect shouldn't be too difficult, at least for a partial implementation.
Even without getting an info file from the developers, a lot could be done for alternate ways to achieve the same effect.
Getting information about all menu items from a window is easy (except for dynamically generated menus) so you can get information of what is found at which menu, and accordingly a lot of the Alt-key shortcuts.
Getting the active accelerator table for a window should also be not too complicated, I think, which should cover almost all other keyboard shortcuts. Since accelerators are usually given IDs identical to those of matching menu items, it should be easy to connect them.
These give a lot of what you want.
Buttons and toolbars are harder. But if you can get developers to play along and prepare a file with all the control IDs that do the same thing, you're good to go.
'lb' on Wed, 28 Jun 2006 21:25:55 GMT, sez:
good stuff Yaron.
Just zing your prototype of it over to me (leon bambrick at gmail dot com, all one word) and we'll polish it up and mop the floor at this years larkware dev comp, atli-style.
'An idiot' on Thu, 29 Jun 2006 10:57:03 GMT, sez:
Where's the link, there, jhonny?
'Martin Brice' on Thu, 29 Jun 2006 11:47:55 GMT, sez:
Like Scott, I was googling for KeyTraino before I finished the article. You are one nasty tease! :>
'Jon Galloway' on Thu, 29 Jun 2006 15:02:26 GMT, sez:
Great! I'd get started on it right now if my wrists weren't hurting so blasted much!
As Yaron's saying, the programs could provide a lot of the information. There could be a supplemental XML file to clean up or replace the info over time - sort of like the IntelliType commands.xml file (http://www.google.com/search?q=intellitype+commands.xml) . The key would be to make it easy for users to improve and upload information, like CDDB does.
'Hazza' on Thu, 29 Jun 2006 20:20:45 GMT, sez:
Well at least i wasn't the only one whom believes in the idealistic ability of new tools to be spurred into action to find this fantastic peace of work LOL mean mean now I’m depressed. You lead me on and now i wont it give it to me.LOL
'Eric TF Bat' on Thu, 29 Jun 2006 23:17:15 GMT, sez:
I too am deeply saddened that this software only exists in the alternate universe in which Henry Ford invented the hydrogen-powered car and Elvis Presley is still President. However, Emacs will at least tell me of the existence of keyboard shortcuts any time I use M-x to run a command, so I'm not doing too badly.
'lb' on Thu, 29 Jun 2006 23:31:31 GMT, sez:
cheers Eric... hmmm my "anti-emacs" filter tells me i should delete your comment... but i'm gonna let it stay ;-)
'Esad Hajdarevic' on Sat, 12 Aug 2006 18:26:08 GMT, sez:
I've just stumbled upon something similar for Mac
'chansen' on Wed, 08 Nov 2006 13:21:11 GMT, sez:
Where can you download this supernice utility?
'Nandu' on Wed, 08 Nov 2006 13:29:10 GMT, sez:
Where's the download link?
'Renil' on Thu, 09 Nov 2006 05:49:31 GMT, sez:
Where can I download this really helpful utility?
'POJO' on Sat, 11 Nov 2006 15:13:57 GMT, sez:
Where can I scratch my ass?
'CUJO' on Tue, 14 Nov 2006 07:30:27 GMT, sez:
Look above your neck!
'KB Shortcuts' on Mon, 30 Jul 2007 21:24:22 GMT, sez:
check out KB Shortcuts -- an ajax application that provides a very handy list of shortcuts for all applications.
and if your favourite ones aren't listed -- you can add your own.
(comment from lb)