Top 8 principles for HCI and RAI Applications


Good software product should incorporate principles of human computer interaction. This section will
present these principles for the developer's consideration as they design their product .

Human Interface Design Principles

This section presents some key principles for critical design of elegant and intuitive user interface of Rich Internet Applications.

1)Default Terminologies
2)Co-relation with User’s expectation
3)External and Internal Actions
5)User Control
7)Error Tolerance
8)Perceived Stability

Default Terminologies

Use of various obvious metaphors to make user familiar with environment and so that user can apply some expectations to the web application environment.
For example in desktop applications various terminologies are used in case of storing the files web application can use term “Folder” as used in desktop applications. The jest of the Rich Internet Application is to become more and more powerful like desktop application while providing basic Internet feature.

Co-relation with user's expectation

Generally users have default mental modal for various applications this modal arises from combination of real-world experience and experience with other computer applications, for example email applications , user has a conceptual model of this application that includes certain expectations, such as ability to create new letters, select a recipient , and sending of letter. As a result Rich Internet Applications should correlate with user expectation and metal models because constructing RI applications which does not follow the mental models will lead to user confusion or learning of new way to deal with application which can cost time to customer/user and reluctance to use the applciation.

External and Internal actions

Rich Internet Applications involves manipulation of various objects representing applications which are clustered together to make rich application by using various actions. There are various steps involved in the manipulations of applications objects which are categorized in external and internal actions.
External action are clearly shown to the user for example if a user selects an application object and wishes to perform some action on it while selecting commands from menu list, enabling and disabling of command will let user know that weather the respective command can be operated on the application or not . As a result user does not have to memorizes the commands specific for the application objects .

Internal actions is represented by the application through visual clues and feedbacks for example in drag-and-drop if an application object is dragged by the user and dropped to another application object of web application then it will create a relation with both respective application objects. For example in a web application which provide calender facility including email facility and if user dragged a particular date column into email letter text box of another application object then a relationship must be created between both object due to which particular date should be printed in to letter body of the email.


According to the principle, an application object should be always visible while user is performing a task on it and the impact of the action should be immediately visible so that user can have the feeling of control over application.
As Rich Internet Applications are Internet based sometimes due to network congestion feedback from the application can take some time, therefore some form of processing feedback should be shown to user in-order to prevent him from confusion.

User Control

Rich Internet Application should always allow user to control the application. While developing the application developer should always consider novice user and provide enough tolerant to application so that user can undo the dangerous actions. Web 2.0 applications should be more operation oriented. According to the author future lies in the how well developer provide service to the customer that is how well software provide its services.


Rich Internet Application should be more consistent in look and feel because consistent interface allow transfer of knowledge and skill from one application to other. There should be standard use of color scheme and graphics so that user should not get the feeling of moving away from the application. Interface should also itself be consistent, use of similar graphics, labels for common task should be used, they should perform similar action every time they are used. For example similar type of image should be used for similar function in every page of application, let suppose if a image of star is used to create new window then every page of the application which provide the facility to create new window should have similar star image.

Error Tolerance

Rich Internet application should be more error tolerant that is they should be more forgivable. They should always provide the facility to reverse the action performed by user. User should comfortable with the application and should have feeling that they can try things in the application without damaging the system. Application should warn user before any action which is irreversible in nature so that user have choice to perform the action .

Perceived Stability
While developing rich application developer should provide user a visual sense of stability. Graphical interface of application contains many elements for examples menu-bar, buttons, and so on. These standard elements should provide user a metal modal in which user is familiar to operate applications. For example when a menu command does not apply to a particular object then it should be dimmed rather than omitted. For provide the sense of stability application should store user's preferences for example in user is allowed to set its's home page according to his/her preference and the respective preferences are stored . As a result every time user opens the google home page he/she will be presented the home page according to his/her preference.
“Providing status and feedback also contributes to provide perceived stability by letting user to know that application is performing some task .”


:)) ;)) ;;) :D ;) :p :(( :) :( :X =(( :-o :-/ :-* :| 8-} :)] ~x( :-t b-( :-L x( =))

Post a Comment