We have seen in the What Is Interface? article that an interface isolates the role (functionality) from the entity (who performs the functionality). This helps the servers (providers of the service) and its clients (users of the service) to communicate with each other. For the interface to be effective, the server should make sure that its language is understood by its clients.
Let’s take the example of the transport system further. If the driver’s functionality was defined as the “one who controls the steering, shifts the gears, uses the clutch, brake and accelerator”, then there might be many passengers who would not understand the driver’s role. To the passengers, the driver is the one who simply drives. While nobody can argue that the former definition was wrong, it was certainly not as effective as the latter.
It follows then that the success of any system depends on how well the server presents information to its clients – revealing only what is necessary and comprehensible, and hiding the rest. Let me illustrate this with another example: Imagine you’re trying to read labels of products in a grocery store, with the intention of buying the product. If the labels are written in a language that you do not understand, or employs terms that you cannot fathom, the information printed on it would be indecipherable. In that case it would be extremely difficult, if not impossible, for you to use that information to make your purchase decision. The purpose of providing the information would be defeated and the system would fail. It would be appropriate to mention here, that by language I don’t mean just the literal language buy any medium of communication that it depends on, and is affected by the client’s profile. The Braille script is a wonderful interface, which meets the challenge of letting the visually challenged read, where the normal medium of communication was not suitable. This same principle is used in software designing to make sure that all the Graphical User Interfaces (GUIs) are presented in a language that a user understands – both the literal language and in user terms. This is a main factor when assessing an interface’s usability. Such an interface is typically called the Business Interface – an interface that a business user will understand. It is of utmost importance to identify the language and environment of your user when creating the interface.
Getting back to our transport example, let’s look at the next practical step. After you get into the bus, you have to tell the transport system (the driver in this case) where you wish to go. How else will the driver know where to stop the bus for you to alight? For the system to work, this piece of information is indispensible. This means that the interface cannot be effective if it does not include the required information. So, we include this information in the interface, again making sure that it is expressed in a language that both the driver and the passengers understand.
Now imagine the transport system providing you with a proper bus one day, and a bus without the roof the next day. Or asking you for your destination one day and forcing you to get down somewhere else the next day. Instead of easing the passenger’s travel, it will make it worse. Therefore, just like it is important for the passengers to provide the destination, it is required for the transport system to inform the passengers to provide the passengers about the service that it will provide.
Conclusively, we can say that an interface should
- Talk the client’s language
- Specify the information expected from the client
- Provide information about the service (only the information that is relevant to the client) that the client can expect.
These elements are integral to the interface and make it more effective.
This article is available at ManojKhatri.com
Copyright Abhijit Nadgouda.