[HIG] General editorial comments
- From: Adam Elman <aelman users sourceforge net>
- To: hig gnome org
- Subject: [HIG] General editorial comments
- Date: Mon, 22 Oct 2001 13:16:46 -0700
1) Every section and subsection in this document should answer a
specific question or set of questions which a GNOME developer might
ask. I do not propose that we rewrite this as an FAQ; the questions
are useful mainly for focusing the author's attention. However,
authors should be very clear about what questions are being asked and
answered in each section, and should consider logical follow-on
questions, and answer those as well. This will be important in
rewriting some of the sections which are currently organized in
unclear ways.
Remember that the audience is GNOME developers. The questions we
must answer are the questions that GNOME developers should be asking:
"What should the menubar in my application window look like?" "Should
I use an option menu or a list box?" "Should I use MDI or SDI?" "What
buttons should appear on this dialog box, and in what order should
they appear?" Note that even several of these questions are not
clearly answered in the current doc!
2) We must eliminate wishy-washiness. This is a document of
guidelines; guidelines must be clear, unambiguous, and difficult to
misinterpret. If developers dislike or disagree with the guidelines,
they are welcome to question them and suggest alternatives. It's
better to promote doing something a single way, even if it is
sub-optimal, than to allow every developer to come up with his or her
own way of doing it.
Remember that the primary goal of the HIG is to promote a more usable
GNOME environment by promoting a consistent user experience. By
saying "there are multiple 'right ways' to do this", we leave it up
to the developer and thus destroy consistency. This means that
rather than saying "Well, there's no 'right way' to do this", we MUST
say "Here's the way to do it," even if we don't have a strong logical
justification for that way. For instance, if every GNOME app uses
"Edit->Preferences" to modify application settings, the user will
know where to go to modify application settings, even though we all
know that Edit->Preferences is not necessarily the best way to
specify this in all situations.
Never say "Y will usually appear like X." This is a guideline, not a
descriptive document.
Never say "Where possible, you should..." In every case I've found
that in this document, it is _always_ possible to follow the
recommendation. If there are common cases where it really is
impossible to follow the guideline, we must be explicit and
unambiguous about what causes those cases, and what should be done as
an alternative (see #3).
3) We must eliminate ambiguity. We need to be clear and specific in
every section about a) what question is being answered in that
section, and b) what the answer is and, specifically, what the
developer must do to be in compliance with the guidelines. If there
are exceptions to a guideline, we must be clear about what case
triggers that exception, and what the proper response should be in
that situation. Never, ever, say "Sometimes it may be appropriate"
without listing at least _some_ cases that trigger that "sometimes."
For instance, we need to be clear on what developers of the following
types of applications should do for menus:
* Non-document-editing applications (like an IRC client or an IM app or a game)
* SDI or "controlled SDI" document-editing applications (like a word
processor or a graphics editor)
* MDI document-editing applications (if we allow this at all).
4) At the same time as #3, we must not get too caught up in corner
cases. There are some small number of apps, for instance, for which
it might be appropriate not to have a menu bar. If that's very rare,
we don't need to provide clear specifications for that case in the
HIG. We need to address common concerns, not _every_ concern.
The balance between #3 and #4 is, unfortunately, something that will
have to be determined on a case-by-case basis. #3 is probably more
important; #4 is something that is more important as we try to edit
for length.
--
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]