Designing and Implementing Web Application Interfaces

Discussions

News: Designing and Implementing Web Application Interfaces

  1. This article by Hans Bergsten provides some general advice on web application interface development and describes how you can use generic attributes and a PhaseListener to customize the standard JSF error messages in a very flexible way.

    Excerpt
    I am hopeful that some of the consideration points I outlined in this article will help you design and implement better web application interfaces.

    ....

    Developers using JSF often ask how to include human readable component labels, such as "First Name," in the error messages generated by standard JSF validators and converters. Although JSF 1.0/1.1 has no direct support for this, it can be done using using generic attributes and a PhaseListener, as I've shown in this article. The three different message-customization requirements described in this article should cover the most common needs, but the basic idea presented here can also easily be extended and tweaked to cover other similar issues you may encounter.

    Read Article: Designing and Implementing Web Application Interfaces by Hans Bergsten, author of JavaServer Faces (O'Reilly)
  2. To be honest I could not understand the generic model.
    Validation tag refers to the component. So in our tree on JSF site we always know which component our validation message belongs to. Right? If so than why it is not a default behavior in JSF?

    Dmitry
    http://www.servletsuite.com
  3. Navigation. 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 think, that (1) either one uses document-based model native to a browser, and allow a user to click Back, Forward, Reload buttons and even to leave the page and return back using page URL; or (2) one uses window-based model and builds the UI using applets, web-start or Flash. There are a lot of websites around which look like normal web pages, but behave weird when one clicks Back or Reload. A user must be allowed to click Back button, it is the application responsibility to return a proper response.
    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.
    Pages of web application usually do not have to be entered in a specific sequence, it is the pages of a wizard which has a sequence. And wizards usually take a relatively little portion of the whole application. Even if the whole application is a one big wizard, a user must be allowed to jump wherever he wants, it is the application responsibility to track the state and to return a proper response.
    Bookmarks. 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.
    Which is why one should use redirection and never display a result page as a direct response to form submission.
    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.
    Goodbye, the concept of accesibility.
  4. The problem is that the stuff you read related to "web applications" is actually a year or so behind the current web standards trend.

    I've basically written an article about an agile approach to designing and implementing web interfaces which I've gotten some really good feedback on:

    http://hookom.blogspot.com/2004/12/easing-project-development-with-css.html
  5. The problem is that the stuff you read related to "web applications" is actually a year or so behind the current web standards trend.I've basically written an article about an agile approach to designing and implementing web interfaces which I've gotten some really good feedback on:http://hookom.blogspot.com/2004/12/easing-project-development-with-css.html
    Boy, I guess I should brace myself and get a page on the Blogger to be able to say proudly "I've written in my blog about it" ;) Someone may draw from your statement that using CSS for page formatting and decorating is really a brand new technique, which sprung up from nowhere just last year. Well, CSS was introduced in about 1998, and MSIE5 was already able to process it. MSIE6 working in strict mode is much better, and Mozilla is better yet. These browsers exist on the market for several years, MSIE6 was released about 4 years ago. You can read a little about it ;) in my response to this thread: http://www.theserverside.com/news/thread.tss?thread_id=30957#152235 Your chapter about structure and presentation forgets to mention that HTML in its roots was a structure markup language, which was later polluted by presentation elements. Now it is time to tidy up.

    but I agree with you that only in the last year CSS got the traction to be recognized not only by hardcore standards-driven web-designers, but also by web programmers. I myself started to realize how cool CSS is, when I looked at csszengarden pages. Funny that only now web designers and webapp programmers realized that they have to get together in one team. Well, web designers may not have realized this yet ;) This collaborative move was once performed by automotive companies about 30 years ago, now it is our turn. People do not learn on others' errors. It was already proven that mixed teams are better, that they can better understand each other's domain, tasks, tools and problems. Finally, a programmer who can be a designer too ;)
  6. Boy, I guess I should brace myself and get a page on the Blogger to be able to say proudly "I've written in my blog about it" ;)
    With no offense taken, blogs are a great way to simply share ideas.
    Someone may draw from your statement that using CSS for page formatting and decorating is really a brand new technique, which sprung up from nowhere just last year. Well, CSS was introduced in about 1998, and MSIE5 was already able to process it. MSIE6 working in strict mode is much better, and Mozilla is better yet. These browsers exist on the market for several years, MSIE6 was released about 4 years ago.
    There really wasn't any standardization since 1998 and only with more recent releases of IE has CSS behavior been standardized to a point where it becomes practical to use it within the business realm.
    but I agree with you that only in the last year CSS got the traction to be recognized not only by hardcore standards-driven web-designers, but also by web programmers.
    I think it's essential that web programmers read about web design. I've seen some horrible web page markup where developers only created more work for themselves because they didn't fully understand the capabilities of the web/html side of things. Cheers...
  7. Boy, I guess I should brace myself and get a page on the Blogger to be able to say proudly "I've written in my blog about it" ;)
    With no offense taken, blogs are a great way to simply share ideas.
    No offence implied. I am really thinking about starting a blog :)
    There really wasn't any standardization since 1998 and only with more recent releases of IE has CSS behavior been standardized to a point where it becomes practical to use it within the business realm.
    The most recent IE was released in 2001, so it took about three to four years for CSS to get to the masses, including myself. But now we have Mozilla, which is much more compliant.