Ropa Vieja

Ropa Vieja is Spanish for “Old Clothes.” It’s a Mexican dish that you probably won’t find at many restaurants because, well, it’s not glamorous.  It’s peasant food and the prep could not be simpler: get a big pot, a very cheap piece of meat, throw in stock, vegetables and seasoning, and cook on low heat for a day, give or take a few hours.

The tough meat falls apart in strands that look like torn, worn out clothes. Hence the name.

What on earth does this have to do with design, and specifically design tools?

I tweeted out yesterday that the more I use great tools like SASS and the libraries that it has on client projects, the more I enjoy using plain old vanilla CSS on personal stuff.

SASS is wonderful – I am in no way anti-SASS.  I use the libsass port of Foundation on nearly every client project now because doing so allows me to

  1. become more efficient by doing (repetitive actions get faster)
  2. reuse snippets for common components (saving time, which ultimately means more profit and/or cost savings)
  3. ensures my code is standards compliant (because Foundation is built by really smart developers and a lot of people use it)
  4. Helps me automate performance testing and performance improvements (the libsass version uses Grunt to manage tasks, and is totally configurable.  Again, this saves time and makes adding value easier)

To extend the cooking analogy,  if you’ve ever worked in a kitchen before you know –  lots and lots of prep goes in before the house opens. Some ingredients and dishes can even be par-cooked, so the speed of service (i.e. production) can be sped up to increase profitability. You also know that every dish in every restaurant has a recipe and that every prep cook, line cook and sous chef is expected to follow the recipe.  Following the recipe is not that difficult.

When I write production code,  I am basically following recipes so that I can serve them quickly, with a smile and try to leave my guests (clients) planning when they are coming back next.   But following a recipe and writing a recipe are two very different tasks. Understanding why a recipe works is different than following the recipe.

Which takes me back to vanilla CSS.  Whenever I want to learn how to do something with SASS, and really understand it, I’m going to practice it a lot with vanilla CSS.  The flaws of CSS actually make it a very good learning tool.  To write all this by hand is time consuming, far more than applying snippets.  The action of writing it all out helps me to understand it. It’s a simple method to reintroduce mindfulness and focus to tasks that can be pretty rote once you’ve done them a few times.  By slow cooking my CSS,  I begin to understand what it is I’m doing better and as an extension, can find novel ways of doing things.

Production and practice are two very different tasks, and the tools we use can be different.   If you look at any sport or craft,  most of the practice time is spent on activities that aren’t actually the competitive or production environment.  It’s totally worthwhile to practice isolated tasks (such as, say, making a block grid list) in a slower,  simpler environment.  It’s analogous to taking batting practice, or doing a table read for a scene, or peeling potatoes.  Ultimately, the best in the world at anything aren’t all that special: they happen to be flawless at the rudiments of their profession, and this only comes from lots of dedicated practice time.

So, the next time you set out to learn a new skill, put away the command line and the fancy tools and the things that make your competition or production better. Get back to basics, slow down, and enjoy some old clothes.