Feature coolness vs UsabilityFiled Under: Weekly Tuesday Dose of goodness
Hi all,
In this article, I shall talk about software features and usability.
In the software world, there’re usually 2 main perspectives. The user perspective and the developer’s perspective.
These 2 perspectives seldom go hand in hand without any pain. It’s a norm for both users and developers to have gone through much pain and suffering in order to find the right balance in the software.
To know more, read on…
Developers usually have the tendency to perform more than they are expected to by adding additional “easter eggs” if possible.
While this usually have little impact on the application workability itself, does it impact the user’s ability to use the application?
This is a major question mark.
Worse still, they might even try to presumptuously change the requirements as though as they can “foresee” their user’s needs. Now, that’s delusional!
From my experience, it’s always CONSTANTLY difficult for developers to understand or feel exactly how users would do so. There’re many reasons to it. One of which is the developer’s lack of ability to listen or appreciate their target user’s real needs.
This arises to many requirements mismatch or mis-implementation. Developers always have a misconception of how the users would use his/her application. In fact, some developers even have the tendency to despise their users. Yes, it feels godly making applications, solving problems, blah blah blah. But making it doesn’t make a developer a god!
Worse cases include lack of design for frequent usage. Some applications work really well for 1 time usage. But sucks badly when you use it repeatedly. One of the biggest examples would be my article on Visual Editors vs Script Editors.
Some people thought that it’ll be nice to see a Visual Editor that allows game objects to exist within an editing space. From there, game sequences and logics can be programmed further to allow a preview of the game.
To be honest, Visual Editors are required for constructing game objects. Such as, putting meshes, particle emitters and animated particles together to from a game object. But to orchestrate them, one will require a more robust and non-intrusive tool to quickly facilitate such needs.
This tool will therefore need to be usable and must have many well-known and convenient shortcuts to enable the users to waltz right through. The ability to quickly deliver what the user want is considered both cool and usable. If your users feel good, chances are you’ve done it correctly.
So, what’s so darned cool?
Let’s talk about things that appears to look cool but it’s unusable.
First of all, we’ll need to define the definition of cool in this context. Basically there’re at least 2 types I can think of.
1) Technical coolness
2) Visual coolness
What’s technical coolness? That is, behind the scenes, the codes are written using a superior technique or technology or a very powerful 3rd party API that is being used.
What’s visual coolness? Lots of eye candy. Lots of functional features, buttons and icons. But they become more of a hindrance than the level of usability it sort of promised when you first saw it. (Marketing and first impressions)
The next question would be - are these cool features usable?
How do we consider features to be usable? Well, HCI comes into mind. But without HCI (Human-Computer Interaction) training, how can we be sure of our features? Very simple, put yourself into the shoes of an ignorant user. Alternatively, you can get your friends or neutral persons to help out.
Always remember, a feature that looks cool but cannot be used is but a useless feature, a waste of time and effort working on it.
Conclusion
A good piece of software is designed around their target audience. A lousy piece of software is designed around themselves (the developers).
Good software always aim to serve someone, some group or an individual at least. In the end such software becomes beneficial to a community eventually. (even if the software has some flaws and bugs)
Lousy software has the tendency aim to make people serve it, without reason and purpose and makes it hard for anyone to use it properly. (assuming that the software has no bugs and technical flaws)
Signing off!
Jeremy
- Permalink
- Admin
- 8 Jul 2009 12:50 PM
- Comments (0)