[HIG] Division Revision - First Part



I'm doing this in parts because I haven't fully walked the tree yet.

Current division:

 1   Introduction
 2   Usability Principles
 3   Menus
 4   Toolbars and Palettes
 5   Dialogs
 6   Controls
 7   Layout and Appearance
 8   Designing Effective Icons
 9   Integrating Applications with the Desktop
 10  Mouse Interaction Basics
 11  Keyboard Interaction Basics
 12  Simple Reality Checks
 13  Terminology

Proposed division:

 1   Introduction
 2   Principles
 3   Presentation
 4   User Input
 5   Windows
 6   Controls
 7   Simple Reality Checks

Explanation:

The flow is from general to specific, explaining then applying. Exceptions
which will be found in later sections should be noted in prior sections, but
back references should not be necessary. This should improve brevity and
flow of reading. The developer should be able to skim through and at the end
start writing simple apps with perhaps only the last page or two at hand.
Slightly more complex applications may require special combination of 
widgetry and the developer should be able to turn back a page or two more
to accomplish his goals. For the most horrendously beastly of applications
(a math editor, anyone?) the developer would turn further back to see
why widgets are the way they are so he may design his widgets accordingly.

So the expectation is that most developers will skim until they find what
they want, hence we place the most concrete details at the end so that the
developer has at least seen the more abstract matters. If the concretes were
at the start, the last pages might never be seen and we'd find correct widget
use in incorrect combinations.

When the developer starts to wonder, "Why this?" he'll hopefully recall some
related points in an earlier section and "flip back" until he finds it. The
more general the point, the more likely there's something new, and so the more
important the guidelines are absorbed and thus the developer should have
scanned all the pages more than once.

 1   Introduction
     This is as before; an obvious first.

 2   Principles
     Again, this is as before.

 3   Presentation
     This will incorporate general presentation of data.
     Fonts, colors, text, icons, et al. fall here.

 4   User Input
     This is a temporary name for the keyboard and pointer sections.
     The name needs to be distinct from user feedback (e.g., bug reports,
      user testing, surveys)

 5   Windows
     The various sorts of root window children (top-level windows).
     The main app window (and maybe menubars, toolbars, and statusbars),
      and secondary windows such as toolboxes, palettes, dialogs, and alerts.

 6   Controls
     This is existing widgets in detail, especially those not covered above.

 7   Simple Reality Checks
     As above, though this should probably be renamed - it's condescending.
     It's also perhaps too enticing to skip to. Maybe "Finishing" would
      be appropriate and could incorporate or cite documents pertaining to
      the system behind the desktop - e.g., mime and menu registry.


Note:
  I don't recall yet seeing a few very important points. These are:

    Don't fight the system -
      e.g., it's multi-tasking, multi-user, remember that and expect that
            your app is not the most important thing running.

    Don't fight the toolkit -
      If it's not easy to do, you probably shouldn't be doing it.
      e.g., In Gtk+ 1.2, it's not easy to change styles, colors, and fonts,
            inside the program. This is by design. Apps which rely on this
            kind of behavior typically don't fit or play nice with other
            apps.

    Don't fight the window manager -
      Simply put, this will anger users. It's not easy to do correctly anyway.

  These ideas should appear in their positive, suggestive form thoughout the
   rest of the document and are probably best suited for the "Simple Reality
   Checks" section.

I'll send the second level of the tree tomorrow. I'm hoping to get general
approval on a level before descending to the next. I expect that some sections
will need to be altered to fit the layout, just as they need to be altered
to speak with one voice. Some glue paragraphs are probably needed too.

If there is a point of contention on the decriptions of the sections, but the
layout is ok, please state accordance with the layout then present the point.
This should make it easier and faster to walk the tree.

Cheers,
Greg Merchan



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