Today, complex layout methods have made it possible to borrow from interaction patterns of desktop applications, including drop down menu bars, expanding trees and tabs. It's this exact inevitable shift of desktop application design patterns to the page metaphor that has more than often led to confusion amongst both web designers and end users. In this era of AJAX and RIAs, the possibilities for user interface designers have become infinite. Hence the question arises: Have all of these developments actually led to an improved user experience?

By means of a small number of examples will I try to give some convenient rules of thumb to all of the disciplines mentioned above and challenge you to join the community in standardising new patterns for some of the open ends.
Example: Hands and arrows
From the early days on, graphical web browsers have borrowed the appearance rules of mouse cursors from the desktop application environment. One new cursor was introduced however: the hand cursor with an index finger pointing up. As we all know, this cursor is always displayed when the end user hovers over a hyperlink. As mentioned before, HTML hyperlinks are used for a lot more things nowadays than merely plain, inline underlined text links. Menu items and even buttons are sometimes just HTML hyperlinks in disguise. Which cursor should web designers choose in those situations where hyperlinks are used for something that doesn't look like a hyperlink. Hand cursor or arrow?
The key to the answer to this problem lays in the fact that one shouldn't look at what the interface element looks like, nor to which HTML element is used in the code to create the interface element, but instead to what the element does. From the early days of graphical browsers on, a hand cursor have indicated to the user that on clicking, they would jump to another piece of information or even a whole new page, so this is also what the end user expects. It's recommended to make sure that interface elements that function as menu items always feature a hand roll over.
An exception to this rule of thumb is the submit button. Forms generally feature a submit button. Hitting the submit button usually makes the server return another web page, for instance with a confirmation message saying that the form was sent successfully. Even though this interface element seemingly 'links' to another page, the actual intention of the end user was in this case never to call for another page, but rather to issue the form that he filled out. Hence a hand cursor would only cause confusion in cases like this. Even in a case where a submit button doesn't look exactly like an average button.
The trouble with drop down menus
Drop down navigation menu bars usually display their children elements on a mouse over event on the parent element. As the (link) element is often used — and should be used — for navigation, the hand cursor on mouse over events is automatically inherited. In many cases, the items in such menus are neither blue, nor underlined. In other words, they don't even remotely look like anything that would obviously link to another page. Nevertheless, few end users seem to have any kind of trouble with the result of being linked to another page after clicking on one of the menu items, as the hand cursor doubles as a sort of warning to the end user that a bigger change is going to happen.
Merely blocking — and therefor controlling — the end users navigational buttons doesn't really help. Yet, there's no harm in helping the web browser a little in maintaining it's browser history path. Brad Neuberg created a nifty script to take care of this and it's called: the Brad Neuberg Framework.
Example: Bookmarks
Bookmarking RIAs
In old style web applications, the bookmark already wouldn't do much for you. With today's RIAs that use AJAX designers are facing even bigger challenges.
Picture an end user — called Jack — who is half way an online sales process for buying a ski outfit. Just as he clicked through a number of pages on which he decided on the right colour and style for his outfit and which shoes to go with it, the phone rings. It's mum. Jack is well aware that a phone call with mum seldom takes less than thirty minutes. As Jack wishes to continue later, he bookmarks the screen he is currently on and closes his browser.
No less then one and a half hour later Jack knows all about mums health, how well her magnolias are doing and that she can feel in her bones that winter is arriving. Which reminds him of the fact that the process of purchasing a ski outfit was still left unfinished. Hence, he turns back to his computer and opens the bookmark in order to find out that he hasn't bookmarked a near to end stage of his purchasing process, but just the main address of the application itself. All the labour that went into carefully assembling his ideal ski outfit turned out to be in vain and bad memories of late 90's frames websites come back to him.
Whereas traditional commerce engines generate urls that would at least roughly point at a certain section of the commerce path where the end user ended up upon, modern AJAX applications often won't leave the end user — nor the web browser — with a single hint where he's at, let alone what he has put in his shopping bag (although luckily this is usually solved with cookies).
This problem won't only occur with the use of AJAX for commerce engines, but also with other types of AJAX enabled products.
The core to this problem is not the technology that is used itself, but rather the way in which people design these applications. For designers, it might be helpful to consider the following:
Manage to determine for every change on the screen that was caused by user intervention, whether this change is radical enough, to be considered a new page/screen by the concerned end user himself.
If the latter is the case then a designer should communicate to developers which screens are there to be distinguished rather than leave this to the judgement of a programmer.
The same rule of thumb also helps to write a navigation flow for your AJAX application or site and even story boarding may become easier this way.
Conclusion
We live in a time where the traditional disciplines of visual design/user interface design and front end engineering are blending with each other. More and more are logic and behaviour moving from server side to client side. This means that designers can no longer do with basic wire-framing and slick looking Photoshop composites alone if they want to keep enough control over not only what a user interface looks like, but also over what it does in order to guarantee the best user experience. My suspicion is that IF visual designers, engineers and most of all user experience specialists are aware of all the technical possibilities, the history of each design pattern and their intended use then more fabulous products than ever will appear on the horizon.
Prototyping
Now is the time that designers and front end engineers should work closer together and learn from each other's disciplines. If designers stay behind, then they won't be able to specify what they have in mind exactly. Add this to the fact that software is nowadays often built in another place from where it was designed and it becomes clear that building advanced and realistic looking prototypes has become a crucial factor in specifying one's wishes in detail.
To be able to create realistic looking prototypes which need no explanation to developers and ultimately hardly any specification documents. The market will more and more desire a fair amount of knowledge of every aspect of user interface building from all disciplines to guarantee consistent, compliant and accessible user interfaces.
Web standards have brought us great things. For most types of content such as paragraphs, headers, tables, etc., it is clear to most disciplines which tag to use, how to style CSS and which visual style features may be applied. If the industry would have adopted web standards early enough, then there would have been room for W3C to develop updates for standards more rapidly. These new versions of standards of — mainly XHTML — might even have offered tags and application rules such as Menu item, , , , and so forth. And with tags that follow user interface design patterns as closely as this, browsers would have grown to respond to these tags in a equal fashion. Looking back, it's clear that (the acceptance of) standards have always been behind on trends in user interface engineering. User interface designers/engineers maintain an ongoing search for other methods to reach their goals, which is where the inconsistencies in patterns derive from.
Patterns
This only shows that the application of CSS, Javascript and especially HTML in the way they were intended is more important than ever. But what to do when they don't fulfil our needs directly? The answer is patterns. What the world needs right now is more clear patterns in user interface engineering for — in particular AJAX — user interfaces. The solutions to problems with patterns offered earlier in this article would only be a taster of the latter. How desirable it would be if end users would find it just as obvious when to use the back button, when the application is collecting data or just stuck, how to navigate, etc., as the fact that hyperlinks are underlined. This may be reached sooner when designers keep a close eye on each other's ideas, but more importantly: on what their end users like and understand.
Other recent articles:
-
Dealing with Labels by Cornelis G. A. Kolbach — February 1, 2009
Read more...As suggested in the article Form Follows Function and Achieving Thereof, every input element on a form should ideally have a label. Labels give more meaning to input elements and makes them accessible. This article dives into dealing with labels and input fields for postal addresses on forms.
-
Form follows function and achieving thereof by Cornelis G. A. Kolbach — February 1, 2009
Read more...Forms can be dreadfully tricky to style and structure properly. Several articles that are out there focus on best practises for building forms using HTML en CSS. This article focusses in a non technical fashion on the use of meaningful nomenclature and how form semantics relate to elements that current markup standards have to offer. It may help you recognise structural patterns and to compose forms properly.
-
Gregorian date input diversity by Cornelis G. A. Kolbach — February 1, 2009
One of the most common interaction patterns one can find on forms is the date input group. They appear in all shapes and sizes in various applications and sign up forms on websites. Certain forms of appearance seem to be more popular in certain geographical areas than other. But other than that it is hard to find any pattern or rationale why one website has chosen for model X while the other has chosen model Y. The suspicion would rise that the date input method is often dictated by the way the backend would 'like' it. This is a situation which neither we, as interaction designers and consultants, nor the end user should settle for.
Read more...