Hi,
As I've been using TextMate, I've noticed that some of the features are, in my opinion, unnecessarily hard to discover.
Certain menu items are hidden from the user unless the user presses the option modifier key while holding the menu open. Pressing option causes one of the existing menu items to change meaning. For example, the Edit menu of TextMate has a "Paste Previous" command that converts to "Paste Next" when option is pressed. The Text menu has the command "Execute Line Inserting Result" that converts to "Execute Line and Replace With Result" when option is pressed. This makes it harder to discover the available commands in TextMate because the user must know to press option in order to see these hidden menu items. As a recent Mac switcher, it was a couple of months before I realized OS X menus had this hidden capability. Besides making features harder to discover, hidden menus are harder to select with only the mouse because the user must press "option" to have the items available for clicking. Also, IIRC, there is additional difficulty assigning keyboard shortcuts to these menu items (I don't remember the details, but I thought there was something about this on the TextMate mailing list).
On a related note, certain buttons on dialog boxes are hidden in a similar way (for instance, the Find dialog's "Replace" button converts to "Replace in Selection" when option is pressed). There are no visible indications that the buttons are dual-purpose; indeed, the user may never know they are there unless he stumbles over them (as I did) by accidentally pressing option while the dialog box is open.
Would it be possible to avoid using hidden menus and buttons in TextMate? Other than trying to keep the menu length a little shorter or the dialog box a bit smaller, I've not come up with a benefit to hiding these items from the user, and in my opinion there are several benefits to making them visible all the time.
Thanks for your consideration, Michael Henry