[Zope3-dev] menu item ordering

Garrett Smith garrett@mojave-corp.com
Thu, 24 Apr 2003 14:44:05 -0500


Steve Alexander wrote:
> So, we might define for the zmi_tabs menu the ordering:
>=20
>    content
>    edit
>    testing
>    other
>    permissions
>    introspection

This type of organization is consistent with component-oriented
development tools like VB, Dephi, etc. that have to deal with unknown
component definitions. E.g. VB has a "Categorized" view for its
components that maintain a consistent ordering of categories (in their
case, the categories are simply alphabetized).

But, this also implies a scalability problem -- we're talking about
categorizing categories. As Guido points out, tabs can tend to exceed
the browser width, which is a fatal usability error.

In a prior life, I had to deal with this problem for a commercial
developer tool. We settled on tabs as offering the highest usability but
had to develop a system form managing the tab proliferation problem:

- The first tab always contains the most important stuff -- i.e.
settings that users will most typically deal with for an object (strive
for 80% 'hit' rate). E.g. for a container, this would be the "Contents"
view.

- Subsequent tabs provided views of decreasingly important content. We
tried to keep the number of these intermediate tabs to a minimum -- one
or two, four max.

- The last tab was a catch-all named "Advanced" which contained the
least frequently accessed content.

This approach is commonly used by Microsoft for configuration.

The problem mapping this to Zope 3 is that Microsoft dialogs make heavy
use of modal, secondary dialogs to keep the first level of tabs
manageable. In web apps, this is typically handled by a secondary menu
-- see www.amazon.com. (Steve Krug fanatically advocates this idiom in
Don't Make Me Think.)

I realize I'm tinkering with some major issues, at least for the current
Zope UI, but boy, this is such a huge issue for usability and adoption.

I'm not really strongly advocating anything...just making some
observations. I've got some time to help if this ends up being an issue
for people.

  -- Garrett