Friday, December 7, 2007

How to learn to loathe usability reviews and stop worrying

An usability review is always about issues in the user interface of a system.
It's the contrary of raving about the web site or whatever, is pinpointing design errors.
In the programming world those unavoidable errors are called "bugs" and usually are fixed without blaming anybody.
This is fine, the whole team owning the bugs and fixing them happily.

One problem I frequently found with usability reports is that the author of the UI resists the reports sayings as if it were an attack, arguing forever.

But so are those reports ...

Tuesday, December 4, 2007

Downloading the GWT Example Programs

How to download GWT Example Projects

Adhering to the currently running GWT Conference I'm blogging about a small issue in the GWT site.

It happens that, after seeing the reasonably good demos, I wants to have the code in my PC.

download sample ... or not?It looks easy: there is a prominent link button closing the page content (see image) labeled "Download Source Code."

So I clicked the button and it took me to a page titled "Google Web Toolkit Downloads" contaning the GWT download offerings, which does not include the sample code I wanted. Only a "Download Google Web Toolkit" button.

I said to myself "It must be somewhere near here" and started looking around.

A "see our complete download list." link seemed the solution, but not: it contains lots of GWT versions including release candidates for version 1.0 (1.4 is current as I write this.)

Conclusion: not a single sample download, I verified that all five example projects led to the same page.

The bottom line

It happens that the examples are included in the GWT download. So it's right to take the user to the download page, but #~@%gggg!

Instead of the notorious "Download Source Code" it would have been better to write "The source code gets installed with GWT in subfolder x."

A bit on usability

Most usability issues are small and silly, the problem is when they are so many!

Monday, December 3, 2007

The very first GWT conference has started today

The first GWT conference

I don't go to such conferences. It's not that I don't want to, I'm too far away and currency exchange is not at all convenient (by a factor of three) so I have to observe them as an outsider. I have observed many, since the first JavaOne and before.

Usually the first few conferences on each new technology convey all the excitement, the feeling of being pioneers, a sense of evangelism.

A new and promising technology captures the vested interest of thousands, usually because it promises to solve all the pending problems or because it appears to be an opportunity to make big money.

The GWT opportunity

That said, GWT is also a huge opportunity for the IT masses to solve a pesky problem that has been always endemic to computer systems. Because it is a product positioned near the User Interface and computer systems too often deny the user.

Unfortunately it seems as if the focus still were the computer ...

From the conference site ...

"Google Web Toolkit enables developers to use their favorite Java tools to build AJAX applications without having to tackle the steep learning curve and quirks of JavaScript and CSS. The Voices That Matter: Google Web Toolkit Conference will insure you understand why this is so and how you can leverage the power and functionality of GWT for your applications."

The text above is the very first paragraph from the landing page. By reading it one can not follow that this is a user-focused conference. It'sall about developers, once again.

In the last paragraph of an inner page the good news appear. Under What is Google Web Toolkit? one can read ...

"The GWT engineering team makes this abundantly clear by stating unapologetically that when there is a choice to be made between "easy for the user" versus "easy for the developer," "easy for the user" wins. That may be a surprising sentiment coming from tool builders, but, then again, their first design axiom is four words: User experience is primary."

There is that candid passage where the author says that this " ... may be a surprising sentiment ... " and yes, it is surprising, a nice surprise.

Who is the conference for?

Obviously the GWT Conference is for developers, technologists, like me and most of the featured speakers. With a couple "usability" sparks, IMO too lame.

It's also clear that one can't make a user advocate out of a hardcore IT geek in the lapse from monday thry Thursday at 1:30PM.

The fact is that GWT solves a problem to the developers, that of having to write Javascript for the UI. Besides that, it could even be harmful from the point of view of the users, leaving them at the sole mercy of the Java developers.

There is nothing wrong with Java developers, many of my friends ara Java developers ...

Seriously, it's not the developer's fault. Can't explain it now ... it's in Alan Coopers book "The Inmates Are Running the Asylum."

The technology and the solution

A technology is not a solution but a tool. Supposedly it will be easierfor a Java developer to build a UI using GWT. This is not to say that the application will be necessarily better, read on ...

Many years ago a tool was announced, one that allowed developers top build UIs with great ease, dragging and dropping controls in a canvas. It was bundled with a well known programming language.

That tool brought GUI development to the masses, literally, and thus itwas used to build both a few good and many loathed UIs.

You know, I'm talking about Microsoft's Visual Basic. VB applications were
used to "upgrade" many DOs applications, frequently with reduced usability. Yes, GUI replacements were not necessarily better for the user than their command linre counterparts, maybe Lotus 1-2-3 was the most dramatic example: the DOS version dominated the spreadsheet marked but the GUI version fumbled.

The bottom line

Althought Java in the server plus GWT for the UI plus the developer sounds like three of a perfect pair, that does not mean that any application is going to be plain better.

In fact, we'll see worse applications because GWT is doing a good job in lowering the threshold.

I revolve thinking about how to help even the most hardcore geeky
devlopers to build usable applications.


Alan Cooper, the guy who wrote the "inmates" book, is also the one who invented Visual Basic.

Wednesday, November 14, 2007

The high usability example: Gmail

Why is Gmail an example of high usability?

This happened in two steps, by sure. I imagine it like this:

First step, the idea:
The first step was a positive one, about thinking on behalf of the users, the inception of a useful product.
Remember: before Gmail we used slow webmail, with very little alloted space. For example I used Netscape mail because it offered 10MB, twice as much as the others did!
Also, web mail was cumbersome and slow, made with traditional HTML forms that took ages to reload completely making you lose the focus.

On the other hand we had the desktop mail, with enough space to store messages and with quick interaction. But usually installed in a single PC, unreachable from elsewhere.

The Gmail idea was to question this status quo and seek a solution providing the advantages of both web mail and desktop mail:
  • reachable from anywhere,
  • quick response,
  • lots of space to store messages,
  • and the innovative "conversation" newsgroup-like organization.
Second step, the implementation:
This second step was a "negative" one in that it was about not doing wrong.
Although the developers (I imagine) were conscious that they were challenging the model, they refrained from adding the many features that surface in such circumstances, coming out with a really clean user interface.
Those who are not developers have to imagine how compelling is to show the world a feature that just appeared in one's mind. Whatever excitement you imagine, please double it.
Yes, the team was led by someone with really strong ideas! Perhaps a woman, because women are much more resistant than men to the gadget kind of feature.

The result was an interface that anyone could use without special training, just having operated another email client (even the infamous Outlook) was enuogh.

Wrap up
The first step was to have a good idea, and the second was not to spoil it.
Gmail changed the world. After it's success all other web mail services had to catch up in a hurry, some of them did not resist the urge to add frills and came out with heavy UIs that their users complain about.
Gmail is so good not because it's Google's mail approach but because the team leader did not let features creep into the devilered product.
As I like to say, usability is the lack of defects. One can not add usability but take defects from the product.
Best of all, an application can be born with no defects, strictly sticking to a minimalist design plan. This is what returns the best results.

Thursday, November 8, 2007

Today is "World Usability Day 2007"

This is the third edition of the "World Usability Day", comprised of a set of events that are performed all around the world starting in New Zealand under the motto “Making life easy!
This year's theme is "Healthcare."
The number of events makes evident the interest of the people, not necessarily usability-related people, on the subject.

What's "usability?" Uh?
In the context of last year's Usability Day there was a "Usability Hall of Fame" contest (web site now defunct) and you could vote for your pet usability feature. And the winner was .... a japanese toilet!

It seems that the toilet defeated the other features because it was green: it reused the hand wash water as flush water.
Albeit now everybody is aligned with Planet Care (including the US Gov) the greenness of a thing has nothing to see with its usability. The toilet is interesting but not the epitome of usability.

As we all know, the epitome of usability is Gmail, isn't it?

The Usability Hall of Fame contest made evident the fact that few people has a clear idea about what Usability is.
For example, many think that it's in the user interface design! I used to think that, for a while, many years ago.

The World Usability Day Celebration is useful in that it brings more people in touch with usability concepts. As soon as you look at a few of the events slated for today you get the idea.

Usability does not exist
What is real is the lack of usability. Over time, the things that now are notoriously more usable tend to become mainstream, "normal."
We can notice the lack of usability and act upon it, because it is a facet of design, or better: the final result of design.
Yes, visual design is desirable, and we enjoy it. But is is useless if "the thing" drives you mad every time you have to suffer it.

If you want a 5-minute briefing see "Importance of Usability," a page I just found. It refers only to web sites and usability testing, but anyway ...

Wednesday, November 7, 2007

Gmail is a bit better

I just noticed that Gmail changed the way it reports that a message is being sent.
Now there is a green banner that reads "Sending" instead of the older red one. The interesting bit is that, after a while when one is about to start clicking all around, the banner changes to "Still sending" and one refrains from messing it all.
We users save time, as instead of cancelling and resending we just wait a little more.
Google saves bandwith, as more emails containing fat attachments will be sent only once.
Everybody is a little happier, and the World is a better place to live in!

This blog ...

Statement of intention

The plan is to share my perception of quirks and glitches found in the Google applications I use, like Gmail, Google Documents, Google Desktop, Browser Sync.
Along my career as a software developer I noticed that all too often we developers disregard the user's interest to favor software development considerations like reusing a piece of code or simply easing a development task.
Obviously in Google they strive to do things well, to be respectful of the users needs.
But it happens that every now and then a developer lets an unnoticed glitch emerge: the idea is to help them notice and fix it if they found fit.
Every small detail that could make the user's life better.

A counter example

Since day one Windows had a clock in the task bar. It displayed the time, and one could conveniently hover the mouse over the clock to see the date for a while in a popup like a tooltip.
Did I say "conveniently?" Why couldn't it permanently display the date too? Actually, it happened as of Windows XP many years after the introduction of the original clock.
In the meanwhile millions of people wasted millions of seconds (in fact many a human life) hovering that clock instead of spotting the date at once.
Well, the Google types are much more prone to receive and act upon thai type of requests. Also, Google's software distribution model "The Permanent Beta" is more suitable for doing small incremental corrections in their products.


If you think that something is wrong, or can be done better, please write it. Millions of people will be grateful, albeit marginally, and their lives will be easier and happier.