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