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

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

The following is my conversation with Adam Argyle, CSS Developer Advocate for Google Chrome.

Watch on YouTube: https://youtu.be/xEyJ6LY7DKI

The conversation covers a quite a few topics that are relevant in the webdev and web design industries: UI complexity cliffs, DX vs UX, Self Disruption, and what Web Design Tooling could be.

Along the way we touch on what OpenUI is, Adam's Deferred Inputs proposal, the 4 Jobs of Developer Experience, Thoughtleading for Good from Emily Freeman, Ilya Grigorik, and Dion Almaier, and Adobe vs Figma vs Webflow!

Links: 
  • Button tweet https://twitter.com/swyx/status/1450333133300064259
  • https://open-ui.org/
  • https://jasonformat.com/application-holotypes/
  • https://siliconangle.com/2021/09/29/devops-dummies-author-emily-freeman-introduces-revolutionary-model-modern-software-development-awsq3/
  • https://en.wikipedia.org/wiki/The_Cathedral_and_the_Bazaar
  • Ilya Grigorik Perf.now talk https://www.youtube.com/watch?v=vtIfVPtN6io
  • Visbug https://chrome.google.com/webstore/detail/visbug/cdockenadnadldjbbgcallicgledbeoc?hl=en
  • https://web.dev/learn/

Timestamps:

00:00:00 Cold open
00:01:05 Complexity Cliffs and the Reusable Button Problem
00:03:28 OpenUI
00:04:32 DevRel vs Personal work
00:05:52 DRY vs Design Systems
00:07:10 Building in Phases
00:08:04 Thought Leading for Good
00:10:33 Learning
00:14:13 The Surprising Complexity of Tabs
00:17:12 What is Open UI?
00:19:59 Hot Take: Deferred Inputs
00:23:40 Cathedral vs Bazaar
00:28:01 Illya Grigorik: Head/Torso/Tail
00:32:45 UX vs DX
00:45:51 4 Jobs of DX
00:50:33 Self Disruption
00:54:50 Adobe vs Figma vs Webflow
01:01:04 VisBug
01:05:05 Shameless Plugs

Transcript

  • swyx: Alright So the first thing we're talking about is ui complexity cliffs what's on your mind what was his first on your on your list.
  • Adam Argyle: yeah you had a tweet the other day that was i'm at my fourth startup or something like this and we're pressing buttons again like, how s it 2021.
  • swyx: And by guys
  • Adam Argyle: Are popping up i needing refactoring or something like How are they not solved and.
  • Adam Argyle: i'm sure you had threads of people that have their ideas there and mine was it's a omplexity cliff it's the first introduction, where you as a front end ui person who actually.
  • Adam Argyle: is like goingto 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.
  • Adam Argyle: Go change the steering wheel out and you're like oh that's just a component just a single use like that things totally only got like one attachment right, and then you walk up to it and you start working on it you'd like.
  • Adam Argyle: To see just like really integrated into the system.
  • Adam Argyle: And or whatever right, you have these like discovery moments with it and you realize it's much more complex than it is in a button just does that buttons like yeah well let's allow an icon to be on our button and you're like okay left and right.
  • Adam Argyle: sides can be I can have both sides because you could have a shopping cart with a little drop down arrow.
  • Adam Argyle: Oh man Okay, and you have to have dark mode you better have this and that and that the matrix like i've seen the of states, is what I mean by this complexity cliff like it's just not visible from the surface, it looks all innocent.
  • Adam Argyle: 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 the design system is absurd it's absurd, but at the same time I love it anyway.
  • swyx: So this is the tweet and question and honestly like this is this is genuine because.
  • swyx: yeah I had that to Sigma away, where I had my first front end job and then modify and now it's immoral same stuff again and all did you handle disabled Oh, is it a link, or is it a button.
  • swyx: And it was interesting was also just the replies like Nicole from Google So what does she do she like.
  • Adam Argyle: beats I worry record directly.
  • Adam Argyle: These days, she was on frameworks and she's now shifted to ui and sort of like how did she empower people to build flexible and fluid interfaces on the web.
  • Adam Argyle: And that's why she points to open your eyes it's like a community for that, but anyway that i'm part of her team because i'm I work on similar things.
  • swyx: Okay yeah and so like you know, first of all I didn't I didn't expect this to reach anyone in Google.
  • swyx: But then also like the Web components people reached out to me and they're like how come work a foreign service officer for you and i'm like it's not about the tech.
  • swyx: it's more about like understanding the specs of what people wanted people not agreeing what a button should do.
  • Adam Argyle: yeah.
  • Adam Argyle: yeah Google cloud had had too many.
  • Adam Argyle: They had them in multiple frameworks in the same.
  • Adam Argyle: 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.
  • Adam Argyle: which some people have enough time or England one, how are they going to wrinkle two or three and built in different frameworks right you could your islands architecture with buttons you're just like oh snap touch mean any button from any framework just shows up in an island.
  • swyx: that's an interesting discussion is that a big.
  • swyx: Is the islands architecture, a big discussion within Google, or because I always have hard I have trouble separating Jason from Jason Miller, who wrote the article architecture markers.
  • swyx: When is he talking in his own personal capacity, or when is he saying like No, this is something we're tight with thinking about a Google.
  • Adam Argyle: 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 do all the things our job want us to do, but we have this like I don't know where our own personal opinion like.
  • swyx: jake Archibald as to he.
  • Adam Argyle: 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.
  • Adam Argyle: But that doesn't mean that's what he's going to go pitch outside of Google and the islands architectures.
  • Adam Argyle: yeah This is just sort of the micro friends evolution into let's eventually docker eyes every component and then manage them with communities in the front end right we'll get there, I don't know.
  • Adam Argyle: yeah.
  • swyx: Well, 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.
  • swyx: We should we should write everything twice and sometimes if you're just customizing it so often you're reusing it so much maybe just don't reuse code just just copy and paste and then that makes it easy to the really easy to modify the only thing that.
  • swyx: That goes wrong with that so whenever you need to do a global update then you'd run into trouble, but how often do you really need to do that.
  • Adam Argyle: Right isn't 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.
  • Adam Argyle: If you are, you know, employing it that way, on your project but yeah I think that's a really good point, though, is that sometimes you don't need to build a mega button yeah.
  • Adam Argyle: yeah mega buttons get built and then mega buttons fall down.
  • swyx: And also wonder if it's like.
  • swyx: If it should be gated by number of people working on the project, so we had at my first company.
  • swyx: Three front end developers and we were building both the design system and the APP.
  • swyx: And I was just like maybe we should build the APP and forget the design system.
  • Adam Argyle: Okay, this is actually something i've said multiple times is that.
  • Adam Argyle: projects and people are in phases, a startup is in a phase.
  • Adam Argyle: 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 hundred percent test coverage and you should be not be making a design system which you need to do.
  • Adam Argyle: Is build a really good experience that's messy and expressive.
  • Adam Argyle: And then go hard and all the things that are tried and.
  • Adam Argyle: True, because you can't predict it all, and if you try to sit down and predict it all and.
  • Adam Argyle: and build this like perfect thing from the start you'll 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.
  • Adam Argyle: And so yeah i'd say phase two of your company.
  • Adam Argyle: let's say you have success in your sustainable and it's time to like rethink something, because you can need to grow, the team by 10 or 15 or whatever.
  • Adam Argyle: Go ahead and spend a few months and and refactor and harden and create the components that are obvious like and don't go micromanager design system okay wait i'm getting wrapped up sorry okay anyway.
  • swyx: No, I think, look like you have this i've seen you do this rant a couple times.
  • swyx: I think he needs 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 I have you seen i'm Emily freeman.
  • swyx: At aws she did she basically had some issues with the software, the traditional software development lifecycle where it's like a very waterfall approach and shows you V shaped it into like a.
  • swyx: Like a circular concentric circle grid with the six dimensions and it made a lot of sense for some people.
  • swyx: 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 whole spiel on it, but like.
  • swyx: Sometimes it's better to sell an idea or like a workflow if you give it a name and you put some put some diagrams on it and make it a thing, rather than repeating the rent every time.
  • Adam Argyle: yeah and so yeah, this is the phases ranger mentioning like yeah.
  • swyx: yeah catchy acronym or like you know, whatever.
  • swyx: And and yeah I mean you know sea islands architecture was a catchy catchy name for it, you know.
  • swyx: It was yeah was your last name, he had for.
  • Adam Argyle: A holiday types right, it was holotype.
  • swyx: hollow times, I never heard that word before.
  • Adam Argyle: So cool yeah.
  • Adam Argyle: that's what that's what Jason called it in an article, he was, oh no he was saying, your APP is one of these holiday types.
  • Adam Argyle: And if you were yes certain holotype he could lead well to you know, an islands architectural river.
  • swyx: yeah very good so Basically, this is like part of my long running a study on how the thought leader 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.
  • swyx: But then there you can also follow me for for benefit if, like you really have a cause that you just really want to align people on, you have to package, it in a message that that people can spread for you, instead of you, having to do all the work.
  • Adam Argyle: 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.
  • swyx: I don't know what i'm meeting people to.
  • Adam Argyle: I mean, I think that's what's fun as you're on an exploration constantly digging.
  • Adam Argyle: And going to 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 here's it I just did this thing this is cool I think anyway.
  • Adam Argyle: Yes, what else will and.
  • swyx: I will say, like the thing about CSS like no one ever feels like you know all of it.
  • swyx: Do you think that's a problem.
  • Adam Argyle: No, I think that's how every language feels.
  • swyx: So i've been trying to.
  • swyx: push back on this little because I think being able to say, this is the entire map like Okay, you know, there is a spec right.
  • swyx: 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.
  • swyx: The entire world, but at least you know, like okay here's a comment here there's a comment there I haven't gone there yet, but it's there when I need it.
  • swyx: At least like having boundaries around like Okay, the world ends ends here and.
  • swyx: I think that's an interesting way to think about like learning or evangelizing something, and this is relevant for me, because at my job.
  • swyx: 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.
  • swyx: and being able to say that's it.
  • swyx: And, and having an end to your learning I think it's a really interesting concept to have.
  • Adam Argyle: 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.
  • Adam Argyle: articulated here with every parameter yeah and I definitely see where you're going, I think that can help someone.
  • Adam Argyle: Get perspective of the language that they're jumping into but there's like surprises right like you learn javascript for who cares how long and then all of a sudden someone goes, you heard of functional programming you.
  • Adam Argyle: Like what and then you go look at you like, what are you doing with javascript and then it will.
  • swyx: Stop.
  • Adam Argyle: you're bringing it to infinity right and then like typescripts the same way you're like I thought I was like I liked were new like javascript and.
  • Adam Argyle: In typescript just tells me all day that I have no idea what I know, and you know, like.
  • Adam Argyle: CSS is the same way i've been studying and building things in it for a long time and I I also am a human, you know some of these things are so big that I can't memorize every map and territory.
  • swyx: So I revisit in and.
  • Adam Argyle: So I think what happens with experience is that you know, like okay every programming language has a moment where you're banging your head against it, you know whether it's FLEX box or it's.
  • Adam Argyle: 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.
  • Adam Argyle: Right you bust out.
  • Adam Argyle: In your head comes popping out and you get a breath of air and you're like.
  • Adam Argyle: 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 expect things to pop up that they're not going to know.
  • Adam Argyle: But be they've if they run into things that they run into before.
  • Adam Argyle: 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.
  • Adam Argyle: 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.
  • Adam Argyle: But i'll go read it and study and be like oh yeah that was it okay and i'll put that back in the 70s, like every time he's intersection observer i'm like I know in your section observer and then i'm like I don't remember the syntax I gotta go look it up so.
  • Adam Argyle: Anyway, yeah.
  • swyx: And they 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 it.
  • Adam Argyle: Section observer, I mean I think people want the matrix I think they want to stick a thing in the back of their neck.
  • Adam Argyle: And, just like CSS I know it, I will now command every box in the way that i've ever desired.
  • swyx: yeah.
  • Adam Argyle: Briefly, though, before we get off of complexity cliffs well the first components that reminded me of complexity cliffs was the tabs component.
  • Adam Argyle: 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.
  • Adam Argyle: easier and in my studies, I have found that it's a massive complexity cliff like there's 100 variants of what tabs are more than that, over the years we've seen thousands of variants of tabs.
  • Adam Argyle: And they all have little niche features some little niche features, make a tabs feel like a carousel some tabs kind of feel like an accordion.
  • Adam Argyle: 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.
  • Adam Argyle: that's like the deciding factor, at least, 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.
  • Adam Argyle: 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 harden the pattern right, this is what.
  • Adam Argyle: The button is trying to do it's like hard and 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 called him Kara tabs now i'm like oh tablet cells you mean oh CARA tabs.
  • Adam Argyle: you're like no tabs.
  • Adam Argyle: i'm like care tabs.
  • Adam Argyle: 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.
  • Adam Argyle: 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 needs that's out there.
  • Adam Argyle: Like a lot of tabs have nothing to do with swiping when I think that's mandatory on like mobile you gotta be able to swipe between tabs.
  • Adam Argyle: we've been trained that way for like five years but they would disagree, like the open ui organization because that's just not part of the.
  • Adam Argyle: float anyway, so what i'm getting at is these complexity cliffs make it really hard to harden things and 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.
  • Adam Argyle: 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.
  • Adam Argyle: Let people build all these fun different exciting tabs like I don't i'm not that interested in that, but we could move into different inputs, if you want as that that next topic.
  • swyx: I have a two things to ask you, before you do this so one thing you seem to have a image in your head about complexity cliffs have you visualize this because I feel like it's an analogy, that is right for visualization.
  • Adam Argyle: know I mean it'd be an iceberg you looking at a button and it looks like a simple button on top, and then you look under the water and you're like holding this thing has like request animation frame loops in it, or something you're like I just did not predict that.
  • swyx: yeah I think I think some visuals will be nice to for people to really is totally get it.
  • swyx: And then, secondly, could you introduce for those who would like i've dug around open ui it seems like a basically it tries to be a browser vendor agnostic.
  • swyx: spec have you here's how here's extensions to standard html well how about you do, how about you help me define like what is open ui who runs it, what is the near term like should people pay attention is now is it's just an r&d phase like what what's uh what phases it isn't it.
  • Adam Argyle: Sure yeah and you know you should have unit on because she's a member of the open ui.
  • Adam Argyle: cabinet, I have no idea anyway it's a Community group it operates like a Community group.
  • Adam Argyle: it's led by I think Greg whitworth maybe Brian cartel also.
  • Adam Argyle: Dave Rupert is on it also he does a lot of presentations Dave Rupert is a he's pro tabs not pro tab excel he has a spicy accordion that he's made that is basically tabs but it's.
  • Adam Argyle: Not tabs it's a spicy accordion anyway okay so that's the sort of things that sometimes get talked about it open your eyes, but their goal is to.
  • Adam Argyle: move faster as an agnostic implementation team, then what browsers would do and how can they operate like how the community groups do for CSS but do it for components.
  • Adam Argyle: And so they have one that's like a recent success, I think, and it's taken a long time to get there, which is the POP over component, if you heard about the POP over component.
  • swyx: know if I can pull it up, you can tell me about it.
  • Adam Argyle: awesome it's cool it's classic you mouse or you focus into a link and you get a pop up right.
  • swyx: This is it, this one.
  • Adam Argyle: yeah.
  • Adam Argyle: And so, this took a long time to get through it has tons of you can see that they are very look it's an editor's draft Oh, they have three and editors draft interesting, so the select element is also there, I know that my working on that one so something that's sustainable select.
  • Adam Argyle: And I bet you that dependent on the pop up.
  • Adam Argyle: Anyway, so i'm not a super pro hear about how they operate, but I do know that their goals are to make accessible well defined open source community group driven web components, I think their web components.
  • Adam Argyle: And yeah and eventually I think their goal is to have those things accepted into browser specs and how browsers implement them natively maybe i'm not really sure.
  • Adam Argyle: Where that goes from there, oh look, you can see mason freed on there for pop up he's the Google or who's doing a lot of implementation and he's on the group there to Melanie richards awesome.
  • Adam Argyle: yeah it's got a great crew of cats that are like hacking on it, they they're diligent they seem passionate and i'm not a Member.
  • Adam Argyle: Because i'm kind of.
  • Adam Argyle: I don't know if we need more primitives.
  • Adam Argyle: Sean.
  • Adam Argyle: I want to, it is a heartache and i've talked to Brian and a couple other people about what look like i'm actually.
  • Adam Argyle: So this is why the fruit inputs as an interesting conversation.
  • Adam Argyle: I like to swing for the fences i'd like to swing a lot bigger.
  • Adam Argyle: Okay, so, for example, let's say open ui or someone else and open you I seriously, I admire them so much, I think there is a really important and impressive thing that they're doing so I think i'm also just intimidated, but anyway.
  • Adam Argyle: 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 it's in your browser I.
  • Adam Argyle: hate that one it drives me nuts and like she's the leads there's No one.
  • Adam Argyle: else and.
  • swyx: there's one that's worse than that it's the number number input.
  • swyx: You know, with a small.
  • swyx: tiny arrows.
  • swyx: Oh, my.
  • Adam Argyle: God seriously I don't know someone on a netbook with like one of those.
  • Adam Argyle: mini mouse's or something anyway.
  • Adam Argyle: Okay, so imagine this Sean This is my crazy idea called deferred inputs you put an input in there type equals date and you put an attribute called deferred on it, and what the browser does when they user temps that input.
  • Adam Argyle: Is they broker a relationship between that webpage and a third party widget.
  • Adam Argyle: 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.
  • Adam Argyle: I want to know if what i'm picking is going to interrupt or something if i'm booking dinner I need to know.
  • Adam Argyle: All of these different cases I want to know my stuff in there, but I don't want the webpage to know anything about it so imagine for a second that we went to the APP store MAC os and we installed.
  • Adam Argyle: A calendar component called Google calendar who cares or maybe it's icon right account makes sense for safari to prompt.
  • Adam Argyle: So you get these different inputs, with a broker, since the request to this APP and says this user is requesting a date All we want is a string format it like this, give them an experience that's rich and set and has a session and you're logged into.
  • Adam Argyle: 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 the browser brokered a relationship to third party.
  • Adam Argyle: developers who can create specific and robust experiences for these inputs so i'm not talking we just, you know as a group.
  • Adam Argyle: come up with a cool date picker that people can pass custom properties to to silent, I think that's a great stopgap but i'd love to see us like make a rich.
  • Adam Argyle: Do 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 they made the calendar thing that just like disrupted every time they made one and then imagine someone else.
  • Adam Argyle: 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 build a compete for the.
  • Adam Argyle: 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.
  • Adam Argyle: Just broker the relationship to a bunch of developers that want to get a $2 components, so that you can have a session logged in calendar picker like.
  • Adam Argyle: in any way, so a lot of these inputs that are a lot of these components that we're waiting for.
  • Adam Argyle: 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.
  • Adam Argyle: I just i'm tired of those like give us an opportunity and an open up the 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, what do you think is that crazy.
  • swyx: So I need to clarify one more thing so first of all, have you written this up anywhere.
  • Adam Argyle: This is a slides I have like a little presentation and i'm giving it to people it's just it's pretty much can we find it somewhere.
  • swyx: Just just so people can follow up if they want.
  • Adam Argyle: I think it's just a random idea I have songs and like you know.
  • swyx: I mean I if you know if you you believe this so.
  • swyx: What this this kind of conversation always reminds me of the cathedral versus the bizarre.
  • swyx: You know that Nice that a Fred brooks this is this is old school software development right like, how do you design it 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 that everyone just have it out.
  • swyx: And so open your eyes kind of the cathedral and they're like Okay, a little research everything and then we'll we'll pick the best way, that is, the superset of everything and then.
  • swyx: The bizarre it's kind of like this different 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.
  • Adam Argyle: yep that's exactly what it's basically just be what I call them.
  • Adam Argyle: Because they have an android or an intent the.
  • Adam Argyle: input basically admitted intent.
  • Adam Argyle: And it says, who can handle the intent right.
  • Adam Argyle: And all these developers now have Apps living on your operating system that the browser can broker the intent, was it says.
  • Adam Argyle: it's just like how intense it's actually extremely modeled after, then the mobile experience of.
  • swyx: Intense.
  • Adam Argyle: Because I love that experience it's really nice you're just like yeah look at all my fun custom stuff I have they can handle where my image goes like that's really nice.
  • Adam Argyle: And yeah we should have a color picker like that, like give me the opportunity to click on a color and put in I bring my own color picker to the table chrome.
  • swyx: You know so.
  • swyx: I don't know yours yeah.
  • swyx: Is this the user so.
  • Adam Argyle: there's a few personas yeah there's user.
  • swyx: APP developer, and then the user viewing the site so each viewer has like their own experience of this thing okay.
  • Adam Argyle: They got.
  • Adam Argyle: A utility built of personalized widgets in their browser so anywhere their browsers logged in and.
  • swyx: How many of these are there.
  • Adam Argyle: I mean a perfect kind of labeled a few here.
  • Adam Argyle: yeah calendar auto fill payment.
  • Adam Argyle: 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 and like a year.
  • Adam Argyle: Because yeah if you think about photo picker.
  • Adam Argyle: Well, I guess, on mobile it's different but on desktop it's not right on mobile when you click on a file uploader you click on some things allows you to upload you get to fulfill it with your own choice of an APP your phone.
  • Adam Argyle: 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 24.
  • Adam Argyle: To find the hamburger that you were looking for right like anyway yeah so auto fill would be an awesome one and payment like why can't I just install a third party payment installation thing and.
  • swyx: When I so i'm.
  • Adam Argyle: Pay yeah invokes my own experience.
  • swyx: Well, what about security like if it's a third party widget and it's payment like i'm giving you my card details.
  • Adam Argyle: User installed it, and so there, hopefully they're trusting what they installed and that the page itself is only getting results back so it's like the same static results they would have got before.
  • Adam Argyle: 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 him.
  • swyx: And do you think so, one example of this, that is done in user land is essentially password managers.
  • swyx: Like a right they they override all the password fields and then they've given their own little things why can't it just be done like that.
  • Adam Argyle: Oh so like an extension model.
  • Adam Argyle: 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 three manifest and deploy them across all the browsers and.
  • Adam Argyle: deliver a unique logged in experience for color picking and sure yeah maybe you could intercept those clicks and invoke your own overlay ui actually makes sense to me.
  • swyx: Okay got it so it sounds like you know of those things that you missed it those are inputs.
  • swyx: There are a lot of things there a lot of components that are not inputs.
  • swyx: And I guess open you I would be involved.
  • Adam Argyle: Like tabs carousels pop overs yeah.
  • swyx: So you're not in conflicts, you know.
  • Adam Argyle: I don't think so yeah.
  • Adam Argyle: 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 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.
  • Adam Argyle: yeah and it could be cool yeah.
  • swyx: One one last thing that comes up when when we talk about image speakers.
  • swyx: Did you ever see that talk by ilya regard about.
  • swyx: The image picker up like file size optimizer.
  • Adam Argyle: I don't think so tell me all about it.
  • swyx: So he had a fantastic talk, which, like really shaped the way I think about so okay oh God, I can give me a SEC to pull this up Okay, because.
  • swyx: I don't I don't think i'm gonna do this justice.
  • swyx: Unless I literally have it up.
  • swyx: What is his Twitter handle he's not super active on Twitter.
  • Adam Argyle: it'll yet some.
  • swyx: I Google org.
  • Adam Argyle: Oh, I was wrong.
  • swyx: Okay, all right.
  • swyx: All right, here we go so.
  • swyx: This is where this is where I shouted it out, he had this concept of the.
  • swyx: The head the torso and the tail.
  • swyx: and
  • swyx: It was like, how do we solve.
  • swyx: How do you solve image performance forever right like you can do some fancy stuff with like.
  • swyx: Your image optimizing cdn you can do all these like source set things no one's going to do it, it just is 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.
  • Adam Argyle: Serving images is very hard yeah it's hard.
  • swyx: So, like he was fee fantastically broke it down to like okay so he's he's at this performance now conference right and he said.
  • swyx: Okay yeah here we go.
  • swyx: I like I just I just love how clearly 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.
  • swyx: Right now, the tools that we're being given require more work hey the default sucks but just to be backward compatible here's a source at thing with like five different options and hey you got to do image processing on your own good that.
  • swyx: 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.
  • swyx: That and i'm not finding a 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.
  • swyx: who are going to adopt all the best practices they're going to listen to your target have read your blog posts, then the torso they're like they're just you know, following whatever the.
  • swyx: Body says, and then and then there's a long tail that just will never read anything they'll just do whatever this is easiest So you see, if you want real impact, you have to address the torso under the tail not just the head, because the head.
  • swyx: Has the time to this to learn all your stuff but that's not the problem, the problem is the rest of it, like everyone else.
  • swyx: Sorry, I think i'm like doing doing things the job of.
  • Adam Argyle: Now I think i'm following yeah.
  • swyx: So so his proposal by the end of his talk, and this is like in 2019 was that okay all right image optimizing cdn too complicated set too complicated.
  • swyx: 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 uploaded a component that has image optimization built into that that point of upload so all points down the chain just never get there.
  • swyx: I thought that was like that this I thought that was where you were going I don't know if you talk to them before about this.
  • swyx: Okay.
  • Adam Argyle: I have not.
  • Adam Argyle: That kind of reminds me of ink ink uploader which I used I don't know, five years ago, or so it was kind of like early image X server but yeah you upload the biggest image, you had and then request it with one URL.
  • Adam Argyle: And maybe some parameters on the URL and you get you could get a whole dynamics of the images back yes.
  • Adam Argyle: And only had to deal with the one image tag and yeah yeah well that's the way forward motion.
  • swyx: that's an image optimizing cdn.
  • swyx: So you have to pay money for that and, of course, like you know that that.
  • swyx: Costs of engineering resources, 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.
  • swyx: And you know I hope he I don't know if he's still a Google or not, but you know.
  • Adam Argyle: He is yeah.
  • swyx: He gets some sway in the design of this thing.
  • Adam Argyle: Nice yeah I like that analogy, though, I think that works really good.
  • swyx: Which is I mean it's so in a broader context of Dev developer tools and like designing for us versus the exercise next topic.
  • swyx: yeah.
  • swyx: I think about this a lot, which is that whenever we appear at conferences and we like dropping you blog posts and new feature and we just expect people to like.
  • swyx: 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.
  • swyx: Most people just want to know, like what the best practices they're going to do that and then they'll they'll move on with their day and that's about all the time that they have for you.
  • swyx: And, and so, if we want to you know, improve user experience like we have to make it basically bring this for people to adopt the best practice.
  • Adam Argyle: yeah so we can yeah do you want to start there like.
  • Adam Argyle: yeah that's The goal of the phrase, or like that's like the.
  • Adam Argyle: 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 deliver a portion or maybe a lot of ux.
  • Adam Argyle: But I think that the phrase is kind of not doing itself a favor 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.
  • Adam Argyle: I don't even know why we're so okay so first off let's just say that to have dx it even could facilitate good ux someone had to teach the dx what good ux was like ux had to start it.
  • Adam Argyle: In order, like be the initial cause for dx to exist, that it was knowledgeable to give you good ux so i'm like.
  • Adam Argyle: wow is people think the dx just magically gives good you actually had to be written by somebody like the good ux was created and someone spent valuable time thinking about good ux.
  • Adam Argyle: 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 it would work right you just got like okay we've got all these processes they're working like this.
  • Adam Argyle: 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, and you just start to like.
  • Adam Argyle: 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 that, like us, like the bakers, are trying to make more.
  • Adam Argyle: You know muffins or something for everybody, like the ux is eating a muffin.
  • Okay.
  • Adam Argyle: That.
  • Adam Argyle: Essentially you can.
  • Adam Argyle: 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, and this happens all the time and code we build tons of factories to stamp out web pages to stamp this out to stand we'd love our automation.
  • Adam Argyle: And sometimes automation.
  • Adam Argyle: All it does is harden one good ux choice and it might make subsequent ux choices harder.
  • Adam Argyle: in any way so okay so then here i'm going 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.
  • Adam Argyle: 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.
  • Adam Argyle: or whatever it is like I think it's valuable time so basically I think it's short sighted dx to think that it can only be valuable if it's affecting ux I don't think that even needs to.
  • Adam Argyle: go away.
  • Adam Argyle: And then.
  • Adam Argyle: Right, I think dx it's like you could do anyway so dx can be entirely in a whole other sector of the organization and never changed the ux and I don't think that's bad.
  • Adam Argyle: I think sometimes it can in consequently change ux and that's awesome sometimes it can intentionally do it, you know, maybe data, the data Center team over here.
  • Adam Argyle: They switch to a different cluster system and now they're you know shaped 50 milliseconds off a request or whatever you're like cool the user might feel that or whatever.
  • Adam Argyle: But then also ux it's short citing what ux is if you've ever met a ux designer.
  • Adam Argyle: To them, the user experiences and how fast the milliseconds went down the wire, even though this is part of the user experiences how fast you got it to them.
  • Adam Argyle: They spend weeks and months researching users to make informed decisions about ux.
  • Adam Argyle: it's 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 us.
  • Adam Argyle: 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.
  • Adam Argyle: 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.
  • Adam Argyle: That moment the button downloaded and you pressed it so it's like belittling.
  • Adam Argyle: The whole concept of ux and dx at the same time it's a comparison that doesn't even really matter like here's another thing too.
  • Adam Argyle: 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 an.
  • Adam Argyle: insane react project you don't even have web pack, you have to go edit the output of a bundle let's say that who knows.
  • Adam Argyle: 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 will matter, what matters is the desire that someone had.
  • Adam Argyle: And you know, conversely, you could have like the best dx the entire world and deliver a button that says fart.
  • Adam Argyle: Because the text in a button bro.
  • Adam Argyle: is part of ux man there's ux writers that's All they do is provide text so maybe if you're dx or your button was so RAD that you could like.
  • Adam Argyle: 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 fledge.
  • Adam Argyle: Delivery of ux because it's so contextual it's so subjective it's so human that.
  • Adam Argyle: 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 can because good ux sourced into the dx that then change the ux so I just don't.
  • Adam Argyle: it's just like i'm like i'm not sure 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.
  • Adam Argyle: really great tools, it can make it easier to slice some bread and put butter on it and then now you have slice 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.
  • Adam Argyle: In a parallel right we're gatsby and now we're doing parallel bread's buttered.
  • Adam Argyle: Right until the designer says oh we're not using butter or new new butter and peanut butter and everyone's like Oh, we made a factory for that last process you're like dude users want peanut butter now too so.
  • Adam Argyle: Are you have to update all the dx to match the new ux.
  • Adam Argyle: 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 early that's the intent, and so I just don't.
  • Adam Argyle: know why we.
  • Adam Argyle: 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.
  • Adam Argyle: 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.
  • Adam Argyle: And I just that's why I think a lot of designers don't retweet the dx is better than us, or that dx will lead to good ux designers just know that they're at the table every day.
  • Adam Argyle: arguing with somebody that they need to refactor this because it's not good user experience and the person over there is going move I see all your research, and I see you did user studies.
  • Adam Argyle: I just can't allocate the resources and meanwhile they've got a team of 10 people increasing the dx of the backend system over here right and they're just not funding.
  • Adam Argyle: The ux so anyway, I can just see like all these different sides to it and i'm.
  • Adam Argyle: i'm just not it just doesn't do anyone to favor it's not doing dx a favor like it's not it, if anything, it kind of like makes dx look like the hero to I think that's my biggest issue with it, it makes dx look like it's The thing that lead to good ux i'm like.
  • Adam Argyle: No, it doesn't it.
  • Adam Argyle: Never anyway so i'm like it's not the hero.
  • Adam Argyle: The hero here is.
  • Adam Argyle: Having good ux like that's what everyone wants is, could you X dx steals the show and that freezing.
  • Adam Argyle: 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 we look at this dx lead do that, like that's one path of 1000 that you'll take and building a product that has good ux.
  • Adam Argyle: sure your dx lead to good ux there congratulations just don't praise that phrase like it's going to solve all of your ux problems.
  • swyx: It is not.
  • Adam Argyle: The responsible party for good choices ux focused individuals are the ones that make the good ux choices.
  • Adam Argyle: and get funnel those through dx and background or whatever.
  • Adam Argyle: So I just think it's missing the point and always.
  • Adam Argyle: How do you feel.
  • swyx: know why you know why we hear so much about it.
  • swyx: it's because the ux people have nothing to sell you where's the dx people have something to sell you.
  • swyx: there's a there's an economic incentive to drive things.
  • Adam Argyle: yeah dx is the hottest phrase to get your product recognized right now that's for sure how.
  • swyx: Do you think so, do you think the term is tarnished now you think it's so.
  • No.
  • swyx: No it's.
  • Adam Argyle: tarnished to me, but no it's still hot, as ever, you kidding.
  • swyx: it's my it's my it's my fault either mentally so my job titles literally had to develop experience.
  • swyx: And I don't know if I want to.
  • swyx: associate myself so closely with this thing.
  • Adam Argyle: Oh, really, oh dear, I mean hey dude I associate myself with CSS how many people want to do that.
  • swyx: I think it's amazing that would you that I think that una una or like my like I idolize you guys so much because.
  • swyx: Oh no way be able to advocate for CSS Hello like.
  • swyx: it's just it's just so first of all, you have to be good at, you have to be like really good at both of you are actually really great.
  • swyx: 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.
  • swyx: 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 CSS will be around longer than both of us will be around, and I think it's.
  • swyx: No one I don't know every everyone can always use a bit more CSS and their life.
  • swyx: I need a CSS shirt, by the way.
  • Adam Argyle: I could probably figure that out i'll send you a link later.
  • swyx: it's just funny right like you know they're they're like 100 different js cons and like maybe I don't know if i've ever seen the CSS COM.
  • Adam Argyle: There is yeah and I think.
  • Adam Argyle: There was one of really popular one for five years and Europe and it's spread there was like once happening in other.
  • Adam Argyle: continents, but it's I think kind of I don't know the conferencing is shaken up recently but yes.
  • Adam Argyle: Yes, she's definitely underdog, and all this stuff.
  • swyx: I mean I yeah so I mean I was really encouraged when he joins and then you started putting out a really good stuff and I just I think Google does something right when you when you hire developer relations, I don't know what it is, but.
  • swyx: Every every person I see it's just stellar.
  • Adam Argyle: To Dr Mayer dion has.
  • swyx: I have.
  • Adam Argyle: An emotion is he responsible addiction yeah he's the one who saw me.
  • Adam Argyle: 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 and chrome and I was like I idolize you all I couldn't do that he's like you're one of us would you like to be like.
  • Adam Argyle: Okay, and he totally believed in me and.
  • Adam Argyle: 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.
  • swyx: yeah shopify.
  • Adam Argyle: shopify and you could tell he shattered people like there were people that were like dion was like.
  • swyx: A.
  • Adam Argyle: Different person he was someone I was emotionally.
  • Adam Argyle: engaged with he has this amazing ability to listen and anyway, what what a great leader and manager, he was and he had he has some sort of skill I don't you know you'd have to ask him how he.
  • swyx: knows asking.
  • Adam Argyle: Someone and how we can judge people but yeah he's got a talent there.
  • swyx: I you know I had so I went to boulder recently, and I think he is like just just outside builder or something and.
  • swyx: I had lunch with him and he never he's so humble he never brings this up he's just like yeah I like I like tech like you know I think shopify school, you know he never talks about like how he runs.
  • swyx: His Oregon how he how he thinks about hiring.
  • swyx: Interesting guy interesting.
  • Adam Argyle: Interesting guy and he just curious his candor so well.
  • Adam Argyle: yeah but hey back to the dx says, like a job title, I do think it's still important, I just a 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.
  • Adam Argyle: You can integrate our developers to save hundreds of hours a week and and maybe never touches the ux and who cares you just still saved hundreds of ours, like, why is the value of dx somehow hinting.
  • Adam Argyle: on its ability to hang on so we're getting more ranchi again why is yeah just doesn't like it's not doing it justice like it wants dx to be respected, and like it already is.
  • Adam Argyle: So why push.
  • Adam Argyle: This is like it's best moment to like.
  • swyx: yeah whatever, so I think you know just just because you're you're interested in this i've been defining it in.
  • swyx: In maybe like four ways, so the first this API design because.
  • swyx: That is that every everything is downstream of like did you did you design the right abstraction right like the same thing that you're doing with different inputs and stuff like that.
  • swyx: And then second of all docs for for that API right, you have to.
  • swyx: be able to find it first of all, it needs to have full coverage everything that is in your API should be locatable and then it should be anticipatory like tell me what i'm going to need before I know about it, which is a high bar.
  • swyx: But like.
  • Adam Argyle: No, I like that's like visiting a docs page and it's already got my keys in it like I don't have to go find my keys it knows i'm writing.
  • Adam Argyle: and looking at the docks and it.
  • Adam Argyle: But yeah.
  • swyx: To me that's just like template this template of docs I mean everyone can do that, you know, like it's.
  • swyx: It is, it is, it is good people do do enjoy that but I always want to have an opinion, like 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.
  • swyx: In the docs before before letting me go on configure it on my own so that's what i'm trying to do with our docs and then the last part is, if I have a done for you, the last word is.
  • swyx: Three yeah right.
  • swyx: Okay, so so there's there's developer relations, which is like traditional.
  • swyx: Content creation is like teach me how to do stuff.
  • swyx: Do tutorials do beaten, I mean.
  • Adam Argyle: hype man.
  • swyx: hype it up hype man yeah and then the last part is community which basically like do you have a place to go to ask questions and how how much you know.
  • swyx: 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.
  • swyx: There are lots of technologies in our lives there's only a certain technologies that we choose to call to like say like I am a developer, I am a reactor developer that that means something that's over and above just the the particular library and framework that you use.
  • swyx: I don't know if I should do that I don't know if I should be so expensive and say like oh yeah communities part of this, too, but also it kind of is.
  • Adam Argyle: It definitely is it's something that I tried and I still try to focus on by having open office hours doing the AMA is.
  • Adam Argyle: I try to reach out and yeah that's why I do conferences, I like to do I don't think I can effectively do my job.
  • Adam Argyle: If i'm not connecting to the Community, because otherwise i'm living in a bubble and i'm not putting my shoes on that are uncomfortable for me like I need to be constantly putting on shoes of other people to have my own perspective.
  • Adam Argyle: shaped well and then it makes me a better educator It makes me better at all these other roles yeah.
  • Adam Argyle: it's that it's included.
  • swyx: it's my that's my map of developer experience so far and i'm trying to implement that.
  • Adam Argyle: awesome that sounds very amicable and it sounds like you have four pillars and everything at Google ends up being in four pillars.
  • Adam Argyle: So, congratulations on.
  • swyx: Google the coming.
  • swyx: weeks to come in threes I don't know.
  • Adam Argyle: Three is a little more catchy huh yeah.
  • swyx: Wait so what's an example of the thing is that that's four pillars at Google.
  • Adam Argyle: let's see if I can I don't know if I could remember one right now but it's like anytime a leader is presenting like.
  • swyx: there's always.
  • Adam Argyle: One slide that's got like four pillars of our beliefs or whatever and you're like come on this is just a template slide everyone slaps and they go.
  • Adam Argyle: Oh, this was some crap.
  • Adam Argyle: Anyway, so we tease it every time we see it we're like there's the pillars.
  • swyx: I mean it, 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 don't have to.
  • swyx: do with that, but if I have covered like the big macro is 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 in you you're roughly like you're going to survive.
  • swyx: So.
  • swyx: Nice yeah it's kind of how I think about should we talk about self disruption.
  • Adam Argyle: yeah.
  • swyx: Alright, so tell me about what this what this is and what prompted it actually.
  • Adam Argyle: Okay, and let's see what prompted it.
  • swyx: was just something like not innovating or was it.
  • Adam Argyle: That was just me making a comparison yeah I was apple and their new machines.
  • Adam Argyle: It was.
  • Adam Argyle: Chris cormier sharing a CSS tricks article about alternative browsers based on chromium that are offering unique can express of experiences.
  • Adam Argyle: It was me reflecting on opera when they tried to do this with opera next as like a self disrupted browser implementation, it was really cool it's like bubbles every town was pretty neat.
  • Adam Argyle: And I just was like started I just started thinking about it, I was like in tech okay it's like as a naive implemented right because i'm pretty much swinging the hammer on the engine every day like i'm constantly.
  • Adam Argyle: 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 and making sure.
  • Adam Argyle: 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.
  • Adam Argyle: That made it so that I made the next generation of house like let's quit hacking on these same houses, we have it up, we have a great process and it's all hunky dory but at the same time, like we're out putting a factory looking thing.
  • Adam Argyle: 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.
  • Adam Argyle: Roll it entirely into disrupting myself into the next coolest thing, because now I don't have to have the same stresses, 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 in this mentality.
  • Adam Argyle: 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.
  • Adam Argyle: It looks kind of the same 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 mainstream application and yeah you don't want to go to so anyway, I like I understand why.
  • Adam Argyle: it's risky to try to self disrupt but at the same time, I made the adobe comparison with you i'm like 20 years of success of photoshop.
  • Adam Argyle: And yet there's still like every three years, a new design tool popping up that.
  • Adam Argyle: 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'll freaked out over Sigma three years later we freak out over xd.
  • Adam Argyle: And and yeah they're like they're disrupting photoshop but photoshop 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.
  • Adam Argyle: developers let's pivot everything until like V2 of this thing and just rocket into the future, you know, like let's do what everyone actually wants, instead of just repeating.
  • Adam Argyle: Anyway, so that that was the thought process and I was like why.
  • Adam Argyle: 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.
  • Adam Argyle: But they don't seem to do that with their products it's almost like it gets big they get.
  • Adam Argyle: Rich they get not inspired anymore, and their focus has changed and they're no longer in that mindset of.
  • Adam Argyle: Building the best product there now and then 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 face right like now, you have the funds for it and that's what.
  • it's all coming from yeah.
  • swyx: A lot of thoughts on that.
  • swyx: First of all, wasn't so wasn't xd doesn't actually count because it's also from adobe.
  • Adam Argyle: I would argue it's of this is so rude of me to say is pretty much a fig macloan.
  • Adam Argyle: yeah and it's great I love xd In fact I like it better than figure you.
  • swyx: want them to innovate, the end of the day, I want them to.
  • Adam Argyle: 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.
  • Adam Argyle: represent 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.
  • Adam Argyle: chew that crap off and just spec centric design tool, something that actually like has html elements in it, it helps designers facilitate something that is like more oriented towards a real thing instead of continuing to yeah.
  • swyx: So we're flow like I mean.
  • Adam Argyle: Yes, sure yeah so they so web flow chart it does disrupt the design market right big building like a web centric and web focused and spec focused design tool.
  • Adam Argyle: 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.
  • Adam Argyle: Our own version of this with our name on it we've got the funds we've got the people like they.
  • Adam Argyle: 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.
  • Adam Argyle: And just does something fresh.
  • Adam Argyle: But yet they're not and so yeah I was mentioning to you it's like ego it's just like to Polish turds apparently, so I think that's just kind of what happens is your ego grows.
  • Adam Argyle: And you're like you, your smuggle I think I think what happens, this is success turns a lot of teams into some eagles and they sit and go my.
  • swyx: Precious.
  • Adam Argyle: yeah and they just.
  • Adam Argyle: They just stroke, the ring and don't do anything new, with it, or whatever, and I guess that doesn't make sense, because they're.
  • Adam Argyle: Not sitting on a pile of money, but anyway, you get what i'm saying.
  • swyx: What adobe sitting on a pile of money, I definitely vouch for them for doing that, if they're like a 200 when I last looked at them like five years ago there, like a 60 billion like like decent size and now they're like 240 billion and.
  • i'm just.
  • swyx: To create like this, you think you think you know these companies, and then they they just blow past any form of expectation.
  • swyx: Okay, so a couple couple things on this, so one is you know I had, I had a APP that I updated you know there's a I have 200 Apps probably on my phone, they do not update.
  • swyx: You know why I don't update them because they may they may change and i'm scared of change, they work fine for me right now.
  • swyx: 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 what he broke, you know, like if I rely on this from a living in my business tools like.
  • swyx: It just makes sense to just keep it for the others who will a very you have it, that that means something you know what I mean like that.
  • swyx: That lack of change actually is a feature sometimes but yeah I mean obviously innovation is helpful, he did not want them to produce a Sigma clone I get it.
  • swyx: they're probably looking at building a workflow or by workflow is both they're both totally possible but I don't think it's proven itself, yet I don't think like designers have like flocked to web flow like they have to figure.
  • Adam Argyle: they've been distracted with yeah design systems and components third.
  • Adam Argyle: Design tools are competing competing in that space to you know, make an API for all your tokens if you make your art boards like this put your squares like this and give them a name and you'll output, an API blah blah blah.
  • Adam Argyle: yeah they're over there, turning their wheels hard.
  • Adam Argyle: digging holes yeah my opinion yeah.
  • swyx: Well, so Okay, and then there's also the fact that, like.
  • swyx: It I think it takes a few years for a product to season.
  • Adam Argyle: yeah.
  • swyx: And, and like photoshop just you know I think it's not like there's like the Web version or creative cloud or whatever like that hasn't been that been around that long and it takes.
  • swyx: 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 and they came out you're like you know the difference between them, most people don't.
  • swyx: Most people like hear about them like five years after they're out because, like that's what that's how long it takes to like hear about things you know from your friends and stuff.
  • swyx: So you're you're wanting innovation at a pace that, like most of the country, your most the most of the industry doesn't operate on so I just want you to norm yourself.
  • Like.
  • swyx: Because you're at the cutting edge of a lot of things.
  • swyx: Like and maybe it feels like the companies are not keeping up to where you are but also like there's two things one, it makes business sense because, like.
  • swyx: You wrote the software is super expensive right the software, you have to kind of milk it for a while.
  • swyx: Second, it takes a while for software to get out there and get get known by people get using.
  • swyx: 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 in your you're working on it just fine like don't don't take it away from me so there's a so base camp, do you familiar with base camp.
  • Adam Argyle: yeah it was early user are anyway yeah.
  • swyx: 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 you just rebuild from scratch and the first principles.
  • swyx: The old code base still runs in any customers don't stay on it can see on it for eternity.
  • swyx: Setting that that's a really nice balance of disrupt yourself but don't break the workflows of your.
  • Adam Argyle: People who live I definitely don't want I don't want you know chrome to stop making chrome or photoshop.
  • Adam Argyle: that's not what i'm suggesting i'm suggesting all your role your excess money that's apparently like obviously covering your bills and come up with something new.
  • swyx: And what do you think.
  • Adam Argyle: fix all fix all the things that you noticed 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.
  • Adam Argyle: And so that's also The other thing because.
  • Adam Argyle: Like we have frameworks that update all the time and they kind yeah I guess the old one always works, I can just go get the old code, but yeah I definitely don't want to see old versions breaking I just want to see the the original fire and spark of a team.
  • Adam Argyle: just trying new stuff with this excess funds it's just like.
  • Adam Argyle: I don't know that's just what I would do I guess.
  • swyx: there's there's the old money effects, you know, once you made your major reputation major wealth, whatever you're not as hungry anymore.
  • Adam Argyle: that's what I mean yeah that's what I was saying.
  • Adam Argyle: is like yeah.
  • Adam Argyle: I just imagined, I would still have the hunger and that's what i'm like how come other people lose the hunger.
  • swyx: Okay, so one more thing, so you is just focusing on web design used you work on your own tool.
  • swyx: Would you ever spend that out, I mean it sounds like you use you feel like there's an easier.
  • Adam Argyle: Oh, this book this book is more like fire bug and Dev tools senate as a creation tool.
  • Adam Argyle: Like creating in the browser It really is something different than creating a new design tool and it would need to facilitate some really different flows so yeah this book just.
  • Adam Argyle: 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.
  • Adam Argyle: 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 one hit command D sometimes.
  • Adam Argyle: So it can help you like edit text and do this like chaos testing, and you know stress testing it costs to change colors and deletes I don't know it does all sorts of things, but it is not.
  • Adam Argyle: start from blank and begin, although you can kind of cheat like if someone really wanted to flex Facebook, they could definitely do that because Facebook and copy styles off of anything you select so you could go to a page.
  • Adam Argyle: copy the styles paste from somewhere else, like, I have a tweet where I go to a web page I go to Web.
  • swyx: show it.
  • Adam Argyle: I copy oh yeah here, let me see if I can find it.
  • swyx: I like bringing things up on screen, so that people can follow along.
  • Adam Argyle: yeah that's cool.
  • swyx: And also like you know send people your way, but also, I think.
  • swyx: yeah you know I wanted to publish to nullify and I never figured out the API is because, like basically I had.
  • Adam Argyle: Oh yeah we.
  • Adam Argyle: Were hacking on that together huh.
  • swyx: 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 you know if I think 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.
  • Adam Argyle: I just sent you one there's.
  • swyx: A couple of you did more okay got it.
  • swyx: Maybe.
  • Adam Argyle: it's cuz I just let it like in the code and when I literally just like take html and CSS go to code pen and paste them and it just works.
  • swyx: That the mistake that makes the Web like we mixable you know there's this whole.
  • swyx: Yes, term.
  • swyx: Here okay I don't see anyone anything else that you sent me so if you if you did.
  • Adam Argyle: It yeah i'm trying to find the code is the.
  • swyx: One so this well there's a shift in line svg you click on the thing and then go to call back or up said.
  • Adam Argyle: Oh participant one oh I just started a new code pen Oh, here it is.
  • Great.
  • swyx: boom.
  • Adam Argyle: Oh, that one, just as the svg though okay so yeah so that's one thing this book can do you don't have to wait for like a.
  • Adam Argyle: copy button on in line svg you could go to nullify or tailwind and all the RAD svg they have their copy it just.
  • swyx: yeah.
  • swyx: yeah.
  • Adam Argyle: I don't see that one but yeah I went to web Dev and lifted a button oh yeah I saw all of the button off of the page I just took the html I pasted it, I took the styles and pasted it and I had the exact same button just did not defined because I didn't have the font important.
  • swyx: You see that's a reusable but.
  • Adam Argyle: that's actually what i'm trying to kill designers to do is basically like stop recreating the button in a design tool go use your production website as an art board.
  • Adam Argyle: you'll need to recreate the page anymore go to the project to work on and Edit it and express yourself in a familiar way that you're doing a design tool.
  • Adam Argyle: Take a screenshot until the developers that's what I want.
  • swyx: yeah yeah that that would be that'd be next level yeah.
  • swyx: cool man, I mean that was those about the list of topics that we prepared and I wanted you to plug visible good, so I can.
  • Adam Argyle: Oh thanks I was like.
  • Adam Argyle: Oh, this is nice that's coming up.
  • swyx: I know right um but is there anything else you want you want.
  • swyx: People to you want to plug you want people to like you know what's your what's your message to people that you wish, if you could wave a magic wand, everyone will do.
  • Adam Argyle: Oh i'm.
  • Adam Argyle: This, which is the next time you're in typescript or in javascript and.
  • Adam Argyle: 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.
  • Adam Argyle: I want you to remember how you feel and the next time it happens to you and CSS don't be so frustrated.
  • Adam Argyle: 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.
  • Adam Argyle: CSS is hard and maybe people think it's below them because it's just boxes, but some you know, and maybe you think your math functions on the you know your server.
  • Adam Argyle: functions running on the edge or 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 that's okay.
  • swyx: it's very Bob Ross if you.
  • swyx: Say yeah you make you make some mistakes it's okay happy little accident.
  • swyx: And also, but also, I would do on a feature that CSS just got a whole bunch of math functions right, you can do some really redesigned see things.
  • Adam Argyle: yeah cosine and all that good stuff yeah.
  • swyx: i'm not i'm never using it, but it's cool.
  • Adam Argyle: yeah I don't think i'll use much of.
  • Adam Argyle: 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.
  • Adam Argyle: You know I want an Arc okay who's got the math i'll go take it.
  • swyx: yeah.
  • Adam Argyle: Nice, I do have two shows to pitch, though, if I want to plug.
  • swyx: I upload yeah just.
  • Adam Argyle: goofy challenges on YouTube on YouTube every month I release a blog posts and a YouTube video that I explained and break down.
  • Adam Argyle: A component that I build and I build it in an agnostic to any framework I just sort of.
  • Adam Argyle: build it in html CSS and javascript and like here, you can take this anywhere you want any framework go make it fit into your architecture, but here's the goals.
  • Adam Argyle: You know the goals are it needs to be interactive this way and it needs to have this feature and I talked about accessibility and how I do it, and then I open source code.
  • Adam Argyle: And yeah I have a blog post that goes in really deep about it 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.
  • Adam Argyle: I don't think people would be happy if there was only one way to do stuff.
  • Adam Argyle: 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 download an APP and you're like i'm probably going to see bottom tabs and probably see this.
  • Adam Argyle: And I think that's exciting and so it's trying to empower people to 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.
  • Adam Argyle: And people don't talk about that they make accessibility sound like there's one way to do it and, like I don't know every time I do it there's different things in different smart little.
  • Adam Argyle: So anyway, I bake a lot of that information into that show, and then the CSS CSS podcast.
  • Adam Argyle: really makes it illuminates the computer science behind CSS where we break down, you know the functions that we are pretty much all pure functions, we talked about the functions that run client side.
  • Adam Argyle: and take parameters they're just like javascript and Dudes type CSS is typed you know we go into the color as a type and sizes and links are types and.
  • Adam Argyle: in any way, I think it will help anyone with their perspective of CSS and feel more comfortable just sort of being in that world so yeah Those are my plugs.
  • Adam Argyle: thanks you really mean we're those.
  • swyx: hangout you said, your second show.
  • swyx: You two shows.
  • Adam Argyle: That was the CSS and CSS podcast.
  • swyx: Oh yeah Okay, but yeah I enjoy that.
  • swyx: I love I love how so how is a friend of mine from Singapore and he does the whole pickup what you put down thing that I preach, which is essentially he goes over and actually.
  • swyx: demonstrate show notes and so he's learning it along, but everyone else can learn with him, so I really like it, I have to admit it's hard to follow when you mouth blog but.
  • swyx: At least, at least, I know, like you see, this is a map right like here are all the things that you know the to CSS developer advocates that chrome.
  • swyx: 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.
  • Adam Argyle: Think Sean and that's definitely what we do that's a good description of a map map and territories, and we have more territories that are sort of undocumented right now and we'll get those out sometime next year, but.
  • Adam Argyle: yeah we've got a pretty good coverage of core CSS and I show.
  • swyx: yeah it's really it's really great alright perfect thanks for thanks for doing this, I know it's I kind of like an awkward thing, and I know I really wanted to do an in person thing is.
  • Adam Argyle: We see you as a fun yeah dogs dogs coming around, and you know the.
  • Adam Argyle: kids toys everywhere and all my plants, I have a lot of plants but.
  • Adam Argyle: Later yeah.
  • swyx: i'll come over sometimes we have to do this Seattle meetup but hey thanks thanks for thanks for chatting right i'm gonna have fun yeah

2021 Swyx