Helpful design article from CACM: "Human-centered approach to static-analysis-driven developer tools"

Hello! I thought I’d share this article from the latest issue of the Communications of the ACM.

It seems especially relevant considering the work being done in the julia VS-Code plugin, as well as the static analysis progress being done with libraries like JET.jl

Here is a nice excerpt:

While user behavior is typically not central to advancing static analysis, applications developed without using human-centered methods run the risk of reproducing, if not exacerbating, the limitations of current tools. Increased clarity enhances the technical rigor of code, leading to focus being shifted more toward the ideas underlying the code and the speed with which these ideas are circulated. Reducing the cognitive load imposed by tedious tools or inefficient workflows frees humans to engage in higher-order thinking and reasoning. Therefore, advances in the applications of static analysis should be aimed at supporting human decision making.

Among the subjects discussed are interfaces which match a human’s intuition, reducing context switching to provide developers with a seamless experience for building up mental models, and possible historical reasons for the relative neglect of HCI within developer tooling.

Here is another excerpt I particularly liked:

HCI and its subfields are incorrectly conflated with surface-level visual details, such as iconography, colors, and fonts. Of course, HCI is far more than that; it is concerned with everything a user encounters and perceives. HCI defines what information is presented; how it is structured; its meaning, usefulness, and timing; and what responses to it are available and when. HCI also encompasses techniques to investigate the effectiveness of an implementation, which may include how learnable it is, how much slower or faster a particular task becomes because of a given implementation, and what errors users make and how frequently they encounter them.

I hope this article might be of value to the Julia community!

P.S. My apologies if this is an inappropriate category for this post!

1 Like