[Weekend Drop] Adam Argyle: Complexity Cliffs, DX, and the Disruption of Web Design

Download MP3
A conversation with Adam Argyle, CSS Developer Advocate for Google Chrome!

the following is my conversation with

adam argyle who is css developer

advocate for google chrome

the conversation covers quite a few

topics that are relevant in the web dev

and web design industries ui complexity

clips

developer experience versus user

experience which we call dx versus ux

self disruption and what web design

tooling could be

along the way we touch on what open ui

is adam's deferred inputs proposal the

four jobs of developer experience

thought leading for good or thought

leading for fun and profit from emily

freeman elia grigorik and dionne meyer

who inspire each of us individually and

adobe versus figma vs webflow

i hope you enjoy these long-form

conversations that i have with amazing

developers i haven't been as regular as

i would like but i'm investing into

youtube in 2022 and i'm keen on

producing more high quality

conversations if you like this share

with a friend if you have requests for

other guests tag them on social media

i'd like to basically make this a space

where passionate builders and doers can

talk about their craft and where things

are going

all right so the first thing we're

talking about is ui complexity clips um

what's on your mind why is this

first on your on your list

yeah you had a tweet the other day that

was um

i'm at my fourth startup or something

like this and we're discussing buttons

again like how is it 2021 and buttons

are popping up is needing refactored or

something like how are they not solved

and um i'm sure you had threads of

people that have their ideas there and

mine was it's a complexity cliff it's

the first introduction where you as a

front-end ui person who actually is like

going to go build out all this matrix of

states that a button needs that it lands

on you it's like you've been in the car

using a shifter this whole time using a

steering wheel this whole time and then

someone said hey go change the steering

wheel out and you're like oh that's just

a component it's just a single use like

that thing has totally only got like one

attachment right and then you walk up to

it and you start working on it like this

thing is like really integrated into the

system and or whatever right you have

these like discovery moments with it and

you realize it's much more complex than

it is and a button just does that a

button's like yeah well let's allow an

icon to be on our button and you're like

okay left and right

yeah how about both sides can you i can

have both sides because you could have a

shopping cart with a little drop down

arrow oh man okay and you have to have

dark mode you better have this and that

and the the matrix like i was saying of

states is what i mean by this complexity

cliff like it's just not visible from

the surface it looks all innocent um and

then you go map it like if you mapped

out everything you need it's it's a lot

like the css alone that it takes to have

like a custom button and a design system

is absurd it's absurd but at the same

time

i love it uh anyway

so this is the tweet in question um and

honestly like this is this is genuine

because

uh yeah i had it at uh two sigma where i

where i had my first uh front-end job

and then netlify and now at the world

same stuff again

and oh did you handle disabled oh is it

a link or is it a button

um

and what's interesting was also just the

replies like

nicole from google so uh what does she

do she like needs that i work with her

directly these days

she was on frameworks and she's now

shifted to um ui and sort of like how

did she empower people to build flexible

and fluid interfaces on the web and

that's why she points to open ui this is

like a community for that but anyway i'm

part of her team because i'm

i work on similar things

okay yeah and so like you know first of

all i didn't i didn't expect this to

reach uh anyone at google

but then also like the the

web components people reached out to me

and they're like how come web components

have installed this for you and i'm like

it's not about the tech

um it's more about like understanding

the specs of what people want and people

not agreeing what a button should do

yeah yeah google cloud had

had um

too many they had them in multiple

frameworks in the same repo right being

like just because they grew so fast or

whatever like your project always gets

out of hand and all of a sudden yeah you

have more than one button which some

people have enough time wrangling one

how are they going to wrangle two or

three and built in different frameworks

right you've got your island's

architecture with buttons you're just

like oh snap does that just mean any

button from any framework just shows up

in an island i don't know

um

that's an interesting discussion is is

that a big uh

is the island's architecture a big

discussion within

google or because i always have heart i

have trouble separating jason from jason

miller who wrote the island's article

architecture blog post when is he

talking in his own personal capacity or

when is he saying like

no this is something we're thinking

about at google

oh in my opinion jason and i are pretty

straight shooters about our own stuff

like we work for

google and chrome and we love our job

and we want to represent chrome well and

um do all the things our job want us to

do but we have this like

i don't know our own personal opinion

like jake archibald does this too he

he's working on a lot of his own stuff

we kind of balance both i mean jason

definitely does things internally that

he might not have chosen to go do if he

just could choose whatever he wants to

do but that doesn't mean that's what

he's going to go pitch outside of google

and the islands architecture is yeah

this is just sort of the micro

front-ends evolution into let's

eventually dockerize every component and

then manage them with kubernetes in the

front end right we'll get there i don't

know

um

yeah

so the this discussion of the reusable

button and the ui complexity cliff

makes me wonder because there's a lot of

discussion about how dry is overrated

you know um we should we should write

everything twice

and sometimes if you're just customizing

it so often and you're reusing it so

much maybe just don't reuse code just

just copy and paste

and and then that makes it easy to

delete easy to modify

the only thing that

that goes wrong with that is whenever

you need to do a global update

um then you'd run into trouble but

how often do you really need to do that

right is that what the super rad

typescript refactor button is for like

that's why you typed your whole thing so

that you could refactor across something

globally i mean this is a value prop of

typescript right

if you are

you know employing it that way on your

project but

um yeah i think that's a really good

point though is that sometimes you don't

need to build a mega button yeah mega

buttons get built and then mega buttons

fall down

and i also wonder if it's like

uh

if it should be gated by a number of

people working on the project

so we had at my first company

um

three front end developers and we were

building both the design system and the

app

and i was just like maybe we should just

build the app and forget the design

system

okay this is actually something i've

said multiple times is that

projects and people are in phases a

startup is in a phase and in your first

phase where you're in the creation state

you should not be in typescript you

should not be hardening all of your

stuff with 100 test coverage and you

should be not be making a design system

what you need to do is build a really

good experience that's messy and

expressive and then go harden all the

things that are tried and true because

you can't predict it all and if you try

to sit down and predict it all and and

build this like perfect thing from the

start you're just never going to get to

the point at which it should have as

fast as you can it's weird we think we

move faster with all of these rules and

all this stuff but we end up moving way

slower and so yeah i'd say phase two of

your company let's say you have success

and you're sustainable and it's time to

like rethink something because you need

to grow the team by 10 or 50 or whatever

go ahead and spend a few months and

refactor and harden and create the

components that are obvious like and

don't go micromanage your design system

oh okay wait i'm getting ramped up sorry

okay anyway

no i think look like you have this uh

i've seen you do this rant a couple

times um

i think you need to slap a fancy label

on it and then put it put into a nice

graphic and go like this is the way

that you should do things because uh

have you seen emily freeman

at aws

she did she

basically had some issues with the

software the traditional software

development life cycle where it's like a

very waterfall approach and shows she

reshaped it into like a

like a circular concentric circle grid

with six dimensions and it made a lot of

sense for some people um but that at

least encoded her opinion and she could

give it a name and and she she said like

this is the way you do things now and

she had a whole spiel on it but like

sometimes it's better to sell an idea or

like a workflow if you give it a name

and you put put some diagrams on it and

make it a thing rather than uh repeating

the rant every time

yeah and so yeah this is the phases

range you're mentioning like yeah

yeah

catchy acronym or like you know whatever

um

and and yeah i mean you know i see

island's architecture was a catchy

catchy name for it you know sure was

yeah people could visualize that name he

had for um oh holotypes right it was

holotypes holotypes i never heard that

word before

that was so cool yeah

oh that's that's what jason called it in

an article he was oh no he was saying

your app is one of these holotypes and

if you were a certain holotype it could

lead well to you know an island's

architecture or whatever

yeah yeah very good so basically this is

like uh part of my long-running study on

how the thought lead or thought leading

for fun and profit you know there's like

sort of the cynical thought leading

which is like hey i want you to buy my

ebook

but then there you can also thought lead

for for benefit if like you really have

a cause that you just really want to

align people on um you have to com

package it in a message that that people

can spread for you instead of you having

to do all the work

totally yeah i think you're doing a good

job with that being a thought leader by

the way i very much enjoy your thoughts

i don't know what i'm meeting people too

i mean i think that's what's fun is

you're on an exploration constantly

digging and going through all these

archives and you're just kind of

shooting it out as it happens and

honestly that's kind of all i do with my

css tips i'm building stuff every day

almost all day and so i'm like but

here's it i just did this thing this is

cool i think anyway maybe someone else

willing i would say like um the thing

about css like no one ever feels like

they know all of it

do you think that's a problem

no i think that's how every language

feels

so

i've been trying to uh

push back on this a little because i

think being able to say

this is the entire map like okay you

know there is a spec right

and it's not an infinite list it's a

finite list

and you can you can at least kind of

draw like here's the world map you will

never visit

the entire world but at least you know

like okay here's a continent here

there's a continent there

um i haven't gone there yet but it's

there when i need it

at least like having boundaries around

like okay the world ends ends here

and um

i think that that's an interesting way

to think about like learning or

evangelizing something and this is

relevant for me because at my job uh we

have a fairly complex system

and no one had ever enumerated the

features until i went through and just

went like okay we have 30 features

and once you know these 30 features

that's about it for the system and being

able to say that's it

and and having an end to your learning i

think it's a really interesting concept

to have

yeah docs kind of give you that sense

right you land on docs and you're like i

have the world in my hands every api

call and every function is

articulated here with every parameter um

yeah and i definitely see where you're

going i think that can help someone um

get perspective of the language that

they're jumping into but there's like

surprises right like you learned

javascript for uh who cares how long and

then all of a sudden someone goes you

heard a functional programming go and

then you're like what and then you go

look at it you're like what are you

doing with javascript and then it

doesn't stop you're bringing it to

infinity right and then like

typescript's the same way you're like i

thought i was like i liked or knew like

javascript and typescript just tells me

all day that i have no idea what i know

and you know like

yeah css is the same way i've been

studying and building things in it for a

long time and i

i'd also i'm a human you know some of

these things are so big that i can't

memorize every map in territory so i

revisit and so i think what happens uh

with experience is that um you know like

okay

every programming language has a moment

where you're banging your head against

it you know whether it's flexbox or it's

um you know some extends in typescript

or something that's extending extend

extend and you're just like lost in the

extension world like

in these scenarios you eventually emerge

right you bust out

and your head comes popping out you get

a breath of air and you're like i have

defeated it like and what i think

professional developers are they're just

seasoned at defeating all the little

things in so much that they're now in a

perspective where they they expect

things to pop up that they're not going

to know but b they've if they run into

things that they run into before they

don't have the same hour or four hours

or two days that it takes to solve it

they just walk right over it because

they're like oh that was in that

territory over here i remember like two

years ago when i had to go there like

i'll just go there i don't remember

everything about it but i'll go read it

and study it and be like oh yeah that

was it okay and i'll put that back in

this happens like every time i use

intersection observer i'm like i know

intersection observer and then i'm like

i don't remember this syntax i gotta go

look it up um it's so funky um

anyway yeah

and basically i just want to copy and

paste intersection observer code and

just give me like the three or four

design patterns that work and

that's about it that's that's all people

want out of in section observer i mean i

think people want the matrix i think

they want to stick a thing in the back

of their neck and just be like css i

know it i will now command every box in

the way that i've ever desired you know

um yeah briefly though before we get off

of complexity cliffs um one of the first

components that reminded me of

complexity clips was the tabs component

um and we've been talking about that so

we talked about nicole already and so

one of the things we're trying to do is

make tabs on the web easier and in my

studies um i have found

that

it's a massive complexity cliff like

there's a hundred variants of what tabs

are more than that over the years we've

seen thousands of variants of tabs

and they all have little niche features

some little niche features make tabs

feel like a carousel

some tabs kind of feel like an accordion

some tabs feel like those paper tabs you

had in a binder and they all have this

like little thing and they all have

different accessibility implications and

usually

um that that's like the deciding factor

at least i like open ui they're like

okay here's what tabs are tabs are

basically this accessibility ux as a

foundation like the skeleton of the

thing works like this but i go look in

the wild and i see all of these

different tabs and i'm excited by it and

it kind of frustrates other people

because they want to go hard in the

pattern right this is what um

the button is trying to do it's like

hard in a pattern and so people want to

harden these patterns they they look so

obvious to harden and then i go research

and i basically call them keratabs now

i'm like oh tabata cells you mean oh

keratabs they're like no tabs i'm like

keratabs

um because the variations are so fun and

exciting and i actually think that's

what the web is excelling at is this

weirdness is that um

anyway so but the complexity cliff is

very clear in tabs where there is really

no single way to build one that would

fulfill every tabs component need that's

out there

like a lot of tabs have nothing to do

with swiping when i think that's

mandatory on like mobile you got to be

able to swipe between tabs

we've been trained that way for like

five years

but they would disagree like the um

open ui organization because that's just

not part of the float anyway so what i'm

getting at is these complexity clips

make it really hard to harden things and

um i'm at a point where i'm trying to

study which ones are on which side of

the cliff sean that's what i want to

know

uh because the ones that are on the side

that it just goes steep downhill i think

it's okay to let those be free ship

primitives and let people be weird let

people build all these fun different

exciting tabs like i don't i'm not that

interested in that but

uh we could move into deferred inputs if

you want as that's that next topic

i i've had two things to ask you before

you do this so one

you seem to have a image in your head

about complexity clips have you

visualized this because i feel like it's

an analogy that is right for

visualization

no i mean it be an iceberg you're

looking at a button and it looks like a

simple button on top and then you look

under the water and you're like holy

this thing has like request animation

frame loops in it or something you're

like i just did not predict that

yeah i think i think some visuals would

be nice to for people to really

instantly get it um and then secondly

could you introduce uh for those who

would like i've dug around open ui it

seems like um basically it tries to be a

browser a vendor agnostic

spec of here's how here's extensions to

standard html

how about you how about you help me

define like what is open ui um who runs

it

uh what is the near term like should

people pay attention to this now is this

just an r d phase like what what's uh

what phase is it is it

sure yeah and you know you should have a

unit on because she's a member of the

open ui

cabinet i have no idea anyway it's a

community group it operates like a

community group

um

it's led by i think greg whitworth um

maybe brian cardell also

um

dave rupert is on it also he does a lot

of presentations dave rupert is a he's

pro tabs uh not pro tabisell he has a

spicy accordion that he's made that is

basically tabs but it's it's not tabs

it's a spicy accordion anyway okay so

that's the sort of things that sometimes

get talked about at open ui but their

goal is to

move faster as an agnostic

implementation team

than what browsers would do and how can

they operate like how the community

groups do for css but do it for

components and so they have one that's

like a recent success um i think and

it's taken a long time to get there

which is the popover component have you

heard about the popover component no if

i can pull it up you can tell me about

it awesome it's it's classic you mouse

or you focus into a link and you get a

pop-up right is it this one

yeah

and so this took a long time to um get

through it has tons of you can see that

they are very oh look it's an editor's

draft oh they have three in editor's

draft interesting so the select element

is also there i know they've been

working on that one so something that's

a styleable select

and i bet you that depended on the

pop-up

anyway so i'm not a super pro here about

um how they operate but i do know that

their goals are to make

um accessible well-defined open source

community group driven

web com components i think they're web

components

um and yeah and eventually i think their

goal is to have those things accepted

into browser specs and have browsers

implement them natively maybe i'm not

really sure

where that goes from there oh look you

can see masonry down there for pop-up

he's the googler who's doing a lot of

the implementation and he's on the group

there too melanie richards awesome

uh yeah it's got a great crew of cats

that are like hacking on it um they

they're diligent they seem passionate

um

i'm not a member

because i'm kind of

i don't know if we need more primitives

sean i want to it is a hot take i know

i've talked to brian and a couple other

people about it but like like i'm

actually um

so this is why deferred inputs is an

interesting conversation i like to swing

for the fences i like to swing a lot

bigger okay so for example let's say um

open ui or someone else and open ui i

seriously

i admire them so much i think they're

it's a really important and

impressive thing that they're doing so i

think i'm also just intimidated but

anyway um what i would like to suggest

is okay consider the calendar so maybe a

calendar component

gets you know standardized so you could

customize it you don't just get the 20

year old dinky one that's in your

browser right now right

i hate that one it drives me nuts i'm

like geez louise there's no one here

well there's anything there's one that's

worse than that it's the number number

input you know with the small tiny

arrows

oh my god seriously

i don't know someone on a netbook with

like one of those minnie mouses or

something anyway um

okay so imagine this sean this is my

crazy idea called deferred input so you

put an input in there type equals date

and you put an attribute called deferred

on it and what the browser does when the

user taps that input is they broker a

relationship between that web page and a

third-party widget and a third-party

experience because what i want when i

click on a calendar widget is not just a

stupid calendar sean i want my events on

there i want to know if what i'm picking

is going to interrupt or something if

i'm booking dinner i need to know all of

these different cases i want to know my

stuff in there but i don't want the web

page to know anything about it so

imagine for a second that we went to the

app store on mac os and we installed um

a calendar component called google

calendar who cares or maybe it's ical

right icon makes sense for safari to

prompt so you get these deferred inputs

where the broker sends the request to

this app and says this user is

requesting a date all we want is a

string formatted like this give them an

experience that's rich and set and has a

session and you're logged into

um and let them pick a date and then

we'll just get the date back so the date

input is still just a static text input

but it the browser brokered a

relationship to third-party um

developers who can create specific and

robust experiences for these inputs so

i'm not talking we just you know as a

group come up with a cool date picker

that people can pass custom properties

to to style it i think that's a great

stopgap but i'd love to see us like make

a rich ex dude picking a date is a rich

experience moment it's something that

people can excel at and show you how

beautiful it is like imagine sunrise

like that app that made the calendar

thing that just like disrupted every one

time they made one and then imagine

someone else now you had choices sean

you had choices for your date input as a

user that's what i want to see i want to

see users having the ability and i want

developers to be able to compete for the

uh creation of those widget experiences

i think browsers have been sitting on it

and it drives me nuts they're crappy and

it looks like they don't care so just

open it up just broker the relationship

to a bunch of other developers that want

to get a two dollar component so that

you can have a session logged in

calendar picker like

and anyway so a lot of these inputs that

are a lot of these components that we're

waiting for

that are more robust that we need more

out of like some of our primitives i'm

like don't just give us some new crappy

primitive that looks like crap we i just

i'm tired of those like give us an

opportunity and and open up the uh open

up the industry to a new monetization

flow like you're basically creating

third-party developer anyway whatever

sean i think i've pitched it enough what

do you think is that crazy so i need to

clarify one more thing uh so first of

all have you written this up anywhere

this is in slides i have like a little

presentation i've given it to people

it's just um it's pretty much can we

find it somewhere

just just so people can follow up if

they want

i think i could it's just a random idea

i have so i assume i could open i mean i

if you know if you you believe in this

so what this this kind of conversation

always reminds me of the cathedral

versus the bazaar

you know that nice

that uh

fred brooks

this is this is old school software

development right like how do you design

an ecosystem do you want do you want to

say like i do it for you because i know

best or do you want to say i don't know

best and let everyone just have it out

um and so open ui is kind of the

cathedral and they're like okay we'll

research everything and then we'll we'll

pick the best way that is the superset

of everything and then the bazaar is

kind of like this deferred input

approach where it's just like i don't

know and i'll just give you a single

extension point and you guys go nuts

yep that's exactly what it's uh and yeah

basically just be a um what did i call

them um

because they have them in android it's

an intent the input basically emits an

intent and it says who can handle the

intent right and all these developers

now have apps living on your operating

system that the browser can broker the

intent with it says it's just like how

intense it's actually extremely modeled

after the

mobile experience of intense because i

love that experience it's really nice

you're just like yeah look at all my fun

custom stuff i have that can handle

where my image goes like that's really

nice

um and yeah we should have a color

picker like that like give me the

opportunity to click on a color input

and i bring my own color picker to the

table chrome

you know so i don't like yours

yeah anyway is this the user so there's

a few personas here

app developer and then the user viewing

the site so each viewer has like their

own experience

of this thing

okay

they bring like a utility built of

personalized widgets in their browser so

anywhere their browser is logged in and

how many of these are there i mean apart

from i've labeled a few here um yes

calendar autofill payment photo picker

and file picker oh photo picker and file

picker already done is what this says in

my deck i haven't looked at my deck in

like a year um because yeah if you think

about photo picker um

well i guess on mobile it's deferred but

on desktop it's not right on mobile when

you click on a file uploader or you

click on something that allows you to

upload you get to fulfill it with your

own choice of an app your phone your

personal stuff just needs to return an

image right and then the browser doesn't

have to know to care about the whole

experience that it took you to find it

because you went back three years on

june 24th to find the hamburger that you

were looking for right like

anyway yeah so autofill would be an

awesome one and payment like why can't i

just install a third-party payment

installation thing and when i

pay yeah it invokes my own experience

uh

well

what about security like if it's a

third-party widget

and it's payment like i'm giving you my

card details

user installed it and so they're

hopefully they're trusting what they

installed and the the page itself is

only getting results back so it's like

the same static results they would have

got before so the page doesn't get to

know anything about the third-party

experience there's like a very

it's just a message that's going to get

passed back and forth yeah

and do you think so uh one example of

this that is

done in userland is essentially password

managers

um like uh

right they override all the password

fields and then they give in their own

little things why can't it just be done

like that

oh so like an extension model

sounds good to me so yeah you could as a

developer go build a whole bunch of

really awesome you know extensions built

on the extension version 3 manifest and

deploy them across all the browsers and

deliver a unique logged in

experience for color picking and sure

yeah maybe you could intercept those

clicks and invoke your own overlay ui

that actually makes sense to me

okay got it i so it sounds like you know

of those things that you listed those

are inputs

um

there are a lot of things there are a

lot of components that are not inputs

and

uh i guess open ui would be

involved yeah like tabs carousels

popovers yeah

so you're not in con conflicts um you

know i don't think so yeah yeah okay and

both can coexist they could create a new

date picker and that should be the

default we need better date pickers so i

really need better default components

anyway so yeah i'm like

this isn't me trying to stop them it's

like i just think there's a whole

opportunity

for competition like yeah and it could

be cool yeah

uh one one last thing that comes up when

uh whenever you talk about image pickers

um

did you ever see that talk by ilya

grigorik about um

the

image picker up like file up size

optimizer

i don't think so tell me all about it so

he had a fantastic talk which like

really shaped the way i think about so

okay uh oh god

i i'm okay give me a sec to pull this up

okay uh because yeah i don't i don't

think i'm gonna do this justice unless i

literally have it up

rick

um what is his twitter head no he's not

super active on twitter

uh i think it's ilya some igorik

oh i was wrong

sorry

okay all right um

all right here we go

so

uh this is where this is where i shouted

it out um he had this concept of the

the head the torso and the tail

um

and

it was like how do we solve

um how do you solve image performance

forever

right like you can do some fancy stuff

with like

your image optimizing cdn you can do all

these like source set things no one's

gonna do it it's just it's too complex

like yeah it's cool and you should feel

bad

if you don't do it right but also

there's just too much to learn serving

images is very hard yeah it's super hard

so like he was he fantastically

broke it down to like okay so he's at

this performance.now conference right

and he said um

okay yeah here we go

i like i just i just love how clearly he

stated this if you want to solve the

image problem once and for all the cost

should be free the number of choices

should be zero the tools must do the

work not require work right now the

tools that we're being given require

more work hey the default sucks but just

be backward compatible here's the source

set thing with like five different

options and hey you gotta do image

processing on your own good luck um

that requires work so people don't do it

right so

the kind of person that goes to a

performance.now conference that watches

performance videos in their free time

that is what he calls the head

um

uh that

i'm not i'm not finding the right slide

but essentially like there's a there's

an adoption curve right there's there's

the really like performance oriented

performance minded people

who are going to adopt all the best

practices they're going to listen to

your talks they're going to read your

blog post then the torso they're like

they're just you know following whatever

the the

the body says and then and then there's

a long tail that just will never read

anything they will just do whatever this

is easiest

so you see if you want real impact you

have to address the torso and the tail

not just the head because the head

um

has the time to list to learn all your

stuff but that's not the problem the

problem is the rest of like everyone

else

um

sorry i i don't think i'm like doing

doing they're doing a good job of no i

think i'm following yeah so so his

proposal by the end of his talk uh and

this is like in 2019 was that

okay all right uh image optimizing cdn

too complicated source set to

complicated um

never just never upload a giant file

that you never giant photo that you

never need so he was like let's

introduce an image uploader component

that has image optimization built into

that

that point of upload so all points down

the chain just never get there

i i thought that was like the this i

thought that was where you were going i

don't know if you talked to him before

about this

yeah okay i have not

um but that kind of reminds me of ink

uploader which i used i don't know five

years ago or so it was kind of like an

early imagex server but yeah you'd

upload the biggest image you had and

then request it with one url um and

maybe some parameters on the url and you

get you could get a whole dynamic set of

images back yeah so you only had to deal

with the one image tag and yeah

yeah well good stuff i think that's the

way forward

yeah that's an image optimizing cdn

so you have to pay money for that um and

of course like you know that that

caused some engineering and resources um

so he wanted to go a little bit more

than that i don't know how practical it

was but it was very convincing at the

time

uh

and uh you know i hope he i don't know

if he's still at google or not but uh

you know he is yeah

he gets some sway in the design of this

thing

nice yeah i like that uh analogy though

i think that works really good

which is yeah i mean it's which i so in

the broader context of dev developer

tools and like designing

for ux versus dx which is our next topic

uh

yeah

um

i think about this a lot which is that

whenever we appear at conferences and we

like drop a new

blog post a new feature and we just

expect people to like

know about it and learn about it and

adopt it like within a year otherwise

it's their fault not yours

and i'm just like no people don't have

time

most people just want to know like what

the best practice is they'll go do that

and then they'll move on with their day

and that's about all the time that they

have for you

um and and so if we want to

you know improve user experience like we

have to make it

basically bring this for for people to

adopt

um the best practice

yeah so we can

yeah do you want to start there like

yeah that's the the goal of the phrase

or like that's like the

uh the the heartfelt meaningful good

side of the phrase that dx can lead to

good ux is

the intent is there which is that people

want to deliver good ux

and they're not wrong that

good dx can't deliver a portion or maybe

a lot of ux

um

but i think that the phrase is kind of

not doing itself a favor um like it's

it's kind of a short-sighted view of

what dx is versus a short-sighted view

of ux and i'm like i don't even know why

we're

so okay so first off let's just say that

to have dx that even could facilitate

good ux someone had to teach the dx what

good ux was like ux had to start it in

order like be the initial cause for dx

to exist that it was knowledgeable to

give you good ux so i'm like how does

people think that dx just magically

gives good ux it had to be written by

somebody like the good ux was created

and someone spent valuable time thinking

about good ux in order to bake it into

something that could be shared better

that then helped facilitate a workflow

which is just like how like a bakery

would work right you just got like okay

we've got all these processes they're

working like this

and now we're going to always use this

flower instead of have random flowers

and we're always going to use this scoop

or something like that you just start to

like harden these things over time so

that when new people join they don't

have to go learn there's three scoops

there's just one scoop now to choose

from

and every time those decisions get made

like they're made in a good faith i

guess like the bakers are trying to make

more

um

you know muffins or something for

everybody like the ux is eating a muffin

um okay

that

essentially you can overdo it just like

in a design system you can overdo it so

where eventually maybe you make a

factory maybe you've got you know this

happens all the time in code we build

tons of factories to stamp out web pages

to stamp this out to stand we love our

automation

and sometimes automation

all it does is harden one good ux choice

and it might make subsequent ux choices

harder

um

in any way so okay so then here i want

to go back to like the

like dx is so much more

than

providing good ux

like there's so much more to it like you

can have an entire

day's worth of dx that never touches ux

and that should be fine like you should

be happy with that because what you're

trying to do is empower everyone after

you um

or whatever it is like i think it's

valuable time so basically i think it's

short-sighting dx to think that it can

only be valuable if it's affecting ux i

don't think that even needs to

anyway and then um

right i think dx is like you could do

anyway so dx can be entirely in a whole

other sector of the organization and

never change the ux and i don't think

that's bad i think sometimes it can

inconsequently change ux and that's

awesome sometimes it can intentionally

do it you know maybe data the data

center team over here they switch to a

different cluster system and now they're

you know shaved 50 milliseconds off a

request or whatever you're like cool the

user might

feel that or whatever um

but then also ux it's short-sighting

what ux is

if you've ever met a ux designer

to them the user experience isn't how

fast the milliseconds went down the wire

even though this is part of the user

experience is how fast you got it to

them they spend

weeks and months researching users

to make

informed decisions about ux

so to think that dx can just magically

have all of that i mean unless the

designers are baking and they're the

ones creating the dx maybe dx is

directly affecting ux but really i think

ux starts with research it doesn't start

with good dx you have to you have to

know what good ux is spend time on it

and actually create it before you can

then go harden it and make it like

repeatable and shareable or whatever it

is and also ux is just so much more than

that moment the button downloaded and

you pressed it so it's like belittling

the whole concept of ux and dx at the

same time making a comparison that

doesn't even really matter like here's

another thing dude is you can have the

worst dx in the world let's say you can

only ssh into this one server you have

no tools you're just with vim and it's

like a insane react project you don't

even have webpack you have to go edit

the output of a bundle let's say that

who knows dude a determined ux person

will do whatever it takes to make the ux

good they'll go hack that code it

doesn't matter the dx won't matter what

matters is the desire that someone had

and you know conversely uh you could

have like the best dx in the entire

world and deliver a button that says

fart

because the text in a button bro is part

of ux man there's ux writers that's all

they do is provide text so maybe if your

dx or your button was so rad that you

could like a new button and then you

drop it in and it has a whole suggestion

of ux written content in it like i don't

think you're really getting the

full-fledged

delivery of ux because it's so

contextual it's so subjective it's so

human

that

all you get from dx in terms of ux is

anything that's on rails and anything

you get from dx that can lead to good ux

usually came because good ux sourced

into the dx that then changed to the ux

so i just don't

it's just like i'm like i'm not sure

what everyone's trying to say other than

i think you know which is i said at the

beginning i'm like i see the initial

goal here which is like hey if you have

um really great tools it can make it

easier to slice some bread and put

butter on it and then now you have

sliced butter way faster you know like

look at us and we made a process for it

and now we can do 10 breads and 10

butters in a parallel right we're gatsby

and now we're doing parallel bread uh

buttered stuff right until the designer

says oh we're not using butter or we

need new butter and peanut butter and

everyone's like oh we made a factory for

that last process and you're like dude

users want peanut butter now too so

sorry you're gonna have to update all

the dx to match the new ux so

that's kind of what i see i think it's

almost like ux is equal to dx which

could trickle down to ux again

at least that's the intent and so i just

don't know why we don't talk about the

full cycle and i don't know why we want

to belittle the two concepts like ux is

more than just developers building

buttons and

forms and flows and stuff like that

there's a whole team of ux designers

that they are literally fighting your

company to have good ux

and i just that's why i think a lot of

designers don't retweet that dx is

better than ux or that dx will lead to

good ux designers just know that they're

at the table every day arguing with

somebody that they need to refactor this

because it's not good user experience

and the person over there is going

no i see all your research and i see you

did user studies

i just can't allocate the resources and

meanwhile they've got a team of 10

people increasing the dx of the back end

system over here right and they're just

not funding the ux so anyway

i can just see like all these different

sides to it and i'm i'm just not it just

doesn't do anyone to favorite it's not

doing dx a favor like it's not if

anything it kind of like makes dx look

like the hero too i think that's my

biggest issue with it it makes dx look

like it's the thing that led to good ux

i'm like no it doesn't

there's no

it never anyway so i'm like it's not the

hero the hero here is having good ux

like that's what everyone wants is good

ux but dx steals the show and that

phrasing

and it's just so anyway i'm mostly

annoyed with it and i'm like it's just

it's based on like these couple of paths

like people will look at this dx led

like that's one path of a thousand that

you'll take in building a product that

has good ux

sure your dx led to good ux there

congratulations just don't praise that

phrase like it's going to solve all of

your ux problems it is not the

responsible party for good choices ux

focused individuals are the ones that

make the good ux choices and can funnel

those through dx and back around or

whatever so anyway i just think it's

missing the point in a lot of ways how

do you feel about you know why

you know why we hear so much about it

it's because

the ux people have nothing to sell you

whereas the dx people have something to

sell you

economic incentive to drive things

yeah dx is the hottest phrase to get

your product recognized right now that's

for sure huh

do you think so

do you think the term is tarnished now

do you think it's so

no

no

it's tarnished to me but no it's still

hot as ever are you kidding

it's my it's in my it's my job title by

the way so my job title is literally

have a developer experience

and i don't know if i want to associate

myself so closely with this thing

oh really oh dick i mean hey dude i

associate myself with css how many

people want to do that

i i think it's amazing have i told you

that i think that you and yoona are like

my like i i idolize you guys so much

because oh no way being able to advocate

for css hello like

um

it's just it's just

so first of all you have to be good you

have to be like really good at it and

both of you are actually really great uh

but also just you're advocating for

something that everyone can use so

there's nothing to sell you it's just

like you already have this and

like 90 of you are terrible at it or

like you could be better you know let's

put it politically correctly so i mean i

think it's great i i css will be around

longer than both of us will be around

and i think it's

no one can i i don't know everyone can

always use a bit more css in their life

i need a css shirt by the way

oh i could probably figure that out i'll

send you a link uh later it's which is

funny right like you know they're uh

they're like 100 different js comps and

like maybe i don't know if i've ever

seen the css conf

there is yeah and i think it uh there

was one a really popular one for five

years in europe and it spread there was

like ones happening in other conflict uh

continents but it's i think kind of i

don't know the conference scene is

shaking up recently but yeah css is

definitely underdog in all this stuff

huh

i mean i yeah so i mean i i was i was

really encouraged when you joined um and

and then you started putting out really

good stuff and i was i just i think

google does something right when you

when you hire

uh developer relations i don't know what

it is but

um every every person i see is just

stellar talk to dion

dion has um i have an emotion was he

responsible for

yeah he's the one who saw me um like i

anyway yeah he pretty much pulled me out

of the team i was at and google and was

like hey you want to do this over here

in chrome and i was like i idolized you

all i couldn't do that and he's like

you're one of us would you like to be i

was like okay and he totally believed in

me and um gave me lots of chances and

was and yeah i'm and i think there's

lots of so he left recently a couple

months yeah shopify

shopify and um you could tell

um he shattered

people like there were people that were

like dion was like

a different person he was someone i was

emotionally um

engaged with he has this amazing ability

to listen and anyway what if

what a great leader and manager he was

um and he had he has some sort of skill

i don't you have to ask him how he knows

i was asking someone um and how he can

judge people but yeah he's got a talent

there

you know i had so i went to boulder

recently and i think he is like kind of

just just outside boulder or something

and i had lunch with him and he never

he's so humble he never brings this up

he's just like yeah i like tech like you

know i think shopify is cool you know he

never talks about like how he runs

his org and how he how he thinks about

hiring um

interesting guy

interesting guy interesting guy and he

just carries his candor so well

um yeah um but back to dx as like a job

title i do think it's still important i

just uh and that's what i'm saying i

don't think the phrase does your job

justice like it's making dx sound like

it's only valuable if it is impacting ux

and i'm like that's not the case you can

empower developers to save hundreds of

hours a week and it maybe never touches

the ux and who cares you just still

saved hundreds of hours like why is the

value of dx somehow hinging on its

ability to start getting more ranty

again why is yeah this doesn't i'm like

it's not doing it justice like it wants

dx to be respected unlike it already is

so why push that this is like its best

moment like

yeah whatever

so um i think you know just just because

you're you're interested in this uh i've

been defining it in

in

maybe like four ways

so the first is api design

uh because

um that is that

everything is downstream of like did you

did you design the right abstraction

right like the same thing that you're

you're doing with deferred inputs and

stuff like that

uh and then second of all docs for for

that api right you have to

um be able to find it first of all it

needs to have full coverage everything

that

is in your api should be locatable

uh and then it should be anticipatory

like tell me what i'm going to need

before i know about it

uh which is a high bar i mean

but like no i like that that's like

visiting a docs page and it's already

got my um keys in it like i don't have

to go find my keys it knows i'm like and

looking at the docs and it autofills

them but yeah to me that's just like

templating it's like templated docs i

mean everyone can do that you know like

it's uh it is it is it is good people do

do enjoy that but i always want to have

an opinion like uh okay you know you

have like two required options and five

not required options but this is

recommended in these situations and this

is only for power users tell me that

in the docs before before letting me go

on uh and figure it out on my own

so that's what i'm trying to do with our

docs and then the last part is um

have i done four yet uh the last part is

community three yeah right

okay so so there's there's developer

relations which is like traditional

content creation like teach me how to do

stuff do tutorials do meet my meetups

yes

hype it up pipeline yeah and then the

last part is community um which uh

basically like do you have a place to go

to ask questions and how how much you

know um like can you get a job in this

is there like a training is there like

career progression do i see myself

identifying with this technology as a

career like there are lots of

technologies in our lives there's only

certain technologies that we choose to

call to like say like i am a x developer

i am a react developer that that means

something that is over and above

just

the the particular library and framework

that you that you use um

i don't know if i should do that i don't

know if i should be so expensive and say

like oh yeah community is part of this

too

but also it kind of is

so it definitely is um it's something

that i tried and i still try to focus on

by having open office hours doing the

amas um i try to reach out and yeah

that's why i do conferences i like to

dude i don't think i can effectively do

my job if i'm not connecting to the

community because otherwise i'm living

in a bubble and i'm not putting shoes on

that are uncomfortable for me like i

need to be constantly putting on shoes

of other people to have my own

perspective

uh shaped well and then it makes me a

better educator it makes me better at

all these other roles yeah

yeah i think it's very healthy that it's

included

that's my that's my map of developer

experience so far and i'm trying to

implement that

awesome uh that sounds very amicable and

it sounds like you have four pillars and

everything at google ends up being in

four pillars so congratulations on

google i like things to come in

i like things to come in threes i don't

know yeah threes is a little more catchy

huh yeah

wait wait so what's an example of the

thing that that's four killers at google

oh let's see if i can i don't know if i

could remember one right now but it's

like any time a leader is presenting

like slides

there's always one slide that's got like

four pillars of our beliefs or whatever

and you're just like come on this is

just a template slide everyone slaps and

they go i can fill this with some crap

anyway so we teased it every time we see

it we're like there's the pillars

[Laughter]

i mean

this is the whole thing about draw the

map right like like i want to know like

where do i end because if you just say

it's all the things i i don't know i

don't know how to deal with that but if

i've covered like the the big macros

it's kind of like your your meal right

like when you're when you're eating you

want to make sure you're taking care of

your big macros and and you you're

roughly like you're gonna survive

[Laughter]

so nice

yeah that's kind of how i think about it

uh should we talk about self-disruption

yeah

um all right so tell me about what this

what this is and what prompted it

actually

okay let's see what prompted it

um it's just something about

like not innovating or was it that was

just me making a comparison yeah it was

apple and their new machines it was um

chris coyer sharing a css tricks article

about alternative browsers based on

chromium that are offering unique and

expressive experiences it was me

reflecting on opera when they tried to

do this with opera next as like a

self-disrupting um browser

implementation it was really cool um

it's like bubbles every time it was all

anyway it was pretty neat um

and i just was like start i just started

to think about it i was like in tech

okay it's like a as a naive implementer

right because i'm pretty much swinging

the hammer on the engine every day like

i'm constantly in the house making sure

the door handles are shiny and open easy

like this is what i mean by like being a

ux developer like i'm just going around

making sure

that it all flows and i'm like in my

head i'm like if we had tons of money

and this thing was just so successful

you know what i would do is i would roll

that all into like a labs team that made

it so that i made the next generation of

house like let's quit hacking on these

same houses we all have okay we have a

great process and it's all hunky-dory

but at the same time like we're

outputting a factory looking thing

um and and we seem to be happy and proud

about it we are but i'm like okay so for

me i got really confused i'm like i

would if i had all this money and

success

roll it entirely into disrupting myself

into the next coolest thing because now

i don't have to have the same stress as

i did the first time the first time when

i made my product i was fighting right

and you were pushing you had this ideal

and this mentality

and i'd want to live that again

and what i don't see happening is

companies do that i see chrome browser

what is it 10 or 15 years old it looks

kind of the same it has a ton of new

features under the hood but i'm like

this is a very unexciting user

experience but that's probably fine

that's fine for a mainstream application

and yeah you don't want to go to so

anyway like i understand why

um

it's risky to try to self-disrupt but at

the same time i made the adobe

comparison with you because i'm like

20 years of success of photoshop um and

yet there's still like every three years

a new design tool popping up that turns

everyone's head away and is almost it

always feels next-gen when it shows up

sketch showed up everyone freaked out

three years later we all freaked out

over figma three years later we freaked

out over xd

um and what and yeah they're like

they're disrupting photoshop but

photoshop's not disrupting itself like

why can't they just sit back and be like

we've got hundreds of thousands of

dollars and lots of developers let's

pivot everything into like

v2 of this thing and just rock it into

the future you know like let's do what

everyone actually wants instead of just

repeating anyway so that that was the

thought process and i was like why like

sean why don't more people roll their

success okay because they do this in

business right if you get a big fat

success in your bitcoin output or what i

don't know like you roll your money back

into a bigger investment and you roll it

again

but they don't seem to do that with

their products it's almost like it gets

big they get

rich they get

not inspired anymore and their focus has

changed and they're no longer in that

mindset of

building the best product they're now on

them they're just in a new phase right

and i'm like yeah but you can be in the

new face and invest in like another

disruptive phase right like now you have

the funds for it and anyway that's what

it's all coming from yeah

um

a lot of thoughts on that first of all

wasn't so wasn't xd doesn't xd count

because it's also from adobe

um

i would argue it's of

this is so rude of me to say it's pretty

much a figma clone

yeah and it's great i love xd and in

fact i like it better than figaro you

want them to innovate at the end of the

day

i want them to okay here's what i want

photoshop to do with all their money and

all their fantastic developers is make

an actual web design tool like a real

web design tool and stop messing around

with 20 year old style gradient makers

and all this old crap that you've been

carrying around like shed all that

baggage go something straight up web

focused and just

chew that crap off and just

spec centric design tool something that

actually like has html elements and it

helps designers facilitate something

that is like

more oriented towards a real thing

um instead of

continuing to

yeah so webflow like i mean

yes sure yeah so like so webflow tried

to disrupt the design market by building

like a web centric and web focused and

spec focused design tool um and yeah i'm

like why doesn't adobe look at that and

go okay we need to do the same we need

to have uh our own version of this with

our name on it we've got the funds we've

got the people like they have see like

from the outside they have everything

they need to do it like i look at google

the same way i'm like look at chrome

like they have all the money and all the

people they need to make another version

that's just incredible

um and just does something fresh

but yet they're not and so yeah i was

mentioning too it's like egos just like

to polish turds apparently so i think

that's just kind of what happens is your

ego grows and you're like you you're

smeagle i think i think what happens is

his success turns a lot of teams into

smeagles and they sit and go

yeah and they just they just stroke the

ring um and don't do anything new with

it or whatever and i guess that doesn't

make sense because they're not sitting

on a pile of money but anyway you got

what i'm saying what adobe's sitting on

a pile of money i

i'll definitely vouch for them for doing

that i think they're like a 200 when i

last looked at them like five years ago

they're like uh like 60 billion like

like decent size and now they're like

240 billion and i'm just well

uh it's a great like these

you you think you think you know these

companies and then they they just blow

past any any form of expectations um

okay so wait uh a couple couple things

on this um so one is

you know i had a i had a app that i

updated you know there's a i have 200

apps probably on my phone that i do not

update

you know why i don't update them because

they may they may change

and i'm scared to change they work fine

for me right now

um and i updated one of them and yeah

now like the old ux is gone and i can't

get it back

yeah

so sometimes like don't fix my aim broke

you know like if i rely on this for my

living and my business tools like

it just makes sense to just keep it

for the users who were like very used to

it

that that means something you know what

i mean like that yeah that lack of

change

actually is a feature sometimes but yeah

i mean obviously innovation is is

helpful um you did not want them to

produce a thigma clone i get it um

they're probably looking at building a

webflow or buying woodflow uh it's both

are both totally possible but i don't

think it's proven itself yet i don't

think like designers have like flocked

to

webflow like they have to figma

they've been distracted with um yeah

design systems and components their

design tools are competing competing

in that space to you know make an api

for all your tokens if you make your

artboards like this put your squares

like this and give them a name and

you'll output an api blah blah blah yeah

yeah they're over there churning their

wheels hard uh

digging holes in my opinion yeah well so

okay and then there's also the fact that

like um

it i think it takes

a few years for a product to season um

yeah and

and like photoshop just uh you know i

think it's now like there's like the web

version or like creative cloud or

whatever like that hasn't been that been

around that long and it takes a long

time to reach like the mass population

again this is the whole concept of like

you're in the head you evaluated all

these tools when they came out you're

like you know the difference between

them most people don't

and most people like hear about them

like five years after they're out

because like that's that's how long it

takes to like hear about things you know

from your friends and stuff

um

so you're wanting innovation at a pace

that like

most of the country or most of the most

of the industry doesn't operate on

so i just want you to norm yourself on

like

um

because you're at the cutting edge of a

lot of things

like and maybe it feels like the

companies are not keeping up to where

you are but also like

there's two things like one it makes

business sense because like you you

wrote the software it's super expensive

to write the software you have to kind

of milk it for a while

uh second it takes a while for software

to get out there and get get known by

people get used and then people build

their careers on top of this thing and

then and then you don't want to change

it because like now you know this thing

and you're you're working on it just

fine like don't don't take it away from

me so um there's a uh so base camp uh do

you are you familiar with base camp um

yeah i was an early user uh art anyway

yeah

yeah they're one of those companies so i

think they probably closest model your

approach where they're every new version

they throw away the old code base and

they just rebuild from scratch on the

first principles um the old code base

still runs

and any customer that still wants to

stay on it can stay on it for for

eternity

so i think that that's a really nice

balance

of

disrupt yourself

but don't break the workflows of your

people who rely i definitely don't want

i don't want you know chrome to stop

making chrome or photoshop yeah

that's not what i'm suggesting i'm

suggesting roll your roll your excess

money that's apparent like obviously

covering your bills and

come up with something new

and yeah what do you think fix all fix

all the things that you noticed uh are

wrong after you've built this product

because naturally after you're done

hardening a tool and building it v2

looks so clear and after you build v2 v3

looks so clear and so that's also the

other thing because

okay like we have frameworks that update

all the time and they kind yeah i guess

the old one always works like you just

go get the old code but

um yeah i definitely don't want to see

old versions breaking i just want to see

the um the original fire and spark of a

team

just trying new stuff with this

excess funds it's just like i don't know

that's just what i would do i guess um

there's a there's an old money effect

you know once you've made your

major reputation major wealth whatever

you're not as hungry anymore

that's what i mean yeah that's what i

was saying yes earlier i was like yeah

i just imagine i would still have the

hunger and that's when i'm like how come

other people lose the hunger

okay so

one more thing so you

uh you're just focusing on web design

you st you work on your own tool

uh

would you ever spend that out i mean it

sounds like you you feel like there's a

there's a need here

oh visbog this book is more like

firebug and devtools than it is a

creation tool um like creating in the

browser

okay really is something different than

creating a design tool and it would need

to facilitate some really different

flows so yeah vis bug just

can inspect whatever is built anywhere

it's just like oh is there a

web page here i'll tell you everything i

can about it just put me on the page um

but and it will allow you to copy and

paste you can hit command d and

duplicate so if you want to see what

your layout looks like with nine cards

instead of three just click on hit

command d seven times uh so it can help

you like

edit text and do this like chaos testing

and you know stress testing it can also

change colors and delete i don't know it

does all sorts of things but it does not

start from blank and begin although you

can kind of cheat like if someone really

wanted to flex fizzbug they could

definitely do that because visbo can

copy styles off of anything you select

so you could go to a page

uh copy the styles paste them somewhere

else like i have a tweet where i go to a

web page i go to web download oh yeah

here let me see if i can find it i like

bringing things up on screen so that

people can follow along yeah that's cool

um and also like you know some people

your way but also i think um

yeah you know i wanted to

publish to nutify and i never figured

out the apis because like basically i

had oh yeah we did we were hacking on

that together huh yeah i had to do file

upload from extensions and i could not

figure out how to do that i don't think

i had the ability to do that

and the on the notify thing only only

allowed file upload

um

so yeah i kind of left it i didn't i

didn't figure out how to do it

i just sent you one there's a couple you

did more

okay got it

um

the codepen ones because i just

literally like in the codepen when i

literally just like take html and css go

to codepen and i paste them and it just

works

i love it

that that makes like

that makes the web like remixable you

know there's this whole

yes

term

um

here okay i don't see anyone anything

else that you sent me so if you if you

did i haven't sent it yet i'm trying to

find the code this is the one

so

facebook lifts and shift inline svg

you click on the thing

and then

go to codepen oh yeah you paste it oh

this is the codepen one oh well i just

started a new codepen oh here it is

great

boom

oh that one just does the svg though

okay so yeah so that's one thing visible

can do you don't have to wait for like a

um a copy button on inline svg you could

go to netlify or tailwind and all their

rad svg they have there you can just go

copy it just

it's mine yeah

yeah um i don't see either one but yeah

i went to web.dev and lifted a button oh

yeah i stole all of the button off of

the page i just took the html i pasted

it i took the styles and i pasted it and

i had the exact same button just in not

the font because i didn't have the font

imported

you see that's a reusable button

that's actually what i'm trying to tell

designers to do is i'm just basically

like stop recreating the button in a

design tool go use your production

website as an artboard you don't need to

recreate the page anymore go to the

product you work on and edit it and

express yourself in a familiar way that

you're doing a design tool take a

screenshot and tell the developers

that's what i want

yeah yeah that that would be

that'd be next level

yeah

um cool man uh i mean that was that was

about the the list of topics that we

prepared uh you know and i wanted you to

plug this back a bit so i kind of oh

thanks i was like oh this is nice that's

coming up i know right um but is there

anything else you want you want people

to you want to plug you want people to

uh like you know what's your what's your

message to to people that you wish uh if

you could wave a magic wand everyone

would do

oh um

this which is um the next time

you're in typescript or in javascript

and um

you're banging your head again or maybe

you're in rust maybe whatever language

you're in

and you're banging your head against it

and you're stuck

um i want you to remember how you feel

and then next time it happens to you in

css

don't be so frustrated

just know that every language you work

in you're not perfect and you will plunk

around like a bowling ball between the

rails until you hit the end and it

doesn't matter what language you're in

you do the same thing

in all of them so

css is hard um and maybe people think

it's below them because it's just boxes

but some you know maybe you think your

math functions on the you know your

server

functions running on the edge are so

cool but it's all just a place where

you're trying to get a task done and

you're not a superhero so you don't do

it right the first time and it's okay

it's very bob ross of you

it's like yeah you may make some

mistakes it's okay it's happy little

accident uh and also but also uh i would

do on a feature that cs has just got a

whole bunch of math functions right you

can do some really sciency things yeah

cosine and all that good stuff yeah i'm

not i'm never using it but it's cool

yeah i don't think i'll use much of it

either maybe if i'm like doing a

rotation and i'm trying to be fancy

usually i have to google all the math

stuff i'm like the math stuff is solved

you know i want an arc okay who's got

the arc math i'll go take it

um

yeah nice i do have two shows to pitch

though if i want to plug i have plugs

which is gooey challenges on youtube on

youtube um

every month i release a blog post and a

youtube video that i explain and break

down

um

a component that i build and i build it

in an agnostic to any framework i just

sort of

um build it in html css and javascript

i'm like here you can take this anywhere

you want any framework go make it fit

into your architecture but here's the

goals you know the goals are it needs to

be interactive this way and it needs to

have this feature and i talk about

accessibility and how i do it and then i

open source the code and yeah i have a

blog post that goes in really deep about

it um and i like that show it's a good

way for

people to see that it's just thinking on

ways to solve things like i don't think

i don't think people would be happy if

there was only one way to do stuff

i think that's why the web is succeeding

is it's weird and it's quirky a url

could be anything at the end of it when

an app you load an app and you're like

oh i'm probably going to see bottom tabs

and probably see this

and i think that's exciting and so it's

trying to empower people to um

just

be okay with being expressive about how

you want to do stuff like there's a lot

of style that even goes into

accessibility um and people don't talk

about that they make accessibility sound

like there's one way to do it i'm like i

don't know every time i do it there's

different things and different smart

little so anyway i bake a lot of that

information into that show and then the

css css podcast

really makes

it illuminates the computer science

behind css where we break down you know

uh the functions that we they're pretty

much all pure functions we talk about

the functions that run client-side

and take parameters they're just like

javascript um

and they're typed css is typed you know

we go into the color as a type and sizes

and links or types and

um

and anyway i think it will help anyone

with their perspective of css and feel

more comfortable just sort of

um being in that world so yeah those are

my plugs uh thanks you've really let me

share those hang on you said you had a

second show

you had two shows what's the css podcast

oh yeah okay got it yeah i enjoy that

i love i love how uh salvi hao is a

friend of mine from singapore and he

does

uh the whole pick up what you put down

thing that i preach which is essentially

he goes over and actually

demonstrates show notes and so he's

learning it along but everyone else can

learn with him so i really like it um i

have to admit it's hard to follow when

you mouth blog but

uh

at least at least i know like you see

this is a map right like here are all

the things that you know the the two css

developer advocates at chrome uh thought

it was worth knowing and you covered the

the topics and you you called out the

things that

you took for granted or maybe you like

found out as you as you covered the spec

again like this is super valuable

thanks sean and that's definitely what

we do that's a good description of a map

that's mapping territories um and we

have more territories that are sort of

un

undocumented right now and we'll get

those out sometime next year but

um yeah we've got a pretty good coverage

of the core css in that show

yeah it's really it's really great um

all right perfect um thanks for thanks

for doing this i know it's like kind of

like an awkward thing and i know i

really wanted to do an in-person thing

and let's see

dogs coming around and you see all the

kids toys everywhere and all my plants i

have a lot of plants um but you'll see

them later

yeah i'll come over sometime we have to

do this um seattle meetup um but hey

thanks thanks for uh thanks for chatting

alright i'm gonna

[Weekend Drop] Adam Argyle: Complexity Cliffs, DX, and the Disruption of Web Design
Broadcast by