How to blog An Article by Tom MacWright macwright.com Own your domain and use simple technology Never change the technology Write something on a schedule Never change the technology Things Learned Blogging blogging
Hacking is the opposite of marketing An Article by Tom MacWright macwright.com One of my favorite definitions of “hacking” is the creative reuse of tools for new and unexpected purposes. Hacking is using your email account as a hard drive, using your bicycle seat to open a beer, using Minecraft’s red bricks to create a calculator in the game. The opposite of hacking is marketing. Marketing tells you that this particular non-stick pan is the pan you’ll use to make omelettes, and you’ll do it in the morning dressed in fashionable clothing in a nice kitchen. It includes a photo and inspirational copywriting to drive this home. Marketing dictates a style, context, and purpose for even the most general-purpose products. This narrative needs to be specific so that you can readily imagine it: it’s you, in an Airbnb, laughing with friends. All sorts of ways to use the machineIn ways you didn't anticipateStretching the product toolsadvertisingcreativityutility
The return of fancy tools An Article by Tom MacWright macwright.com Technology is seeing a little return to complexity. Dreamweaver gave way to hand-coding websites, which is now leading into Webflow, which is a lot like Dreamweaver. Evernote give way to minimal Markdown notes, which are now becoming Notion, Coda, or Craft. Visual Studio was “disrupted” by Sublime Text and TextMate, which are now getting replaced by Visual Studio Code. JIRA was replaced by GitHub issues, which is getting outmoded by Linear. The pendulum swings back and forth, which isn’t a bad thing complexitysimplicitytoolssoftwaretechnologynotetaking
Picking better names for variables, functions, and projects An Article by Tom MacWright macwright.com Avoid weasel words Follow patterns religiously Don’t cheap out on characters Call things the same thing Don’t name internal projects When things change, change their names namescode
What's Wrong With This Model? A Chapter from The Design of Design by Frederick P. Brooks, Jr. What's wrong with the rational modelDeciding what to designEvaluating goodnessChanging constraintsThey just don't work that way+1 More
What's wrong with the rational model We Don’t Really Know the Goal When We Start We Usually Don’t Know the Decision Tree – We Discover It as We Go The Nodes Are Really Not Design Decisions, but Tentative Complete Designs The Goodness Function Cannot be Evaluated Incrementally The Desiderata and Their Weightings Keep Changing The Constraints Keep Changing Changing constraintsDeciding what to designThe situation talks back
Deciding what to design We Don’t Really Know the Goal When We Start The most serious model shortcoming is that the designer often has a vague, incompletely specified goal, or primary objective. In such cases, the hardest part of design is deciding what to design. I came to realize that the most useful service I was performing for my client was helping him decide what he really wanted. Today, we recognize that rapid prototyping is an essential tool for formulating precise requirements. Not only is the design process iterative; the design-goal-setting process is itself iterative. Knowing complete product requirements up front is a quite rare exception, not the norm. Therefore, goal iteration must be considered an inherent part of the design process. What's wrong with the rational model iteration
Evaluating goodness The Goodness Function Cannot be Evaluated Incrementally The Rational Model assumes that design involves a search of the decision tree, and that at every node, one can evaluate the goodness function of several downward branches. In fact, one cannot in general do this without exploring all the downward branches to all their leaves, which is possible in principle, but leads to a combinatorial explosion of alternatives in practice. What's wrong with the rational model
Changing constraints The Constraints Keep Changing The explicit listing of known constraints in the design program helps here. The designer can periodically scan the list, asking, “Can this constraint now be removed because the world has changed? Can it be entirely circumvented by working outside the design space?” What's wrong with the rational model constraints
They just don't work that way Perhaps the most devastating critique of the Rational Model, although perhaps the hardest to prove, is that most experienced designers just don’t work that way. “Conventional wisdom about problem-solving seems often to be contradicted by the behavior of expert designers. Empirical studies of design activity have frequently found ‘intuitive’ features of design ability to be the most effective and relevant to the intrinsic nature of design. Some aspects of design theory, however, have tried to develop counter-intuitive models and prescriptions for design behavior.” — Nigel Cross
We must outgrow it Why all this fuss about the process model? Does the model we and others use to think about our design process really affect our designing itself? I believe it does. I believe our inadequate model and following it slavishly lead to fat, cumbersome, over-features products and also to schedule, budget, and performance disasters. The Rational Model, in any of its forms, leads us to demand up-front statements of design requirements. It leads us to believe that such can be formulated. It leads us to make contracts with one another on the basis of enshrined ignorance. A more realistic process model would make design work more efficient, obviating many arguments with clients and much rework. The Waterfall Model is wrong and harmful; we must outgrow it.