(Also
submitted to ShouldExist.org)
This is especially good for things one uses often and "rapidly" - by the latter I mean things for which the utility increases exponentially (more or less) as the time-to-action
(between point A: decision to use and point B: using it in a particular mode) decreases (By the way, is there an official term that UI specialists use for this? I'd think that there should be...)
An example of what I mean are cameras and cell-phones. For example, often, I want to be able to
quickly turn off a cell phone ringer
(not to turn off the phone, though!) when I realize I forgot to do it in the middle of a movie; or I want to go to a particular often-used setting of a digital camera to do a shot that will soon disappear (say, I want to very rapidly set the "film speed" and the exposure compensation to a particular one, knowing that, on average, given the nature of the shots I make, it would yield better results than either automatic setting or going through the menus; or, even, to rapidly go to the UI dialog responsible for setting one of these parameters, instead of, again, iterating through some menus).
This is not the case, for example, with things such as a DVD player -- if I spend another minute or two playing around with it, it won't spoil the movie I am about to watch.
It would be nice, then, to include a feature to program a hotkey in your own way, to be able to set the often-used needed mode for the device in fraction of a second. A few buttons should be provided for that express purpose. The time spent on learning such functionality is not a problem.