Skip to content

Instantly share code, notes, and snippets.

@chriseppstein
Created August 28, 2014 18:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save chriseppstein/40e51bf916dc0dd696ce to your computer and use it in GitHub Desktop.
Save chriseppstein/40e51bf916dc0dd696ce to your computer and use it in GitHub Desktop.
An Interview I did for the Chinese launch of Sass & Compass in Action.

How did you come to be interested in Sass and then creating Compass?

When I found Sass in 2007 it was version 1.8 and part of another open source project called Haml which is an HTML templating language for ruby. While Haml was good, I found Sass to be revolutionary. It didn't have most of the features it has today, but it had enough for me to see the promise of a system where stylesheet libraries (often called CSS frameworks) could be distributed like software libraries with proper APIs and none of the downsides that traditional CSS Frameworks had.

Compass started as port of the Blueprint CSS framework to Sass. I talked the Blueprint team into allowing me to submit a patch that used Sass as the source language and created CSS for distribution. At the time, Blueprint was a very successful open source project, so I worked very hard on this patch. When I was done I had replaced literally every line of code in the that project. Along the way, I realized that the toolchain I created was general and could be decoupled from the particular stylesheets I was trying to deliver. When my patch to Blueprint was rejected I wanted to point the way for how a real CSS framework should work. So I called my project Compass because it points the way and sounds similar to Sass.

You have been close with many startup companies. Have you found the secret sauce for success?

Yes. Find a job that you love doing with people who you love to work with. Don't work for less than the market rate no matter how much equity they offer you. Don't work too hard at your job or else you cannot have enough time for the people in your life who really matter. If you have these things, you have success no matter how things turn out at your startup.

That said, at any job or product, I think the key skill is find a balance between listening with an open mind and have the taste and visions to know what ideas move you towards your end goal and which ones distract you from it and then to say no to the ideas that distract you. Sass is the result of this process. We knew what purpose we wanted the language to serve, but we also listened to the community and users and let them guide us down the path that made our product useful to them.

What are the major benefits of joining LinkedIn? How did LinkedIn help with development of Compass?

Before joining LinkedIn, my responsibilities to my job and family had made working on open source software impossible. I was burned out and needed to stop doing something so open source software was that thing. But it was also my passion, so I set out to find a way to make open source software part of how I earned money. I considered consulting, teaching technology, and I reached out to some key companies that I felt had a vested interest in seeing Sass and Compass development proceed more quickly. LinkedIn answered that call enthusiastically and after meeting the people there and seeing how passionate they are about supporting open source software, I knew I had found my home.

Everyone at LinkedIn gets to use 10% of their time to work on side projects, but I get to use 50% of my time to work on open source software as I see fit. The other 50% of my time is spent helping LinkedIn on their static content and stylesheet architecture and tools.

Many wonderful people have contributed to Compass, as brilliant as Eric Suzanne and Scott Davis. At the beginning of this project, how does Compass draw attention from all these people?

They found me, and after demonstrating their desire to help, I embraced them. None of us were known for anything at the time. We became well known by working together to make something amazing.

As CSS can be fragile at times, some people are worried they’d have to completely alter the way they write and manage stylesheets once they start trying CSS preprocessors. Do you have some suggestions for them?

CSS can indeed be fragile and using Sass will completely change the way you think about stylesheets. This is a good thing. But since the SCSS syntax is a superset of CSS you can start to embrace each feature slowly at your own pace. The first step is to change the filename from ending in .css to ending in .scss. Congratulations! You are now writing sass. Now extract some repeated values to variables so they'll be easier to change if you need to. Then make some mixins to make common patterns in your stylesheets easier to maintain and identify when you are reading it. Use some nesting to make your repetition less and your file more readable. It's easy!

People keep arguing about which is the best between Sass, LESS and Stylus, would you please explain to us about their each unique advantages?

Sass is the undisputed best stylesheet processor and the clear choice. But the reasons you might choose LESS is that it is easier to get started with because it can run in your browser. JavaScript/Node.js based projects will find it easier to integrate with stylus and LESS because they are built in javascript. The Stylus language is more targeted at programmers and LESS tries to be more declarative than Sass to keep with the declarative nature of CSS. All of them will make your life easier, than plain CSS, which is just terrible.

After some time Compass is getting bigger and bigger, have you considered optimizing it at some point?

Compass never forces you to have anything in your stylesheets that you don't want. That said, in Compass 1.0 we've split Compass into two projects the "CLI" which is the Command Line Interface of compass, and "Core" which is all the stylesheets and configuration. The core library can be used without the CLI and this makes it easier to interact with other Sass-based projects to add compass support. Eventually, the Compass core will work with LibSass -- a C++ based implementation of Sass that is incredibly fast.

There are so many excellent Sass and Compass tools available right not, what tools do you personally recommend?

It's hard to answer this question because it's so general. I think you have to pick the right tool for the right job. That said, Susy 2 is a great grid system and I think it is very innovative and sets a new bar for how clean and composable APIs can be made in Sass.

Compass is charityware, how many related tools have helped Compass in raising funds? How much has Compass helped donating to UMDF?

As far as I know, only Compass.app has donated some of their profits. All the rest of the $22,000 we've raised has come from the community at large. Every little bit helps! You can donate too.

Conclusion

Thank you all very much for reading my answers and I hope you enjoy our book! We love making Sass & Compass for you and we hope you love using it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment