Johnnie Manzari

Premature Optimization
19 Dec 2011, 10:19pm

   

Back in 2006 when MySpace was on its way to becoming the most popular (as measured by pageviews) website in the world, there was a lot of talk about how MySpace was succeeding because it was ugly, cluttered, failed frequently, and was difficult to navigate. The rationale was that these traits made the site approachable, friendly and warm, unlike highly polished websites made by large corporations.

One of the more famous posts on this subject was written by Robert Scoble. His infamous (and since retracted) article “The role of anti-marketing design”—posted in March of 2006—incudes such gems as:

We’ve built a bulls**t filter that filters out well-designed things in a commercial context.

and

Maybe MySpace is kicking blogging’s behind because most blogs are simply too pretty!

Scoble used a narrow definition of design that is limited to simply the selection of fonts and colors. Because of the complexity of today’s products, this narrow definition of design excludes a lot of attributes that can make something wonderful and desirable, even if the fonts and colors are unappealing. Jason Santa Maria explains in his post “Pretty Ugly” written in 2006 in response to the uproar over Scoble’s post:

Craigslist is often cited as a prime example for the ugly/undesigned site success story. Guess what, that’s because you can’t see past the visuals. Does that mean it fails or is poorly designed? Well, no, just one piece of the puzzle is missing. Fortunately for Craigslist, the other pieces are so strong that they are able to overcome it. Craigslist succeeds despite its graphic design. This is hardly a revelation. How many poorly designed sites litter the internet? How many sites fail due to their lack of design? Craigslist is an anomaly, but hardly par for the course.

Whether or not we accept the argument that ugly fonts and colors are a good thing, the problem with this logic is that it oversimplifies what products are and how people interact with them. Telling people to make an ugly website is like telling someone to write buggy, slow code. It’s misguided and distracts a team from what is actually important: moving fast and balancing that speed with quality.

Building a new company is about getting traction before you run out of money. The faster a company can iterate and improve the product the more likely they will steer to a solution that is better than the competition. One obstacle to this necessary speed is what Paul Graham likes to call a “premature optimization”. He explains:

In software, paradoxical as it sounds, good craftsmanship means working fast. If you work slowly and meticulously, you merely end up with a very fine implementation of your initial, mistaken idea. Working slowly and meticulously is premature optimization. Better to get a prototype done fast, and see what new ideas it gives you.

Providing more detail, Max Levchin talked about the importance of speed in a 2005 interview with Robert Cringely:

I actually think that a successful startup is 5 percent good idea and 95 percent execution. It’s really – it’s just one of these things where can you strike the fear of God into your competitors by releasing every two weeks the features that it takes them three months to write. And by the time they’re done copying the features that you built last week, you’ve got three more months on them. And this is really all about execution.

One of the best ways to avoid premature optimizations and wasted time is to focus the product, being rigorous about the absolute minimum set of necessary features to define a release. This is true for design as well as engineering. Jack Dorsey explained in a speech at Stanford University:

You have to make every single detail perfect and you have to limit the number of details. If you pay attention to the smallest things while knowing what’s important, then everything else takes care of itself.

So there you have it: avoid premature optimizations, focus the product, and perfect the details. Oh, and do it quickly. If it sounds difficult, it’s because it is.

---

Recent Posts