GPE Human Interface Guidelines (GPE HIG)
All the topics here are open for discussion, of course. See also GpeHacking for development details.
- Stay as close as possible with the Gnome 2 HIG
(http://developer.gnome.org/projects/gup/hig/1.0/). This HIG defines the amount of spacing and indents etc. to use. The values given there are too much for use on a handheld computer. A good compromise seems to be to use exactly half the HIG amount (e.g., 6 pixels spacing instead of 12), but maybe 2/3rd turns out to be better. 'gpe/base/libgpewidget/spacing.c' defines accessor functions for values that set the spacing/indent, please use them. This global "spacing base" could even be dependent on the font being used. Also, imagine that somebody wants to use a GPE app on the desktop: the spacing appropriate for a handheld would make that app seem out of place.
- Icon sizes: again, use a scaling factor defined as a global constant for your app. A scaling factor of 0.5 compared to the HIG sizes seems to be a good compromise, but don't (normally) use icon sizes below 16x16 pixels.
See http://developer.gnome.org/projects/gup/hig/1.0/windows.html#alert-spacing (note that some part of this section is missing in the PDF version)
Here is the description on how to make a dialog with the right spacing: http://developer.gnome.org/projects/gup/hig/1.0/layout.html#layout-window (search for "Technical Details for Proper Layout")
Interesting thread about spacing in apps: http://mail.gnome.org/archives/gtk-devel-list/2003-February/msg00009.html
- Provide default settings whereever possible. For instance, in a
- text editor application, provide a default file name (derived from the text or a summary) for a new file.
- Links:
http://www.uidesigns.com/index.php?section=2&subsection=2
http://www.isii.com/ui_design.html
http://www.palmos.com/dev/support/docs/ui/UIGuidelinesTOC.html
http://developer.apple.com/techpubs/macosx/Essentials/AquaHIGuidelines/AHGIntro/index.html
http://www.embedded.com/internet/0012/0012ia1.htm
http://www.mcs.vuw.ac.nz/~chikken/research/thesis/final/thesis.pdf
http://www.google.com/search?q=touchscreen+user+interface+research
- Some things are easier on a handheld than on a desktop
- Gesturing Some things are harder on a handheld and should be avoided
- Right/middle clicking. The 'xmonobut' dock app can work around this for
- "legacy" applications.
- Rely on "mouse-over" tooltips (one can not easily move the cursor
- over a widget without also clicking it). GPE provides the gpe-what module
(http://gpe.linuxtogo.org/projects/GPE-what.shtml) which can work around this if needed.
See also: http://db.cs.berkeley.edu/~aoki/papers/chi01-tap.pdf
- over a widget without also clicking it). GPE provides the gpe-what module
- Double clicking? Especially in a single-purpose environment.
- WindowsCE uses tap-and-hold as a replacement for doubleclicks. (Not exactly correct - CE uses tap-and-hold as a replacement for the right-click. For the most part, double-clicks are replaced by single-taps.)
- Searching for [T9] for Linux or similar alternatives for input text:
- Great place, with a lot of studies about human-computers interaction using
keyboards, mouses, virtual keyboards: http://www.yorku.ca/mack/
- Maybe this could help a C implementation:
- Here are some sources and code that could help: