Last week, I mentioned a new feature I was starting to give a voice to developers who aren’t always as visible in our community.
Reinforcing how necessary this is, this week I came across this exchange on Twitter:
Sean Coates: For a pet project, I’m looking to list out some women who were active and influential in the web from 1995-2002, and not coming up with very many. Enlighten me, please?
Jen Simmons: There are tons. Or were. Many were driven away. Most have had credit for our work stolen by men. Few have Wikipedia entries.
One of these years we might just get up the guts to map the work we invented and pioneered to the men who get all the public credit for it. Like… OOCSS being renamed and repackaged — talked about as the “new brand” by everyone while, uh, Nicole you were doing it long before…
Which brings me to today’s spotlight: Nicole Sillivan, aka Stubbornella.
If you work with CSS, you may be familiar with the BEM methodology.
BEM stands for Block Element Modifier, and describes a modular approach to writing CSS that’s easier to read and maintain, and is better for performance. It emerged around 2012, and has been credited as being created by the folks at Yandex.
Here’s the problem: Yandex didn’t actually invent BEM.
Nicole Sullivan did, five years earlier. And she didn’t call it BEM. She called it Object-Oriented CSS (aka OOCSS).
I’m not saying the folks at Yandex stole her idea. It’s entirely possible they came up with it separately, having never heard of OOCSS.
The real problem is that Nicole Sullivan, a wildly talented developer, almost never gets credit for laying the foundation for BEM, which is really just an opinionated implementation of OOCSS.
Why OOCSS kicks so much ass!
The “Aha!” moment for me was this:
Components are like legos. Mix and match to create diverse and interesting pages.
It rewired my brain. It made a much better developer. If you like my approach to web development—small, modular, and focused on performance—you can thank Nicole. She transformed my career.
Nicole built CSS Lint, an online CSS linter that tells you all the ways your code sucks.
Someone created a Sublime Text plugin for this that I still use today. Insanely useful!