how would a spaceship helm "user interface" (flying controls) be designed in detail
When flying a big spacecraft, one needs to keep several things in mind when designing the "user interface" used to control the spacecraft's flight path, or ultimately, the output of the thrusters/engines/warp field generators/whatever it is using.
How would the interface of a "medium-size" (think of what the main protagonist group of "the expanse" or "firefly" uses) spaceship look like to make it controllable by humans: Like a bunch of general-purpose Computers with software where one can click his path through a 3d map? Like a collection of thousands of switches and sliders, together with countless dials and numeric displays? Like a fighter jet mainly with a joystick and thrust lever? And especially for any software or display on a "normal" screen, how is the software user interface designed?
I imagine that when the spacecraft reaches a size where it's not controllable by a single person anymore, there needs to be some distinction between high-level flight path; and low-level control of the engines. Most of the low-level control is reasonably abstractable by computer control and autopilot. But what if the spacecraft needs to be controlled in a situation without long planning phase and big error margins? Eg. during combat or maneuvering an asteroid field, in contrast to "travel from planet X to planet Y on fastest path".
It will probably be something inbetween a nuclear control room (Fig. 1) and submarine helm (Fig. 2), but much more complicated due to more complex layout of a spacecraft, much redundancy and lack of reference directions ("ground"), no inherent "auto-braking" (no surrounding atmosphere or water) and unrestricted movement of the whole vessel along 6 degrees of freedom.
How would the "human interface" be designed to accomodate complicated maneuvers, calculate flight paths in space, and reaching a target (or evading enemy fire) a robust way and with acceptable operation complexity.
I'm looking to design some spacecraft-control simulation (not write a novel), but existing games always feel to me like realism has been sacrificed in favour of gameplay and fun factor. My goal is to have something as realistic as possible, and I'm looking for pointers and caveats when designing the helm.
This post was sourced from https://worldbuilding.stackexchange.com/q/112116. It is licensed under CC BY-SA 4.0.
1 answer
User Interfaces are hard; really hard.
Humans and ships, of any kind, at any scale, form two part systems. Together, they achieve whatever missions/goals the ship is meant to fulfill. Humans are exceptionally good at planning, dealing with operational exceptions (where things just don't go as planned). They stink at dealing with boring, mundane, repetitive functions. They lose interest quickly. Happily, machines are exceptionally good at dealing with the boring, mundane, repetitive tasks that humans stink at. Machines are generally poor at dealing with new scenarios or really exceptional circumstances.
Humans also have limited cognitive load capacity. There's only so much information you can stuff in their heads at one time and their attention is strictly singular; they cannot manage more than one task at a time. We also remember that larger and more powerful systems are almost always more complicated than smaller systems. These more complicated systems easily exceed the cognitive abilities of a single human.
The UI will also depend heavily on the design and function of the system being controlled. For a fusion power-plant that runs a turbine for power, the RPMs for that turbine would be critical information. For a fusion plant that just generates electrical power without a turbine, there are no RPMs to monitor.
Design Process
Designing User Interfaces is hard. The search space for user interfaces is huge. Given the complexities of spaceship operations, it's nearly impossible to reason about what will be needed or not needed, a priori. Part of this is just trying different user interfaces to see what works.
Designing user interfaces for a spaceship isn't far removed from designing the ship itself. The two processes are highly integrated.
UI Design Process
- Determine what systems are necessary for this ship to function. Assuming a spaceship, this will be systems like weapons, sensors, power-plants, life support, navigation/manuevering and so forth.
- Design these systems; what components are required with rough approximations for tolerances on these components.
- Figure out the first order approximations for how these various systems will interact with each other.
- Determine what can be automated. The more that can be automated, the easier it will be for crew to operate and the lower the crew requirements. This will include figuring out what information needs to be filtered/translated so that humans can reason about it. For example, feeding a human raw spectra data on the exhaust plume of an incoming spaceship isn't likely to be as helpful as indicating "This is a hydrogen-uranium torchship with a 1GW torch running at 101% expected capacity".
- For all the tasks that humans should handle, design a user interface to present the appropriate information and the right controls to manipulate that system. It's beyond the scope of this answer to describe what is right and what's wrong in UI design. Large companies such as Microsoft, Google and Apple have spent decades and untold sums developing and publishing user interfaces and user interface guidelines. This is an exceptionally hard problem.
- Gather info about what works and what doesn't work. What info is needed but not present and what info is unneeded? Iterate over this step as often as needed.
Dealing with Failure
The user interface will also have to deal with the failure of various components. What do you do if your main tactical UI fails? What does the power-plant engineer do when he loses main power but needs to monitor all the auxiliary power-systems still? For critical systems, there must be a way to reason about the system state and control it when the spaceship has exited normal operating conditions (such as heavy damage during a firefight).
You must also contend with UI failures where the system/UI does not prevent dangerous operation conditions. The Therac-25 is an excellent example where a UI doesn't present the correct information and the system itself doesn't have necessary safe-guards. As the ship/UI designer, you have to prevent these kinds of events.
Cognitive Continuum
As the UI designer, your job is to present the information required to the crew so that they can compete whatever their mission is. This will depend completely on the type of work that each crew member is responsible for. Navigators will require different information than powerplant engineers. They will also perform different functions given their responsibilities.
Humans can only think so fast and can only process so much information and only have so much tolerance for repetition. Therefore, the machines/computers in the ship need to handle the boring stuff and also to filter the absurd data quantities so that the human operators aren't overloaded.
Design Considerations
Someone has written a game around hyper-realistic spaceship controls. Scott Manley did a walk-through. There's also startup procedures for real aircraft that are available too by DevilDogGamer. Granted, both of these demonstrations are for single pilot craft but it demonstrates the complexity that is easily found in real craft.
As we don't have fictional spaceships yet, any user interface for those ships will be purely speculative.
This post was sourced from https://worldbuilding.stackexchange.com/a/112128. It is licensed under CC BY-SA 4.0.
0 comment threads