| Previous page | Next page | Contents | Home | Obix pragmatics |
Whereas required functionality largely depends on the application, some pragmatics concerning functionality are general and should be applied whenever possible. They largely simplify the end-users life and can make a software product much more successful. The pragmatics in this chapter are just presented as guidelines. There is no discussion about possible implementations.
The user interface should be consistent!
Nobody likes learning again and again new ways for doing the same things. Different user interfaces are disturbing, they increase learning time and costs, and they drop efficiency. Ideally, the user interface should be the same in all applications, but customizable by the user. Let the user concentrate on what to do instead of how to do it! Good Microsoft Windows examples of standard interfaces are the copy/paste functionality and regional settings, a bad example is the different ways of manipulating data in tables.
Purely object oriented systems are ideal for standardizing the user interface. The reason is that the user's actions can be reduced to only 5 different kinds of manipulations:
These 5 manipulations could be implemented by one general purpose object manipulator which could be used to manipulate any object. For example, the object manipulator would display any object's state (the values of all attributes) in a standardized way. Selecting a command from the displayed list or tree-view of commands would open a standard interface for defining the input arguments, and after the command's execution all output arguments would be displayed in a standard manner.
Displaying and modifying attribute values could be possible by so-called object
communicators. Each type on the system could have its own object communicator
assigned. Thus, two objects of the same type, but created in different applications,
are manipulated exactly the same way. Some object communicators should be delivered
with the initial system. For example, standard object manipulators would exist
for all the basic types in Obix, like strings, integers, enumerateds, dates,
times, lists, and so on. An object communicator could be customized by the user.
For example, the object communicator assigned to ty_date could
be configured depending on the user's country. The user could even replace an
object communicator with a better one delivered by a third party, and thus benefit
from its advantages whenever manipulating objects of the concerned type, even
if they have been created by different applications.
| Previous page | Next page | Contents | Home | October 2004 |