I'm working on an application that runs in browsers. This application displays several windows (the user can open and close them), in which multiple things are displayed : charts, grids, etc. On each of these things, the contextual menu offers different actions. Basically, keyboard shortcuts and contextual menus are the only way to navigate in the application, since we don't want to fill in the screen with menus, buttons, and stuff : the windows are movable, therefore they can be in front of the menu, for instance.


Is it ok to provide only keyboard shortcuts and right-click menu to the user, knowing that they'll follow a formation on how to use the app, and that the end user will use less functionalities than the advanced user (us) ?

>> Edit Thanks for your comments and answers. Here's a basic mockup of the app. As you can see, there's nothing but floating windows, and I'd like it to stay this way. But as I read your answers, I realize that displaying a menu (and keeping the ability to hide it) could be great... A quick mockup of the app

  • Is it possible to show a hint to this menu (e.g. an icon) on hover event on that element? This way the user knows that there are more options while the is no more space needed in the ui.
    – Michael
    Commented May 31, 2012 at 12:11
  • 1
    A screenshot could be helpful. Do you have one or even a wireframe?
    – JeffH
    Commented May 31, 2012 at 12:54
  • 1
    Are the keyboard shortcuts aimed for the advanced users when you say that the normal users will use less functionality? Reason I'm asking is that in general keyboard shortcuts are for advanced users.
    – Adriaan
    Commented May 31, 2012 at 14:56
  • Well I guess they'll be for advanced users, since everyone who have tried the app so far asked me the same questions : "How comes nothing appears when the app launches ? Is it really launched ? What can I do ?" This should have made me think a bit more about the app's usability...
    – LoremIpsum
    Commented Jun 1, 2012 at 12:43

2 Answers 2


I must say that I don't really like the sound of skipping the standard menu and totally relying on keybindings/contextual menu. This is however of personal preference and I have no third party evidence to back me up so you may want to take what I say with a pinch of salt.

Personally I would try to add an actual navigation/menu control. I would guess there is a container holding all these modal windows you describe? Why not have a menu at the top, similar to that of desktop applications? Or have a more illustrative editor like menu system (I'm thinking late MS Office) that expands/collapses on hover or on click?

I don't know how compromised your layout is but the solutions I describe would occupy a minimal amount of space. I believe the usability of your application would definitely gain from an actual menu.

  • The problem is the container is the browser itself, so the floating windows aren't displayed in any inner pane...
    – LoremIpsum
    Commented Jun 1, 2012 at 12:44
  • @LoremIpsum how does that work? The web application view base must still be that of the web browser window, isn't it? Commented Jun 1, 2012 at 12:54
  • Yes, of course. After the app has been launched, the only visible thing is the background, and the floating windows (actually the ones which have been configured to open at startup). If the user wants to open other windows, he can type Ctrl+O and a list appears.
    – LoremIpsum
    Commented Jun 1, 2012 at 14:13
  • 1
    Maybe you've already come quite a bit in the implementation phase and adding an outer shell would be problematic to implement at this stage? However, if you're still in a pre-study/design phase you could consider having a "stationary" menu? Commented Jun 1, 2012 at 14:28

I agree, keyboard & context menu is just not enough in an advanced tool, used in production. You will actually need at least 3 to 5 different visibilities(keyboard is just one) for each action to make it well:

  • context menu
  • top main-menu,
  • optional: a local toolbar
  • optional: larger ribbons bar (called mega menus)
  • optional: actions in property views
  • recommended: breadcrumbs with history and typeahead, also in a larger full-screen mode (ubuntu quick - launcher)

most visibilities don't need much customization to each other if you have good gui-framework. however, after implementing those, you will notice how nice software can be :-)

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.