Design software for software design

Designing for complex, non-GUI systems

I’ve realised recently that more and more of my “design” work happens in a text editor - iA Writer. On the odd occasion I do open a graphics editor, it’s not to design a GUI, it’s to illustrate an abstract concept.

I think there are two reasons for this.

The first is Design Systems. Design Systems take all of the thinking out of visual design, and most of the thinking out of interaction design.

If there’s a repeatable solution to a common design problem, it goes in the Design System. How much GUI design work is there to be done when Google has over 150 people working on Material?

But the main reason I’m designing in a text editor is because our customers needs are changing. What they need now is automation, and complex technology to acheive it.

Design Systems aside, I’m not designing GUIs at the moment mostly because GUIs don’t automate. The Command-line automates, and so the CLI is what I’ve been designing for.

This is just my world, by the way. What about people designing for Voice UI? Gesture UI? Conversational UI? All three!? I asked a Human Factors Design Engineer at Apple this question once. They drew me a diagram which baffles me to this day.

I think the gist of their recommendation was this: design at a level up, at the point where you can define the interaction between the user and system, regardless of the UI that’ll be employed.

All this brings me right back round to using the text editor as design software. Imaging having the chance to start from scratch, to create design software that would facilitate the design of complex, UI-agnostic systems…

What would that look like? What would it be able to do? What would you call it?

© Jonathan Roberts 2019
I occasionally update articles to fix typos, improve readability or modify content when new information is available to me. View revisions for this article.