Web Based Application
Designing a good user interface is never easy, but designing a web application interface is especially challenging. In this article, I first give you some general advice about design considerations for web application interfaces and about how to pick the appropriate implementation technology. I then dive into the details about one aspect of a web application interface using JavaServer Faces, specifically, how to customize the standard error messages.
There are many things to get right in order to end up with a functional and easy to use web application interface
Since a web application runs in the browser,users expect to be able to use the browser's buttons for navigation, such as using the Back button to return to the previous page. However, handling this type of navigation correctly is tricky, so it's important to design an interface that encourages the user to use other means for navigation. I recommend that you design the user interface to look as much as possible like a traditional graphical user interface (GUI) - using common GUI widgets, such as trees for selecting items, tabs to show different aspects of selected items, and menu-bar links at the top. Also, keep in mind that a web application is task-oriented, comprised of pages that must be entered in a specific sequence, rather than free-form set of links as in a traditional web site. Users must be allowed to jump directly to specific pages only, such as the main pages for different tasks.
Bookmarking is related to navigation and can also be hard to support in a web application;you don't want a user to bookmark a page that should only be accessed as a result of submitting a form, for instance. Although I dislike HTML frames on a regular web site, frames can be useful in web applications because they prevent users from bookmarking individual pages.
Web application limitations:
Although people are accustomed to scrolling around the page to read a complete article online, say, users find Web applications easier to use when all information related to each task is contained in a single readable page, or if scrolling is contained in just part of the page (with the help from internal frames), or by using Next/Previous buttons for a large table, for example.