A Taxonomy of Text-based User Interfaces

An avalanche of examples

NetHack is a computer game whose interface is drawn only using text:

The Keystone Kops are quite a nuisance early on, but only show up if you steal from shopkeepers. (source: screen-capped from the NetHack wiki)
Phone Book. You know, for City.
Visual Studio is actually way more complicated than this picture makes it seem.

Taxonomy Time

That’s quite a varied list, but all of them count as text-based interfaces.

Group 1: Embedded Interfaces

git, as embedded in a Unix shell, probably bash. (Also via Wikipedia)

Group 2: Conversational Interfaces

Like the chatbot above, some interfaces are meant to simulate a human-language conversation. (All conversational interfaces are arguably embedded interfaces, too; but the intent is different.)

Group 3: Programming Languages

These are perhaps the most expansive and the most self-explanatory. Each language, including its ecosystem of libraries and common idioms, practices and policies, make up an interface.

Group 4: Text As Graphics

NetHack is an example of a Text-as-graphics interface. These systems are an early form of GUIs. As such, they have many of the same pros and cons: it’s easy to understand the situation a glance, there are reusable controls that people can learn and apply in novel situations, and the user may have a lot of guidance about what they can do next.

The main menu for Synchronet, an old-style BBS. (courtesy Wikipedia)

Now what, wise guy?

One can’t simply propose a taxonomy with out doing something with it. But you’ll have to stay tuned for Part 2, wherein we discuss how to decide what you’re working on, and why it matters.



Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Alex Feinman

Alex Feinman

Obligate infovore. All posts made with 100% recycled electrons, sustainably crafted by artisanal artisans. He/him/his.