Hacker News new | ask | show | jobs
by mkremins 4289 days ago
This is spot on. In programming communities, design is frequently dismissed as an "implementation detail" or part of "making it look good" (i.e. marketing). This is a distinct and recurring cultural blind spot – more conceptually interesting programming tools than I can count have been torpedoed by a lack of attention to visual/UI/UX/HCI design.

Design is absolutely critical when it comes to helping people understand complex systems. Well-designed tools work with the human brain to mitigate cognitive load, allowing the user to focus on making stuff happen rather than on juggling handfuls of information. Few programming tools, experimental or mainstream, fit this description; even fewer have anything like it in mind.

Successful efforts to make programming less opaque and more accessible will necessarily involve massive leaps forward in design. I'm glad to see design beginning to make some inroads into programming culture, but we've got a long way to go yet considering how frequently the Unix CLI is still held up as the state of the art.

1 comments

You do know there is a whole field called programming language design right? Not everyone in the PL field is doing theory or chasing better performance, some of us actually focus on design (and I'm not the only one, and design has been studied and practiced since at least the 70s). Visual design is where we are especially weak, but we have our PX down (like UX, but User becomes Programmer).
Yep, I'm aware. I'm still just a student, but I try to follow PX-related research pretty closely, and I'm actually something of a fan of your work in this space in particular :) I've also got a lot of respect for projects like Elm, where an explicit focus on programming-as-UX has produced a language and development environment that (although incomplete) are collectively more accessible and learnable than many of the existing alternatives.

That said, I'm still of the opinion that programmer culture at large is too quick to disregard design. I'd really like to see more programming tools for general use developed with an eye to design, and for more industry and hobbyist programmers to realize that the current baseline state of existence is not an absolute maximum but a local one. We've pushed plain text pretty far, but it seems obvious to me that there's much bigger wins to be had if we throw out some of the assumptions our culture tends to make.