CSS4 isn't the right way to go
I recently came across a post by Peter-Paul Koch on his blog called CSS4 is here!. I see people using CSS4 as a way to get clicks from time to time and it really irks me, so I tend to ignore them, but for some reason I decided to click through and see what he was talking about.
As I read, I realized that he was making an excellent point, CSS needs to be marketed a little better.
I remember when HTML5 and CSS3 became things. They had their own logos and it was a big thing. It was pretty exciting and I think did a lot of good overall.
So I see the appeal of trying to do the same with CSS4 again. As he says:
I think that announcing a new CSS version will bring desperately-needed attention to CSS, and will help the people evangelising CSS in the field make an impression on web developers who are otherwise not very interested in it.
I don't think it's the right idea though.
If we market "CSS4", how long does that raise it's profile? A year? 6-months? Maybe less?
In this industry, there is constantly a new thing coming out. So while it might grab people's attention for a short time-frame, I don't think it'll have a lasting effect.
Let's take advantage of how CSS is evolving now
CSS was becoming really, really big as they continued to add to it back in the late 90s and early 2000s. This was slowing down it's development.
To move to the next version, everything had to be reviewed and moved as one giant version update, which, with the size and scope of CSS3 meant that, if they kept that model, it would take forever before we ever saw another update.
Which is why they broke everything into it's own module that can be updated on it's own.
We didn't need to evolve to CSS4 to get grid, and boy, didn't grid take things by storm?
Instead of saying "look at CSS4", I think CSS is much better served by marketing the individual updates as they are released. Grid not only changed how we can make layouts, but it was really widely supported incredibly quickly, and I feel like it got a lot of attention, and still does now.
Now we have sub-grid on the way in. Let's get people excited about sub-grid. Show people how awesome it is, how it opens up new possibilities and make some amazing things with it to show it off.
Eventually, it might not be the hot topic, but then maybe we'll have something like
clamp(), or maybe even container queries, or whatever else ends up hitting.
And it's not always the new things, but often now it's one module being updated and much improved as well.
Some of these might be incremental updates that make lives a little better, and others might revolutionize things like grid did. Either way, it can hit the news cycle and make people go "oh, you can do that with CSS?".
By focusing on individual features of CSS as they gain browser support, it leads to continuous marketing and it also stops things from getting lost within the vastness of CSS.
So I really do agree with Peter-Paul in that people don't get excited by CSS, but I don't think pushing one big update is the right way to go.
There is another big problem
I know people who still teach floats in the classroom because it's what they know, and I've heard from others studying Computer Science that teachers are still teaching table-based layouts, then moving onto floats, and then getting to flexbox only once the entire class has lost interest in CSS.
A lot of old-school teachers seem to think it's important that we put students through the history of CSS.
That's a gigantic teaching fail, and one I doubt they make with other languages that have evolved well past their initial version.
Browser support is here for flexbox and grid. Why would you teach someone how to hack together a layout with tools that were never intended for it when we have the right tools for the job now?
And this is affecting a lot of people who are moving through computer science, and through other sources as well. They are not interested in CSS because they're being taught how it worked 10 years ago.
How we change that old-school approach from other teachers? I'm not sure, to be honest. It can be really hard to teach an old dog new tricks.
I wouldn't be surprised if many of these classes are taught by someone who has a focus in other languages anyway and isn't particularly interested in CSS too, which doesn't help. In the end, that might be one of the biggest reasons that people lose interest in CSS.
The more we talk about CSS, the better
Really, whatever we do, talking about CSS is what's going to make more people aware of what it can do, whatever it is.
It's all about raising awareness of what CSS is now, what it can do, and how much fun it can be.
You can help
If you like CSS at all, let people know about it. If you follow me on social media, you've probably been seeing my CSS Tip of the Day. One of the reasons I'm doing it is people don't realize so many of the things that you can do with CSS.
So anytime you learn something new, share it and let people know how awesome it is! It can take under a minute to share a cool tip on twitter, or if you find something that's really cool, you could even write about it on your own blog, or if you don't have one, on dev.to.
Even better, writing, talking, and sharing these types of things helps you learn them even better, so it'll up your game at the same time.