Text Based User Interfaces in the 21st Century? 120
Jaap Geurts asks: "With the 3D GUI desktop around the corner, nobody seems to use or think about text based user interfaces (TUI) anymore. I know that hardware comes cheap nowadays but can the use of TUIs still be justified? I've always found that GUIs are resource hungry, generally slower and more importantly they often allow multitasking and they are very unpleasant without a mouse! What do you think about developing a (well designed) TUI for DB software (e.g Point of sale, Warehouse manager, etc)? Most current GUI metaphors can be implemented so what are the pros and cons from a user perspective?" Are there any real reasons against deploying text-based applications, today?
Lowest Common Denominator (Score:5, Informative)
It takes a lot of things going just right in order to be able to display and keep a GUI going. In terms of RAM and CPU cycles, a console session is a few orders of magnitude cheaper to run.
--Mike--
An idea: you could start with newt (Score:5, Informative)
It's a RedHat thing but it's apparently become popular (available on Debian, FreeBSD, well anything that has ncurses). It supports UTF-8 which is nice.
That'd sort of be your toolkit (ala GTK). So you're halfway there.
best text user interface... (Score:4, Informative)
Re:GUIs vs TUIs and menu vs command (Score:2, Informative)
* "Must fit on a standard console (24x80)" and "Use of more input elements per screen". Any decent TUI will allow you create multi-page interfaces. Some of our TUI screens have 32 pages worth of data! (Granted, those are the inefficiently-built, difficult-to-use ones; but they are definitely still useful.)
* "Familiarity to users". Not really a big deal. TUIs tend to be very simple, and a lot of things that work in [insert your favorite GUI] work in TUIs as well - tab to move between fields, there's a standardized help key, etc.
* "Windowed interfaces". There are plenty of systems out there that let you work on multiple sessions through a single screen. And we've still got several people from the Old Skool Daze when "personal computer" was an oxymoron and access to the Tandem meant that you had a Tandem-built dumb terminal on your desk (they've got some weird protocol they use) who, even in a windowed MDI environment will have no more than two terminal sessions open.
I can't argue about the "able to display images" part though.
--Ender
Re:TUI? (Score:3, Informative)
That's because a TUI isn't the same thing as a CLI. A TUI is like those DOS programs written with Borland Turbovision. A picture is worth at least 78 words here. This is a CLI.
And this is a TUI.Examples of TUIs on Linux include mutt, links, pine... I suppose emacs and vim. They're a little zany but their distinguishing feature is that they're all text and they aren't command-line.
Two Major Reasons (Score:4, Informative)
You can write a shell script for most tasks that you already know how to do from the command line trivially. Others can be a bit tricky, but tools such as expect usually make it possible.
Scripting a gui is usually only possible with special applications that scrape the screen and allow you to make macros. Some gui apps (notably KDE) have built-in scriptablity, but only to the extent that the developer goes out of his way to add it.
2. Efficiency.
For a good discussion see "The Pragmatic Programmer."
While textual interfaces have an inherently steeper learning curve, they are far more efficient for the experienced user.
This manifests in several ways. For example; all command line functionality is at the "top level" of the interface. One needn't click start before invoking grep, or click a pull-down to get to the case-insensitivity option.
-Peter