What are you designing for?

My upcoming webinar got me thinking about a recent conversation that I had with Fabiola about design decisions. It also reminded me of a few of Steve’s recent blogposts on Design Priorities and on Project versus API Design.

My discussion with Fabiola revolved around the differences between the Actor Framework (AF) and the Delacor Queued Message Handler (DQMH). Her point smacked me as really obvious once she said it, but it hadn’t occurred to me before. Her point was that the DQMH was designed to focus more on being easy to debug at the expense of flexibility while the Actor Framework was designed to be as flexible as possible at the expense of being more difficult to debug.

Fabiola’s observation struck me as way more succinct than my ~50 page slideshow comparing the AF and DQMH. It got me thinking about all of the inherent tradeoffs we make everyday, which reminded me a lot of Steve’s articles.

My question to the audience is what are your unique design considerations? and what do you willingly sacrifice in order to achieve them?