Hampton Catlin is widely known for being the creator of Sass and Haml. He’s also the author of “The Pragmatic Guide to Sass,” built the mobile version of Wikipedia, Dictionary! for iPhone, and founded the libsass project.
I recently interviewed Hampton while producing Sass Basics, our new course on Sass. In the interview he talks about how he got into web development, why he created Sass, the importance of open source projects and more!
I picked it up mostly by myself. A friend of mine had a ‘zine in high school called “The Van” and so I worked my way through some ASP book to get something simple working. I had no idea what I was doing. A year later, I built a site called “Sorry, Cow” that was basically a simple app where you could sign your name to an irony-laced apology letter addressed to all the cows that we eat, and will still continue eating. It poked fun at both vegetarians and meat eaters. It ended up getting several hundred thousand signatures and was a big hit on LiveJournal with badges. It totally blew my mind that something I could make in my room would cause people to smile all over the world. Hundreds of thousands of people. That kind of impact just isn’t conceivable with any other medium.
You developed Sass back in 2006, what exactly was it about CSS that made you feel like you needed a better solution for writing CSS?
Nesting. Easy answer for me. I just couldn’t believe the amount of repetition that was required to style things *correctly*. We were expected to repeat ourselves if we wanted any decent scoping and I hated that it was harder to do the right thing. That’s a lot of how I think about products I’m working on… thinking about what should be easy and what should be hard. Product design isn’t always about making things easier, sometimes it’s about making bad behaviours really difficult.
CSS is evolving faster than ever. Do you think CSS will ever catch up with Sass, or at least be able to do some of the things Sass does?
I don’t think CSS should do most of the things Sass does. The only one it should support natively is nesting. Why nothing else? Because, I think we make our browsers do too much thinking these days. Have you ever thought about all the JS loading on every page load across the internet? jQuery is compiled millions of times a second on CPU’s everywhere… and mostly it’s unused. If that button is supposed to be red, then we can know that before you show up on the page. No reason to make every users’ browser repeat the same calculation! Some things are great for developers and some things are great for machines. Sass is for developers.
How important is it these days to work on––or contribute to––open source projects?
It’s an absolute necessity. One of the core traits that is important to me is collectivism. It’s the attribute that people actually care about other people. If I have an issue, then I want to fix it for others. Open source really helps you flex that muscle and get better at it. It teaches you how hard it is to get into a new project, and it also shows you how rewarding helping can be. At Moovweb, I push my teams to contribute back to the community as much as possible. We make it a pretty formalized part of day to day development.
Do you think it’s better to have a portfolio site, or a Github profile with several projects?
Depends on which direction you want to take your career. Portfolio sites are great if you are on the more creative end, but if you want to become a full time backend developer, great code samples are very important. I like to have both, myself. But, it all depends on how you want to brand yourself and what kind of role you are looking for.
You’re super passionate about delivering amazing mobile experiences. What are some of the biggest challenges you still face with mobile design and development?
Beside Sass, Haml, and Moovweb, you’ve worked on a lot of mobile games and apps. How do you manage your time and all projects?
I work on a fully fluid system. If something interests me, I pursue it. If my interest wanes, I drop it. I am a person who thrives in chaos! For every successful project I’ve launched, I have hundreds of ideas that are half baked. I believe that the only time you know if something will work is by starting to work on it. The process of having to build and design is also the process of revealing the secrets of the project. I don’t believe in knowing beforehand if something will work or not. You just have to take the first step, then re-evaluate. And, more times than not, that re-evaluation means I move on to something different. But yeah, I don’t manage my time, I just let myself do what I feel.
Where do you see Sass and Haml in the next few years?
Probably living together in a cottage in Upstate New York, watching the seasons change, making jams. Reading each other french poetry and discussing the latest episode of Miss Marple. Or… Sass is poised to continue changing how we perceive front end design.
Many of your creations came about because you felt there were important problems that needed solutions. If you’d never sought out solutions, some of these problems would likely still persist today. How important is it for designers and developers to take on solving problems themselves––like you did with Sass and Haml––and not just wait for someone else to do it?
Finding what makes you passionate is the most important step. If you aren’t into big ideas, don’t punish yourself because you aren’t doing wilder things. Figure out who you are and how you want to value your own life story. Write the biography you want for yourself.
For me, it’s always been about finding ways to push technology and progress forward while building better and better things for the world. I get such a kick out of that kind of impact. It probably comes from my childhood love of the Carousel of Progress at Walt Disney World. I wanted nothing more than to invent something that might appear in the ride! I’ve always wanted to be a real participant in the insane rocket ride that is human progress and invention. Where are we going? I have no idea, but we’re going there fast and I can’t wait to find out!