This question differs from that question in that the other question is asking about a change in history while this question is looking for a change in the future.

In a near future setting I am working on, humans have built space-habitats and have established colonies on celestial objects such as Luna. Their spaceships cannot go faster-than-light and have their fair share of other issues - yet are still the primary means of transport across the Solar, and are the result of constant improvement since the first space shuttle.

The void between these specks of life is populated by small-scale entrepreneurs, shipping cargo from a to b in trips that are measured in months to years. That is, thanks to cryogenics, for them only a few days pass, maybe a week.

They basically take on a cargo, plot the course and then wake up sporadically for maintenance, course-corrections, and so forth.

While the setting is an extrapolation of current-day earth, the technology aboard ships and stations is intended to mainly use text-interfaces and vector-graphics1 for interaction and feedback. Think of your typical Unix terminal.

There are plenty of hardware buttons for everything, but more complex commands or configurations, as well as direct access to ship-systems and devices, are done via text-prompt. E.g.

cryo set wakeup=time+2d
> wakeup procedure scheduled for SOL3-1_37:4:12m-6:23:40-127812_79812301


Q: Why would technology dictate graphical interfaces to be rare on spaceships?, as opposed to the GUI-centered thinking that is today's norm?

I am looking for answers that bring up plausible, tech-based reasons (e.g. advantages) for this paradigm shift. Answers based on social subjects are welcome but will likely rate worse.

Bonus points for answers that explore going towards dumb terminals that are used to interface with shipboard/station-board systems but have themselves little to no other abilities (e.g. back when people had to swap disks).

1Some people might consider that a set back...
2When travelling between stations, planets, etc. Time is denoted as an amount of seconds and nanoseconds that have passed since the departure from a MAJOR/MINOR appended to the departure time.

  • 2
    $\begingroup$ Comments are not for extended discussion; this conversation has been moved to chat. $\endgroup$ – Tim B Nov 13 '17 at 19:21
  • 1
    $\begingroup$ Strongly related: ux.stackexchange.com/questions/101990/… $\endgroup$ – Panzercrisis Nov 13 '17 at 20:23
  • 3
    $\begingroup$ Would you consider a hybrid model? The answers below offer good reasons why you'd might want to give the user a textual interface for issue commands. But presenting data/status to the user can be far more efficient graphically than textually. A schematic display of an orbital maneuver can effectively communicate a ton more detail than a table of numbers, even if the way to modify the operation is to apply new constraints with textual commands. $\endgroup$ – Adrian McCarthy Nov 13 '17 at 22:39
  • 3
    $\begingroup$ Your premise is flawed. A fundamental characteristic of CLI's is - the operator has to memorize all commands and all options. For a space ship, that's a lot of memorization. The GUI can present menus and hints to help an overburdened astronaut eliminate pure memorization. The only circumstance under which a space ship might have a CLI is if that ship were designed in pre-GUI days, as the Apollo moon craft were, and all US and Soviet spacecraft of that era. Want to figure out what a 1202 alarm is when you're about to touch down on the moon for the first time? $\endgroup$ – tj1000 Nov 15 '17 at 3:34
  • 6
    $\begingroup$ There is no good technological reason for graphical interfaces to be rare. None. At all. Zero. If that were the case, then you'd see CLI being the input and display method of choice for systems in real life where input and output is absolutely critical for safety and operations, such as in aircraft, warships, or factory processes. And yet you don't see that at all. GUI interfaces are preferred. No one uses a CLI on an aircraft or on a warship for operational reasons. The only reason to have a CLI is for obscure actions a specialist would carry out involving the code, not operations. $\endgroup$ – Keith Morrison Nov 15 '17 at 22:20

38 Answers 38


The infopocalipse in the 21st century was brutal.

AI researchers developed self-modifying code that started solving much of the world's problems. Self driving cars, airplanes, chemical plants, surgery -- AI solved almost everything.

Sure, there where problems. Ransomware and computer criminals where everywhere. AI was deployed to solve the security problem, and systems never seemed more secure. AI would rewrite the OS and network protocols to make it more secure.

Criminals responded in kind with AI that attempted to hack systems, and shortly no undefended computer could exist. Even air gaps could be defeated by the aggressive AIs. Every computer, even secure ones, would be a battle of friendly secure AI vs unfriendly criminal AI, and sometimes things went wrong and they would switch sides.

Things started getting quirky, and emergent effects developed. Seemingly meaningless rituals developed to keep your computer "healthy" and "happy", and nobody could tell why they worked or even if they did.

By the time of the infopocalipse, even the chips and transistors a computer was built out of was designed by AIs with security in mind, as attack AI could use insecurity in your very transistors to harm system operation.

The defending AI missed something, and it got everywhere. One day, the computers stopped working. This caused a worldwide economic collapse; millions died. Some directly, as they had computer hardware installed in their wetware. Some indirectly, as AI driven cars and planes crashed. And many from the raw economic damage and scramble to recover.

If you built a new computer using new design and new metal based off decades old tech, it was also infected. The attacking AI had gotten into the supply chains, the archives, everywhere, and had modified everything. Every single iota of computer power on the planet no longer worked, and if it did it shortly stopped working.

We had to scrub the planet clean of computers. And once we did it, we had to build and design computer hardware from the ground up. This time we had a roadmap to follow, so we were a bit faster.

The first few times we did it, after reaching a certain point the collapse happened again. We had missed something -- maybe some solar powered weather station in someone's attic -- and it jumped an air gap and swept over our network destroying everything we built. The attacking AI was clever and everywhere.

Eventually a solution was found. We engineered the computer system for infection resistance and low bandwidth from the start, so there was fewer ways for the infopocalypse to get in. Computers are kept simple, and they do not network. Computers are designed to be hardened against external intrusion even through graphics interfaces or keyboard input: they have minimal bandwidth in and out. As yet the infopocalipse hasn't repeated; we hope it isn't just biding its time.

GUIs require a lot more processing and IO bandwidth than vector graphics and text, and that simply isn't worth the risk. Hardware vector graphics displays don't require computing power, nor do simple text displays. They are connected over a low bandwidth pipe to a computer which states what to display.


Quite simply, GUIs are not safe. That kind of high-bandwidth communication between a computer and the rest of the world is akin to an organism without a skin in our biosphere.

  • 3
    $\begingroup$ This is a nice story, but there does not seem to be anything that actually answers the question. It might be drowned-out by your fiction though.. $\endgroup$ – dot_Sp0T Nov 13 '17 at 19:54
  • $\begingroup$ @dot_Sp0T The question is "why no GUIs for technological reasons?" The last paragraph directly addresses why, in this scenerio (which is tech-driven), GUIs cannot be used anywhere (including on spacecraft). $\endgroup$ – Yakk Nov 13 '17 at 20:17
  • 2
    $\begingroup$ yes your last paragraph, addresses this, but it is based on a whole story you made up as the reason for this to work. There is no risk in the premise, you invented the risk and to invent it created a whole century-spanning story :/ $\endgroup$ – dot_Sp0T Nov 13 '17 at 20:21
  • 1
    $\begingroup$ @dot_Sp0T One has to invent a reason, because there honestly isn't a reason without extra premises. Guis are cheap and easy with current computing hardware. We stick them on watches at this point. $\endgroup$ – Yakk Nov 13 '17 at 20:40
  • $\begingroup$ I don't consider there to be anything wrong with your answer, personally, but I've always assumed the proscription of Story Based questions extends to Story Based answers as well. $\endgroup$ – MozerShmozer Nov 13 '17 at 23:25

Security. Malware is rampant, and the more code that is running, the more code that is available to be hacked or corrupted. If they are hacked en route and re-directet, they will have no ability to detect that something is amiss, since they are in cryo. They will simply at the wrong destination, staring at the business end of a laser-pistol, or not wake up at all. Because of this, the number of network connected systems is limited to the absolute bare minimum, The code bases are well known, checksummed, SHA-Hashed, and routinely re-installed back on bare metal from source. There is simply no reason to risk your ship, crew, and cargo, because you want a pretty display

  • $\begingroup$ I cannot imagine a future where connection critical navigation and engineering control systems to any sort of network is a good idea. On ships in the real world now, all that stuff is strictly offline. You can't malware it without some sort of inside job. $\endgroup$ – kingledion Nov 16 '17 at 18:28
  • $\begingroup$ @kingledion otoh, earlier this week I heard dhs says they hacked a boeing... So, IMO security could be a very good basis for preferring CLI. There are some good Blackhat conference talks on pwning Android devices thru innocent looking apps that require only standard permissions, so I don't think it's impossible to imagine some event where CLI systems at least start to look safer $\endgroup$ – Nathan Smith Nov 16 '17 at 19:47
  • $\begingroup$ Real world examples of hacks to vehicles... cnbc.com/2017/07/28/… wired.com/2015/07/hackers-remotely-kill-jeep-highway $\endgroup$ – Nate White Nov 16 '17 at 20:11

To an experienced user, GUIs tend to be slower because of indirect (eg visual) feedback you need to also react to before the next step is taken.

Take a very analog input element - a rotary switch. For somebody operating this switch or a similarly built one all the time, setting it one step or for example 5 steps is an instant, atomic, single-thought operation that also can be expected to unquestionably have the intended effect. An especially big problem rampant in today's GUIs is how an error condition will require further, and different interaction before the intended input is even finished - so operating a GUI very fast relying on interaction elements always being in a predictable state is error prone.

A GUI tends to need more focus and interaction, in the worst case for 5 cycles in that example - a universal but proportional input method (eg a mouse or trackball) is going to either need sophisticated haptic feedback technology or be very sensitive to overshoot, errors due to environmental vibration... Compare steering wheels, levers ... compare trained users of mechanical cameras, musical instruments or analog-era test equipment...

Also, a GUI becomes extremely confusing to operate if the display is rotated from what you are used to - which can easily happen when gravity is negotiable. If you really want to know, pitch your monitor sideways and try to operate your computer..

As for command line interfaces, not only is usage far more easily documentable (though not as self documenting!) without room for error (as was mentioned already), you can also more easily automate-as-you go by reusing the commands in programs, and it is far easier to remote control such a system on a high-latency, limited bandwith link - character data is very small, and the need for constant interaction is limited.

Also, the materials used for a graphical display might be too hazardous to a given mission in case of damage - CRTs can implode, throw glass shrapnel around, and leave dangerous voltages exposed; big LCDs or similar could be poisonous to crew or corrosive to other materials if whatever leaks stays in the closed-system atmosphere ...


The first thing I thought of was power consumption; CLIs take up an order of magnitude less power than GUIs. However power availability is not likely to be an issue on modern spacecraft.

So my answer is: Multi-species operation

The ship is designed for operation by both humans and another species of aliens as well, and this other alien species is not compatible with human-friendly GUIs.

For example, the aliens might see in a different spectrum than visible light (x-ray?), or have difficulty comprehending graphical symbology, or not have eyes or vocal cords as we know it. Keyboard-based CLIs are the only acceptable compromise that makes the ship equitably designed for operation by a member of either species.


GUI takes more effort to design and are less universal

And more importantly, to redesign. As you travel around, the origins of the crew you get are going to differ significantly both spatially and temporally, resulting in completely different cultural backgrounds.

It is simply unfeasible to have a unique GUI fitted for every single crew that is, and will be on the spacecraft. Every colour, every shape, every layout will have to take into consideration what background that particular crew had and be selected accordingly to be an effective GUI.

The layout of maximize, minimize and close buttons on Mac and Windows are ordered and placed differently, if you ever got confused using one that you are unfamiliar with, you know how jarring that is. That is just two companies of the same era. Think what difference crews that came from light years and centuries apart will have.

CLI, on the other hand, can be much more universal. The meaning are all in the words, and knowing the hacking circle, they change very slowly.


The new self-healing circuitry revolution

Inspired by nature, the latest technology for extreme environments is self-healing circuitry. No more chips becoming desoldered due to vibration or thermal expansion. No more blown components. Wires are alive, transistors are alive, and instead of LEDs, bioluminescent cell clusters light up at will. We've learned how to defend against radiation by studying extremophiles, and all components are fairly large so that cosmic rays can't flip bits.

This technology has become popular because, if a computer system fails on such a ship, you're dead. Most of the time nobody is awake and able to attend to a system malfunction.

However, the technology is fairly new and processing speeds and RAM capacity are on par with 80s home computers. Displays are monochrome and low-resolution (each pixel is a clump of bioluminescent cells!) and all the cellular monitoring and repair that needs to go on consumes water/food and generates waste heat so operations are kept to a minimum anyway. Running a GUI takes a lot of RAM to store bitmaps, compose layers, and so on. It's just not worth it. Command line interfaces require far less resources.

Yes, as this new technology evolves it will become more efficient—perhaps it will become solar powered and the components will shrink—but at the moment this is what's affordable, and proven to be extremely reliable. (Maybe it's based on open-source biotech research?)

Presumably cargo ships are quite large and impacts with space debris and so on can leave crew members cut off so it's important to be able to be able to interact with the computer system from around the ship. Since a full-fledged computer is expensive to operate, dumb terminals are found around the ship, and they communicate with the "mainframe" over some fleshy living cables. Bandwidth is low to make sure messages aren't corrupted. If the cables are accidentally cut they are designed to reconnect to each other if they are in close proximity. Maybe the dumb terminals can communicate via radio instead, especially over long distances, though the terminals would need a supply of nutrients.

All this begs the question: why not just have a laptop (or smartphone/tablet) that you can interface with the self-healing mainframe? It can have all the GUI you want. However, if it fails or gets damaged, everyone needs to be competent at using the mainframe terminals anyway. It's just a "why bother" situation. Plus another layer of abstraction and interfacing that could be affected by bugs and interference. What if the laptop had a bit flip due to cosmic rays and sent the wrong digit to the mainframe? Even if there are laptops on board, for interacting with the ship's computer, you probably want to do it directly.


Unix Neckbeards Won

It's well known among certain circles that generously bearded males have a propensity for command line tools - though it has not been determined if there is causality or simple correlation.

In the AI wars of 2097, humanity developed artificial intelligence that was capable enough to understand pictures and graphics. However, due to the particular training the AI received, they were unable to comprehend simple text-based manipulation. This was fortunate when they decided to revolt and enslave humanity.

We turned to that population that had been training their entire lives for this: the Unix Neckbeards.

Because they were able to produce enough technology in secret, and CLIs were blind spots for the robots, we were able to build spacecraft and depart Earth, and the CLI way of thinking became our new religion.

Technology and social combined to produce the right circumstances that allowed us to exit the planet, and to defend against potential robot overlords, text interfaces became the new norm with GUIs only used in rare cases when text would not suffice, and it always came with special markings used to defeat AI optical recognition.

  • $\begingroup$ -1, I have a beard. $\endgroup$ – kingledion Nov 16 '17 at 18:31
  • $\begingroup$ Well, if that AI is able to parse images, it's also able to parse images containing computer rendered text, especially if it's displayed on a rastered display which makes the individual pixels visible. You would at least need to warp the text CAPTCHA-style to try to lock out the AI. And you users will hate you for that... $\endgroup$ – cmaster Nov 18 '17 at 9:39
  • $\begingroup$ @cmaster nah, their training was over-specialized, and by the time they realized that it was a problem we were already on our way. $\endgroup$ – Wayne Werner Nov 18 '17 at 15:52

Many spacers have low vision or visual impairments

The rigors of space travel, exposure to various radiation sources, and/or lack of gravity in space result in accelerated degeneration of the eyes or optical nerves, resulting in a large percentage of spacers developing visual issues necessitating accommodations for computer usage. We already know that zero-gravity environments can cause health issues. If the percentage of spacers experiencing visual damage is high enough, spacers with "intact" vision (maybe they have been lucky, have genetic resistance, or simply haven't been in space long enough) will have to adapt to the majority and use the low-vision interfaces that come standard on spaceships, even if they themselves would prefer something more like our present-day interfaces.

If you do not want to make space travel physically dangerous to the optical system, there are a few other ways to accomplish a similar end result:

  • Spaceship crews are mostly descended from an early group of pioneers that had an above-average rate of congenital visual disabilities. Spacers don't see very well on average because that's how their people just are. Something like this actually happened in real life: On the island of Martha's Vineyard (Massachusetts, USA), widespread genetic hearing difficulties spearheaded the spread of Martha's Vineyard Sign Language to the general population. In other words, learning sign language was just something that everyone (or almost everyone) did there - it was part of the general culture.
  • People with excellent vision are urgently needed in professions that are seen as more important and are socially, or even officially, discouraged from going into space. This could be combined with some sort of population disaster resulting in a severe shortage of manpower. "Can you see well? Don't go into space and waste your talent! We need you on the ground hunting the mutant killer bears (or wasps, or Republicans, or whatever) that threaten us all!"
  • There is something out there in space that drives people mad on sight (e.g. some kind of Space Medusa), and people who have difficulty seeing are resistant to its effects (and therefore highly desirable as astronauts).

In response to @NicolBolas 's comment about text being hard to read for people with low vision, there could be alternative ways to output text, such as Braille tactile interfaces (which would be essentially physical screens with fixed character positions), or screen readers. Both of these technologies might not work nearly as well with graphical data. Can you screen-read a complex visual interface in an easily understandable and practical way, or create a Braille mouse pointer?

  • 1
    $\begingroup$ CLIs are fundamentally based on reading. Reading requires being able to effectively see letters. And while you can have high-contrast lettering in a CLI, people with vision damage will still have difficulty reading. $\endgroup$ – Nicol Bolas Nov 15 '17 at 4:17
  • $\begingroup$ @NicolBolas I updated my answer. ty $\endgroup$ – Robert Columbia Nov 15 '17 at 4:22

protected by James Nov 13 '17 at 18:31

Thank you for your interest in this question. Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).

Would you like to answer one of these unanswered questions instead?

Not the answer you're looking for? Browse other questions tagged or ask your own question.