June 20, 2022

My first time at CSS Day 2022

It is Wednesday morning, the 8th of June and I am sitting on a train. My colleagues and I are Amsterdam bound, on our way to the 8th edition of CSS Day, a two day CSS conference and I am pretty damn excited. But before I can tell you all about my first time visiting Amsterdam, we have to briefly go back to the winter of 2020.

Image showing the CSS Day logo in the Factorial colours

How everything started

I had just decided to become a web developer and was spending my time watching tutorials on YouTube and working my way through an Udemy course. My best friend, who is a self taught developer as well, was cheering me on as we talked about how awesome life as a dev can be: Being part of a friendly community, forever learning new things and building cool stuff. We watched videos of past conferences, spotting people we knew in the crowd. 

I’m sure I had a wistful twinkle in my eye as these videos symbolised a future I was hoping for for myself. I imagined being there, being a part of this microcosmos of creative and smart people. Becoming a developer seemed so far away then, while I was just understanding what an HTML tag was. Another thing that seemed far away at that moment was seeing so many people at an in-person event, mingling, talking and laughing together, no masks, no social distancing, no worries. I resolved to go to a conference, one day in the far future when I was a web dev and real life conferences could happen again. 

Fast forward to summer of 2022: I am on a train and it hits me that this is really happening. We arrive in Amsterdam, make it up all the wonky stairs to our hotel rooms and then we are already off to the venue.

The first day

I suffer from a mindset that I think many of us have: I have lots of goals but am bad at celebrating once I reach one of them. I am acutely aware of all the ways I’m lacking, how little I know and understand of coding and the web. But while I was sitting in a chair in a beautiful building that used to be a church, surrounded by people, listening to the talks of people who shape the web, I tried to remind myself that I belong here. That I am just at the beginning of my path, yes, but at the same time I came this far already.

As I don’t have a history with CSS (yet), I didn’t get every throwback, all inside jokes and certainly not every technical aspect mentioned in the talks. But I understood most of it, I could follow along and form my own opinions on the topics discussed. The conference provided so much context for me; why we do things the way we do, where we’re coming from and how this informs where we are going. As these talks inspired me to try things, read up on things, build things, I had to stop myself from instantly setting new goals of what to learn next and take the time to be in the moment and celebrate myself for making it here instead. At least for a moment. 

I won’t recount the core messages of each talk here, others have done so already and better than I could. The conference was recorded though, so check out the youtube channel. Instead I will go over some of the details that left a lasting impression on me.

Jeremy Keith opened the conference with a big picture keynote about the evolution of CSS and set us up perfectly, talking about how shared context and agreement are the foundation on which we all rely. He explained material honesty as using the right tools for the right job. As CSS evolves new features eventually become the standard, allowing us to ditch hacky workarounds and single purpose tools and move closer to materially honest code. He set the stage for the next 48 hours, reminding us: “CSS is simple, but not easy”. 

Rachel Andrew then smoothly picked up the thread with her talk about Interop 2022, sharing how the project strives to bring us all the new features across different browsers. There are so many exciting new features being rolled out right now. Rachel, as well as many of the other speakers, reminded us to take part in the process, to give feedback, file bugs and demand the implementations we are missing. I was wondering beforehand if I would feel starstruck with so many well known people on stage, but I quickly realised that this truly is a community where everyone can participate as much or as little as they want. We are all human here.

Next Lea Verou zoomed us in even more, getting into the nitty gritty, making my head spin with her css variable tricks. The automated live coding of her story in four acts made me want to build something cool, like, right now. 

The last talk of day one was a super fun presentation by Marcin Wichary talking about the history of fonts, keyboard shortcuts and the headaches of a designer. It wasn’t just entertaining to watch Marcins energy and his super cool slides. It also made me think about the “material quality” of the shapes we create on the screen. 

The second day

On the next day Adam Argyle started the day with a snappy presentation (pun intended). His talk was one of those that made you itch to get a computer in your hands to try these code snippets for yourself. There is so much you can do with a few lines of code to give your site a satisfying feel, making scrollable content snap nicely, creating pretty effects.

The talks of Ben Evans about css art and Maike Klip about the intersection of web design and politics were a nice juxtaposition. One emphasising on doing css art for the fun of it, to relax and embracing laziness. The other asking us to consider our responsibility in shaping the interaction between citizens and governmental institutions. This is something I need to meditate on more, we all do, I think. There is a line to walk between recognising that what you build has a real life impact that shapes people’s experiences and keeping a creative joy alive at the same time. 

The last talk of the conference was by Stephen Hay about design systems. I’m not gonna lie, at the end of two days of so much input I was starting to lose focus a bit. but then Stephen said something that made me snap back to attention real fast: He asked the audience why we do all this stuff with design systems and component libraries in the first place. His answer: “beauty”.

In the end it all comes back down to creating something that is beautiful. An experience, a product, a codebase that has a quality to it that enriches the lives of those that interact with it. What a perfect note to end on.

And this, dear reader, is what it comes down to for me as well.

Beauty is at the core of it all, at least for me. Beauty does not just mean pretty, which is of course subjective. It also means making something feel and behave right. It’s going back to material honesty, writing semantic HTML. Using an <input> for your inputs just works (and now with accent-color in all major browsers it is even fun to style). It is not “form follows function” or “function follows form” — form is a part of function. Something can look shiny but if a user doesn’t know what they are supposed to do the experience will be frustrating. This ties in accessibility as well. Only if a site can be understood and used by anyone who interacts with it, it really works. Good design matters. Both, for making dry government forms easy to understand as well as making art and animations joyful. This is why it matters to “escape the sRGB prison” and use all the tools at our disposal. 

Building websites or products is an inherently collaborative process. How we organise our CSS so that others can understand and maintain it is worth thinking about. Writing beautiful code isn’t superfluous if it means writing code in a way that is easily understood. One thing I loved about the dev community from day one was how diverse it is. We all come from different backgrounds with different experiences and perspectives. Everyone has a different process, maybe it is drawing graphs of movement like Amit Sheen. Or it’s collaborating around the globe like Ana Ferreira. But whatever it is, we all share an understanding of how we do things, like Jeremy Keith mentioned at the beginning of the conference. Places like CSS Day are where we come together and talk about it, check in on each other and form the continuous agreement that makes it all possible. And isn’t that just beautiful?

Image showing a portrait of our colleague Judith

Judith Plath

Junior Frontend Developer

judith@factorial.io