User Interface Design
We like to think that our user interface design is one of our greatest strengths.
It's become something of a mission. And we love it.
We're about very much more than well designed screens that look nice. It's about anticipating how real world users will actually use what we write and knowing that ultimately everything we do is for them more than anyone else.
Though the amount we can do will of course depend on the available resources we'll always recommend that Clients carefully consider investing in the very best user interface they can possibly afford. The following items are just a few of the areas we'd want to plan into our work.
The best software works so intuitively that it may not need a manual, help file or any instruction at all.
Reflecting real world users and sequential procedures to ensure that they are never at the mercy of a programmer's whim and can do things in a way that is familiar, logical and as efficient as possible.
Reminding the user not only where they are right now, but also - and they may not immediately remember, so they may not realise that the possibility is available - where they might like to go and what else they might choose to do.
Making sure that users can move quickly to where they are most likely to need to go next without having to go through hoops to get there. It should hardly ever take more than a click to move on. Careful planning of tabbing orders and quick options to display things differently according to purpose adds to the fficiency with which users can use the software.
Pattern Group Recognition
Arranging data so that users can easily assimilate even complex and disparate information. Indicating areas for viewing and areas for data entry.
Ensuring that any time users are being forced to wait for something - whether it's the creation of a complex report, opening a large file or whatever, they get onscreen feedback to let them know what is happening and why.
Whenever users are involved in a regular activity that could be made easier or quicker, they are wasting time or effort. The work involved in programming a small functionality addition can save many hours in a short time. If a user has to choose dates frequently provide a click-able calendar utility, or maybe a button that enters today's date or the time. Suppose a particular user is spending several days each month on a particular task - the chances are that aspects of it can be automated for them.
No software is infallible. But time spent attempting to imagine every single thing that a user may do with the software, no matter how absurd or unlikely is well spent. By trapping for the consequent errors that may emerge and adding warning or user choice option branches far less technical support will be required. User confidence will grow and data integrity can be protected.