GUI Guidelines for Microsoft platform

Graphical User Interfaces have become the most preferred user interfaces among the computer users. GUIs have made the work with computers much easier without any need to type all the commands on keyboard as in text-based user interface. Microsoft started experimenting with GUI since the old DOS days when they introduced the menu items. Since then GUI on the Microsoft platform has come a long way. But despite its popularity and the developer goal to design the best GUI there are not enough software applications that have well designed GUI. In this article we will try to find the reason to this hard pressing fact. 

To develop the good GUI design developer must follow the following basic principles of the User Interface design:

1. There is an historical problem in the software development that the developers always design the application based on their knowledge rather than what users know. As a developer you should always avoid this basic error and put yourself in the user’s shoes while designing the User Interface of the application.

2. If the program is busy with some operation you should not test the patience of the user by displaying the hourglass. Users get frustrated while staring at the hourglass, and waiting for the operation to finish. If an operation takes more that seven or eight seconds keep the user informed about the process that is going on. As a general rule display a dialog box with the progress indicator.

3. Messages displayed to the users should be clear. Avoid computer jargons and use concise wording for text labels, user error messages, and one-line help messages.

4. Always remember that it is easy to recognize than to recall. There should be no emphasis on memorization. Present instructions to the users where ever possible.

5. Inconsistency is a common complaint among users. Using terms like “Item”, “Project”, and “Merchandise” for the same thing will be confusing and frustrating for the users. Make the user interface consistent.

6. Some function may be triggered by mistake. To avoid accidents you should always get confirmation before starting operations. This is more critical in those operations where there is no way for users to get out.

7. Follow the following guidelines for controls



8. User Interface should be aesthetically pleasing and flexible. Make User Interface of the application consistent with the platform for which you are developing, to make sure that your application does not look like a lump of coal in the field of cloves.

Microsoft has many times made major changes in the UI guidelines for the applications developed for its platform. Firstly when Windows 3.x was introduced and then when Windows 95 was released. Now it has again changed the UI guidelines for its new operating system Windows Vista.

Microsoft has developed a new user interface for Windows Vista codenamed AERO (Authentic, Energetic, Reflective and Open). The Aero user interface is a high quality user interface that is easy to learn, productive and very beautiful. In this exciting user interface glass window borders and translucent surfaces provide it a very professional and beautiful look.



To make the user interface of Windows Vista developers applications consistent the developers have to use the themes API. Using the Windows themes API developers should respect the user's settings by referencing the system font, sizes, and colors. 

To create Windows Vista glass borders for your application, use the standard window frame. For more glass surfaces use the Aero glass API and don’t create your own non-standard window frames.

Use the meaningful icons in your applications that help users recognize and learn their purpose in the UI. Use system icons where ever possible, avoid using images that do not add anything useful to the application. To keep the .exe size under control, use the .PNG compression.

Do not use narrow, short, or tall command buttons with text labels because they tend to look unprofessional. Try to work with the default widths and heights.
Hovering should be enabled.



While short labels are preferred, use enough text to explain the command sufficiently. If options are not really ‘Advanced’, we should not use the caption ‘Advanced’; instead we should use the caption ‘More Options’.



Use task dialog API to create dialog boxes consistent with Windows Vista. Write clear instructions to communicate the purpose of dialog box. Keep the dialog boxes clean; use the ‘More’ button to hide the advanced options. Use modal dialog boxes for the choices that user must make before continuing and modeless for other tasks. Don’t create a custom notification mechanism. Use the standard Windows notification instead.

Windows Vista uses the AERO wizards. Aero wizards are very clean and elegant. Do not create those left panels to show the flow. Keep the wizards resizable. Write the instructions very clearly. Do not use Welcome and Congratulations pages. If there are some pre-requisites consider using Getting Started Page. You can also add a Follow-Up page, which will help the user to do the related tasks



If there is anything searchable in your application, provide the search feature to your users. Locate the search in the upper right hand corner. Do not use the label for search, instead use the “Type To Search” prompt and standard search button. If the search takes more than five seconds, show users the busy icon, so that they know searching is being performed.



Organize your commands in the user-centered way. No need for a duplication of all commands in a comprehensive menu structure, because your toolbar (with buttons, menus, and split-buttons), palettes, context menus, and other UI are capable of presenting all functionality in a good way. You can even hide the main menu by default. All the commands should be accessible from keyboard. There is no need to follow the File-Edit-View organization in menus. Follow the organization that best suits your application. Use context menus to show a set of relevant commands. 

Crowded screens are difficult to understand and, hence, are difficult to use. Hide complexity and maintain the consistency. Align text, images, and other objects properly.

Improve layout--align borders, text, and objects. Use hover states and just-in-time UI in context or on selection. 




Features should be shown to users using 3D images and animations. Explaining through text should be avoided. 
Now the system wants icons up to 256x256 and they're supposed to look "better than photorealistic." This is a job for an artist, not a developer who happens to have a copy of Paint open. If you just let the system blow up your 32x32 icon, people will laugh at you behind your back.

To sum it up the application should be faster, easier, and visually exciting.

About Author
Sajad Deyargaroo
Developer with BQE Software Inc., LA
Presently working in Offshore Development Center at STPI, Kashmir
Email: sajad@programmer.net




Added on September 10, 2007 Comment

Comments

Post a comment

Your name:

Comment: