Evaluating the design of the system using domain entities for Usability

Design 1 using Domain Entities

Design 1 using Domain Entities

Lets start by evaluating this interaction model on the first parameter called "Usability".

Before commenting on usability, lets first understand what usability is all about.

Usability is all about the ease of use from the user's perspective.

So, how would you rate this proposed system from a usability point of view? Is it good, bad or worst?
Most of the time, my participants rate the usability as worst.

But why is usability highly pathetic... what makes this system so bad wrt usability?

Think about it: in this arrangement, for the actor - RRC to reserve a ticket, he has to know about all the different entities to be manipulated, he has to keep a reference to each of these domain entities and should also know the sequence in which these operation have to be performed to as to Reserve a ticket.

Now, can we think as to what makes this system so unusable?

Lets start by the first rule which we had learnt for systems....

The rule was "Any well designed system is always black box for the end user. That means user should never know the internal details and he should only be able to define and recognize the system by its behaviors."

Ask your self is this system a black box?
According to me this system is a complete White Box to the end user.

If I was a RRC, why should I know about all the domain entities, why should I keep a reference to each one of the same and why should I know as to which all domain entities to be manipulated in which sequence so as to achieve the behavior offered by the system.?

Its neither a user's job and nor his business.

I, as a user should never be bothered about the internal details of the system. In this example, there were just 7-8 domain entities but in any realistic system there are many more number of domain entities to be manipulated depending upon the complexity of the workflow. Think about it: if you are supposed to remember 20-30 domain entities, keep a reference to them, and know their manipulation logic, I am sure you all will start saying as to why should I be bothered about these issues. We would just need a system which offers all the behaviors and should give you output given the inputs needed by the functionality.

Making the user remember and understand the structural details will drastically reduce the usability of this system.

This will explain as to why systems should be designed as Black boxes.

Because of all the points discussed above the usability of the system is the WORST.

Hemant Jha
Founder - VPlanSolutions
Researcher, Trainer