Oxford Computer ConsultantsMicrosoft Gold Certified Partner logoOCC Logo

Impact Newsletter

Yann Cluchey, IT Consultant

Welcome to the fourth edition of the OCC eNewsletter with its insight into how emerging Information Technology will impact on your business.

Our aim is to inform business managers and technical directors in clear language about topical aspects of IT. Every quarter we'll explain how businesses are using IT to gain a competitive advantage and improve their business processes. Each article will be supported by case studies outlining how organizations have successfully deployed the technology, and how OCC has been able to help them seize the opportunities the articles outline.

In this issue we return to our author from June, Yann Cluchey, for the second and concluding part of his article on user interface design.

User Interface Design Pt. II

This article continues the discussion on user interface design. In the first part (http://www.oxfordcc.co.uk/newsletters/002/uidesignpart1.html), we looked at some ideas and methodology in the design process, asking questions like what makes a good screen design and what can be done to make a screen easy to use? This article looks at the bigger picture; how do the different screens work together, what constitutes an intuitive and productive application and what techniques can be used to assess this?

Click Analysis

One of the most effective means to assess the productivity and workflow of software is to perform a click analysis. That is, to count the number of clicks needed to achieve the fundamental tasks. For example, once the application is open, how many clicks does it take to create a new file, save the file or import some data?

Having gathered this data, it is possible to take a step back and examine the number of clicks taken to achieve various tasks. This analysis need not be exhaustive; it is acceptable to examine only the key tasks within the application, or perhaps a set of localised tasks within a specific part of the application. Ideally, the most common or important tasks should take fewer clicks than the minor ones. If this is not the case then it is usually a good indication that the design and workflow of the system need to be improved. Do you really need to drill through menus, submenus and dialog boxes to access the desired functionality or could it be made available on a toolbar?

For instance, if it emerges that the number of clicks required to access a particular important screen varies quite widely, then it is an indication that the navigation system needs work. This will vary depending on the nature of the application but, ideally, the important functionality should be no more than a few clicks away.

Identifying a problem tends to be easier than fixing it and it is better to avoid the problem in the first place. So what proactive methodologies and techniques can be adopted? The following sections consider a few.

Goal-Driven Design

In order to achieve a productive application, the design of the user interface must be goal-driven. The developers or user interface designers must stay firmly focused on the purpose of each screen and its overall goal. Instead of flooding the user with hundreds of options, a developer must decide upon the most efficient logical flow of user interaction and design a screen or sequence of screens accordingly.

Many operating systems, such as Windows, have very established design patterns that approach user interaction in different ways. For example:

  • Wizards: A sequence of pages with "Previous" and "Next" buttons. Users achieve their goal in an intuitive step-by-step manner.
  • Tabbed Pages: One screen, with tabs at the top, allowing the user to "flip" between pages of information. This approach is typically used to fit a lot of information into one space.

While there are plenty of patterns available, which should be reused, choosing the correct one is critical. Wizards, for instance, are very popular but force the user down a single path. The user can choose whether to complete the wizard or not, but cannot pause part way through and cannot typically interact with other parts of the system, e.g. for reference. Tabbed interfaces are even more popular and more commonly misused. Tabbed pages do not indicate a “proper sequence” of interaction; rather, they should be used for a series of independent operations, and certainly not to cram information.

At OCC, ascertaining the goals of an application is an iterative process. The first phase is to examine the functions of the system, and predict what tasks will be the most common and important. The subsequent phases introduce amendments and new requirements based on user feedback.

We accord great value to user feedback as this is always a great source for ways to improve our software. It can sometimes be the only way to identify problems, especially the small ones.

Translating the goals of the system into a user interface is by no means easy. Microsoft, for instance, have recently completed Microsoft Office 2007, which has seen an investment of billions of dollars over many years, predominantly to improve the user interface. Breaking away from classic user interface designs (and mistakes) takes a significant amount of work.

For software of any scale, it is important for developers to keep in mind "How can the common tasks be made as easy as possible?" For example:

  • Promote Related Functionality: From any given screen in an application, it is possible to know or guess what the user may want to do next. Providing easy access to this functionality not only helps the user move on quickly, but also assists unfamiliar users. Windows Explorer offers a “task pane” which advertises some of the typical actions relevant to the user’s activity.

    The Windows XP task pane

  • Building Flexibility: While developers may expect the system to be used in a certain way, the reality may be quite different. Users may want to achieve the same goal via any number of different routes. User interface designers should anticipate this and offer as much flexibility as possible in terms of navigation systems and the appropriate division of large screens into smaller ones.

Allowing out-of-sequence actions to be performed in this manner is very beneficial to the user, who will much appreciate the ability to “come back and change things”, should they need to. This is especially beneficial to inexperienced users who may not be aware of every step required to achieve their goal.

Avoiding Dead Ends

Another common problem in large applications is hitting a software brick wall. Halfway through a task, the user finds that one of the features they need to use is disabled. When the reason for this is unknown, the user is left with the difficult task of making trial-and-error changes to re-enable the feature. To eliminate this scenario, disabled features can be accompanied by:

  • Explanations: When something is not possible or a feature is not enabled (and the reason is not obvious), the user should be told why. In SPOCC, we use a system of notification icons with tooltips.
  • Tips: In many cases, telling the user why a feature is disabled is insufficient. The user may not know how to fix it or even where to begin. Offering a bulleted list of steps to fix or address the problem will help users to continue working without getting stuck.

Context Sensitivity

We have already discussed the idea of promoting related functionality using visual elements such as task panes. This concept can be developed further by adapting the appearance of the user interface and the behaviour of the application to the context of the user’s current activity. For example:

  • Tailoring the User Interface: It is generally helpful to bring functionality related to the current activity to the foreground. Not only that, it can also be worthwhile to push unrelated functionality to the background. While the main menu should typically remain a static place to access all functionality, the toolbars and context menus can be changed, partially or completely, to suit the current activity.
  • “Intelligent” Behaviour: Most applications allow users to navigate freely and independently between a number of different screens. Typically, a user’s path through the system goes unnoticed by the software. However, taking advantage of this "history" can allow the application to predict or suggest options to the user. For example, in OCC’s contract management system, if you click on "Create New Contract", you get the new contract screen. If you are viewing or have just created a supplier record, and then click on "Create New Contract", the software can infer that you intended to create a contract for that supplier. The software can therefore pre-populate the "Supplier" and related fields, required on the new contract screen. Techniques such as this probably improve efficiency only by a matter of seconds but these small "finishing touches" mount up and make for a more productive and user-friendly system overall.

Ongoing Development

User interface design is a challenging field. Bugs aside, there are plenty of gripes to be had with most available software. A single application cannot be expected to work exactly the way each of its users would like, as people tend to use software in their own way. However, user interface designers and developers can strive for a design that suits the user best, and should attempt to improve upon it.

At OCC, we draw upon our own expertise with software, along with our clients’ experiences in order to deliver applications that work for them. We strive to produce software that is not only functional, but easy to use and intuitive. We certainly do not claim to have perfected it, but we are open to suggestions.

Top

About OCC

What is OCC?

The purpose of OCC (http://www.oxfordcc.co.uk/) is to create original, robust and flexible IT solutions. Our aim to add value to customers' businesses by enabling them to grasp the opportunities of information technology and the Internet. In so doing, we aim to give our staff challenging jobs and competitive rewards. We work in the IT field because we enjoy the technology, because we’re good at it and because we can see the positive impact IT has on both business and society. We aim to achieve our purpose by:

  • recruiting and retaining highly skilled staff. We believe that the intelligence and skill of our developers is one of our competitive advantages,
  • working closely with our customers. It is always our aim to allow any prospective client to contact any of our previous or ongoing clients for a reference,
  • using our results and reputation to win repeat business and generate new business. We believe that our reputation should speak for itself; and
  • undertaking leading edge R&D because this is the life blood of innovative companies. This ensures that we have expertise in emerging as well as current software technologies.

Find out more (http://www.oxfordcc.co.uk/Doc17747.html) about OCC's objectives

What Does OCC Do?

OCC promotes itself as having a strong ability to grasp a client’s business needs and to use technology to “add value” to client processes. Our strengths are reflected in the quality of our development staff, our high levels of repeat business (over 93% of clients buy again from OCC), and our knowledge and experience in specific sectors such as energy, engineering, local government and health.

OCC’s Services and Expertise

Software Services

A complete range of design, development and support services (http://www.oxfordcc.co.uk/Doc18139.html) for:

  • Custom software applications;
  • Re-engineering of software in legacy applications; and
  • Content Management System based web sites and web applications based on standard and emerging web services technology.

Business Sectors

Over 16 years of experience, reference sites and testimonials from our customers in:

Technologies

All mainstream and emerging technologies including:

  • Database applications;
  • Mathematical modeling software with graphical outputs; and
  • Web applications based on Content Management technologies, web services and the semantic web.

Socially Responsible Business Practice

Oxford Computer Consultants adheres to socially responsible business practice (http://www.oxfordcc.co.uk/Doc17812.html). The company has formal environment and ethics policies that are communicated to all staff.

Mailing List