Re: [Usability] Tab consistency



This is one of the problems that faces the modern desktop computer that needs 
to be approached.

First of all, let me state this: Tabs are a list of different documents being 
displayed in a single window. It is a form of navigation within an 
application. People are becoming used to tabs. This makes list views that can 
be more useful less learnable, as people have already learned how to use 
tabs. It's something called familiarity.

When a user makes the switch from a windowed-system like Microsoft's older 
versions of Internet Explorer, the users wanted functionality that was 
familiar to them. This included having a close button on every tab (as they 
had had on every window).  This not only makes the functionality much more 
visible, which I find is the MOST IMPORTANT aspect of usability (keep this 
drilled into your heads please), I don't have to move my mouse around so much 
to close a tab. I also don't have a middle mouse button and find clicking 
both mouse buttons simultaneously to be awkward (once again, familiarity). 

Still, considering there are differences that users have with the tabbed 
interface, it is important to let it be flexible. This means the user should 
be able to modify the appearance and behavior of a tabbed interface. Not only 
does this make the interface more flexible, it gives the users more control 
over their environment. While it is obvious that the GNOME community wouldn't 
want to bombard the user with options for everything in one screen, this can 
be controlled by grouping functions in a way that makes sense, not to lack 
possible future innovation in the ways they are displayed.

Being able to recover from doing something stupid is another usability 
must-have. This means you should be able to easily recover from accidentally 
hitting that close button on the tab.

Consistency is another important feature of usability. In this sense, tabs are 
out because there are so many different implementations of them. What can be 
done about this? Let's see... how about the GNOME developers, KDE developers, 
and Firefox developers work together? Don't forget to include everyone else 
that employs a tabbed interface.

Still, everyone seems to be interested in tabs and that's where the most 
usability advancements have been occurring. None of these improvements have 
been occurring with any other type of interface that can be used to 
accomplish the same tasks that a tab accomplishes. I would like to see some 
improvement in that area. Just because some functionality isn't right for 
some people doesn't mean that it doesn't work for a lot of people. Having a 
functionality that can be useful and not using it is better than not having a 
functionality at all.

For instance, I'm building a LEGO MindStorms NXT robot for my HCI class with 
someone. We're designing the interface top-down since we can't build the 
final version of the robot yet. In our top-down design, we are including all 
the functionality we might want to use even though it might not be used in 
the final version. Still, we see that there could be some use for it in 
approaching the problem of usability. Different people could build a robot 
that performed the same task using some of the same base functionality that 
we created but didn't end up using. That's pretty much the reason user 
settings were created. We have this, and we find that it could be useful, so 
use it if you want to. When you stray more from the kernel and into the 
higher levels the flexibility/control concepts are less-utilized. At the 
level of a window manager, GNOME should recognize that there is still a lot 
of flexibility and control that can be implemented.

An example of where a tab's usability-improvements could be useful, but not 
necessary: I would like to be able to put min/max/close buttons on my window 
list buttons. No desktop currently makes this directly available to me, 
meaning I'm probably going to write it myself sometime in the near future. 

The same concepts that are used in tabs could be applied to any kind of lists 
that can be used for the same purposes. This would also help the familiarity 
level in a user that's using the interface.

In other forms of consistency, it would be good to have a hierarchical 
key-assignment manager. Something that could tell a program "Oh shit, that's 
being used by on a lower level than you, inform the user and ask for a 
different key!" I find key-assignment managers are quite limited these days. 
I also hope someone copies Windows Vista's hierarchical volume controls, 
although I know it will probably be done in the next year.

On Tuesday 27 March 2007 04:57:24 pm Erik Jan Philippo wrote:
> Hey,
>
> It's very annoying that all the tab based application behave different. I
> think we should create a standard for tab behavior at freedesktop. The
> standard defines mouse and keyboard behavior. Several open source project
> should collaborate with each other. I suggest mozilla, kde, gnome and
> novells betterdesktop. The standard should be tested with usability tests
> (that's why i think betterdesktop.org is usefull). If the standard is
> defined we should ask as much as possible open source projects (if they use
> tabs) to implement it. Off course we provide them with the results of the
> usability research to convince them. If kde, gnome and mozilla agree with
> it, probable a lot of small programs will also use it. I hope this will
> lead to a very consistent tab behavior in every open source applications.
> Before I'm going to spend my time with it, I like to know what you think of
> it?
>
> Ubuntu is also planning tab consistency:
> https://blueprints.launchpad.net/ubuntu/+spec/tab-consistency
>
> There are some problems with this. Terminal use ctrl-shft-t while a lot of
> tab based programs use ctrl-t. The problem is that nano also use  ctrl-t. I
> think there will be more complications like this.
>
> Greetings,
>
> Erik Jan
>
>
> _______________________________________________
> Usability mailing list
> Usability gnome org
> http://mail.gnome.org/mailman/listinfo/usability



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]