[Repost after a list resurrection]

As far as I understand, one of the principal usability features is
a "progressive escalation of help".  One does not want to drink from a
fire hydrant - unless any other option is exhausted.  One always wants
as little help as possible - as far as it DOES help.

In manuals, it appears, e.g., as distinction of user manual and reference
manual (2 stages of escalation; if manuals are good, they have stages
of escalation inside them as well).  In GUI, it is usually 3 stages:

 Toolbar icon ---> Couple-of-words in a tooltip ----> F1 to manual

 Couple-of-words on a   -----> Short sentence   ----> F1 to manual
 a button or menu entry        in a tooltip
 or a slider label

In Emacs, it appears as a requirement that the first line of documentation
of a function/variable should be readable by itself.

To make a long story short: 3 stages is, of course, not enough -
especially with applications which target SIMULTANEOUSLY professionals
and first-time-Linux-users.  (And many components of GIMP have as
little as 1 stage; consider user controls of script-fu-register.)  How
to create extra stages without making users to learn new paradigms?

If you think about it for a second, the solution would jump at you:
tooltips should be "gradually extensible" - when you press F1 with a
tooltip shown, the tooltip should expand to the next level; when all
the levels are exhausted, it should start the manual viewer.

Tooltips which "know how to expand" should have a visual feedback.
(IMO a small square with F1 in UR corner should be enough.)  Tooltips
which would "expand to manual" should be also visually distinguishable
(with something like "Press F1 to view manual", as in GIMP - only in
GIMP, this message is completely borken).

What is the least intrusive way to introduce this to GIMP?  What about:

  0) Remove "Press F1 to view manual" from tooltips unless GIMP knows
     that a manual is present, and knows to which page to jump.

        (Most annoying when GIMP already failed to start a manual
         system, and/or when a tooltip is shown on a Script-Fu UI
         element which DEFINITELY has no idea how to show a manual.)

  1)  Allow the UI-strings in script-fu-register to be lists instead of
      strings.  A list entry may be a string (to show as a tooltip),
      a list of the form (URL "http://...";) - for the last element (may
      be a relative URL w.r.t. user manual, as in (URL "manual:gimpedit_paste")

  1a) Optionally: allow list entries of the form, e.g., (chrome "path_to_icon")
      to show iconic labels on SF-FOO UI elements, and/or combine icons
      with text on menu entries.

  1b) Lastly, allow one to inspect whether this functionality is present,
      so one can write

         (script-fu-register "my-foo"
           "My Foo"
           (my-escalating-help "Do Foo in all the corners" "Longer help" ...)
           ...  Same with SF-BAR labels

      with my-escalating-help() returning the full list, or the first element
      depending on what script-fu-register understands.

  2) When this is implemented (is not it a very minor change?), start to
     add "gradually escalating help" to GIMP itself.

What do you think?

Gimp-developer mailing list

Reply via email to