Algorithmic Software Usability Measurement
Imagine that a municipality of a city, let’s say Tokyo for example, decided to launch a comprehensive campaign to renovate and beautify the city and throughout the streets, so they replaced traffic symbols with other symbols; brighter and more colorful and attractive symbols, what is the expected result?
I just think it would lead to a higher rate of traffic accidents in the city! The emergence of new icons in front of your eyes as a driver (user) other than of icons that you have been learned in the driving course, and been familiar with by experience, should lead to a lower level of readability and understandability of these symbols for you, and therefore a lower level of efficiency as a driver (user) in using the traffic system generally, in other words: a lower level of the traffic‐system usability.
What is Usability?
So, usability is all about familiarity; it’s about something you have learned about before.
Usable thing is something you can use using a previous experience; using something you have learned before; with no need to learn new things.
Things become harder and harder to use when you feel you need to learn about before you use it.
So, in order to measure usability of software products, we need to define a software product as a standard base; a base user needs to learn about before measuring usability of any other software product.
Nowadays, ICDL is considered such a standard base. Actually, Windows and Office are considered such a standard base or platform.
In Linux world, there must be a Linux distribution used as a standard base or platform that Linux‐user needs to learn about.
Now, suppose we’ve chose a Linux distribution as a platform. You will notice, from your perspective as a user, that this platform consists of a set of resources classified in three categories:
- A set of terms of its own.
- A set of icons of its own.
- A set of shared windows (UI components) of its own (Choose font/Open file/Pick color… etc).
On the other hand:
- Each software product might have its own list of terms (actually, the terms that are not listed in the platform terms).
- Each software product might have its own list of icons (actually, the icons that are not listed in the platform icons).
- Each software product might have its own UI components (actually, the components that are not offered by the platform).
The idea here in order to measure the usability of that product is: the more dependency in this product on the platform resources, the more usability user will have. On the other hand, dependency —in this product— on its own resources, the less usability will have.
Accordingly, and in order to ensure the highest degree of usability, developers should capitalize on platform/shared resources (terms + icons + UI components) as much as possible, which means commitment to what it’s called internal consistency as shown in the following table.
|Internal Consistency||External Consistency|
|Terms (Textual Language)||same concepts » same terms (in the software)||same concepts » same terms (comparing to the platform)|
|Icons (Visual Language)||same concepts » same icons||same concepts » same icons|
|UI Components||same functions » same components||same functions » same components|
In order to measure the usability of a specific software product, researcher should define a way to count the positive and negative points:
- The positive scores:
- The number of icons defined by the platform used in the software product.
- The number of terms defined by the platform used in the software product.
- The number of calls in the software product to the platform UI components.
- The negative scores:
- The number of its own icons.
- The number of its own terms.
- The number of its own UI components.
Suppose we have the following data about a specific software wich is already committed to internal consistency:
|Reused Resources||New Resources|
We can find usability using this equation:
Usability = Reused Resources - New Resources = (20 + 30 + 5) - (5 + 10 + 15) = 25
Notice that usability value is an integer; the larger positive values the better software usability, and the larger negative values the worse software usability.
The Effect of Special Artistic Touches to Usability
The question here is: what is the effect of special artistic touches to usability? Is it a good factor in making a software product easier to use? Or the opposite is true?
In a business term: does Differentiation Strategy work in software industry?
Generally speaking, according to Michael Porter, competitive strategies are usually:
- Cost Leadership Strategy.
- Differentiation Strategy.
- Niche Strategy.
Differentiation Strategy means inventing new features (functions and attributes) in product that are not available in competing products, which attracts the customer after his conviction about the distinguishability of the product comparing to its peers in the market.
This principle explains why commercial software companies in Windows environment tend to apparel their software products by glamorous and unique components away from the components and resources offered by the hosting platform, in hopes of attracting customers depending on that differentiation strategy as noted above.
But applying this procedure —in terms of form, not functional of cource— would mean ignoring the user familiarity with the platform, which has been stacked by time, and thus sacrificing usability feature in the end.
Icons, terms, and windows (UI boxes) combined are currently the vocabularies of UI language used by UIs to communicate with user. The more adhering to use platform vocabularies, the more usability the software product will have. Briefly: Consistency is the keyword of usability.
On the other hand, software product differentiation means making it unfamiliar and does not looks like something user already familiar with, that is, its usability according to our criteria will be low.
Therefore, it is not recommended to use differentiation strategy in software products in terms of attributes (not functions of cource), as they no doubt will affect software product usability negatively.