Discussion Do's and don't's for MFD interface design

Wishbone

Clueless developer
Addon Developer
Joined
Sep 12, 2010
Messages
2,421
Reaction score
1
Points
0
Location
Moscow
Unlike the multifunctional displays in real aerospacecraft, Orbiter's MFD's are small, as small as cellphone screens can be.

Unlike smartphones, smartpads and other smart hardware, MFD's cannot handle mouse input, will never use stylus/touch paradigm and have only 12 buttons. In real life, these buttons are supplemented with keyboards and other controls.

In this regard, I decided to write down my thoughts on what to strive for in MFD design, to fulfill the "practice what you preach" precept. This comes after some not so light reading on human-computer interaction, and as always criticism, comments and suggestions are welcome. (I reckon this post will be updated later).

1. Make the interface discoverable. While the three-letter abbrev may be less than adequate for that, at least try to choose word parts from which the player can intuitively reconstruct the name of the button. Always write the description of the button that is accessible through the MNU screen.

2. Group items commonly used together on a single screen.

3. Use pictures AND numbers to convey necessary information.

4. Design for color blindness. Unlike real pilots, Orbinauts don't go through the medical checkup and tough competition. Design for high contrast against a very light blue and white (Earth's disk) background.

5. Do not replicate the Shuttle's and Apollo's malpractice of entering cryptic numerical command codes (unless you're recreating the experience of Shuttle or Apollo).

6. Be consistent if you use several screens.

7. Try to minimize the nestedness of the screen hierarchy.

8. Always document all keyboard shortcuts.

9. Document all the functions and display elements. If there is anything that is "obvious" to you it is only because you have spent the enormous amount of time playing with the MFD. It is not obvious to others, not at all, thank you, sir.

10. If possible provide programmatic API for other add-ons to communicate with your MFD and for your MFD to do reverse communications with others (callbacks).

11. If you implement an autopilot, CUT ALL THRUSTERS and bring aerodynamic control surfaces back to zero when the MFD is destroyed or the world ends or whatever.

12. Don't CTD. Never.

13. Make sure your MFD works in other solar systems (where there is no "Sun", and no "Earth" bodies). Upsilon Andromedae looks to be a good test case for that.

14. Always store and recall and read and load the status of all user-defined and/or modified variables.

15. Do not store volatile computable on-the-fly values.

16. Why on Earth are you still using oapiDebugString? oapiWriteLog is much more convenient for debugging and gathering test reports from users.

17. Do not use locale-dependent string-to-number conversion routines. Use decimal point only for input.

18. TBD and to be continued...
 
Last edited:

Grover

Saturn V Misfire
Addon Developer
Donator
Joined
Oct 3, 2010
Messages
1,468
Reaction score
0
Points
0
Location
Ascension Island
blunt, to the point, i like it.

its painful to notice, but these are VERY obvious points, yet the fact that you had to post this shows that people are obviously still disobeying these rules.

make this an article or something coz these should be the golden rules

SORT EM OUT WISHBONE!

-=Grover=-
 

Wishbone

Clueless developer
Addon Developer
Joined
Sep 12, 2010
Messages
2,421
Reaction score
1
Points
0
Location
Moscow
The first person to violate the rules (not wilfully, I hope) is your humble servant. Still trying to comply though (fixed the non Sol CTD bug)...
 

Linguofreak

Well-known member
Joined
May 10, 2008
Messages
5,034
Reaction score
1,273
Points
188
Location
Dallas, TX
4. Design for color blindness. Unlike real pilots, Orbinauts don't go through the medical checkup and tough competition. Design for high contrast against a very light blue and white (Earth's disk) background.

Preferably design for high contrast against *any* background. It wouldn't do to have high contrast against light blue and white, and meanwhile no contrast against black...

12. Don't CTD. Never.

Rather obvious. Also something that people don't set out to do... Or maybe I *should* write CTDMFD... Even with my total inexperience with C++, I should be able to make it work...
 

Grover

Saturn V Misfire
Addon Developer
Donator
Joined
Oct 3, 2010
Messages
1,468
Reaction score
0
Points
0
Location
Ascension Island
just tell it to load the vessel "Martin" in front of the focus, that should do it
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,648
Reaction score
2,362
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
Rather obvious. Also something that people don't set out to do... Or maybe I *should* write CTDMFD... Even with my total inexperience with C++, I should be able to make it work...

That is for the noobs. The professionals write "BSODMFD". :lol:
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,648
Reaction score
2,362
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
Bonus points if it plays the 1812 Overture before it goes. :thumbup:

Why 1812? Ode to Joy is much more suitable. :lol:
 

Wishbone

Clueless developer
Addon Developer
Joined
Sep 12, 2010
Messages
2,421
Reaction score
1
Points
0
Location
Moscow
DGIV already has that BSOD/panic screen...
 

Carmen A

redneck kitten with pillow :3
Addon Developer
Joined
Jan 1, 2011
Messages
751
Reaction score
0
Points
0
Location
Can I be in Texas?
Website
v149th.yolasite.com
I will make an MFD with the words DONT PANIC in big soothing red letters. When you hit it, all sorts of useless botanical advice, poems, etc comes out along with maybe some soft classical music.
 

Xyon

Puts the Fun in Dysfunctional
Administrator
Moderator
Orbiter Contributor
Addon Developer
Webmaster
GFX Staff
Beta Tester
Joined
Aug 9, 2009
Messages
6,927
Reaction score
795
Points
203
Location
10.0.0.1
Website
www.orbiter-radio.co.uk
Preferred Pronouns
she/her
I suppose a real professional would find a way to make a Windows machine do a Linux kernel panic... :p

I think the kernel would panic quite hard if it was shoved into C:\Windows\System32 and booted. :p
 

Linguofreak

Well-known member
Joined
May 10, 2008
Messages
5,034
Reaction score
1,273
Points
188
Location
Dallas, TX
I think the kernel would panic quite hard if it was shoved into C:\Windows\System32 and booted. :p

Well the challenge is, from within an Orbiter MFD on Windows, to load the Linux kernel, get it to panic, and, in doing so, to display a *Linux* kernel panic screen (rather than a Windows bluescreen), and bring down the entire (Windows) system, without Windows ever realizing what's going on or displaying any of its own errors or killing any processes.
 

Urwumpe

Not funny anymore
Addon Developer
Donator
Joined
Feb 6, 2008
Messages
37,648
Reaction score
2,362
Points
203
Location
Wolfsburg
Preferred Pronouns
Sire
Linux Kernel Panic is noobish. Real gourmets send their PC into Guru meditation.
 

Wishbone

Clueless developer
Addon Developer
Joined
Sep 12, 2010
Messages
2,421
Reaction score
1
Points
0
Location
Moscow
Think we really need access to the in-game dropdown menu function.
 

Wishbone

Clueless developer
Addon Developer
Joined
Sep 12, 2010
Messages
2,421
Reaction score
1
Points
0
Location
Moscow
/me doesn't want to link to undocumented functions...
 

Wishbone

Clueless developer
Addon Developer
Joined
Sep 12, 2010
Messages
2,421
Reaction score
1
Points
0
Location
Moscow
Urwumpe, thanks for the tip. Would be great if you could also provide a hint where to look for this oapiSomething since by virtue of being dense have overlooked that somehow in the API reference.
 
Top