The Gray Areas of HWB Color
Working on Sass
support for color spaces,
I ran into a question
about the proper handling of hwb()
colors.
That lead me down a rabbit hole,
exploring the edges of hwb
(and powerless color channels) in CSS.
Part 3 of Fuck the Muse @ The Operating System
Cycles have become the core of my creative process. Thinking in cycles means I always know where I am and where I’m going, even when I feel overwhelmed by the size of a project. If I’m stuck, it’s time for a new mindset. If my last move was to zig, my next move is to zag.
In his 1991 lecture on creativity, John Cleese describes two modes of operating: an “open” playful mode, and a “closed” productive more. Creative people, he claims, are simply the people that cultivate the open mode of operating.
We need to be in the open mode when we’re pondering a problem, but once we come up with a solution, we must then switch to the closed mode to implement it.
Renowned psychiatrist Iain McGilchrist uses the same general framework in his RSA lecture on the Divided Brain:
The right hemisphere gives sustained, broad, open, vigilant alertness where the left hemisphere gives narrow, sharply-focussed attention to detail… Let me make it very clear, for imagination you need both hemispheres.
Like all tools, our different modes of thinking allow us to solve different types of problems, or to solve the same problems in different ways. You have to know when to set down your hammer and pick up a chainsaw. That’s where cycles become useful.
Cycling through different modes has become the core of my creative process. Thinking in cycles means I always know what to try next, even when I feel overwhelmed by the size of a project. If I’m stuck, it’s time for a new mindset. If my last move was to zig, my next move is to zag.
But open/closed and right/left aren’t the only modes available to us. I keep various mode cycles in mind as I work, and invent new ones when they seem useful:
What cycles are useful to you?
Putting these ideas to use is a cycle of it’s own — stepping in and out of the work. When you hit a snag, step back and consider your approach. Often, an obstacle to the open mind can be overcome with a closed mind, and vice versa.
If I’ve been looking at the details, I step back and look at the project from a distance. How does it all fit together? Are the problems on page 12 caused by something on page 3? If I’ve been writing stream-of-conscious (expanding), I start editing with a vengeance (contracting). Creativity is subtraction as much as creation.
Similarly, If I’m all out of ideas, I spend some time doing research. It’s important to have a deep well of material to draw on, and that well needs to be maintained. Sometimes I’ll study a related topic, or I’ll read a book, watch a movie, or just watch TV. Ignore the old “garbage-in, garbage-out” mantra. Watch shitty TV, eat some candy, and enjoy it. You can learn a lot from garbage.
Practice being critical without being dismissive. The important thing is to replenish. Getting new ideas into your head is part of the work.
No one technique is going to get you the whole way there. Practice changing directions quickly. What happens if you switch modes every five minutes?
Stay responsive to problems as they come up, changing your approach based on the problem in front of you. When you get stuck, that’s a good thing. Use your frustration as motivation. Frustration is just a cue for change. Push back. Ask why you’re stuck. Explore your stuckness, reflect on it, dive into it, adjust, and keep moving.
Creativity happens in cycles: the end of one cycle is the start of another.
Working on Sass
support for color spaces,
I ran into a question
about the proper handling of hwb()
colors.
That lead me down a rabbit hole,
exploring the edges of hwb
(and powerless color channels) in CSS.
This post has been written and published, and filed away for safe keeping as an event that happened in my past. This post is also a live performance, and an invitation to engage. Thanks for dropping by.
In CSS, there are compound selectors and also complex selectors, and I never remember which is which. Do you need to learn the difference? Probably not. But I’m tired of looking it up.
The other day, I posted an article about implementing webmentions on this site. Today, I’m battling an endless stream of spam in my mentions.
I’m really into the IndieWeb, or the ideas behind it. I like to own my data, I like a space to play and experiment, I like the idea of syndicating content to be read/experienced in a variety of formats. I love microformats, and RSS feeds, and… wait… how do webmentions work?
What does it mean to be a person – to have a body, and live in it – to make choices, and change over time – to tell the truth?
Cascade & Inheritance Level 5 defines Cascade Layers – allowing authors to define explicit contained layers of specificity.
Reflections on making theater, and my family reacting to it.
Declarative controls for presentational state
Cascade layers are a new CSS feature that allows us to define explicit contained layers of specificity.
Cascade & Inheritance Level 5 defines Cascade Layers – allowing authors to define explicit contained layers of specificity.
CSS Containment Level 3 defines Container Queries and container-relative units – allowing authors to build more intrinsic responsive components without knowledge of the overall layout.
Cascade & Inheritance Level 6 defines scoped styles – allowing authors to provide bounded ranges for selector-matching, and give priority to more ‘proximate’ scope origins.
I was Interviewed by Rachel Andrew for the web.dev Designcember (and finally got around to posting a link here)
Miriam talks to Now What? about why the internet looks the way it does, why designers and developers need to collaborate and how the future of the web must be built around inclusivity and respect.
We discuss the role of the ‘design engineer’ and what it means for workflows, collab with their product team, and the end-user experience.
A podcast focusing on front end development but also covering a wide range of web development and design topics. We talked about CSS, Sass, and work being done in the W3C CSS Working Group.
Igalia’s Brian Kardell sits down to chat with Miriam and Rachel Andrew about who works on standards, and who pays for that work.
In this episode of Syntax, Scott and Wes talk with Miriam about all things CSS – container queries, layers, scoping, and more!
I talk with Claire and Steph about my journey into webdev and onto the CSSWG, what I find frustrating about how others use CSS, and the three specs I’m working on.
Working on a new CSS feature like Container Queries, one of the most important considerations is to ensure a “migration path” – a way for developers to start integrating the new code, without breaking their sites on legacy browsers.
A reflection on change, desire, choice, and the stories we tell about ourselves
I chat with Bruce Lawson & Vadim Makeev about Sass & Susy, CSS Layers & compatibility, Container Queries, and the CSS Working Group.
Starting a new season of the Smashing Podcast with a look at the future of CSS. What new specs will be landing in browsers soon? Drew McLellan talks to Miriam to find out.
Media-queries allow an author to make style changes based on the overall viewport dimensions – but in many cases, authors would prefer styling modular components based on their context within a layout.
“What is one thing you learned about building websites this year?”
I join Ari, Ben, and Tessa to talk about getting into CSS from other languages, the absurdly massive problem CSS is designed to solve, and the mental model behind the language.
As I spend more of my time working on the CSS language, I wanted a place to take notes and explore new ideas in the open.
Learn how design engineering brings together form and function.
CSS Custom Properties allow us to manage and control both cascade and inheritance in new ways.
Jina and I answer questions about CSS, Sass, Design Systems, and more!
A spinoff of the Party Corgi Network discord. I chat with Chris Biscardi about The CSS Working Group, open-source projects, art, and music.
I wrote this at the start of the Iraq war (2003), and later made the short film. It’s been on my mind again during COVID-19 isolation.
Sommer asked people to record themselves reading a poem from her collection, Backup Singers. I put together this video of the poem Alcohol affects the frontal cortex.
“What about building websites has you interested this year?”
Firefox 69 was the first to implement selector feature queries, but other browsers are following suit. I’ll show you how it works, and how to start using this new feature query right away.
Horizontal text overflow has always been difficult to manage on the web. The default visible overflow is designed to make sure content remains accessible no matter the size of a containing box, but it’s not our only option.
Why waste your time on half-measures? Make your site THE MOST NORMALEST with this ULTIMATE CSS RESET.
When we’re scrolling down a page, or through a gallery of images, snap-targets can help guide us from one section or image to the next. In the past, developers have used JavaScript to hijack scrolling, but now we can manage scroll alignment directly in CSS with only a few lines of code.
I drop by the show to talk about Sass in 2019, design tokens, Oddbird, unused CSS, new CSS properties, and Dave & Chris’ explanation of revert.
The display
property has been in CSS from the beginning,
handling everything from block
and inline
boxes
to list-items
and full layout systems like flexbox
or grid
.
Now the display
syntax is getting an upgrade
to match it’s multiple uses.
There are a number of property & value combinations that can lead to CSS being inactive, and now Firefox will tell you why. Open the developer tools, and look for the greyed-out property with an info-box on hover.
It’s a common pattern to align form labels and inputs in grid-like layout. I’ll show you how to do it quickly using CSS subgrid, with several quick fallbacks.
Card layouts are popular on the web, rows and columns of boxes with similar content. CSS grids can help align those cards, but it’s still be hard to line-up content inside the cards – headers and footers that might need more or less room.
For years, we’ve struggled to build resilient layouts on the web, but CSS Grid promises to change all that – and you can start using it now, with only a few properties and basic concepts.
I’ve often used initial
and unset
in my CSS –
global keywords that can be applied to any property.
The difference is small, but important:
unset
allows inheritance,
while initial
does not.
But then Firefox implemented revert
and I was confused –
how is this one different from the others?!
Sass recently launched a new module system.
The new syntax will replace @import
with
@use
and @forward
–
a big step forward for making Sass partials
more readable, performant, and safe.
Love it or hate it, CSS is weird: not quite markup, not quite programming in the imperative sense, and nothing like the design programs we use for print. How did we get here?
When you create lists in HTML, browsers add bullet-points or numbers we call list markers. Now CSS gives us the tools to style those list markers, and even create our own!
In the CSS naming-convention arms race to lowest specificity,
I’ve decided to only use universal *
selectors.
I call it F*CSS.
We start by talking about design systems and design tooling – how they differ, and the problems they solve.
Pushing past the “variable” metaphor, CSS Custom Properties can provide new ways to balance context and isolation in our patterns and components.
A reflection on change, desire, choice, and the stories we tell about ourselves
Steve Jenkins interviews me about the state of CSS, and what’s coming next for the language – from Intrinsic Design to Dynamic CSS.
Thunder Nerds interview me before her talk at VueConf US 2019.
The panel and the guest talk about grid systems, fonts, and more!
On Episode 18, the TalkScript team continues the live-ish at JSConfUS podcast series with guests Myles Borins, Tim Doherty, and Miriam Suzanne. Listen in!
The Journal of Mennonite Writing asked me to submit for their queer issue. I don’t identify as Mennonite, but I did grow up in the church, so I asked my friends what to write about. They suggested the common question: In a world without rigid gender roles, would anyone need to be trans?
Yesterday, I shared an article about my impending surgery, and a request for help – both social and financial – as I go through this. I was embarrassed to ask, and not sure what to expect, but your response has been swift and overwhelming. I can’t thank you enough, but I’ll keep trying.
Denver Health has started offering vaginoplasty in addition to their other trans medical services. While I’ve been on the waitlist for various surgeons around the country, Denver Health called me this week to give me a date: September 10, less than two months away.
“I don’t have many guy friends, but my guitarist is one. Parting, I lean in for the cheek-kiss but he plants a good one right on my lips.”
I used exerpts from Body & Gender Fragments to talk about the contradictions of transition – a sort of “crossing over” without going anywhere.
Inspired by Robin Rendle, I demonstrate some of my early experiments combining CSS Grids and custom properties to create dynamic layouts and data-visualizations.
At the family vacation in Moab, everyone is doing their best. It’s not enough, and my day is peppered with the wrong name and pronouns. I hide in my room through dinner so they won’t see me crying.
“I’ve seen myself in the mirror. I find me… disorienting. What do they see that I don’t? Why aren’t they laughing at me?”
“Mother finds me at her wardrobe, in her pumps and pearls. What are you doing? Being a mommy. Are you, then? She clips on the earrings (they pinch!), reaches for her lipstick.”
A reflection on the nature and value of productivity for the SuperYesMore series: The Human in the Machine.
Viewport units have been around for several years now, with near-perfect support in the major browsers, but I keep finding new and exciting ways to use them. I thought it would be fun to review the basics, and then round-up some of my favorite use-cases.
I wasn’t born in the wrong body. I was born, a body. Without my body, I don’t exist.
It feels like CSS Grid has been coming for a long time now, but it just now seems to be reaching a point where folks are talking more and more about it and that it’s becoming something we should learning.
It’s been a month since our country pseudo-elected a bigoted blow-hard for president. I’m heading to DC to protest his inauguration in January, visit friends, and go on a mixed-media resistance tour…
My friend Maureen Maloney asked to document my reaction to the 2016 election, as part of the America Heard film series.
I’m still reeling from this year of insults, a traumatizing campaign turned traumatic election. I’m not sad about a contest lost, but what those results mean for real people around me. 2016 is over, but 2017 is going to be even harder.
There’s a lot of language that gets thrown around, but much of it comes loaded with over-simplified baggage and misconceptions. Here are a few that have been on my mind – from gender identity to biological sex, transition, passing, and visibility.
It’s been a month since our country pseudo-elected a bigoted blow-hard for president. I’m heading to DC to protest his inauguration in January, visit friends, and go on a mixed-media resistance tour…
No matter what acronym drives your selectors (BEM, OOCSS, SMACSS, ETC), loops can help keep your patterns more readable and maintainable, baking them directly into your code. We’ll take a look at what loops can do, and how to use them in the major CSS preprocessors.
Miriam Suzanne creates experimental experiences with her band and her fellow developers.
Chris Coyier interviews Miriam when she joins the CSS Tricks team as a Staff Writer. We talk about gettting started in the industry, name confusion, fouding OddBird, building Susy, and more.
In this episode of the Versioning Show, Tim and David are joined by Miriam Suzanne, best known for Susy, a responsive layout toolkit for Sass. They discuss going from being a lurker to finding your voice, the importance of writing about what you’re learning, stumbling into fame, approaching new projects, and unit testing in Sass.
There are some questions that come up again and again if you are trans. A few of those questions are terrible, but most of them are well-intentioned. I’m lucky to have a supportive community around me, so I thought I’d write down my most common answers to help ease your stress about getting it right, and ease my stress about answering the same questions over and over.
This interview serves as a follow up to my performance of The Obsolete Book in a Post-Obsolete World as Represented by a Post-Obsolete Book About Dance at the Media Archeology Lab.
An interview with the insightful Ryo Yamaguchi at Michigan Quarterly Review.
interview with Richard Wall of the Boulder Writers’ Workshop
I wrote this at the start of the Iraq war (2003), and later made the short film. It’s been on my mind again during COVID-19 isolation.