tl;dr:"Most technical people choose GUIs not because GUIs are the best tool for the job. People choose GUIs because the CLI alternatives usually suck. That’s my hunch. In this blog post, I’ll cover good UX patterns for CLI applications. Furthermore, when applicable, I’ll compare how these UX patterns help developers replicate the valuable characteristics of most good GUIs."