Wednesday, November 10, 2010

Principles of User Interface Design

from the theory of Larry Constantine and Lucy Lockwood in their usage-centered design, the principles are:

Structure Principle

  • organize the user interface purposefully

  • make it meaningful and useful based on clear, consistent models apparent and recognizable to users

  • put related things together; separate unrelated things

  • differentiate dissimilar things, make similar things resemble one another


Simplicity Principle

  • make simple, common tasks simple to do

  • communicate clearly and simply in user’s own language

  • provide good shortcuts that are meaningfully related to longer procedures


Visibility Principle

  • keep all needed options and materials for a given task visible

  • do not distract user with extraneous and redundant information

  • do not confuse user with too many alternatives for performing same task


Feedback Principle

  • inform actions or interpretations

  • inform changes of state or condition

  • inform errors or exceptions

  • keep mode of communication – relevant, clear, concise, and in language familiar to user


Tolerance Principle

  • reduce cost of mistakes and misuse by allowing ‘undo’ and ‘redo’

  • prevent errors by tolerating varied inputs and sequences and by interpreting reasonable actions


Reuse Principle

  • reuse internal and external components and behaviors; maintaining consistency with purpose

  • reduce the need for users to rethink and remember


The user interface of an application will often make or break it.  Although the functionality that an application provides to users is important, the way in which it provides that functionality is just as important.  An application that is difficult to use won’t be used.  Period.  It won’t matter how technically superior your software is or what functionality it provides, if your users don’t like it they simply won’t use it.  Don’t underestimate the value of user interface design nor of usability.

Tuesday, November 9, 2010

People Focus

inspired by one of my mentors, Thomas Ewe.

Dilbert.com

People.

We are in the people business. We may be software, consulting, and services vendor, but make no mistake; we are in the 'people' business. People make our world tick. We group people in two: External and Internal. While outsiders are very important to us, insiders are EVERYONE among and EVERYTHING to us. How we treat those on the outside is the subject of another philosophy.

In the definition of ourselves, we are interested only in people on the inside (employees, consultants, vendor partners) and it can be summed up in one sentence; "we take care of our own." For us to succeed, it takes all to make it happen. And therefore, we arrive at the fundamental concept of teamwork. What one person can accomplish is limited. But when all of us pull together in one focused direction, the result of our combined efforts will be multiplied. Suddenly it takes less to accomplish more.

As a team, we cover and make up for each others weaknesses. And when we come together; we expose none of them to outsiders. We compete against outsiders, never among ourselves. So to those on the outside, all they will feel is the brunt of one combined, focused blow.

As blood is to the body; 'information' is to the 'team.' So, information should flow freely and shared freely. It should be written up and cataloged for future reference, so that we don't reinvent the wheel again and again. Any work that we do or are about to do, we must think of how others can leverage and build on top of it; and then structure it just that way. Facilitate. And don't underestimate the power of hard work. The little additional time you spend now; reap enormous rewards even if your work is only reused once in future; and the rewards snowball as it is reused more than once.

Faith. We trust and love our people beyond religious beliefs. We respect humanity, while appreciating and honoring our individual decisions to come-together and work-together. Even though our love is secular; it is nonetheless applied with absolute conviction. Just as the army leaves no wounded behind; we strive to be inclusive, supportive, fair and appreciative. So we stand faced in one direction; and walk towards one destination.

"The automobile capital of the world is not Detroit; it's Toyota City; where everyone considers himself a brother of the other."

Wednesday, October 27, 2010

Competition

inspired by one of my mentors, Thomas Ewe.

Competition; in the truest sense of that word, we have finite. But if we extend the definition of that word, to include anything or anyone that has the ability to stop us; then we have a ton; (i.e. Challenges.)

And so, for each that is identified; through discovery or retrospection; we will need a strategy to either mitigate or eliminate. And to do that effectively; we need ‘Clarity’ of our goals and the flexibility to ‘Change’; in essence; to learn.

Only by having ‘Clarity’ can we act decisively. And only by embracing ‘Change’ can we act purely to achieve our goals and not tinted by anything in the past.

‘Change’ can be painful; but it is the only way to get us from here to where we are going. So we embrace it. With that in place, we can pursue the course of continuous improvement. It works like this: We look into the past to see what didn’t work, identify how we want it to work, change and move forward to apply. Central tenet.

But this is a ‘Reactive’ in nature. Moving forward, we will need to move in ‘Proactive’ mode.

What does that mean? ‘Clarity’ and ‘Change’ still feature prominently, but instead of ‘Looking back to see what didn’t work’; we ‘look forward to see what we can do better’.

Taking the ‘Competition’ concept one-step further; we compete against ourselves!

To implement, think like a competitor. “If I were a competitor of myself today; what would I do?” How can I out-compete myself today? Is it faster implementation? Is it better service? Is it closer relationship with customers? How do I get better sales result, better communication; better credibility? How can we make my services obsolete in 6 months?

Then it is those we implement. We will ruthlessly compete against ourselves (not among ourselves!!) but ourselves as a team, a company. And since we embrace change; risk taking comes naturally. First have ‘Clarity’; then take the risk, take the responsibility and execute.

The above seem logical and simplistic, even commonsensical; but few truly live by it; hampered by their inability to see that ‘Change’ is such an important factor.

‘Change’ we embrace; 'Clarity' we pursue; improvement, continuous.

Usability and Re-usability

Why Re-use?


We are faced with the challenge of adapting to an increasingly complex software world with yesterday's tool sets and standards. Internet, social media, e-commerce, supply-chain re-engineering, CRM, etc. are all contributors to the growing demands on today's developer. Conceptually, the perfect system would be one in which we would reuse our software, describe software architecture so that a non-expert could successfully execute and simplify complex business modeling, and automate most user tasks. Re-usability. Instead, we look for investing in "corrective" systems that correct the needful in the main systems we use. And if we find that the corrective systems are not good enough, we shall invest in further corrective systems or attack the fundamental and non-measurable aspect of our main systems - the Usability?

Usability and Benefits.


Usability can layer into an organization's existing software landscape to seamlessly bridge together disparate systems to function for the user, by the user. With the ever-changing distribution patterns, globalization of commerce, mergers and acquisitions - allowing little time for reflection, it's imperative to focus on fundamental needs of the system and the users - for better repetitive decision-making. Systems that are easy to learn and use will ultimately yield better results. Increasingly. Why should we need a test system, if our development system can prevent errors?

Millions of operational costs can be saved every year, if we focus on doing it right the first time, than allowing it to be done wrongly and then correcting it.

Conclusion.


We should focus on building interfaces that are simple, clear, and intuitive - this has a multi-dimensional value - productivity, efficiency, delight, lower training and maintenance. Good UI visualizes complexity to make confusing and business technology issues clear, concise and concrete - helping people to make better, faster decisions, leading to actions and favorable results.

Paradigm Shift

Preamble.


Recently, had this interesting discussion with one of my mentors, regarding how the focus has seen itself changing teams in a software landscape - observed over 15+ years.

How Theoretical Innovation Would Kill Practical Usability?



My mentor gave me a great example where he was the eye-witness. Many years back, he was involved in some project proposal to demonstrate the *super* map-based route display on the dashboard of train-drivers in Japan. The idea was to make the jobs of the drivers easy by them visualizing the curves in their journey so that they can navigate/brake/speed up better. The drivers thought this would complicate their lives, as they have to now *forget* the fact that they are always going *straight*. Also, they can bid farewell to the natural physics laws they applied - in sensing the curves in the journey by push-pull feeling. Partial solution for access to functionality and unnatural UI did the rest in terms of killing the project.

Changing Trends.



Earlier, main focus was on Technology (close to 80%) and less on Functionality. Almost nil emphasis was given on the third aspect, the human aspect - the UI.

Later, as technology started changing faces rapidly, more emphasis was given on functionality. UI score didn't change much, except that it found few big takers (any guesses?) who were mostly criticized for selling mediocre functionality with a good face!

Now, when technology itself has become drag-drop, usable, template-driven (copy+paste), most focus is on functionality. What my team is struggling with is to educate the audience about the key importance of "access to functionality" - this would translate to UI and Usability taking at least half the focus in a software landscape.

Noteworthy Examples.



For example, Microsoft Office 2007 and Microsoft Office 2010 are essentially the same products in terms of main functionality. Yet, Office 2010 is being touted as a productivity tool by many organizations - all credit to the face-lift exercise due to which features previously unavailable (not accessible, hidden by design) suddenly were available and hence appreciated by most users.

Second example, SAP whose inherent strength of being 'the' ERP for more than 24 industries also has a known challenge - that of Usability. True to their stature, they had envisioned this many years back, and thus have bundled and supplied their customers with add-on tools like GuiXT that achieves a functional face-lift for SAP as a solution; the timing of promoting these tools again relate to the paradigm shift.

Thoughts?