Hi,
I've now pushed all the current pieces of my effort to improve our usability
and learnability experience.
(For those unfamiliar, usability is how well experienced users can efficiently
a piece of software, learnability is how well new users can figure out *how* to
use the software without referring to external help every 5 seconds).
What I've done is the following (some of which are optional, and all of which
are at the 'beta', not final, stage):
- made a 'right-drag to look' mouse mode, which I think should be on by
default (with the current behaviour available for people who prefer it). Also
there is now visual feedback when changing the mouse mode 'statefully', which
is still available via the TAB key in addition to right-clicking.
Explanation: novice users accidentally right-click and get trapped in
the mode. If you have a joystick, you don't need 'mouse drives flight controls'
mode anyway, though of course novice users are the least likely to have a
joystick. For experienced users *with* a joystick, I personally find right-drag
navigating around 3D cockpits much faster than right-clicking - move -
right-click, but I would be interesting to have people test and report that.
(Right-drag mode currently lacks other head-movement options which the
regular mouse-look mode has, but these can be added - I'm trying to keep things
simple initially)
- made dedicated animation components for knobs / sliders, with unified
handling of buttons / mouse wheel / dragging.
Explanation: different cockpit developers have used different (but
similar) conventions for interaction with cockpit controls, and often ones
which are unfriendly for laptop (trackpad) or Mac (single-mouse button) users.
The new animations enforce a semantics (what it does) vs syntactic (how you ask
for it) split, so the user can globally control how they want to interact with
knobs and dials.
Right now, *all* of the following are possible: click-to-increase,
middle-click-to-decrease (with press-and-hold to repeat); mouse wheel up/down;
left-dragging along a screen axis to modify. Options like the mouse wheel
direction and drag sensitivity can be configured in one place, instead of panel
XML files hard-coding button indices.
(Added bonus - there's no need to repeat the action bindings for each
knob four times in the panel files - the XML files are smaller and more
maintainable)
(Usability will improve further when I figure out custom cursor support
for windows, and we can have 'spin' cursors on knobs)
- added tooltips, and hover-feedback for pickable areas in cockpits
Explanation: tooltips give feedback of what something is, and its
state, in a readable (even localizable) way. This compensates for
lack-of-resolution / texture-detail / head-movement issues in our 3D cockpits,
and can give positive feedback which is lacking without touch or sound cues.
This was added to help new users particularly, but there is a 'tooltip on
click' mode which personally I find very nice, since it gives direct feedback
to cockpit interactions. (AKA, 'is the C172's parking brake on or off?')
To experiment with all this, try the C172P in latest Git, with latest fgdata,
fg & sg. The C172P is about 75% converted to tooltip / knob support, some of
the radio stack elements remain. Use the Debug menu 'user interface options' to
enable tooltips-after-timeout or tooltips-on-click. Options controlling the
drag-sensitivity of knobs/sliders still need to exposed. The throttle, mixture,
elevator trim controls plus all the obvious knobs on the main instrument panel
are good candidates to experiment with dragging. (Any interaction with a knob
or slider can be shifted, hold down the shift key; shifted by default is 10x
the normal rate, but can do 'something else' to allow push/pull-able knobs)
For more complex aircraft such as the Constellation, Concorde or 747, adding
tooltips will be a lot of work, but greatly assist in figuring out what
everything does.
All feedback is welcome, keeping in mind this is an evolutionary process.
Especially, cosmetic issues are not my main concern right now; if people like
the concepts / XML structures, people with more graphical skills than me can
tweak the visual presentation easily. My preference would be to enable all of
the above options out of the box, with /some/ of the items in the current debug
dialog made permanently available so advanced users can disable them if
desired. (Tooltips especially, since they will presumably irritate some
advanced users once they have memorised the cockpit)
Regards,
James
------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
Flightgear-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/flightgear-devel