Balancing Content and Control
Creating an application that works consistently across the plethora of computing devices now available can be challenging. Resolving the contradictory goals of minimizing the differences in how the application works on multiple devices while still taking advantage of the features and user interface styles of each is key. In order to meet this challenge, consider two important application models: the content model and the control model.
The content model describes the objects, their relationships, constraints, and the set of operations which users may perform on the objects. As an example, a sales catalog application content model includes a catalog containing items for sale, a shopping cart into which items to be purchased are placed, and a payment object which contains payment information.
Customers must understand the content model in order to successfully use the application. Typical training techniques include user documentation, user tutorials, online help, and meaningful error messages. Many people will understand the content model if it is similar to those of other applications they may have used in the past. The content model should be constant across devices.
The control model is the collection of widgets, interaction objects, and controls the user manipulates to access values in the content model. For example, users select options from a menu by clicking on a desktop device, touching the screen on a smartphone, or speaking the option on a telephone. Each device has its own control model. Users often learn about the control model by using other applications on the device.
An application user interface consists of both a content model and a control model. Previous usage of a similar application and familiarity with the subject area are the primary factors determining a person's content model expertise level. A person's control level expertise, on the other hand, depends upon how much a person has used the device.
User profiles may be used to describe a person's level of expertise with both models. If the user profile for a model doesn't exist, create one by either asking the user to enter his/her experience levels or by trying to deduce the experience level by monitoring the errors made.
Such profiles can be stored on the user's device or on the application server. If stored on the application server, the user's expertise about the content is available to all devices using that application. If stored on the user's device, the user's expertise about the control model is available to all applications running on the device. This will require that the server recognize users so the correct profile can be used. Some kind of user identification procedure will be required.
Separating the content model from the control model has advantages for both users and developers. Users can apply their understanding of the content model no matter which device they use. If users are already familiar with the application on a desktop, they only need help with the device controls. Users are free to use any device currently available because the content model works the same way on different devices.
Developers creating control model help messages for specific devices can reuse those messages in other applications targeted for that specific device. Additionally, help messages about a specific content model can be reused in similar applications that work on other devices.
Help messages should train users to better understand both the content model and the control model. Helping users navigate models they are already familiar with is redundant. Focusing on models more foreign to them is helpful to them, and a smart move for your business too.
James A. Larson, Ph.D., is an independent speech consultant. He is co-program chair for SpeechTEK. He also teaches courses in speech user interfaces at Portland State University and the Oregon Institute of Technology. He can be reached at jim@larson-tech.com.