Rules to Better Interfaces (Windows Applications)

Since 1990, SSW has supported the developer community by publishing all our best practices and rules for everyone to see.

If you still need help, visit Website Design and User Experience and book in a consultant.

  1. Too many developers never change the Title Bar. The Title Bar should reflect the current document in the same way that Microsoft Word, Notepad, etc do.

  2. When advertising and promoting your application using screenshots, you will want to have the URL for your company website displayed. This makes for good, free publicity.

  3. Plain menu items make your application look normal and less expressive.

  4. Sounds are important to an interface. Sounds provide an extra level of feedback to the user. For example, in Outlook, you can enable sounds, which notify the user when text is copied or pasted, or mail items are received, moved or deleted. Important situations where sounds should be used include:

  5. A message box automatically provides this functionality so there is no need to manually put a beep right before a message box pops up.

  6. Some processes might take a long time to be completed and this can frustrate the user. The best way to avoid this frustration is giving information and options.

  7. The importance of having the status of progress bar on winform's title:

    • Users can clearly see the progress status
    • If the winform is minimized to taskbar, users still can see the progress status
  8. Give users the chance to skip a lengthy process.

    When your wizard has a lot of processing, do you allow the user to skip that processing when appropriate? It may be that the user simply wants to see the results of the last time the wizard was used, or is interested in seeing what comes after the processing step before deciding to run the process.

  9. When stopping processes, you should use 'Cancel'... Not 'Stop'. The meaning of 'Cancel' is clearer to users, as opposed to 'Stop' which might also mean 'Pause'.

  10. The last thing a user wants is to be stuck waiting around for a long-running process to finish that they accidentally started in the first place. This heightens frustration with the application because:

    • They do not know how long the process will last (adds uncertainty to the user experience)
    • They cannot stop the process (creates lack of control in the user experience)
per page
1 - 10 of 21 items
We open source.Loving SSW Rules? Star us on GitHub. Star