A desktop application have many conventions which are carried over from 1980's technology, if you look at Android and web applications, I think you can see the tide is turning. Lets look at an Android app; when you leave a page/screen or your page is partly covered by another, your work for that page is saved - no save button needed; very limited menu/tool bar items with overflow menu - simple to learn; direct manipulation -commands limited to context.
From a programmer's point of view, because it is easy to add menu items to the menu and write functions to process the click, you might have menus:
File New, Open, Open Recent, Save, Save As, Print, Close, Quit
Edit Undo, Redo, Cut, Copy, Paste, Select All, Find, Find Next, Go to
View Grid, Zoom in, Zoom Out, Zoom to Default, Zoom to...
Tools Spelling, Plug-ins
Help About, Help Contents, Help on...
Thinking from the user's point-of-view, metaphor and mental-model, what menu items are needed?
If at some (zoom) level all the files are listed with an empty slot to create a new one, we can eliminate all file items except Print.
A free form search box and selection tool(s) just leave: redo, undo, cut, copy and paste.
Much of the other menu items are unnecessary, except to allow the user to learn what commands are possible.
- Back to file list
The 'Modern Menu' would be combined with selection tools, search box, zoom and pan tool, fade in fade out grid and alignment lines, snap to alignment, bubble help/tool tips, manipulation handles.
If the tools can be slide away, enough of the tool should be showing to recognize what action it performs - no mystery menus accessed by sliding the cursor to the edge of the screen. The tool boxes can fade away after a few seconds to allow the full design to be seen, then reappear if the cursor is moved or the screen touched.
Access to often used functions.
- Find Next
- Zoom in
- Zoom out
- Design/Preview toggle
Access to constantly used functions by control key.
a – select all; b – bold/strong-emphasis; c – copy; f – find/replace; i – italic/emphasis; n – new; o – open; p – print; q – quit; s – save; t – new tab; v – paste; w – close; x – cut; y – redo; z - undo.
Control keys: d, e, g, h, j, k, l, m, r, and u are available for other functions.