Juan
Juan

Reputation: 3766

Text User Interface Design Reference?

Is there a good book or other references on Text User Interface Design? I am not interested in graphical user interfaces. I am interested in usability for good command line and scripting interfaces.

Upvotes: 8

Views: 3883

Answers (4)

matiasf
matiasf

Reputation: 1118

The standard called Common User Access (CUA) contains a set of rules and guidelines developed by IBM. It was initially published in 1987 as part of their Systems Application Architecture (SAA).

A corresponding design guide titled "Common User Access - Basic Interface Design Guide", it was archived and can be accessed via:

The guide was originally written as a standard for developing applications for the IBM 3270 terminal (informally known as green screen). In my opinion the most important parts are the function keys standard and a color standard.

Upvotes: 5

Tom
Tom

Reputation: 34356

You should have a look at some of the ideas behind Ubiquity as well as some of the ideas Aza Raskin talks about, seems like the same kind of thing.

Upvotes: 0

lutz
lutz

Reputation:

Your interface should follow the Rule of Least Surprise as described by ESR in The Art of Unix Programming. If your programm supports command line options, make sure they have the traditional meaning. Be sure to read the chapter about Tradeoffs between CLI and Visual Interfaces.

Upvotes: 4

Frank V
Frank V

Reputation: 25419

I'd use a favorite program as a reference for something like this. What command line utility do you think has a good, efficient interface that you could model your program on? Use it.

Update: So I think I need to revise this a little. It was taken way too literally. Google and this site proved that the internet is very democratic. What is popular is replicated, linked to or reproduced in someway.

Given this, plus one's personal experiences with computers, I think it is feasible to derive a pretty good solution based on personal experience and consideration for the solution to be provided.

For example, vim is a great program. A lot of people use it and love it. But that type of interface is probably not going to work (at least well) for a version control system. But both interfaces are very elegant for the purpose they suite. On the other hand, the vim type interface might work for a section of the version control system -- the commit dialog for example.

Now, I know that vim is normally used for the "commit dialog" (by default) for svn (on unix based OSes). This is just an example of mixing two styles of interfaces to come up with a cohesive solution.

Upvotes: 0

Related Questions