Generally, most UI’s tend to embody specific characteristics which make the chosen design solution better suited to some users and contexts than others. However, it is often the case that during the design process a range of different designs will have been considered to match the diversity of user populations and contexts-of-use.

The real problem, however, is that users can often vary so greatly in terms of their knowledge, experience, social and cultural background (this is particularly the case in sovereign posture type apps). They often exhibit a wide variety of cognitive characteristics and affective traits. These characteristics are interrelated and shaped by context. Even when such variety is constrained by the nature of the work, and systems can be carefully designed and constructed to meet a well-defined need, the users will continue to learn and develop both through organisational changes and through individual users changing over time. So how can we design a system that is everything to everybody? Well we can’t, all we can do is design a system that works well for the majority of users in the majority of contexts. However, by designing in a degree of customisability and/or personalisation into the system we can offer a decent halfway house solution to some of these problems.

Customisable systems have a built in flexibility that can accommodate many of the different characteristics user may have; they are designed to accommodate a wider range of interactions than systems with a single fixed design. For example, successful interaction between a human and car is facilitated by the ability of the car to be tailored to our needs. We can adjust the height of the seat or the position of the steering wheel. The wealth of options on our computer systems allows us to adapt the systems to better suit our needs, habits, preferences and purposes. I can remove various parts of the functionality of a UI, for example by having ‘short menus’, in order to make it more appropriate to my purpose. I can alter short cuts, command keys to make often used functions easier and quicker to accomplish. By allowing the user to make the UI their own, and customise it to suit their particular needs we can increase their efficiency, effectiveness and satisfaction with the system. The alternative is to place some “intelligence” within the UI. This intelligence, can lead to the interface altering its form or presentation to suit the context of the task and the characteristics of the user. Adaptive UI’s haven’t really taken off, as users are not always comfortable sacrificing the locus of control to the machine, and may often be frustrated that the UI has altered it’s form without their consent.

So, for now customisable interfaces seem to offer an improved solution, although really well designed interfaces shouldn’t really alienate any type of user in the first place, regardless of their differences.