Algorithmic Software Usability Measurement
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 mesure usability of software products, we need to define a software product as a standard base; a base user needs to "learn" about before mesuring usability of any other software product.
Nowadays, ICDL is considered such a standard base. Actually, Windows and Office is 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 choosed a Linux distributuioin as a platform.
- The platform should have its own list of terms.
- Eash software product might have its own list of terms (Actually, the terms that are not listed in the platform terms).
- The platform should have its own list of icons. Unicode organization should handle this issue.
- Eash software product might have its own list of icons (Actually, the icons that are not listed in the platform icons).
- Platform uses and offers shared UI components (Choose font/Open file/Pick color... etc).
- Eash software product might have its own UI components (Actually, the components that are not offered by the platform).
- Software products 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 follwing 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.
Example
Suppose we have the following data about a specific software wich is already committed to internal consistancy:
| Reused Resources | New Resources | |
|---|---|---|
| Icons | 20 | 5 |
| Terms | 30 | 10 |
| UI Components | 5 | 15 |
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 possitive values the better software usability, and the larger negative values the worse software usability.
Software Usability and Differentiation Strategy
Generaly speaking, according to Michael Porter, competitive strategies are usually:
- Cost leadership strategy.
- Differentiation strategy.
- Niche strategy.
In software industry, differentiation strategy dosn’t work, it affects usability negatively. Differentiating a software product means making it unlike something user knew and became familiar with before; user will need to learn more and more before he/she use it. So, differentiation strategy isn’t good for software.