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
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to