Scaladoc-driven API design

I was working on some new code for my functional programming in Scala book today. At one point I thought everything looked okay, so I decided to generate some Scaladoc to see what certain things looked like. Admittedly I’m a bit tired today, but when I saw that Scaladoc I thought, “Good grief, Al, what sort of ugly API have you created?”

For some reason, seeing the Scaladoc helped me easily see the errors of my way. I’m not sure that I’ll ever be promoting a “Scaladoc-driven API design” process, but seeing the Scaladoc generated from my code sure helped today.

~ a note from August 30, 2017

I have willingly accepted constraints alvin October 13, 2019 - 7:19pm

“I have never been forced to accept compromises, but I have willingly accepted constraints.”

~ Charles Eames

Good and bad design at Apple under Jonathan Ive

This article contains a fair balance of pointing out the good and bad of design at Apple under Jonathan Ive. Most people know the good parts, so this image shows a discussion of just two of the worst design decisions made by Apple’s design team. Other bad designs under Apple include pretty much every mouse ever made, the horribly infamous butterfly keyboards, and the trashcan Mac Pro design.

It seems like at some point every design quits thinking about what’s the best for the customer and succumbs to something that looks pretty. As the old saying goes, “Absolute power corrupts absolutely.”