A magazine about programmers, code, and society. Written by humans since 2018.

David Kadavy

Few ecosystems react as viscerally and as brutally to “bad” visual design than whatever Apple has brought into the world. From the first Macintosh to the latest Vision Pro, the whole idea of making apps for Apple platforms involves, hopefully sooner than later, a severe and serious evaluation of style along with functionality.

Let us look at some examples of when said ecosystem reacted viscerally and brutally. On October 3rd, 2009, Brandon Pittman published an article titled “The Worst Twitter Client… Ever” on the Smoking Apples website, nowadays available thanks to the commendable work of the Internet Archive. Here are some quotes from this gem of an article:

If there was ever a reason Steve Jobs didn’t want people making apps for iPhone, ChillTwit was it. (…) I honestly believe the SA editors assigned me this review to see if I’d kill myself. (…)

I can’t find one redeeming quality about this app. (…) the fact that he’s trying to get $0.99 out of people pisses me to no end. (…)

(…) if you buy this, we’re not friends anymore.

You get the idea.

In the same vein, one year earlier, John Gruber, author of the influential Daring Fireball blog, published a picture on his Flickr account (we cannot get any more retro than this!). The caption reads:

A screenshot from Stevens Creek Software’s upcoming iPhone app, TripLog/1040. I’m not even sure where to start.

There is a direct connection between Pittman’s and Gruber’s criticisms (and the discussion it generated in the latter case) with MKBHD’s recent review of the Humane AI Pin and the controversy surrounding it. But as usual, I digress. The important point here is that, for some platforms like iOS, looks matter more than software developers would like to admit, and reviews can make or break entire product lines (and even businesses) in no time.

Of course, not all ecosystems display such levels of vitriol against amateurish looks. In no particular order, Windows, Android, and Linux in general, are environments where functionality, price, and stability will always be primed over good looks. This is fine and good, but where it becomes problematic is where users and developers on these platforms deride or make fun of a supposedly “lesser” world such as Apple’s.

Again, hubris and disdain does not help anyone. Some users prefer beautiful things, some others prefer working software, and some others prefer both at the same time.

Faced with the need to publish applications that work well and look decently good, the question software developers ask themselves is, then, how can you learn good visual design when all you have is a computer science degree? Turns out that a designer from Silicon Valley not only answered this question, but also created a fundamental piece of work in the process.

Published in 2011, “Design for Hackers” by David Kadavy dives into the common elements of design: typography, composition, color, and starts a much-needed discussion about why design is important, and how technology both influences and is influenced by it.

It is profusely illustrated, and the tagline “reverse-engineering beauty” gives a good hint of the contents and the intended audience.

“Design for Hackers” can work as a study and reference material, including some appendixes at the end with useful typography tips and tricks, for example about how to pair fonts, or how to use them properly in various contexts.

This work belongs to my favorite kind of reading: a treatise that bridges the gap between two worlds that display impossible dialogues and have a tendency to clash for the pettiest of reasons. Designers and engineers often coexist in software development teams in a false dichotomy, angry at each other, blaming each other, instead of trying to understand each other-which, spoiler alert, is the most important thing you can do with fellow humans, at all times.

Proportion, whitespace, hierarchy, rhythm, are all words that have different meanings in the minds of software developers, and to be able to have a conversation with the designers in your team, you would be wise to learn them.

Inversely, I can only recommend visual designers to learn more about the constraints and limits of software and hardware, and to get acquainted with the design guidelines of your chosen platform. I cannot tell how many times I have had to explain to designers those limits, trying to make them understand the tradeoffs in cost and speed of development their teams could reach by following them. Once again, the biggest issue blocking teams from delivering good software is communication.

For those software developers interested in the art and science of visual design, I could recommend some other important works. First, the quintessential “The Design of Everyday Things” by Don Norman. We have talked in the pages of this magazine about “Designing Interfaces” by Jenifer Tidwell (about desktop software design) and “Transcending CSS” by Andy Clarke (about web app design), and we repeat the recommendation now. Finally, take a look at “Graphic Design: The New Basics” by Ellen Lupton and Jennifer Cole Phillips for a complete overview of basic concepts.

If you look to deepen your knowledge of visual design with additional information, head over to books.design, an incredible resource created by Norma, a “non-graphic design studio in Turin”. Finally, for a social perspective of the impact of design in our modern world, “Design is a Job” by Mike Monteiro (of who we have already talked about in this magazine) is a mandatory reading. Also noteworthy, the newsletter “Not a Designer”.

Making better software does not only mean making applications with good modularity, plenty of unit tests, and many useful features, but also with better looks, decent levels of usability, and with enough attention paid to accessibility. These are indeed useful qualities, and will help you to, at least, avoid scathing reviews of your next app.

Cover photo by the author.


Back to top