Good book: Dreaming in Code

Dreaming in Code: Two Dozen Programmers, Three Years, 4,732 Bugs, and One Quest for Transcendent Software by Scott Rosenberg

This insightful read provides an engaging and sobering look at the trials and tribulations of software development from the programmer’s perspective, by chronicling Mitch Kapor‘s unfulfilled attempt at designing & coding a novel piece of PIM software (code-named Chandler), during the last few years up in San Francisco. At times a bit tedious in the arcane coding issues, but presents in mostly layman’s terms concepts like refactoring, source control, object modularity, inheritance, etc. as well as project management debacles, heavy processes, the human dimension of it all. And it showcases so well the inherent hell of building good software…and that many top coders are more like artists than we think :-)

There’s a few chapters about UI design, but the story revealed a flawed sense of how design should intersect and coordinate with software engineering. Or even prototype-based innovation! I find it ironic that Kapor is the author of “the software manifesto” in 1990 which extols user experience as a paramount goal, yet this story shows he has no real understanding of how to propagate it throughout a software dev process. The coders are itching to code, alot of folks are simply volunteers, there’s a lone graphic designer handling it all, with constant language confusion between backend and GUI folks, etc. Plus the requirements are being written while the product is being coded… It’s quite literally the same damn story everywhere in the valley!

What I really enjoyed: the author injected notable software history as well, from Alan Kay to NATO (did you know that the first software engineering conference was held by NATO, b/c of the impending crisis of software complexity overwhelming human cognition and planning efforts? (stemmed from a failed IBM project, the RS/360) So clearly it had no effect: Windows is still many million lines of code! :-)

But the ultimate moral of the story as Kapor says it, “software is hard.” I think it’s a great lesson for designers to understand as well, and the Chandler project reveals the difficulty and pain. It might be just “pixels and code” you can tweak at a keystroke (or mouse click) but that doesn’t make it easy!

(dark) Gray’s anatomy

The cool trend in visual design lately for web-based and desktop UI has been applying “dark gray” (or charcoal gray or slate gray) for various sections of an application’s interface. iPhoto (and the various apps in the iLife suite) seem to be the first to start this trend, with having palettes for adjustments and so forth rendered in a semitransparent ~ 75% #333 look, as an attractive complement to the main application UI. Apple, being the fashionista leaders of digital visual styles, made it hip and cool…and so “dark gray” has been The New Black for some time now. (along with orange, green, blue, etc. you get the picture ;-) And it’s great as an accent color or punch color.

However, I’ve noticed lately that Adobe’s new web-based offerings, arising from the macromedia acquisition, go for the dark gray look with overwhelming aggressive force, perhaps to the detriment of the product’s aesthetic quality and usability. Hey, I love the dark look, don’t get me wrong. I love that sexy glossy piano-black finish, like high-end gadgetry, or the Lamborghini Superleggera (a “wondrous riot of carbon fibre” as one car ‘zine enthusiastically declares). And I know pro video and photo and 3D modeling apps have had a “dark UI” for many years before it became hip, primarily b/c their users use them in some darkened room! (Modo in particular has a very nice visual style overall)

But when it’s a single dominant shade for the entire freaking UI of mainstream (“everyman”) app, per some trendy Web 2.0 RIA ethos, as done for Adobe’s Media Player, Photoshop Express, Digital Editions, and whatever else coming down from the Adobe Labs (including the AIR installer dialogs), I just find it all a bit…problematic. (also guilty, is MS’s Expressions Blend)

  • In terms of mood, it feels quite heavy and grim, almost depressing if not stale
  • Practically speaking, the look can obscure user’s tools and commands and menus, making them hard to find in order to accomplish a task
  • Text becomes lost or indecipherable; or you have the “sparkle” effect of light text against dark backgrounds
  • The focus of interaction can become lost, particularly if both the primary focus window and the background application are rendered in the same gray shades with little contrast
  • If everything is gray, then how does one distinguish easily disabled controls? The hierarchy of UI planes or windows can be lost
  • Overall the UI loses the rhythm and texture of contrasts, as the eye gets lost in a sea of flat sameness, overdone for the sake of “coolness”, which unfortunately devolves into “lameness”, thus backfiring upon the entire user experience

I understand the original Adobe motivations behind the “dark gray” look: for a sense of fresh hipness as fashionable street cred (as XD head Michael Gough once told us at Adobe, “we’re all fashion designers now”–and certainly style does matter as I’ve said many times as well), for ostensibly minimizing the interface chrome (as “no-chrome”), and of course for videos and photos to visually “pop” nicely.

I just think it’s a little overdone when it comes to the newest creations from Adobe Labs. Other better examples include:

Adobe’s Lightroom does a fabulous job of applying a darkness but balanced with lighter gray shades, and it all feels somehow appropriate, a sense of “fit”, for the product’s purpose and value to the critical pro photographer carefully (and rapidly) sorting and adjusting hi-res images for a client. It truly is a digital darkroom experience made real in the interface.

Adobe’s Acrobat has a nice use of the “dark gray” for the side well, nicely contrasting the overall lighter look, as an accent/punch color. It also defines clearly a functional zone or area that the eye can quickly gravitate towards and develop an easily remembered/recall-able mental model for the next use. Again, balancing against the dominant lighter UI for reading documents in enterprise environments, etc.

And coming back to Apple’s iPhoto and Aperture and iLife products, using the “dark gray” for transient palettes, rather than the central task area. It works nicely (although personally, the palettes are just a bit too transparent for me, making some palette labels and controls harder to read/use)… Dark gray works also for other peripheral or transient UI’s: I have Adium set in the dark gray (and minimal) style, I love Growl’s nifty status messages, Apple’s HUDs and tooltips offering key commands, so forth.

I just think for their interface style, Adobe Labs and XD team might consider some elegant contrast, towards improving product usability and add some rhythm and texture to the interface. Or even try multiple shades of gray, some lighter and darker, with touches of other colors as highlights. Contrast, balance, all the stuff Mullet/Sano describe in their classic textbook of visual UI design. Else, going all the way with just one dominant pervasive tone of “dark gray” can undermine or obscure the niftiness and the coolness of the novel products & features.

Wow, what a load of [cynical] crap

Rick Poynor‘s article for ID, “Down with Innovation”. This was the source of a recent heated discussion on ixda , and I finally got around to reading it… Whew, sorry that I did. A couple unfair mis-quotes from designers, but what got to me is that it’s just so heavily dripping with cynicism wrapped in layers of hubristic pretentiousness. Hopefully a glass of Russian River Pinot will help me forget it, maybe some HBO too :-)

Now I fully realize there’s a vocal contingency of designers (mostly graphic/visual designers it seems?) insulted by “design thinking” and “innovation” as the new black, but look, just get over it or risk further alienating from broader, diverse design community. Design and business need each other…

(And by the way… Eames, Elliot Noyes, Bel Geddes, Florence Knoll, Paul Rand, Jay Doblin all championed design at the strategic business level waaaaay before design fanboy Bruce Nussbaum started waxing poetically in BusinessWeek about “DESIGN” (throw in shrieking teenage girls in the background for effect))

Coming from CMU, I guess I was really fortunate to have acquired a deeper appreciation for the historical and rhetorical bases of these supposedly nouveau concepts, which I’ve written about in earlier postings for the “public good” in the hopes others would learn and get inspired for themselves. Buchanan, Pat Whitney, Roger Martin, Jeanne Liedtka, Tony Golsby-Smith, Vijay Kumar, have alot to share and contribute to this zeitgiest of design/business. Soak it up! You might learn something! All part of the liberal progressive expansion of the process and practice of design.

Oh yeah, and Poynor’s not a designer. He’s a critic. Boo. As a former mentor challenged me several yrs ago, “Do you wanna be a movie critic or the movie director?”. Until I see evidence that Poynor has a) tried to design something demanding the balancing act of technical innovation and human elegance/simplicity (that’s marketable for a business) or b) showcases an attempt at understanding the authentic relationship among innovation, strategy, and design (beyond the journalistic hype of biz magazines or pretentious “cultural speak”), I’m just gonna keep moving on and pretend I didn’t read his overdone diatribe.

(Actually there was one line in the final paragraph I really enjoyed about the “inherent intelligence of beauty”…will definitely research that further, to ahem, learn its full context and meaning)