

Ask HN: What are the principles of information design for CLI output? - abathur

I have been searching for broad discussions of the patterns, anti-patterns and best-practices for presenting information (both text and data) for human consumption via stdout (or, I suppose, in flat log-files), but have had no luck. For reference, I found plenty on designing the commands&#x2F;syntax themselves.<p>Interested in existing online or print resources on the topic if they exist, though introspective why-focused first-hand knowledge may be essential if these resources really don&#x27;t exist.
======
abathur
The best resource thus far may be "The Art of Unix Usability" by Eric S
Raymond which can be found at
[http://www.catb.org/~esr/writings/taouu/html/](http://www.catb.org/~esr/writings/taouu/html/)
and was coincidentally posted by user diggan at
[https://news.ycombinator.com/item?id=8591072](https://news.ycombinator.com/item?id=8591072)
shortly before I made this post.

Hopefully including this here will help some future googler.

~~~
abathur
Having now read most of this and skimmed the rest, it was less useful than I
initially hoped; the principles themselves were useful but the book itself is
focused on GUI design for Unix.

------
valarauca1
The Art of Unix Programming (Eric S Raymond, various editions) talks a lot
about how to simply interface with the command line, STDIN, STDOUT, etc.

I'm not exactly sure if that's what you are looking for?

~~~
abathur
It will be hard to say until I take a look; thanks in any case for the
recommendation.

It's hard to speak specifically, because I'm interested in a broad array of
design decisions per how you present information to the user. Examples of
these decisions might be: how you decide what is an acceptable information
density, how you decide whether to reduce or increase the space you're giving
tabular elements, how to help the user track long lines, how and where to
position information a mix of critical and non-critical information (where the
non-critical information is still necessary for interpreting the critical
data). Perhaps that helps?

~~~
valarauca1
I don't think any real studies have been done on this, or any real
comprehensive information.

Its more played fast and loose by developers primarily by just copying what
other people did before them that they liked.

Really the terminal output isn't a place people look for inspired design, just
give me the information I want and keep going.

