BSD/Unix CLI and TUI Ecology
Andrew Pantyukhin
<infofarmer@FreeBSD.org>
EuroBSDCon 2012
Warsaw, Poland
BSD/Unix
CLI and TUI
Ecology
CLI
Ecology
Ecology?
CLI?
CLI?
CLI —
terminal?
interpreter?
tools?
programming?
paradigm?
very few
studies
US Patent 6,625,590
Filed: Aug 10, 1999
Granted: Sep 23, 2003
Assignee: IBM
History
Louis Pouzin
CTSS ca. '63
RUNCOM
Multics ca. '64
shell
(later in '72:
datagram
packet comms
CYCLADES
Internets)
Bill Joy
vi ('76)
termcap
Ken Arnold
curses ('77)
Ken Arnold
curses(3) ('77)
pcurses ('82)
ncurses ('93)
...
Ecology?
Ecological
Interface
Design
interface
design
unscientific
artistic
(if lucky)
exceptions
but usually
text interface:
even less
scientific
first kept scientific
thanks to limitations
now at mercy of
each particular
developer
User-
Centered
Design
Ecological
Interface
Design
late 80s
Kim Vicente
Jens Rasmussen
ecological
psychology
applying
EID
CLI —
a resonating
display of EID
Flow-
based
programming
J. Paul Morrison
Data Responsive
Programming ('71)
Back to
CLI
terminal
interpreter
tools
Terminals
IBM
z/OS
TSO/E
ISPF
Interpreters
Interpreters
Tools, Components
Tool flavoring
popt, CLAP, Tclap,
libcfg+, Argtable —
error handling
usage() generation
parameter casting
getopt study
subcommands (verbs)
RCS -> CVS, SVN, GIT
specialization
deconceptualization
even worse with ports
CLI vs TUI/GUI
learning and retention similar
perceived qualities lower for CLI
emergency
procedures
seatbelts —
cp ; mv ; rm
Lempel-Ziv
naming,
mnemonics
thank you!
discussion?