Thursday, September 16, 2004

Usability

Joel has an interesting article on social usability here.
A point he makes (besides the one that the article is actually about) is that

this just goes to show you that usability ain't all that important
But that depends.
Usability is not so important when there is a popular precedent. e.g. Mozilla Firefox doesn't need to reinvent any basic browser UI. They'll add to it and try to make it more usable but no user of theirs has to learn the basics (if they need to, there are enough "browser-gurus" around). Usability is also not that important at a micro-level like in Joel's example. You can go wrong and use buttons instead of tabs and most users won't even notice.

On the other hand, consider ConceptDraw MINDMAP. What they are doing might have a precedent but isn't that well-known. Usability for these guys is their holy grail. And Ramesh will tell you they are great. He just loves the product. He's their power user now. For them, the entire experience is important. Conceptual usability is paramount and then they must have the right micro-level usability worked out too. You see, they are a brainstorming tool. The last thing you want to do in the middle of a brainstorming session is to wonder how you insert another level in the damned diagram. For them, getting it right makes all the difference.

Usability changes over time too. When part of Pramati's Studio initiative, we were amongst the first IDEs that had J2EE development in it. People we showed it to were new to J2EE itself. Especially in terms of using archives like EJB JARs and WARs and EAR files. Over the next release, we had Express Development (tm) (which is present in one way or the other in all J2EE IDEs today) which does away with archiving (deploying source modules automatically - known popularly as exploded deployment) but by the time we had this out, many people had gotten used to the new paradigm. Thankfully we had provided the option of exporting modules to archives (which is what these people used extensively - instantly recognizing the "Export As Archive" option on a module). The point here is that over time, the definition of "good" usabililty had changed.

2 comments:

Ashish said...

Interesting observation Sachin: Sometimes I feel that we ( as developers ) consider usability from very narrow perspective. I work for a completely different group ( the construction people ). Majority of the people are computer illiterates, or are new to our world.

If we think about how user friendly the automobiles are, I sometimes feel have we simply forgetten about other users ? Do we develop applications / systems only for geeks ?

I agree with you regarding, usability changes, but I still have the question: does it really ? What changed in the automobile industry ever since cars were introduced that people have to adopt with new issues every few users. A person drives the car just the same way in India ( !!! ) as in UK or US. Will our industry be the same one day ? What were the usability issues that people from other industries have to handle while developing their products ?

In our world will that day come when all applications will have standard operating procedures and the only things that change will be the new bells and whistles added to keep up with technological advances ?

Only time will tell what say ?

Sachin said...

Hey Ashish,

I agree with your comment about focussing on the geeks when it comes to certain Operating Systems until recent times. But things are looking up now. Even then, OSes have a long way to go. But for other software targeting more focussed user groups I don't quite agree.

I think to quite an extent software usability is actually quite similar to that of automobiles or products of most other industries. We cannot compare all software together with automobiles. All automobiles are for one purpose only while software is domain specific.

If we pick domain specific software, the very nature of competition requires us to follow the same metaphors as the more popular competitor so that we can attract their customers with an easier learning curve. So, over time they all begin to acquire similar features. There's evidence of this in software (IDEs, Music players, 3D modelling, etc).

With regards to changes in usability, it does change like fashion :-). Even in automobiles things change. e.g. from manual to automatic transmission. This is technology that affects how you drive the car itself.

I agree that software tends to change much much more. The level of interaction with the user in software is several magnitudes greater and not physical but intellectual (which is more malleable). Do you think that might be the reason for the lesser resistance to changes? The automobile industry would choke, from a wholly business point of view, at the idea of requiring to re-learn driving an automobile. But they would, happily, re-locate buttons etc, on your dashboard.

Thanks for your comments. I hope I understood you correctly.