Follow Conventions (Even If They're Not Your Ideal Design)
Usually, you build technology on a platform that supports other applications. Most platforms have a set of conventions for interacting with the user. There is always a tension between the convention method and the method best suited to your program. Most of the time, it's best to go with the convention. As painful as it might be from your standpoint, think about it from the users' view. As they use applications, they gradually learn the conventions. They aren't necessarily aware of them as conventions, but they come to expect certain behavior. For example, Web users learn to look across the top or left side of the page to find the categories of items available at a Web site. Cell phone users expect to use the left soft-key button to select an item and the right to go back. Palm users expect that most things they want to do will be available on the screen and so they rarely look in menus. It helps users if your program behaves in the same way as other programs.
Also, many people aren't clear about the distinction between a platform and applications that run on the platform. From their standpoint, they have a computer or phone or PDA, and it lets them do things. If your application operates differently from all the others, people are not likely to correlate that difference with your application, but instead think the device is inconsistent. For example, in Windows, there is a convention to use Ctrl+C for Copy, Ctrl+X for Cut, and Ctrl+V for paste. Suppose you decide to use Ctrl+X to place a mark in the data because it's a common action in your application and X is good way to convey "mark the spot." People won't think "Usually, Ctrl+X means Cut, but in this application it means Mark the Spot." Instead, they'll say "Sometimes when I use Ctrl+X it cuts the text, and other times it places a mark. I can never remember when it does which, and since I got tired of being surprised, I stopped using the shortcut."
Use platform conventions. Violating a convention confuses people about when the convention applies, so they stop using it across all applications, including yours.