Design tokens may be the latest incarnation, but software creators have been creating themeable user interfaces for quite a long time! As with all things, we can study history to learn from our past to inform our future. So let’s dig in!
The history of the graphical user interface (GUI) is fascinating and naturally involved a lot of research, iteration, and development before being unleashed upon the world. The first commercial computer featuring a GUI was the Xerox Alto in 1973. Behold it in all its glory:
GUIs ultimately hit the market in 1981 in the form of the Xerox Star. The Star was similar to bands like CAN and Fugazi in that sense that it wasn’t a commercial hit, but was massively influential to everything that followed.
The 70s also saw the rise of video games, especially with the runaway success of Pong. Galaxian by Atari was released in 1979 and was the first successful game that made use of a full-color RGB display.
Game & computer designers were contending with extremely limited processing/memory resources, so they were forced to get extremely creative in order to support full-color screens. Sprites were used to manage the graphics and different states for UI elements, and color themes cleverly transformed the same shapes into different characters. Themed UI elements!
The 1980s ushered in an era of full-color displays, which opened many new opportunities and challenges for designers. Just look at this glorious sprite showcasing from Nintendo’s 1985 era-defining video game, Super Mario Brothers:
It’s wild that two of the most iconic characters in the history of pop culture — red-clad Mario and green-clad Luigi — are themeable UI elements born from pragmatic ingenuity to overcome technological challenges. Freaking amazing.
This ingenious sprite theming is a masterclass in creative constraints. One thing you absolutely can’t unsee once you know is learning that the clouds and the bushes in Super Mario Bros are the exact same shape, just themed differently!
To put a finer point on this: the creators established the game’s structure and functionality and understood that duplicating all of that structure & functionality merely to achieve different aesthetic results would be wasteful, expensive, and imprudent. So instead they created a themeable design system to achieve this critical separation of concerns between structure/functionality & aesthetics. Incredible!
Naturally, full-color displays found their way into personal computer operating systems in the 1980s. Several full-color computers hit the market in the mid-80s, and the iconic Apple II released its first full-color display in 1987.
Microsoft introduced color schemes with the release of Windows 3.1 in 1992. Users (including a young me!) could go into their preferences, choose a theme for the Windows UI, and even customize the colors. Easily the best theme was named “Hotdog Stand“:
This was one of the most sophisticated, large-scale theming implementations that truly introduced the concept of real user preference and customization to the masses. This UI customization and themeability became even more robust with the release of Windows 95.
These new operating systems unlocked new opportunities for software like Winamp to give users the ability to create their own music player skins, truly putting the “personal” in “personal computer.”
Of course, the World Wide Web also exploded onto the scene in the 1990s. 1993 saw the release of Mosaic, the world’s first commercial internet browser, but it was really the introduction of Netscape Navigator in late 1994 that made the web an absolute phenomenon.
The browser opened a portal into a million worlds, with each website providing its own unique user experience and interface. It was during this era that I found myself with my best friend making Dragonball Z fan websites on Geocities. I’ve been in love ever since.
Note: check out the brilliantly-curated and thoughtful Web Design Museum for more web history!
Accomplishing custom designs in the early web relied on hard coding styling information into the HTML using elements like <font>
tag. Thankfully, CSS hit the scene in late 1996, which provided a dedicated language for styling and revolutionized how we create for the web.
The web continued to take off and the technologies to create it continued to improve. Books like Jeffrey Zeldman‘s Designing with Web Standards and CSS books by pioneers like Molly Holzschlag and Eric Meyer helped the world’s emerging web community create beautiful and expressive web experiences.
In 2003, Dave Shea created the CSS Zen Garden, which beautifully demonstrated the concept of separation of concerns as it applies to the languages of the web.
Using the exact same HTML file, designers could use CSS to design radically different aesthetics. For me and countless others, the CSS Zen Garden drove home the importance of the separation of concerns and unlocked the real creative potential for the web as a design medium.
The web field marched into the Web 2.0 era bursting with creative expression, which was put on full display on websites like MySpace.
This customization started entering into more functional software, like then-new tools like Google Personalized Homepages (later renamed iGoogle).
Up until this point, authoring CSS to achieve sophisticated theming was extremely laborious, hard-coded, and fraught. Adding to the complexity was that the whole industry was thrust into a brand-new mobile era as soon as Steve Jobs muttered “and one more thing…” in 2007.
CSS pre-processors like Sass and Less hit the scene in the mid-2000s, and Sass 2.0 introduced this wild little idea called variables in 2010. This was embraced by designers and developers who finally had a DRY way of defining a design language.
$primary-color: #3498db;
button {
background-color: $primary-color;
}
This unlocked new opportunities for themeability and more dynamic styling on the web. These new capabilities coincided with the emergence of responsive web design, modular CSS methodologies like OOCSS, SMACSS, BEM, and others. In May of 2013 I introduced a thing called Atomic Design. A few months later, React was introduced. The zeitgeist was flexibility, modularity, and component-driven design/dev, which ultimately coalesced under the label “design systems.”
Design systems like Google’s Material Design emerged in 2014-2015 and had themeability in mind right out of the gate.
These design systems demonstrated to the world how its possible to deliver a unified design language to multiple products, platforms, and businesses. Holy crap was it ambitious! Still is! In order to support these vast and multifarious product UIs, the concepts, technology, and tooling around theming needed to evolve.
While Sass variables gave designers & developers a great way to define and use a design language, Jina Anne and Jon Levine at Salesforce delivered a talk that gave the concept of these low-level design decisions a more potent name: design tokens.
Design tokens are the sub atoms — the smallest pieces — of the design system. They’re an abstraction of our UI visual design and store style properties as variables.
Jina Anne
There are a number of definitions and explainers about what design tokens are, which can be summarized like this. Design tokens are:
In the mid 2010, code tools like Theo from Salesforce and Style Dictionary from Amazon emerged to transform implementation-agnostic JSON or YAML token definitions into technology-specific formats like Sass variables, iOS & Android formats, JS objects, and an important new native web technology called CSS custom properties.
CSS custom properties give the web theming superpowers — and to do it live! Seriously, check out this amazing website by Abban Dunne:
There’s a whole lot to design tokens! And a whole lot of opportunity Perhaps that’s why a Design Tokens W3C Community Group was established in 2019 to help wrangle and standardize some of the structure, naming, and architecture around design tokens.
Achieving elegant theming in design tools like Adobe Photoshop/Illustrator/XD, Sketch, and Figma has been elusive until very recently. Styles existed in tools like Sketch and Figma, but were insufficient for the level of customization digital orgs had to account for. In 2022, Tokens Studio was released to help bring more sophisticated theming to Figma, and in the summer of 2023, Figma released Figma Variables, a tool-native way to define and wield design tokens. This created the opportunity to design UIs that can more easily support multiple themes. The magic trick is really cool!
Of course, at the time of this writing, generative AI exploded onto the scene and is introducing a brand-new paradigm that will influence the world, including how to support themeable user interfaces. These tools are still emerging, but already we’ve found many ways AI tooling can help in the creation and adoption of design token systems (we get into all of it in our course!). It’s also easy to imagine that thes new technologies can help usher in a new era of hyper-personalized user experiences. My user experience may look and behave wildly differently than yours, which introduces all sorts of fascinating opportunities and challenges.
It’s been a hell of a journey that’s gotten us here, but we are here. We are alive in a moment where we’re responsible for designing and building for a Multi All-The-Things reality.
We have more websites, apps, screens, flows, products, ecosystems, technologies, and paradigms than at any other moment in human history. And it doesn’t show any sign of slowing down anytime soon.
No one can predict the future, but I strongly feel that organizations that have sturdy foundations, infrastructure, and systems in place will be in a better place to navigate whatever the future may bring.
There’s SO MUCH technology, architecture, tooling, cross-disciplinary collaboration, orchestration, and gold old-fashioned human processes involved in creating robust, successful, and themeable UI systems. Achieving balance in these systems is truly an art form: constrained-yet-expressive, systematic-yet-extensible, considered-yet-customizable.
We’ve devoted the last 12 years of our lives to helping teams establish these systems, and spent 6 months distilling all of these concepts, best practices, hard-earned lessons into a comprehensive online course called Subatomic: The Complete Guide To Design Tokens.
Our course covers everything your team needs to create & maintain a successful themeable design systems at your organization. Order our course and you’ll get:
WHEW! I suppose this post is a history lesson slash infomercial for our course. But walking through this history, I’m struck by the fact that my personal journey on this Earth coincides with much of the history of themeable user interfaces. I am so incredibly grateful that I’m on this planet during such a time of technological innovation and convergence between technology, design, and art. I’ve now spent literally half of my life professionally designing cool-looking things for the World Wide Web. And I think that’s pretty badass.
]]>via the always-amazing Sidebar
]]>It took a year, but the concert videos are finally live! You can watch the full concert here, and here’s a breakdown of all of the songs:
The first song of the night was an original song I began many years ago. The idea was to trick everyone into thinking it would be a kinda chill intimate show, but then we build up and it explodes with my incredible wife Melissa belting it out, Josh Sager and Will on guitar, and Aaron and Daniel providing the texture!
Man, what a freaking _groove_. It’s an incredible pop song, and the addition of the ELBY BRASS horn section was key.
My friend & coworker Jessi s an utterly incredible vocalist. She sounds so good harmonizing with all our other amazing vocalists. I bought a Prophet 5 synth pack to recreate the synth sound Melissa plays.
When people ask about Frostapalooza, I show them this video. It perfectly sums up the night: 18 people (!!) on stage blasting out incredible energy, especially with Seth Casana up front. We knew this song would make the crowd realize this wasn’t just a regular concert.
This is an incredibly important song in our family; gramps, my uncles, cousins, and all of our relatives would play it at family gatherings. The addition of Chris Coyier on banjo took it to another level
The Last Waltz was a huge inspiration for this show, and this is another important song for my family. I love how full it sounds with Chris on banjo, Jeremy on mandolin, three guitars, piano, and extra vocal firepower.
This is such an incredible groove. My French neighbor is an incredible pianist (which I didn’t know until putting this show together), and the bass player was in MuteMath and TwentyOne Pilots! And I got to bring my mom on stage!
Jessi did an amazing job hitting the high notes, and this was also the song we got to unleash our saxophone secret weapon, Aaron Spring. Aaron was our sax player in our college band and was integral to the night.
Ian Frost and I learned how to play music together by repeatedly playing along with Led Zeppelin albums. This was so much fun; Rebecca Garza-Bortman absolutely killed on vocals, and the horn section elevated the whole thing!
I allowed myself a gratuitous bass solo here, but this was the first song I learned on the first bass I ever got. So it felt fitting. My friend and college roommate/bandmate Will Schneider absolutely ANNIHILATES the guitar solo here.
We played a beautiful song by Jessi and Daniel Hall’s band, and transitioned it into Maps. Which of course has an absolutely incredible drum part. And Jessi absolutely nailed the Karen O vocals.
I got to double up with Jessica Spengler on bass because the bassline is so incredibly epic. Daniel Hall is playing the musical saw! Elby Brass brought the chaotic horns, sousaphone and all!
This song is just so huge and epic and fun to get everyone to sing along to. We threw all the instrumentation at it, including Jeremy on mandolin and Ben Callahan on keys.
This song absolutely KILLED. Ben Callahan, Jessie Rupert, Berry Breene, Terra Ferderber, & ALL the vocalists sounded so rich and huge together. They literally never met before this night! And of course, that bass breakdown is one of the most epic pieces of music ever recorded.
This is an original song of our college band. Will Schneider’s riff is so cool and brooding, and we get to witness his guitar god skillz on full display.
— SET BREAK —
Adam Argyle and my coworker Kevin Coyle killed it on guitar, and Seth and Elby Brass brought the big horn energy to the party!
We brought the funk. My college friend Seth is a total force of nature, and I knew the show would be a success because he was in it. I’m so thankful he lent is brass band, Elby Brass, to us!
An Elby Brass original! High-octane funk, delivered in full force.
Bryan Garza in full Bowie getup really sums up our second set. He’s a dead ringer. Need You Tonight is also such a JAM, and my cousin Taylor killed it on guitar.
My wife crushes it on vocals here. Months later, we saw Rubblebucket play at the same venue we performed at! We showed this video to them. And Dave Rupert kicked ass on bass!
CAKE is one of me and Ian’s all-time favorite bands. We used to cover this song in college, but it was so great to do it with way fuller instrumentation.
Rebecca perfectly nails the Gwen Stefani vibe (turns out Tragic Kingdom was her first CD!). Over the course of planning the show, Jeff Robbins mentioned he could get a Talk Box for his guitar, and he delivered! It was amazing.
A Rebecca and Bryan original song, it was so much fun to recreate their song as a rollerskating disco-funk track. And once again, Aaron steps in with an epic sax solo.
ABBA, Madonna, Kylie Minogue, and Daft Punk. Because WHY NOT?! Jessie Rupert just SHREDS on vocals! And playing Daft Punk live was so epic.
Just holy shit levels of energy. Mark Willis killing it on the marching band quad drums & backup dancers FTW. And I got to play my Moog Rogue, which is the exact same synth Tina Weymouth played on Stop Making Sense.
There was only one song that could end such an ambitious, over-the-top, and weird-but-also-epic-and-good concert. Everyone knew exactly what to do. It was an incredible punctuation mark on one of the best nights of my life.
WHEW. What an absolutely incredible night. A whole year later and I’m still floating about the whole experience. You can read a full recap of the night here.
It’s been a hell of a journey to get the show properly documented and edited. I paid for a professional multi-track recording of the show, but it failed for some reason (which I’m still very heartbroken about). But I was able to get a professional audio engineer to clean up what recordings we did have, and between that and all of the great video footage I was able to edit together something that does a good job at capturing the night.
The whole spirit of the show was to celebrate life, friendship, family, music, creativity, expression, and fun. We’ve all been through so much and I desperately wanted to remind people (including myself!) of the other — undeniably better! — side of the human experience. And I knew that the show would serve as an important reminder during future challenging times, which the past year has certainly delivered on.
We ended up raising $4000 for the Project Healthy Minds and Claire Senita‘s spinal cord rehabilitation center. And above all, I’m proud of all of the work and love and effort everyone put into this show. It’s difficult to articulate just how thankful I am for everyone. Thank you.
]]>Wake Up Excited! is a podcast about living an exuberant, creative, and fulfilling life — despite it all. I explain why I feel this show is important and urgent in the intro/trailer:
I’ve noticed that there are people out there who move through life with intention, authenticity, creativity, kindness, and enthusiasm. And they do this despite the challenges of life and the deeply imperfect world we inhabit. This podcast is an attempt to learn from these people in order to help us cultivate positivity and enthusiasm in our own lives.
My guests are wide-ranging and many are renowned in their respective fields, but we’re not here to talk about their work. Rather, we’re really here to talk about the enthusiastic mindset and philosophy of life that serves as the engine that drives their ambitious work.
I launched the show with three episodes featuring friends of mine who I feel so embody the spirit of the show and mission.
Episode 1 features my friend Denise Jacobs. Denise is a creativity evangelist, a speaker, and the author of several books, including Banish Your Inner Critic. We discuss restoring cast iron, connecting past and present passions growth through teaching, navigating this current poisonous moment in time, Denise’s incredible backyard garden, and empowerment through creativity.
In Episode 2, I talk with Aarron Walter, the co-host of the Design Better and Reconsidering podcasts, author of several books (including my favorite, Designing For Emotion), writer, consultant, and creative leader. We discuss the never ending process of self-improvement, the importance of curiosity, how all research is really me search, this concept of super activities, FIRE and how to think about money, and lots about living an examined life and trying to be a good person.
In Episode 3, I talk with my friend and creative powerhouse Jessica Hische. Jessica has created countless projects, wrote/illustrated design and children’s books, designed postage stamps, done lettering for Wes Anderson’ Moonrise Kingdom, improved countless logos, and her new venture is invoicing/payment software and community for creative professionals called Studioworks. We discuss using positivity and enthusiasm to fight all the negativity engulfing our world, ADHD and mental health, balancing our personal responsibilities with our responsibilities to the world at large, engaging with local community, creativity breadth & depth, creativity over time, and a whole lot more.
Of course, these episodes are just the beginning; I’ve already recorded so many amazing conversations and am so excited to have even more. I’m drawing on my amazing friends to help get the show off the ground, and have really big ambitions beyond people I know personally (you should see my guest wish list!). Lots of amazing stuff on the horizon!
It feels so good to finally have these important conversations I’ve been desperate to have for so long. This show truly is a labor of love, which also means the show is entirely self-funded. There’s a lot of hard work and moving parts in order to create a high-quality show. That of course costs money.
You can support this project, my work, and my family by checking out our online courses:
These projects are how I’m feeding my family and unlocking the opportunity to have these important conversations. I’d love it if you checked them out!
Now’s also a great time to say that I’m so thankful for Chris Enns, who has been an amazing editor and podcast sherpa who’s been integral in getting Wake Up Excited! out into the world. Thanks a ton, Chris!
I’d love to avoid creating my own SMASH THAT LIKE BUTTON TIKTOK DANCE, so I’ll kindly ask you’d consider supporting this podcast with a few little taps of your fingers:
Thanks so much for your support. I’m so excited to help people wake up excited!
]]>HAPPY 40th birthday to Melissa, the most amazing wife, mom, friend, daughter, sister, aunt, cousin, polymath, arts therapist, musician, singer, pianist, drummer, guitarist, artist, metalsmith, painter, sculptor, caricature artist, childrens book illustrator, filmmaker, therapist, empath, teacher, meditator, seeker, helper, volunteer, activist, feminist, lover, confidante, collaborator, mentor, dreamer, business owner, absolute babe, mover, shaker, healer, advocate, creator, storyteller, nurturer, maker, tinkerer, companion, visionary, traveler, student, lifelong learner, listener, comforter, muse, inspirer, peacemaker, soul, joy-bringer, community builder, innovator, problem-solver, encourager, motivator, protector, explorer, truth-teller, bridge-builder, light-bearer, and idealist.
Melissa: thank you for teaching me what true love is and what genuine character really looks like. The world is a much better place because you’re in it. It’s an absolute honor and privilege to travel through life with you. I’m so incredibly excited for everything to come. I love you more than anything.
]]>I resonate with so much with what she describes here. I too am an artist. I too have struggled with that label. I too have stopped putting artificial limits on myself and have gotten out of my own way. I too have escaped boxes in order to find freedom and infinite opportunity. I too know that everyone’s expression is unique to them. I too know that this is available to everyone. I too know everyone can cultivate their own creativity. I too know this to be a fundamental truth of human existence.
]]>I’m obsessed with this song by EMEFE; the build, the motif, and how it ultimately locks in is absolutely incredible. I’m diving into more of their music, but this is amazing.
]]>Why yes, that is my crawling baby brother hitched with a string to a wagon I made out of Waffle Blocks. Fast forward to today, and Ian’s now been hauling digital Waffle Blocks for the last 10 years at Brad Frost Web.
While this has been our dynamic our entire lives, we know it’s not a relationship built on punch-you-in-the-arm big-brother exploitation, but one of deep love, collaboration, and partnership. We have different, complementary personalities: I have our mom’s loquacious hyper-extroverted dynamo energy, while Ian inherited our dad’s quiet and reserved steadiness. This yin and yang relationship is why we don’t fall into the “I could never work with my sibling!” sentiment we constantly hear from people when they find out we work together.
I was in Germany for a conference and got on Facebook because I couldn’t sleep. Ian was online. It was one month out from his wedding, and Ian and his fiancé were still in a long-distance relationship. Here was our conversation:
So that’s what we did. I drew up a 3-month long contract, Ian moved to Pittsburgh, got married, and afterwards came over to my house to get to work.
10 years later, Ian’s still coming over to my house to get to work.
Ian took Codecademy’s HTML & CSS course to get acclimated and gave him a pretty unique first project to dig into: the website for Death To Bullshit (click the “Turn bullshit on?” button to see Ian’s handiwork).
Eventually Ian started helping with our client work, and together we ended up building design systems with/for some of the world’s largest companies. I truly don’t think I’m hyperbolizing when I say that Ian’s likely coded more enterprise-grade design systems than nearly anyone else on the planet, and has become a true expert in front-end web development.
While his technical prowess is admirable, our model has always been not just to make amazing things, but to teach others how to make amazing things as well. As Ian progressed, he easily transitioned into the role of teacher. He continues to show up 1000% for all of our collaborators, clients, and students. He listens, empathizes and validates, and then steadily teaches, guides, coaches, and helps. He does this with warmth and kindness. He does this without ego or fanfare. He’s been essential to helping countless teams level up their technical chops and work better together.
When Ian and I had to shift gears at the end of last year, I knew the opportunities — but also the sheer number of tasks we had to complete — were many. It’s been incredible to see Ian dive headfirst into new roles and uncharted territory, and to freaking own it. We spent over 6 months launching our first course — Subatomic: The Complete Guide To Design Tokens — and I’m so incredibly proud of our results.
With our new Atomic Design course underway and even more amazing stuff on the horizon, Ian’s bringing all of his hard-earned lessons and best practices for the benefit of the design & development community. I couldn’t be prouder.
Along this journey, we’ve navigated and endured countless flavors of trauma and hardship. It would be so easy to slide into cynicism, resentment, and despair, but thanks to Ian’s quiet wisdom and impeccable character, we’ve come out closer, stronger, wiser, more loving, and more compassionate. He’s always been there for me, and has always made sure I never lose sight of what’s really important in life.
We just want people to be healthy, happy, and safe. We just want people to be well. We just want people to get along. We just want to do good. We just want to love our families. And we know that the overwhelming majority of people on this earth want the same. These are the conversations we have. Until we switch back to fart jokes and obscure SNL quotes.
Not only did we share a bedroom until I went off to college, we’ve also been playing music together for the majority of our lives.
Like everything else, I’ve been more forward and visible with my musical self, while Ian slides under the radar. Which is why I was so incredibly pumped for Frostapalooza. Very few people knew Ian even played drums, and even fewer people knew what an absolute powerhouse of a drummer he is. Ian was finally able to unleash his musical prowess on an unsuspecting audience. It was amazing.
We have done so much, but we’re just getting started. I’m looking out onto the horizon with so much excitement about all of the amazing stuff we’re dreaming up. And I couldn’t ask for a better colleague, friend, and brother to come along for the ride. I owe so much to Ian and know how incredibly lucky I am to have such an amazing brother by my side. Here’s to the next 10 years, Ian. I’ll allow myself a rare moment to explicitly and awkwardly say I love you!
When you vibe code, you are incurring tech debt as fast as the LLM can spit it out. Which is why vibe coding is perfect for prototypes and throwaway projects: It’s only legacy code if you have to maintain it!
Like everything, there is nuance that needs to be considered. I love the comparison to giving a child a credit card.
]]>The worst possible situation is to have a non-programmer vibe code a large project that they intend to maintain. This would be the equivalent of giving a credit card to a child without first explaining the concept of debt.
As you can imagine, the first phase is ecstatic. I can wave this little piece of plastic in stores and take whatever I want!
Which is a lot like AI can build anything now! Nobody needs to learn how to code! Look at what it just made for me!
But if you wait a month, you’ll get the credit card bill. Did I actually need to buy all those things? How will I get myself out of this hole?
This lesson I’ve learned — and apparently Chris has also learned — is that for some things spending a crap-ton more money doesn’t translate to a crap-ton more quality.
This is true for musical instruments, but also true for most consumer goods and even services. Even “I need a website” falls into this category.
The process goes something like this:
I got the idea to use my subsequent birthdays to build upon those thoughts. So as I make my 41st lap around the sun, I’ll add another thought to the list:
Society creates boxes for people. We create boxes for ourselves. As time goes on, I’ve become a lot more aware of these boxes, and I’m working hard to redesign and/or reject most of them.
The stories we tell ourselves are extremely important, and the fact of the matter is we often tell ourselves self-limiting stories in order to better fit into boxes. “I used to play music” is something people regularly tell me. That’s a story we tell ourselves. “I can’t [INSERT ANYTHING]” is a thought that regularly pops into our minds. That’s a story we tell ourselves. “I need to get a ‘real job’ to be successful” is a story we tell ourselves. “That’s just how it is” is a story we tell ourselves. “I’ll be happy when…” is a story we tell ourselves.
Because the mind is the originator of everything, these stories can become self-fulfilling prophecies. If you tell yourself you don’t play music anymore, chances are you won’t play music anymore. If you tell yourself you can’t learn or do something, chances are you won’t learn or do that thing. If you tell yourself that dream is too ambitious or unrealistic, chances are it won’t come true.
The truth is that nearly every box is a social construct. Too often, we make ourselves smaller in order to fit into these boxes. And this process of making ourselves smaller involves lopping off important parts of our being, which leads to unfulfillment, disillusion, and one-dimensionality.
So the big question I’ve been asking is: how can we reconsider and redesign these boxes, or even remove them altogether? Because we are SO MUCH BIGGER than the boxes that our negative self talk and society create.
I am large, I contain multitudes.
Walt Whitman
By reframing, expanding, or removing the boxes that surround us, we’re able to operate as our full selves and give ourselves permission to explore, invent, and chart our own destiny. Of course, it’s risky to reject these boxes! But releasing your grip on these known boxes forces you to believe in yourself, your skills, and your potential. It is liberation.
What stories do you tell yourself? What are the boxes you try to fit into? Are there parts of yourself you feel you’re leaving behind in order to fit into those boxes? What aspects of these boxes ought to be reconsidered, redesigned, or removed in order for you to live a fuller life?
Here’s my artistic representation of these thoughts:
Making accessibility standards easy to understand, one success criterion at a time.
WCAG in Plain English is fantastic. It breaks down each WCAG standard and goes into details with beautiful headlines like:
I absolutely love efforts that involve making important-yet-sometimes-heavy topics more approachable. Well done!
]]>TL;DR: You can preorder my new Atomic Design Certification Course for only $50!
I’ve got big ambitious for this course, and I’m aiming to:
For years, people (me included!) were shouting for design systems to be taken seriously, with real people, time, resources, and money dedicated to them. And for the most part, that came to fruition!
However, we became victims of our own success. When design systems became “A Thing”, in many ways they became “A Separate Thing”. This split has created distance between design systems and the products they serve.
Since the very beginning, Atomic Design has helped people understand that user interfaces are interconnected, hierarchical systems. My course will describe how Atomic Design creates a virtuous circle between design systems and the products they serve. And not just in theory; the course will demonstrate how to practically and pragmatically implement Atomic Design in your everyday product design & development workflow.
Design systems are critical infrastructure for creating successful digital products, and therefore need to be understood by everyone involved in product success.
Unfortunately, there is still so much confusion and misunderstanding about design systems. “Design systems” is such an unfortunate name, and that goddamn name continues to cause so much confusion across (even mature!) digital organizations. That’s why this course will be accessible and relevant to all experience levels and disciplines: developers, designers, product owners, managers, QA, and really anyone responsible for making and maintaining successful digital products. Design systems veterans know that the key to real success is in creating shared language, understanding, and alignment.
For reasons I still can’t quite comprehend, Atomic Design has been woven into the lexicon of design systems. It shows up in job postings, bizarre executive presentations, and the everyday language of digital teams around the world.
Perhaps that’s why people have asked me for years, “Is there a way to get certified in Atomic Design?” I used to think that was weird because my mind always went straight to sterile & soulless business certifications. But now I realize the real utility in an Atomic Design certification! A proper certification course can help move beyond bullshitty buzzwords and help people demonstrate that they know design system foundations, processes, and best practices.
Developing this course is the first step in bringing the 2nd edition of my Atomic Design book to life! I’ve spent the last decade living the principles and processes I describe in the book, and I’ve been wanting to bring all of my hard-earned, real-world lessons and insights back into it. This course is an important stepping stone for the next book edition, and they will exist as close companions. I’m stoked!
The course will be a self-paced online video course, consisting of 5 chapters packed with fundamentals, best practices, real-world advice, and tons of resources. It will help you and your team:
By completing the course, you can flex your design system mastery with a fancy certificate of completion that you can share on your resumé, LinkedIn, and your fridge.
You can preorder the course for $50 while I’m putting it together. In exchange for your support and patience, you’ll get:
I’d love it if you’d consider preordering the course! And if you want to master design tokens as well, you can save $200 by getting the Atomic Design + Subatomic course bundle!
And if you’re interested but not quite ready, you can sign up for my newfangled newsletter, where I’ll be sharing progress along the way.
I’m so excited to bring this course to life, and I’m so incredibly grateful for you and anyone who has helped carry atomic design forward. I’d also like to thank my daughter for demanding “pancake spaghetti” for breakfast over the weekend, as it gave me an idea for a weird little trailer for the course
.
It was a warm September night somewhere outside of Nashville. The campfire crackled, and because I can’t help myself I plucked away at my acoustic guitar. Based on the laughter emanating from our circle and into the woods, you wouldn’t know that the people sitting around the fire had just met each other a few days prior. Conversation about life, design, music, and technology blurred together, and inside jokes were formed in realtime.
Even the best of nights have to end, and we knew we had important work to do in the morning. So as we trudged back from the fire back to our AirBnB, I asked Jen — who I’d been laughing along with all night — the boring question most people lead with when they meet someone: “so what do you do for work?”
Jenn casually replied, “Oh I’ve written a couple books about web design.”
“Oh nice! What are they?”
“Learning Web Design, Web Design In A Nutshell, and a couple others.”
I stopped dead in my tracks.
My eyebrows shot up as my neurons connected the dots: the warm and hilarious person I’ve been hanging out with also happened to be the author of the very first book I ever read about web design. That book, Web Design In A Nutshell, ignited in me a passion for the web and set me on a trajectory in life that somehow led to me to be invited to a post-conference retreat with many of my web design heroes. That retreat then triggered a snowball of events for me that has led to a long career full of success, notoriety, friendship, and an enduring passion for the Web.
Jennifer Robbins changed my life. Her book changed my life. The Web changed my life.
And now, dear reader, you are also reading a book about web design by Jennifer Robbins. I hope Jen’s book changes your life too. Of course, there’s no guarantee that it will — that part is up to you — but know these pages contain the foundational information you need to make incredible things for the World Wide Web.
I’ve now been a professional web designer for 20 years — a full half of my life! — and I’ve learned that there are very few absolute truths in our field. But there are four things about this revolutionary medium that I believe to be true:
In many respects, the Web has changed so much since I first read Jen’s book in the early 2000s. But in many respects, it has not. Technologies have advanced, and we create increasingly sophisticated (and often over-complicated!) digital products using that technology. But irrespective of any complicated systems and abstractions used to create websites and apps these days, the Web still comes alive to its users in the form of trusty-old HTML, CSS, and JavaScript.
These three languages come together to make the Web work. In addition to being increasingly powerful, these three languages are durable and resilient. These three languages help us enshrine and disseminate human knowledge and utility that can help people learn, grow, get things done, connect, and collaborate. These three languages are beautiful.
Unfortunately, entire generations of designers and developers have skipped right over learning these foundational languages in favor of jumping right into flashy frameworks that undoubtedly look good on a resumé. However, today’s new hotness is tomorrow’s forgotten trend. Frameworks and buzzwords will come and go, but HTML, CSS, JavaScript will endure for as long as the Web exists. Learning these fundamentals will help you — and whatever you create on the Web! — endure in an ever-changing technology landscape.
With this book, not only will you learn core fundamentals about how to make things for the Web, Jennifer will deliver it to you with warmth and clarity. You’ll soon find that it’s like your cool friend Jen is sitting beside you clearly and patiently showing you cool stuff you can do with the web. While this book is comprehensive, it’s not daunting thanks to Jennifer’s friendly nature and clear writing style.
You’re in for a treat. Jennifer’s books about web design changed my life for the better, and this book can do the same for you too — if you allow it. So read this book. Make things for the Web. Share with the world. Repeat.
I’m so excited for you and can’t wait to see what you’ll create.
Brad Frost
Web designer, consultant, author of Atomic Design
So there you have it. What a freaking honor. Share Learning Web Design with anyone who could benefit from better understanding the fundamentals of web design & development (which is everyone!). The book is huge (like phonebook huge!), but it’s quite scannable and packed with a lot of clear examples, exercises, and resources. There’s a reason why book is in its 5th edition.
Thanks for everything, Jen. It’s an honor to be your friend!
This feels like a trajectory worth striving for.
]]>I had a great conversation with Jason Lengstorf on his Learn With Jason show. We talked about design tokens, the importance of design system recipes, our new course, and the need for healthier/more human/more collaborative workflows.
]]>Separation of concerns is a computer science principle introduced in the mid 1970s that describes how each section of code should address a separate piece of a computer program. Applying this principle results in more modular, understandable, and maintainable codebases.
Web designers & developers of a certain age might remember the separation of concerns applied to the three languages of the web: HTML provides the structure, CSS provides the style, and JavaScript provides the behavior of a web page.
The separation of concerns was beautifully articulated by Dave Shea when he introduced the CSS Zen Garden in 2003. The CSS Zen Garden demonstrated that from the exact same structured markup in HTML:
web designers could apply CSS to achieve wildly different aesthetic results:
This beautifully and viscerally demonstrated the separation of concerns, and contributed to an era of web design and development where separation of concerns and progressive enhancement were best practices widely .
Alas, this era didn’t last. This is in part because “JavaScript don got big” (to use the parlance of the great Chris Coyier). In fact, the capabilities of all three languages of the web have greatly advanced, new concepts have emerged, and techniques have evolved. That means the separation of concerns for the web can no longer be cleanly delimitated between HTML, CSS, and JavaScript; the lines are a lot blurrier!
Let’s talk about doors! Need one? If you did, you’d wander back to the door aisle of the hardware store and peruse the finite number of products on display. One may be a primed semi-hollow door, while another may be an untreated solid oak door. Both options adhere to standard construction dimensions (to pass inspection, meet ADA requirements, be compatible with other materials, etc), the hinges on positioned on either the right or the left, and the bored-out holes anticipate the door’s knob and lock hardware.
A door’s structure and the functionality are on full display in the door aisle. But you may notice there are no turquoise doors for sale in the door aisle. No pink doors. No orange even! And where’s the brass hardware? The modern matte black finish? What gives? For those aesthetic decisions, we must wander over to the paint and door hardware aisles.
Hello, separation of concerns! The door’s paint color and hardware finish — aesthetic decisions — don’t impact the structural integrity and functionality of the door; these separate concerns come together to form the final (functional! beautiful!) result.
We need to apply our door metaphor to our wonderful world of pixels. Because even though the lines between the three languages of the web are a lot blurrier, separation of concerns is still a great principle!
After all, it would be ludicrous to require manufacturing a brand new door from the ground up every time someone wants an orange door instead of a lavender door. Unfortunately, that’s exactly what we’re currently doing in our digital work! Designers and developers often break away from established design systems for aesthetic reasons (“But our buttons need to be blue!“), and in the process lose all of the important structural, functional, and infrastructural benefits these systems provide.
We need a new separation of concerns. Thankfully, the brainy design systems community has already cracked the code. Our now-familiar component libraries — delivered via Figma team libraries, Web Components, React, Angular, et al — serve as our door frames, providing rock-solid structure, functionality, accessibility, UX, and front-end best practices.
But what about our digital turquoise paint and matte black hardware? Those aesthetic design decisions for color, typography, border, shadow, spacing, animation, and other UI properties are now defined and managed as a design token system.
Decoupling our structural component system from our aesthetic design token system creates the separation of concerns we need to address the needs of our Multi-All-The-Things organizations.
These complementary systems work together to create themeable design systems that can power multiple products, brands, color modes, tech stacks, product families, and more. Trends like headless UI solutions Base UI, React ARIA, and others are showing us the desire to decouple structure/functionality from aesthetic choices.
Our new online course, Subatomic: The Complete Guide To Design Tokens, dives deep into how to wield this new separation of concerns. The course features 13 hours of in-depth videos, Figma & code sample token architecture, naming & governance workflows, a certificate of completion, and a whole lot more to help you master the art of design tokens. We use the theme-switching magic trick to demonstrate this new separation of concerns:
If you’re in Pittsburgh and love the web, design, and development, you should absolutely come! Details: Monday, June 23rd from 6-8PM at City Kitchen in Bakery Square.
]]>“DeSiGn SyStEmS KiLl CrEaTiViTy.” “DeSiGn SyStEmS MaKe EvErYtThInG lOoK tHe SaMe.” If I had a nickel for every time I heard that sentiment expressed over the years, I’d be writing this from a fancy beach-front bungalow.
Of course, there’s a grain of truth to these cantankerous statements. Like all things in life, there are tradeoffs that come with working with a design system. Compared to the freedom of a blank canvas, design systems do indeed introduce constraints. In exchange for relinquishing complete creative control, teams wielding design systems receive a slew of benefits: more cohesive user experiences, higher-quality products, increased velocity, a shared language between collaborators, a future-friendly foundation to build upon, materials to innovate, and more time & headspace to focus on more worthwhile tasks than rebuilding the card for the umpteenth time.
BUT! The grain of truth in these statements remains. An organization’s digital product landscape doesn’t look like this:
Instead, reality likely looks something more like this:
Organizations need to support many digital products, websites, apps, and software of all shapes and sizes. Each and every product has its own unique goals, users, constraints, opportunities, and design needs.
Digital makers are under an immense amount of pressure to deliver more things to more people, to do it quickly, and to maintain exceptional quality. And of course, the digital landscape is growing larger, more diverse, and harder to grasp by the minute. No pressure or anything!
That’s why we find ourselves in a bind, needing two competing things at once. We simultaneously need the efficiency, quality, & scale that design systems provide AND the flexibility and agency to meet each product’s unique needs. The question becomes: can we reap the benefits of using shared systems without forcing everything to look the same?
For over 12 years, we’ve had the privilege and pleasure of helping a multitude of organizations wrestle with this dynamic and create/evolve design systems to power their multi-product, multi-brand, multi-framework, multi-platform, multi-generational, multinational, multimodal, etc organizations. We lovingly refer to them as “Multi-All-The-Things” organizations.
Every organization has to navigate its own unique Multi-All-The-Things landscape, which can take many forms.
The overwhelming majority of organizations need to support two or more digital products with their design system. This is the quintessential design system use case: design and build multiple products using the same building blocks. In fact, we collaborated with Caterpillar on their multi-product design system named Blocks!
Organizations like Marriott hotels have multiple brands in their portfolio, each targeting different audiences:
Those different audiences are served by experiences that showcase distinct brand identities, visual languages, and messaging.
Companies like Apple have a slew of sub-brands (iPhone! Apple Music! MacBook! etc) that both inherit from the parent brand but also have their own distinct qualities.
We worked with DotDash Merideth to create a suite of digital properties that included the health website Verywell. They’ve since grown the property into multiple sub brands Verywell Health, Verywell Fit, and Verywell Mind, which are differentiated by unique colors and iconography.
Organizations can’t help themselves but to overhaul their brand/visual language from time to time, which can take the form of tiny tweaks to burn-it-all-down total transformation. If the redesign isn’t currently in progress, I promise you it’s coming!
It’s often necessary to support both existing “legacy” designs while rolling out the new “next-gen, v2, new-and-shiny” designs. Tricky!
Some organizations (think SaaS companies) need customers to insert their own branding and customize the interface. For instance, Blend creates software that handles the gnarly process of applying for a mortgage, and provides that software to banks. White-labeling ensures the experience feels like the bank’s — not Blend’s — so users (people actually applying for a mortgage) trust they’re dealing with their financial institution.
In addition to white-labeling, other organizations (think e-commerce) need to customize UIs to support seasonal and one-off campaigns (e.g. orange and black buttons for a Halloween theme).
Many organizations support both marketing experiences (with big typography, chunky cards, and all the marketing fixings) and more utilitarian, functional enterprise software (with dense data tables, modals on modals, and other capital-E Enterprise qualities).
All design systems need to tackle the inverted/knockout color use case in order to ensure text, icons, and components can sit against a dark background:
Other Multi-All-The-Things organizations need to go further and support multiple color modes, either surfacing them as a user preference like GitHub:
Or as an operating system preference using prefers-color-scheme
media query like on our pal Dave Rupert‘s website:
Or a combination of both OS-level color mode support and user preference, as demonstrated by the fantastic Piccalilli website:
There are many many many ways to build a website. Many organizations support a dizzying array of web tech stacks, frameworks, and systems: React! Angular! Vue! Svelte! Drupal! WordPress! AEM! Crusty old stuff! Even if things look identical from a user perspective, they could be constructed using wildly different technologies under the hood.
Here’s the rub: users don’t care that the homepage is powered by WordPress and the checkout is powered by Next.js; they just want an easy-to-use, cohesive experience.
Many organizations’ technology diversity extends beyond the web and into native/hybrid mobile experiences, kiosks, PoS systems, dashboards, and a whole lot more.
WHEW, that’s a lot of diversity! Each Multi-All-The-Things organization is playing a unique game of three-dimensional chess, so the very legit question becomes: can we meet the needs of wildly-diverse Multi-All-The-Things organizations while also benefitting from shared systems?
The answer is yes! But it requires taking a more nuanced view of design systems.
The first thing to understand is that it would be a disaster if ALL user interface at an organization originated from a single design system. Instead, an organization’s design system ecosystem can establish a tiered layer-cake architecture that promotes both shared infrastructure/systems as well as flexibility/autonomy.
Design tokens are another critical ingredient for helping Multi-All-The-Things organizations create themeable design systems to serve their diverse digital landscapes. Each digital product has unique goals, users, and design needs, so systems need to be architected to serve each product’s unique needs.
Design tokens variabilize style properties like color, typography, border, shadows, and more to unlock the ability to serve different aesthetic experiences to different products. These design token systems allow organizations to accommodate their myriad products, brands, modes, product families, design generations, frameworks, platforms and more. All without having to sacrifice the benefits that come from working with shared design systems!
I could go on and on about design tokens, and in fact we do in our new online course, Subatomic: The Complete Guide To Design Tokens! The course provides over 13 hours of in-depth videos, Figma & code sample token architecture, naming & governance workflows, a certificate of completion, and a whole lot more to help you master the art of design tokens. If you want to master design tokens to serve your Multi-All-The-Things organization, we hope you’ll check out our course!
]]>Ian and I have a ton of fun projects brewing, so we’re looking for a creative, passionate, curious, and kind go-getter to help us make it all happen.
If you’re a looking for an opportunity to get your hands dirty and gain some real-world experience doing a bunch of cool things, this position is for you.
We’ve got a ton of irons in the fire, so the work will be wide ranging. Here’s some of the things you’d be getting into:
WHEW that’s a lot of stuff, which is why we need help! It’s important to note that this isn’t a specialized role where we’re only looking for help in one area; the gig involves working on a variety of things.
You’d be working directly with me and Ian, and we’ll provide plenty of support, education, feedback, and career coaching along the way.
The apprenticeship is 12 weeks long and you’d be providing 20 hours of work per week. You’d be paid $50/hr.
The only real prerequisite for applying is that you must have a personal website. It doesn’t have to be amazing, robust, or current; it just needs to exist.
Don’t attach your resumé, and we don’t want to hear about your professional skills or experience. Instead, we want to hear about you! What has you waking up excited? What are your hobbies? What’s your philosophy of life? What music do you enjoy? Family? Friends? Pets? What makes you you?
To apply, email hello@bradfrost.com. We’re looking to hire someone right away, and we’re going to do our best to get back to people as soon as possible. Absolutely no recruiters, agencies, or robots.
Again, we’ve lined someone up already, so be on the lookout for future opportunities.
]]>A reminder.
]]>I had the pleasure of speaking with Vy Alechnavicius on the Experienced Design podcast. We had a great wide-ranging conversation!
]]>I’m late in posting this because boy oh boy, there’s been a lot going on. But Episode 2 of our show Open Up is out! Geoff and I tackled some great questions and covered a lot of ground in this episode, including:
Great conversation! Join us for the next episode on June 11th, and if you’d like us to weigh in on your situation, feel free to write to us right here!
]]>We wanted to launch last week, but Mother Nature had other plans. Our area got hit by a huge storm that knocked out power for 500,000 people. Even though Ian and I live 5 minutes from each other, we ended up with some serious obstacles in our way!
Power is back! Which means we’re back! We recorded, edited, & published the remaining videos and designed the course completion certificate to share on LinkedIn, your resumé, social media, and to hang on your refrigerator!
So here’s what you get by ordering the course:
And in addition to all that, Mother Nature wants you to save $150 off the full price by ordering in the next day! SO WHAT ARE YOU WAITING FOR?! HURRY! ACT NOW! HEAD ON! APPLY DIRECTLY TO THE FOREHEAD!