I'm designing a single page app built around productivity. It's a website to get a lot of things done as easily as possible, not to consume information.

In software development, its considered a bad practice for a programming language to offer more than one way to do something (TMTOWTDI versus TOOWTDI).

I'm wondering if this should extend to an end user experience, or if it could be considered a good thing to offer many ways to do a task, emphasized by how common or important that task is?

For example, to delete a selected item in a list, I may offer a delete button at the top of the page in addition adding a right-click context menu with a delete option as well as the delete keyboard shortcut.

My question is, does this add confusion for the user, or is it generally better to point up important tasks in multiple ways?

3 Answers 3


I would say this is required for a modern application. You need to support multiple modes of operation, including keyboard, mouse, touch, api, etc and any combination of these.

There won't really be confusion, as each user will have a preferred way of working. A classic mistake is to offer only mouse-driven commands, where a keyboard-only person (most power users, in my experience) will be annoyed that they can't just do everything via keystrokes.


Right clicking is a perfect example of why you should provide multiple ways of doing things. We always assume that we'll have some users who don't know about right clicking. (Many people don't.) So we would never put a command in the right-click dropdown that doesn't exist elsewhere. Double-clicking a file's icon on the desktop is a shortcut for selecting it and clicking "Open" from the top menu (or from a right-click menu). Dragging a file to the trash duplicates selecting it and clicking the "Send to Trash" menu item.

So yes, appropriate shortcuts and duplication of functions is encouraged.


As also stated above, different methods should distinguish between modes. Right-clicking versus using the menu for instance. Two wit, in a web-based SPA, having two link selecting methods to accomplish the same thing is redundant and should be avoided. In other words, replicating a task in different modes allows some users to be experts, but won't decrease the UI's transparency. Multiple paths that require the same amount of work aren't helpful, but can serve to confuse. Imagine an application that had two "copy" commands; one in the Edit menu and one in the View menu. If they accomplish identical tasks for the user, how is the user supposed to differentiate except through experimentation?—a definite waste of the user's time.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.