Call for Head First Design Meditations
We've got books covering programming techniques, APIs, idioms, and of course design patterns. But do you ever find yourself needing some software design insight, wisdom, or just a little creative push?
Although I'm not a musician, I've always been inspired by Brian Eno's work called Oblique Strategies, which consists of nothing more than a deck of cards in a black box. Each card in the deck contains a working principle that Eno used in the studio in a pressure situation or in a situation where he just needed a little mind jogging. In those moments he could turn to the deck and choose a card at random.
The instructions that came with the cards were as follows:
These cards evolved from our separate observations on the principles underlying what we were doing. Sometimes they were recognized in retrospect (intellect catching up with intuition), sometimes they were identified as they were happening, sometimes they were formulated.
They can be used as a pack (a set of possibilities being continuously reviewed in the mind) or by drawing a single card from the shuffled pack when a dilemma occurs in a working situation. In this case,the card is trusted even if its appropriateness is quite unclear. They are not final, as new ideas will present themselves, and others will become self-evident.
Here's a few examples of cards:
Honour thy error as a hidden intention.
Make an exhaustive list of everything you might do & do the last thing on the list.
Don't be frightened of cliches.
Remove ambiguities and convert to specifics.
Only one element of each kind.
Now these don't translate all that well to software development (although I'm sure I'm going to get email arguing that they do), however I personally would love to have a deck like this based on the software creative act (rather than music). The point isn't so much to get you out of a sticky situation (although it might), but rather to add a little inspiration and insight into your day.
So, here's what we're going to do: We're going to start collecting short quotes of software design wisdom, insight, little idioms and perhaps some outright quotes from some notable people in the field. These are going to be combined into a REAL deck called Head First Design Meditations. Here's a couple prototype cards (maybe not the best, this was more a graphic exploration):
We definitely need YOUR input to build this deck, so please send us your submissions. We'll post our favorite candidates here on the site, and possibly even allow people to vote on them. If you submit an idea that makes it in the deck we'll also have a nice card that has all the contributors names on it. Also, everyone who submits an on-topic entry will be entered in a drawing, and we'll give at least a half-dozen away when the deck is finished. The Head First gang will sit down and judge the entries and pick the final deck. We're not quite sure how big the deck will be yet, but we're hoping to allow preorders and also have them for purchase on Amazon.
Here are the submission guidelines:
(1) Send your submissions to firstname.lastname@example.org (feel free to post your ideas as comments as well, but we still need the email).
(2) Keep your submissions short, remember this has to fit on a playing card!
(3) You may submit as many ideas as you like.
(4) In your email indicate the source of the quote (or if it is yours, give us permission to use it).
(5) Make sure we have your name and mailing address.
That's it! If you like the idea please help spread the word!
Update: We've now got a new, special page for Design Meditations
Posted by Eric Freeman on January 15, 2005 | Permalink
TrackBack URL for this entry:
Listed below are links to weblogs that reference Call for Head First Design Meditations:
» A creative brainstorming card deck in the making from Dana's Blog - Internet Marketing and Sales Technology Ideas From the Trenches
Eric over at the Creating Passionate Users blog is accepting submissions for a creative brainstorming card deck, called the "Head First Design Meditations," that he and some others are creating for software authors. He references the Oblique Strategies... [Read More]
Tracked on Jan 17, 2005 7:13:52 PM
Here's an example of a card deck for being creative. Each time you refresh the page, you'll see a different card and tips on using it.
Posted by: Skyler | Jan 15, 2005 6:11:10 PM
"Dispassionate Coder is a oxymoron."
Posted by: sameer borate | Jan 18, 2005 10:13:07 PM
Thanks Sameer, we're working on a page to get these up for all to see!
Posted by: Eric | Jan 18, 2005 10:21:13 PM
When I read this entry, I thought immediately of the "Bumper-Sticker Computer Science" column by Jon Bentley, collected in "More Programming Pearls"... one of my favorites from the column:
'The cheapest, fastest, and most reliable components of a computer system are those that aren't there." - Gordon Bell
I guess this is an older spin on YAGNI. The column is highly recommended for further mining.
Posted by: Patrick Morrison | Jan 19, 2005 8:30:19 AM
Great idea. :-) It would probably help if you could rate what you got so far, so we would know how serious/humorous, light/profound etc. the quotes should be. Here are some anyway:
“Data maintenance is a more important and more risky task than code maintenance.”
“Unfortunately, the use of any design paradigm during analysis prejudices the implementation to use that paradigm, even when another paradigm might in fact provide a better partitioning.”
“It has always been a good idea to mix multiple paradigms tastefully, and great software designers have long kept several tools in their toolbox.”
“Mixing paradigms is admittedly hard, just as it is difficult to tastefully mix several architectural schools in a single building.”
All three from James O. Coplien's Multi-paradigm design
Posted by: Map | Jan 19, 2005 4:22:41 PM
I agree. Hang tight, we're working on getting these all up!
Posted by: Eric | Jan 19, 2005 4:25:14 PM
What are our deadlines?
Posted by: Map | Jan 20, 2005 7:18:28 PM
The comments to this entry are closed.