Become a Creator today!Start creating today - Share your story with the world!
Start for free
00:00:00
00:00:01
You might be wasting your time. Time wasters disguised as time savers. image

You might be wasting your time. Time wasters disguised as time savers.

Bad at CSS
Avatar
850 Plays5 months ago

There are so many things we spend time on thinking they’ll save us more in the long run but really, do they? Today on Bad at CSS we’re going to dive into a list of things we think are Time Wasters disguised as Time Savers.

0:00 - Is the juice worth the squeeze?
0:50 - Tests
6:07 - CI/CD*
13:37 - Build systems
16:02 - Rewrites
22:42 - Note taking apps
31:27 - Courses
38:37 - A tangent on Objective-C and fixing squiggles
41:37 - More CI/CD problems
44:07 - Append Only
46:07 - Color and Dark Mode
56:28 - Designing with constraint
60:00 - Not engagement farming… tell us your time wasters

Links
Bad at CSS — https://x.com/badatcss
Adam Argyle — https://x.com/argyleink
David East — https://x.com/_davideast

Transcript
00:00:00
Speaker
I've written tests for code that rarely ever runs. I've gone through hours of courses to learn for projects that I've never shipped. I've written dozens of custom properties that go unused. But seriously though, one day I'm going to need them. There are a lot of things in life that we spend time on that we think are going to save us in the long run. But really, do they? On today's Bad at CSS podcast, Adam Argyle and I created a list of things that we think are time wasters disguised as time savers. And before we begin, we want to hear from you on this one. So drop us a comment letting us know what your biggest time waster disguised as time saver is. And you know what? I'm going to make Adam pin the best one. So let's begin.
00:00:50
Speaker
David, this is going to surprise you, but i'm I'm bad at CSS again, yet again. And I'm also bad at many other things like tests and CICD. And I've got something i got something on my chest I need to talk about. And it's because recently I as was working on Visbug, which by the way, Visbug is like five years old at this point. It came out on like Chrome 55. I opened it up and started hacking on the project and didn't have to update my framework. It was one of the most liberating feelings I've felt in five years where I was like, my NPM outdated doesn't matter. I don't have to go tweak and tweeze little numbers here and there to just finally get the pile of cards to stay stand up again. Anyway, it's really fun having ah no framework for some reason. It was just weirdly a breath of fresh air.
00:01:38
Speaker
Anyway, okay, so I'm working on Visbug and I've been written ah writing tests on it for a long time. They're written in Puppeteer. They also spin up Chrome 55, which was part of part of the problem because I was adding all this new stuff. So what I wanted was Visbug in the top layer, Visbug with HDR colors and like some other kind of cool modern stuff, and then being able to read and write ah these new colors. We'll read them, not write them. Anyway, whatever. Okay, so I'm sitting there. And I've done all this work. I'm like 20 hours into this Visbug extension update. And um it's all working across all the browsers. Everything's good. The extension is solid. And i my PR is failing on the tests. And I'm like, OK, I'll fix this test. And every test broke. Every single one of them broke. And I was like, puppeteer, what the hell? I was like, I haven't updated any of these things. And the error is mega cryptic. Anyway, and I'm like, I'm sitting here.
00:02:30
Speaker
Visbug is done and Visbug couldn't go out, I couldn't ship it for over a week because I'm too, I'm busy and hacking on tests at night sucks and I only get like an hour or so. So anyway, I'm trying to fix these tests and and I'm just sitting there feeling bad because it's ready. It's done. David, it's done. The only thing stopping me from shipping is tests. And I'm like, this is the opposite of what I think tests should do. Tests are supposed to be the wind beneath my wings telling me that everything I'm doing is secure and lovely. But the thing is, is setting up these tests when I originally did it for VisBug took a long time. Puppeteer and just getting all this stuff organized. I have all these before hooks that set up all this stuff so that the test writing is actually kind of minimal. Anyway, there's all this work. I've got to be just 20 hours itself into just writing tests and setting up tests and managing tests. And here are tests taking from me. They're taking emotionally from me and they're taking time from me and they're making it so that users can't get something because of the stupid tests.
00:03:30
Speaker
And I'm just, I was just really frustrated at this moment. So then I finally fixed the test. I find out what it is. I mean, we could talk about it. Who cares? Anyway, I figure out what it is. I fix almost all the tests and I finally fix all the tests. Now my PR, the tests are passing in my CICD, but I have things broken in my CICD. My my deployment to Firebase is broken, and the API for automatically pushing my... um so i have So I have a whole CI CD build system that builds the Chrome extension, gives it a ah label, ah builds a release, tags it, pops it into the archive of GitHub, and then pushes it to the Chrome Web Store for an automatic submission on merging into the you know main branch.
00:04:13
Speaker
super cool stuff that's supposed to make it so that I can be all fast and save my time and be productive. But these all of these systems have sucked more time from me than they have given me back. And so that's kind of what I want to talk about today is there's so many things in coding and just in life where people like pitch productivity, they pitch this ability for you to do more with less time. And I'm like everyone else. I like to be lazy. I like to do these things. But the thing is, I don't think enough people sit down and self-reflect how much they're putting into something versus how much they're getting out. And this is kind of, I've complained about TypeScript like this before, but I just want to express that everyone should be thinking about this more because if the tool is taking more from you than it is giving,
00:04:55
Speaker
you really got to rethink that. And like with the tests is a good example because fixing my tests, just the process of them, because it was like modules, like I have to do, yeah there's all these dances you have to do because the test runners in common and then you're writing yeah ESM and just the whole nine. And I'm like, how much time have these tests actually saved me? And I could be like, well, okay, let me be kind of generous. Let's assume that like it's caught some bugs that would have taken me maybe an hour or two to to do. So let's say it's saved me 10 hours of potential debug time. And then I'm like, okay, how much time have I spent writing the tests, maintaining their processes, compiling, transpiling, and doing all the stuff that it takes to maintain this thing that's saving me time. And it's way more.
00:05:38
Speaker
It is way more time than it saved me. And this is what I feel with TypeScript. I'm like, I like TypeScript. I like types. It's very satisfying to secure something, but at the same time, however many bugs you think it's saving you from, it is taking more from you than it is giving. And this is a thing that I want to talk about. like What are we using that's taking more from us than it's giving yet? We still continue to give it anyway, and sometimes we even say thank you to it. It's weird What is this weird thing? We do they're like we're like delusional and that this thing's like not actually productive I don't know. Do you have things like that in your life David where you're like this was this was supposed to be saving me stuff and now here I am babying it because it's now it's taking I wanted everyone I wanted you to have this monologue because I
00:06:22
Speaker
Adam gave me this monologue the other day and I was like, the people need to hear this. And I immediately thought this is a podcast topic because there are so many things like this in my life that I've done. And for me, I have a couple of hot takes for, for this. I mean, we'll see how, how many peppers it is. Sizzle takes. Yeah. Uh, you'll have to grade me is five pepper take super hot, one pepper take, you know, that's so good. Uh, What am I, you know, when I think might be, you know, maybe three pepper take is CI CD systems are a waste of time with the caveat that you're doing it for your personal project. Because how many times have you set up CI CD and, or what's that eternal joke of CI CD system where it's like push test.
00:07:06
Speaker
push Push test. Push test. Oh, I've seen so many of those. And what's the impetus of that? like Where does that originate from? like Why are we sending up so many messages to get this thing to work that we know works locally? like Why is that? And it's because locally, we have access to all the source files. So if something breaks, it's very easy to find the log of it, or or wherever, or to reproduce. or It's your machine. But when you're sending it up to a CI process and get up actions or Travis or Jenkins or whatever, that's not your machine. And you don't have always readily, easily access to the logs into watching it air out. They've gotten way better at that, but there's still sort of this like step.
00:07:50
Speaker
away, you're like, there's that little bit of friction or that little bit of aloofness that you don't have access. Like you can see it, but it's behind the glass and you can't really reach it. And you're like, Oh, if I could see what that is doing right there, if I, or if I could log, I could change the source at that point, dive into no modules and log something in there, I could figure out what's going on, but you can't. So what do you got to do? You got to push and you got to try again. And and when you are doing a local, like, or not local, when you're doing a personal project, building up your website or whatever, most of the time, what really matters is that it, that it gets deployed, that it gets published, that you get to the capital D done or even a lowercase D done. That's really the goal. And.
00:08:34
Speaker
I find that CI CD systems are very, um, they're, they feel very, bri it was you know, when they work, new mean it's like yeah for sure they are brittle they're very brutal, but when they work, it's there, there's a sense of peace and like, Oh yeah, that, that was great. But an even better sense of peace is actually shipping your project and not waiting for weeks or even even if it's just an extra hour every single time you make a change or extra 10 minutes every time you make a change. All that friction to shipping.
00:09:08
Speaker
You know, it's just on a personal project. I don't think CI CD just deploy. Is it build and deploy on your, on your laptop and and push. You know what I mean? Like, uh, or on your in browser editor or on whatever, just build push. have ah Have a great day. Run the test locally. If you so choose to write tests, which Adam has shown also probably not. always a great idea, especially nowadays. You can get AI to like automate tests and stuff like that. So fine. Get the AI to automate the test, get the AI to fix the tests. You know, like I agree with you that CI CD systems for personal projects, if you're doing it at scale, obviously that is massively important. That's where the friction is wanted. But in for personal projects is get out the door. What what are you missing out on? You know, you're missing out on getting it done.
00:09:51
Speaker
missing out on getting it done. Yeah. It's, um, it's frustrating. Like, um, if you want to run a GitHub action locally, isn't it like gigabytes of oh it's stuff you have to download? It is, I don't know how to do it. Someone sent me an instruction to do it once, and then it was just one of those things where you're just like, what's that meme where it's like, I'm really sorry that happened to you, or I'm really glad for you. I'm sorry, I'm just not reading all of that. and like that That's what happened. I was like, ah yeah, I'm not doing that. It just seemed very complicated, and I was like, i'm you know this is a this is an Astro site. like Why do I need to and set up GitHub Actions locally to run an Astro site?
00:10:30
Speaker
Yeah, I remember trying to set up the Firebase emulator locally too, because I was like, I'm tired of working exclusively against a database in the cloud that I can't really see or know very much about. And then. I was like, nope, that's too hard. Kind of like running Kubernetes locally too. You're like, Ooh, this was really fun to do. I'm going to, I'm going to argue with you on that one because that's a, Ooh, is it easy now? It's very in the beginning. It was, I think a little more difficult depending on like your setup, but now everything we have this new port hub and everything, but that is a emulator hub. So we have like an emulator hub that kind of like, Oh, you said port hub. And I was like, didn say I was like, did someone think about the name of that when they named it?
00:11:10
Speaker
Jesus, man. I'm sorry. I just like, it's just there. Okay. Well, yeah, that that there saves you actually a ton of time because there's more tooling built into the local that you get on an online source. Like you get a request based inspection. for your security rules. And so it'll tell you whether it's things were accessed or not. You have much better UI that it's like actual, like the console UI in Firebase is not meant for um like developer time action. It's meant for like production. Like don't delete, don't easily delete all your data kind of stuff. Whereas the local one is like, yeah, you can delete all your data with this button. It's easy. Cause that's what you want to do a lot of times. so um So the emulator is definitely something that nowadays you can just run a command and you're good.
00:12:04
Speaker
Cool. Love to hear that. And then, yeah, you got IDX doing a lot of cool things, spinning up emulators also. That's nice. Yep. Yeah. Which one? Anyways. Yeah. CICD, like I always said, previous companies, we were automatically building with Jenkins. We had Android builds, iOS builds, um you know pushing up to cloud services. that Then we had test users and beta users, and then the production builds, and all that sort of stuff. um And just like a webpack config, and just like all these different build configurations, they need managed. you know I think there's like this impression that we that we feel like we'll set it up and then we get to walk away. But the the problem is is these are like layers built on top of each other. um like Your GitHub action specifies a node version, and that doesn't age very well. um so Eventually, you're going to update your node version, you're going to write a few modern node things, and then all of a sudden you're going to be like, why am I test broken? and Then you're going to sit there and debug it and be like, oh, it's just the stupid node version that's in the YAML file.
00:13:03
Speaker
It's old and needs to match what my current version is." And you're like, well, maybe I'll automate specifying what the new version is, pass some data to YAML. And it's just like, I just feel like this the the stack goes bigger. It's like the XKCD thing, right? Where they're like, devs will spend all this time automating something and they'll never get the time back, but they do it anyway. So it's maybe this is just like a human tendency that we ah we enjoy the journey and the destination actually isn't what we wanted, but we didn't care because the journey was fun. like It's just fun to automate things. I, another thing that is very much in that line is just build systems in general, like and forget about build systems, even with CICD. I think nowadays we have this so much better because you have like VIT based systems. or vet right it Very nice. Yeah.
00:13:48
Speaker
And I think that's really been the beauty of Veet is that if you're new to development and you first started using Veet, you don't have any real appreciation and good that you don't, ah that what it's doing for you. And if you wrote a webpack config back in the day, or even before then you're writing gulp, or even before then you're writing grunt, like all that type of stuff. um I don't know. It's just so funny. I just make noises for all these build tools. I loved gulp. Like I remember the first project I wrote with gulp and I literally was like, okay, all right. I'm going to like, did you use coffee script? Did you, know did you copy your gulp file? I never got into coffee script. I just, ah but I will tell you this, which you will probably not like, uh, is that I got very much into typescript from like the get go, uh, when it was like an NG two or before that.
00:14:40
Speaker
I was, you know, I was front and center on NG2. I worked on NG2. Oh yeah. Yeah. Yeah. We built a lot of apps with NG2. That was one of the first times too, where I was like, this is really hard. This, this thing takes a lot more work from everyone. Yet somehow everyone's telling me that's supposed to save me a bunch of time. And I'm like, none of my juniors can get anything done inside of this TypeScript, TypeScript system. but They feel just so constrained. Uh, nothing anyway. Yeah, that's weird. That's, um, the TypeScript as script aspect because it's syntax in angular, uh, two, or I have a whole story why it was called angular two at the time. And then why it became angular three. And then I were at like, what, angular 18 or something. Now it's just angular. And then there's angular JS. That was, yeah that was Igor. men one That's a really stupid thing to make people think. Yeah. JS versus angular. Yeah. Or whatever.
00:15:33
Speaker
A lot of that was came down to the domain name because, uh, really angular JS.org was the original one. And then angular.io is the new one. Uh, angular dev now is even a newer one. And that way. You know, I like it without the JS. I guess that's like my, I just, I just mean, it's confusing to like delineate one to two with whether or not it, it depends JS or not to its name. that's it yeah That's another, this is a great segue into a, and into a one that could be a time saver. That's our time waster decides guys. The time saver is that rewrites, you think you're going to rewrite a system and he's going to rewrite this thing. He's going to be easier.
00:16:13
Speaker
Oh, yeah, yeah, no, this is in. um This is this is in backbone. Actually, if you've been back one, it might be worth it, right. But like, um this is ah whatever. And I'm going to switch it to this framework. yeah That's pretty good. Or like, ah, you know, we're still building this in, uh, SAS, but you know, maybe we should just switch over to this. Like, just, just keep it going. Like, you know what I mean? Like you have a sunk cost, like the the sunk cost um in programming is so massive. And every time you see someone have a rewrite, they go through that like dip of like, they're like, it's awesome. And then it goes flying down to that and depths of despair. And they're like, okay, this is a lot more. a little We're never going to finish this. Yeah.
00:16:51
Speaker
There are very few, uh, cases where like a complete rewrite of something is warranted. And I've been there for a lot of them. Um, and. There are it just, it is so the, and then also the merging, like that to me is one of the parts that has always been the hardest to deal with. Isn't just rebuilding the thing, like that's tough in itself, but then usually there's like, okay, now we've got the old one. How do we introduce the new one while we got this old one? And people are actively using it. Like a lot of the easy rewrites are ones where you're just like actually doing a URL rewrite or usually URL redirect where you're just saying like, Hey, okay, we're just going over here now. Like those are easy, but it's not always that easy. And yeah, so rewrites to me is just.
00:17:34
Speaker
It's a huge, you think it's like, Oh, we're gonna have the new system. and It's going to be great. It's like buying a new car where you're like, look at the sound system on this thing. Look at the screen. Look at the screen. You're like, it's amazing. It's awesome. And then like two years later, you step in someone else's car that is new. And then you get back in your car and go, well, now this looks old. You're like, this looks very old. That's like, by the time you're done rewriting it, it's old. Yeah. Yeah. The shiny stuff goes away. I've seen. um, massive failures in a rewrite, which, um, the story is just so funny. I won't say which company was very big company and they rewrote everything to react.
00:18:11
Speaker
and They did it because they're they hired a new CTO. The CTO comes in and they're just like, we got to react to everything. It's going to be better to hire. Anyway, they had a whole whole list of reasons and it so it sells so well at the table. right You sit at the table and you're like, we're going to get performance gains. We're going to get this gains. We're going to be able to hire more. The list goes on. um It's DOM and it's virtual. it was It's not the real DOM, it's virtual, which means that it's virtual. Sorry. It is virtual reality. Where's Jamerica? Um, right. I need my hat. Where's my hat? Um, okay. So they, they did, they start this rewrite and this guy gets a promotion. Um, the rewrite seems like it's going super good. And then they start sharing this new version and bro, it's slower. Oh yeah. And then it gets even slower and then they fire the guy.
00:19:05
Speaker
I'm talking like it went from this guy getting a promotion to looking like the one who's going to save the entire company to massive downhill underestimated the problem that they were actually trying to rewrite and just crash and burned. The whole thing never ships. They wasted millions of dollars. This is a humongous company. This is an absolutely giant company, millions of dollars wasted. And then they're just sitting there. They're like, we're going to go back to the old, the old one is never broke. We're going to just going to stick with it. And it was just like some Java, Um, what was it? What's the famous Java one spring? There was like spring, ABC, Java, and something else, um, with like Adobe AEM as the backend. So you can tell these are very corporate big, big clients dealing with these, uh, frameworks, but yeah, I've seen them crash and burn so many times. Um, you know, it's funny because. A lot of times during rewrites, they will be inherently slower and that's because not as most of the time it has nothing to do with the new chosen shiny tool, like in react in this case.
00:20:03
Speaker
The case usually is is that one, you don't have enough experience with new shiny tool. So you're going to not know how to squeeze the performance out of it. You're not going to have domain experts in there. And everyone always says things like, like, Oh, we did a big rewrite with X technology and it it didn't work well. And it's like, you know, no, no, no, let's, let's relieve the technology out of that. Like we did a big rewrite and it didn't work. And, um, and also like when you have an app running in production. you are squeezing performance. It's been running in production. And someone says, this doesn't work well. So what do you do? You tune it, or you fix something, or you optimize, and you're doing what you can. And it makes the code uglier, usually. So yeah, someone reflecting on it later is like, why did they do all this? And they just don't know all of the business solutions this has solved along the way. Yeah. You know Jason Miller of Preact fame. Yeah. So Jason, back when he worked at Google, I used to chat a ton, and I used to, like,
00:20:59
Speaker
pick his brand for tons of things. Yeah, he's a good dude. Very good dude. Shadow Jason Miller. He has all these amazing little libraries out there like Undom. Micro bundle. Yeah, he's got tons. He's got one called MIT, which is like an event emitter. And there I think Undom is the one where he like recreates the DOM in very, very few lines of code. And he basically creates event bubbling. If I can remember this right, it's been a really long time since I looked at this. I'm like a do-while loop. And it's so small. But it looks like someone's in Goodwill Hunting just being like, oh, I'm mapping out something on the board. And they're like, and that's how it's done. And you're like, what? But if you go and you step through it and break your brain a little, you're like, oh, yeah, that's how you can do all that.
00:21:46
Speaker
and He just built it, shipped it. Actually, Jason is another one of the people who's amazing. Jason once, I was building up this like little library with preact and he was like, no, no, you need it like this. And he brought into a, uh, a gist, wrote not only just the whole library in this, like index ah.js, he then wrote the package that.json in the gist. And then was like, here's your library. Go publish it. And then as a joke, I did whoa published it to get hub and I got like all these stars and I was like, this is pretty much his code. Like I, I merged in with the code I had originally written, but like he was literally like, here's the library. And I they can't tell you how many times that he, he did that. He would publish like libraries as GIS and he would be like, that's it. It's done. And I, it's beautiful. Yeah. That is beautiful.
00:22:38
Speaker
All right, well here's another thing that totally other other people seem so empowered by and they spend so much time inside of these things and i just and I've tried them over and over. and I just hate them and it's notion and obsidian. What a great place for all of my ideas to die. I'm like, I will spend half a day going, I'm gonna, and it feels so good in there. I'm like, yes, let me enumerate all the things I'm working on. This is so satisfying to see a list. I can check things off. And then with notion, I can really ah make something kind of look nice while I'm doing some like a little bit, doing like a little bit of design, making sure I've got the right, components to represent my data. I'm like integrating things and connecting them and an obsidian. I'm writing all this markdown that's connected to the other markdown and it's like my my mind map thought web of all the shit I have going on. And then I just never
00:23:34
Speaker
actually helps me do anything. It just never does. so I'm like, I already knew all this stuff. I just, just having it in a list doesn't do anything for me. what ah And then I'm just like, I spent all five hours, these five hours in there will never come back to me. It's just time wasted inside of a productivity tool. How ironic is that? The productivity tool is the thing making me not productive. You can spend, this is just like TypeScript, you can spend all your time in a productivity tool and get nothing done. I can spend my entire eight hour day typing types in TypeScript and making the types better and produce absolutely jack all zero at the end of the day. This is just so ironic. Well, how do we not sit down and think about this stuff more often? But then again, I don't know, some people feel very good about it and they maybe they are anyway. So it's just me. Maybe it's just me.
00:24:26
Speaker
But yeah, I'm just like, how much time did I give you versus what you gave me back? And I'm like, this relationship sucks. This is one sided. Um, anyway, so yeah, note taking apps, productivity things. Yeah. Well, did you, do you have one? What do you do with these? Oh yeah. So you're, you're talking to the, to ah quite a good candidate here because I have gone through a whole, uh, journey of like, uh, productivity apps that I'm still very much on this journey. I, uh, have very much lost. in just incredible amounts of time on a personal and professional level to productivity tooling. And I listened to like productivity podcast, shout out Cal Newport. i'm where Where's Alanis Morissette? Isn't it ironic? And I am just, I'm um i'm knee deep into this world. So i'm I'm here for a lot of what you're saying, and but I also have some some points I think to this. so
00:25:23
Speaker
When it comes to stuff like Rome and, uh, obsidian, which I've never been a big Rome or obsidian user, because I immediately realized like, this is for, this is your researcher. Like if you're a recent, like if your thoughts are this frigging good, that they need to be linked and tracked and all of that. So there you you're, you're, you're just very academic and and if you're, you're writing books, you're, you're teaching like. Very complex things like, and I'm sure like when there's so much, when the structure is needed, those apps make sense, but that's usually not the case. And also a lot of times people are like, I'm saving links to these things. And it's like, well, how long are you need to need that link? And like.
00:26:02
Speaker
There are bookmarks. like We have those. like that's you know this This is very similar to people saying like you don't need all these apps. You can create folders in you know and and iOS notes or in Google Keep or whatever like without really needing anything fancy. And I do. I use Google Keep probably more than I use anything else. I use Google Keep too, but it's for like really dinky, weird stuff. like what's the What's the code to my padlock outside but my house that's covering up the- Get access to Adam's Google Keep. Get any free. It is. It's just random like numbers. They're unlabeled though. So like, I know where to go and what they are, but someone would open up and be like, whoa, these are the keys to all sorts of things. It's just, I gotta go start sticking these numbers in random places. You know, Google keys, I do something think that's the total time waste and i I do it all the time knowingly, but I can't undo it at this point. At one point I started pinning.
00:26:51
Speaker
those notes to the top. But now I have to pin every single note to the bottom. And I'm like, I need to fix this. But then with every pin, that wall gets taller and it gets a lot harder to knock down. You got to, like you know, like there's no unpin all. I just have to create a new account at this point. um That is funny. Archival or whatever, but I need a lot of those. um Anyways, uh, so my whole thing with note taking apps are, is that a lot of times you're using the wrong tool for the wrong job. And then there just becomes like this following behind people being like, Oh, I need this. Cause I need like, do you, do you really like how exactly, how much are you getting out of that? Punch the microphone. One of the things that I, I'm a huge notion user to this day, but I've used it in like 18 different ways.
00:27:39
Speaker
And what I believe is, is that all we're doing, all we're actually doing at the end of the day is we are, you're basically taking things out of your memory, your personal memory, your, your actual physical brain memory, and you're putting it into your head database. Yeah. Hey, your database in your head is not headless. Get it? there you go and Stupid. Okay. Sorry.
00:28:06
Speaker
And then you're just trying to get it track somewhere and that's, that's good. That makes sense. I think we get way overblown. I have very much been there before, but what I actually found is that what it has saved me an incredible amount of time is having the discipline of understanding of like what to track and how to do it and not going over the top on it. And the number one way that I've found to do this is that if you have, and I've been wanting to write a blog post or do like a YouTube video on this for years, because I very much believe in this, is look at your browser tabs.
00:28:40
Speaker
at any given point in time, how many browser tabs do you have open? It's like, you know, big on running joke for a lot of people. It's, it's like, you know, you can't even see the favicon at some point. You know what I mean? Just everything gets squished in and yeah one of those not only has a memory task in on your computer, but most importantly has a memory task in your head because each one of those tabs is open in your mind because you don't want to lose that tap. And you have to like cycle through the tabs or search through them and try to find what you're looking for. And what each one of those tabs represents is an open task in your mind. And you're basically saying, I have to do this. I need this. This is something that is relevant to me right now. Well, what does right now mean? Right now usually means, I don't know, multiple weeks of sitting around and not watching the video, not doing the thing, not reading the blog post, all those things.
00:29:30
Speaker
And what I've found is, is that you can do something very simple, like I do with Notion, where you can do with a Google doc or whatever, a text file is basically say, kill your tabs. Keep seven. Seven is a perfect number. seven digits in a phone number. We can remember seven, seven is something easy for us to keep track of once you go to eight. All right. That needs to be saved somewhere else. Doesn't mean you're not going to do it. Just put it in a doc like underneath its category, you know, tasks to do video, to watch blog posts, to read and just paste it into the doc and close it and then revisit that doc. Keep that doc open as one of your seven tabs. And then that way it doesn't have to stay open in your brain. It just goes into there.
00:30:11
Speaker
And then there are times where I think that everyone's like, well, what if I'm like trying to search how to do something and I need to keep track of all these tabs? Well, that's called spiking. Just like how traffic spikes and that was case. It's fine. You are allowed to temporarily spike in your tab traffic, but then you know, you're going to clean it up afterwards. You're not going to keep them all around. And if you do need to clean them up, then you need to save them somewhere. So that's my whole thing is that that's really all we're trying to do at the end of the day, unless you're an academic, you're a book writer, you're, you know, you have the structure matters, you're building a course, you're doing all these things. Then sure. Yes. I imagine that's very important, but for our general purpose life, that's the main goal. And, uh,
00:30:47
Speaker
I don't know if I'm going to hit a sore spot with anyone listening. Um, no, that was deep. Um, I'm just not a lot over here going, yeah, man. Nice. That's what I do. It's my seven tab rule. I always want to write a blog post. It's called like kill your tabs and cause all of our problems come from our tabs. Yeah. I mean, my, a lot of my tabs are, are, are prized tabs where I'm like, I don't want to restart you Chrome. Cause if these don't open, I am unsure of how to recover. Uh, yeah. so Interesting. I also and reminded myself of a very spicy, I think this is a five pepper take actually. The spice. Of one I'm about to say. And it's funny that someone like me is saying this, I think in you know very caveated that courses can be a massive time waster.
00:31:39
Speaker
Because in many cases, don't be wrong. I have taken courses that have changed my life. Um, shout out, learn UI dot design, uh, phenomenal course, knew nothing about design. I needed to be spoon fed. I needed to be brought into the world. I had no idea what I was doing. I had no idea where to start. Perfect. How many courses have I watched about a subject I'm pretty good at or very familiar with a lot and what should I have been doing instead? Doing it, building it. You know, like if I, if I watch a course on CSS grid, that's probably a big waste of my time. I should probably be um building complicated CSS grids and failing and trying and fixing it and sending them to you and crying and asking you why it's not working. And then you patting me on the back, giving me a snack and saying, it's okay, we're going to fix this. It's going to be fine, David. Like that's really what I find to do. Like I'm always looking at a course, like in a way where I'm like, this is it. This is how I'm going to know it.
00:32:34
Speaker
This is how I'm going to get smarter because that person's smart and they're going to teach it to me. And then I'll just totally know how to do it. I've gone through courses and I still, when I go to do it, it's just as hard as if I didn't go through the course. It's just, it's hard to do things. And half the time when we're watching through courses, we're or trying to, we're trying to avoid the thing we know we should be doing, which is it is just doing. There's the key. You're just saying like, well, I gotta, I gotta learn through the course or I'd probably waste so much time getting this project done. No, you, you're going to learn by actually putting the boots on the ground, type in the keystrokes, turn them in and into pixels, doing your thing. Like that to me is, doesn't mean don't you know buy courses for things you don't know about. And doesn't mean don't make courses. Like if you really don't know how something works, if you're new to something, yes, courses are invaluable, but don't just buy courses, like just cause you're like, Hey, I'm trying to build a project with this thing and I kind of know how it works. And this course will make me even better. No, we'll make you even better.
00:33:32
Speaker
is doing it. And that's my stance on that. I heard something recently that so many good comments in there. um And you were mentioning like, you actually i have to do the work. I've been summarizing this as reps. You have to put reps in. And a lot of people don't want to put reps in. They want to go instantly from not being able to do something to be able to do it really well. And they just I don't want to put the reps in. I don't know what that is about. I mean, I kind of get it. We're lazy um and it can be scary to and it sucks to suck. ah But anyway, that's what reps are for. and i Anyway, I had a recent rant about um music and its comparison to coding and stuff like that. Anyway, maybe we'll save that for another episode, but I also heard recently that course completion rates are abysmal.
00:34:19
Speaker
Very bad. it small I'm talking like, so it's almost like courses are this perfect grift where what you do is you make a phenomenally powerful marketing page that's just like, when you take this course, you're going to be the strongest that you've ever been. It's just like you fill someone's head up with all this potential of what they get by the time that they exit it. And then what you really ask for, and then you're like, for $150, that could be you. And then so they're like, well, yeah, I would love to just give you money and then instantly be good. And so all these people do it because it were so easily tempted by fast track, shortcut wins to the finale without putting reps in. And courses are just like that where um so many people buy them. So many people buy a gym membership and then never go. same It's really, really similar.
00:35:08
Speaker
It's when you look at a course and someone says like, with over 60 hours of content, you have to ask yourself, okay, that's a great value for like, whatever it is. Like if, and if this is something you're new to, sure. But in a lot of cases, you have to ask yourself 60 hours. Okay. If that's one hour a day, that's roughly two months. of doing this. And that's that's Saturday and Sunday. you know that's yeah That's on a busy Wednesday when you don't want to. And that's and that's an hour. yeah you know When you're tired and you had a bad day, full of meetings, full of whatever, full of CICD systems crashing on you, that's not working. And fixing all the things that were supposed to make you faster to have time to do this ah of course, yeah. and All your time linking all your notes meticulously together.
00:35:53
Speaker
In your, in your, in your Roman near obsidian, like it's hard to then say, I'm going to go sit here and spend an hour on this thing. And that's, that's two months worth of doing it. And then what is that to an hour a day, which is a pretty generous amount of time to be honest with you. If you have a pretty busy lifestyle. Um, and you, that's 60 days. That is where you're saying I was, what you don't know what you're saying to yourself is, is that I will start this project in a minimum of 60 days from now, because I got to learn this thing. Then I'll start this project. And there are many cases where like, if I wanted to learn guitar and I didn't like want to go in and I would probably go to like a guitar teacher or something like that, but, uh,
00:36:36
Speaker
If I wanted to learn in my own house, I would buy a course and that would be very valuable. But what am I doing as I'm going through the course? I'm learning how to play guitar. You really need to learn, you need to ask yourself like how much of this is academic and how much of this is abstract versus how much of this is, you know, doing and getting it done. And this, I do, I, I feel also so important to say that I say this out of just complete hypocrisy and pain. Like, please don't be like me. Don't be like me who has like just stacks of notes of like courses. I literally am like next to a massive stack. Oh my God. Actually.
00:37:13
Speaker
Here, Adam, you entertain the viewers for a second. I got to grab this. Oh, yeah. No, i'm I'm hoping that you go grab a whole bunch of productivity books because I love I love that. I just love making fun of that in my mind where I'm like, oh, you're you're going to sit and read three hours of a book, which means those three hours you did absolutely nothing. to learn how to be productive, at which point you're probably just going to buy another productivity book and you're never going to be productive. You're just going to read about productive habits. And I'm like, if you don't put the reps in, there is no productivity. That's just so funny. The irony of these things. Okay. What you got? This right here is for anyone can see, this is my, these are my notes for like a composition notebook that you'd got handwritten stuff in there. Yeah.
00:37:57
Speaker
Oh yeah, this is a good example. I'll have to say this is a course that did change my life um or made my life much better. And which made me be like, this course is courses for everything. ah This was probably one of the first big ones I've ever done. This is, what is it? CS 149 or something. It's like the Stanford ah learn iOS course. This is all objective C. I have a whole notebook. is You studied Objective-C? That's like one of the ugliest languages. Whenever I open it up, I'm like, my god, how do I get out of this place? Interesting. If you look at the discourse of Objective-C, everyone's always like, Objective-C is so ugly and blocks are gross. it Blocks are gross. But like in all the stuff and syntax, weird and message passing, who likes that? But then he asked people about Smalltalk, which is like really where Objective-C came from.
00:38:41
Speaker
people are like oh small talk so ahead of its time just an amazing language with such constructs in it and it's like they're the i'll come you at the syntax and you're like i you hold on that's that's directly a ah thing i learned this week that okay as a software engineer who doesn't like the front end which is pretty much everyone Except me and you. And there's like a select view. They're like, CSS, I'll do that task. Most people hate it. So, okay. Consider a scenario where you've got TypeScript and you have ah CSS or SaaS. And the CSS and SaaS has a linter in it, as well as some other checks that will add underline red squigglies for properties that you're not looking to use, things that um aren't applying. There's like helper
00:39:25
Speaker
things inside of your CSS file, just like in TypeScript, where it's like, hey, you have an and unused variable, this declaration doesn't do anything, hey this type doesn't match, red squiggles, whatever. So here's what i'm I'm hearing from two very large companies that's happening, is that the developers will um happily pacify all the red squiggles in TypeScript. right They're just like, oh, yeah, don't worry, TypeScript. I got you. I'll spend the time to figure this out. um Whatever. And then they go to their CSS and they see red squiggles.
00:39:59
Speaker
and they added an ignore line. Or, even worse, they do whatever they can to not make that happen, but like they get really wildly creative in ways that work around it. And I'm like, what are you doing? Why is one file with red squiggles important to you and the other file with red squiggles not important to you? You are your own worst enemy in one file, and in the other file, you're just like a ah what What is going on here? what What is this trend? This is just like, I've had projects in the past where we deployed and for a client 100% test passing test coverage on an Angular app. And we handed it over. I think I've even said this on the show before. Anyway, we handed it over. And all the devs that received it were like, thank you so much. This is so great. And they turned off all the tests on day one. They commented the entire concept out.
00:40:50
Speaker
And we're just like, we're not going to use these. They're, they're slowing us down. We don't understand them. That's too much or whatever. And I was just like, well, this is some weird behavior from engineers. Actually, sure. If you go to most like GitHub code bases of like large open source projects, you should go to like the tests section. You will find lots of commented out tests throughout everything. And it's usually like to do person. It's like figure out why this kept me from getting this PR submitted. I thought about doing that for vis bug. I was like, I should just turn all these off. No one cares. These tests aren't helping me anymore. And I was like, Oh, I'm going to, I had like a safari driver die on me once and it killed all the tests for, for like safari ones. And I was literally like the passing on every single one, but there's the safari one fails on everything. And it wasn't the test. So it was, cause I run it locally and it all pass, but I want to get up to CI it would fail.
00:41:41
Speaker
And then everyone is for this big library I'm working on is like, when is this release coming out? When is this release coming out? And I'm like, as soon as I can figure out, this is a freaking JavaScript library. And I'm like, as soon as I can figure out the Safari driver, uh, yeah, you all will get this library with these three' been asking for. And I realized in this moment, I've run them locally. Everyone's begging for these features. They, they pass, they work the drivers out of date. I'm just going to. We're going to ship it with push it real good um ah bands but but option on the matrix. And you know, that's all the tests run because they're, they're the same test. It just runs on a different side of the matrix. And we just say, Hey, we're just disabling this for now. And then we went and fixed it later. We've got someone who's much smarter than us to fix it later.
00:42:26
Speaker
And everyone was happy. We got it done. And then we then and nothing broke. We just kind of didn't say these tests only work because they happened on this one machine somewhere in the cloud. thing. Well, I mean, yeah, back to CICD for visible. Yeah. We, me and you met because the, uh, action broke to push ye to Firebase. And literally this is the conversation, uh, that we have everybody. So I'm like, David, um, I'd love just like five minutes. We'll jump on a call and let's, let's fix the, let's fix the action. It's just a, it's just a deploy. It's a static site. I need to deploy it to Firebase and he goes, yeah, dude, easy. No,
00:43:09
Speaker
anyway we get on a call and we're like oh we start basically we pull the thread it's just this classic scenario you start pulling the thread we're like oh god oh no here we go still pulling strings still pulling string and we're like dude we gave up everybody everybody we did we gave up I decided to just hand drag the folder Oh no, and I did it from the command line on my own machine, right? I just did a Firebase deploy. So we wasted 25 minutes trying to debug, figure out how to get the access keys, how to get it into a spot and do all, because we had all these hoops and jumps to go through that I was just like, I don't, I don't care. I just want this to be live. And so I did a Firebase deploy on my command line and within 20 seconds, the problem was solved. And I'm like, all right.
00:43:50
Speaker
Look at all this time we wasted for like, oh, it's just really frustrating for the record people. This is like a very bespoke kind of system that we're working with, but, uh, aren't we all like, yeah, I think that, yeah, that's kind of what this stuff means by like, it's all layers and stacks on top of previous solutions that if you change anything in any of these configurations, there's just this massive trickling effect that it's hard to see in the moment. It's easy to add. So you know what? Here's a fun CSS and computer science. uh, thing, uh, an overlap is people really hate that CSS feels append only or add only that as you want more styles, you have to go, great this is why tailwind has a very great benefit of it doesn't grow, uh, or it tends to not grow. It or it reaches a local maxima, which is horizontally, not vertically.
00:44:41
Speaker
um But then if we look at our systems and after we set up all this infrastructure so at first you have a node js file and you've got like some front end assets and these things can work along but then you get into these corporate scenarios where everybody starts layering in automation and layering linters they layering tools. And we start to harden the product that we have. But what we're doing is the thing that we hate about CSS. We are doing an append-only growth thing that doesn't really have an end. We start to add code ah quality checks. Then we start to add Huskies so that we have pre-commit checks. And this everything about our app starts to get, and these are just like layers of fat on top of the actual thing that we want to ship. And it's just so weird, again, that we can't we don't really self-reflect on this very often about
00:45:28
Speaker
um We think we're hardening it, and we are, but we're like simultaneously making it brittle and hard to change. It's like we're we're all working towards making a Titanic, but we want to fly a wind sailboat. god I just, anyway, yeah, we, we don't want to, we don't value the time that it's going to take or understand or value our own time. We just value ah where we want to get, but then we don't understand what we're actually undertaking until you get there. Um, that, yeah, when, you know, we are like,
00:46:00
Speaker
very deep into this podcast. And I realized we haven't had a single CSS like, uh, so I actually do i want to bring up a CSS one. One thing that I think is a total time waster disguised as a time s saver, uh, with, uh, CSS is color um because color is exponentially complex. We're, Oh yeah. When I, when I was first learning design, um, uh, Meng To of, uh, design code back before design code became this really cool, awesome, big tutorial site. He wrote a book called design code. And one of the things that he said to do was pick three colors. And it was about designing like specifically iOS apps, but in general, he was like, when you're designing an app, just pick three colors. He's like literally just three colors. and That's it. Don't go beyond it. Not even tweak any hue or anything like that.
00:46:54
Speaker
And he's like, you got to keep that discipline in there. Eventually. Yes. You're going to need to tweak the Hughes and do stuff like that. But at first, just three colors. so And when you really stick to that, it allows you to go so much faster because with colors, if you're like, okay, I got to make a button. All right. I'm going to make this button. It's blue, but when, oh, it's the hover state. It just should go lighter. Should go, should go darker. You should always hover and increase contrast. Everybody always hover and increase contrast. And always put a label on your icon buttons. PSA for madam PSA. Sorry. Well, you know, um, but you know, you have all these decisions for all these variant states of a single color. So like a blue isn't just blue. A blue has all these different states of, of its original blue and of any color for that matter.
00:47:44
Speaker
And colors are also inter, you know, are cohesive with each other, hopefully. And so they have to work and play together. And on top of that too, you start thinking about light mode in dark mode. Oh, that's another spicy take I have. I think, uh, color modes or, you know, uh, color themes of your site, like light mode, dark mode also can be a huge waste of time. depending on the situation. um But with color, you are sitting here saying, like creating all these different variants of color as things go on, and what can happen? The colors can change, or you know whatever branding, theming, all this stuff goes and changes, and then it makes everything complex.
00:48:23
Speaker
So when you're building things, like really having the discipline of like, we're just picking these three colors and we're just starting these things out is so valuable because you get to build the actual scaffolding, the actual core like body of the website. And it gets to be it's itself before you're actually decorating with these fine details. And that's, cause that's really what these variants of colors are. They're fine details. They are and important details. I'm not saying don't do them. I'm saying trying to define what you think your color is upfront is a waste of time. And even trying to define light mode and dark mode upfront is a massive waste of time. When, so one thing that I get, and I don't know how Seattle is, but I live in Washington DC, which is very much the real world. Uh, we're both in Washington.
00:49:11
Speaker
And there we go. Both named after George Washington. Fun fact, you know PSA from David, the more you know. Um, but the, uh, when I lived in the Bay area, like every time you talk to people, everything, all talks were like super like tech based. I know people to this day where if you're like, Oh yeah, something with chat GPT, they'd be like, Oh, what's that? And you're like, you you know what that is? And they're like, no, what is that? And you show it to them and they're like, oh, cool. It chats with you. Like, there's no like, wow, amazing factor. They just is says, okay, all right, moving on with my life. And they also won't know that the site can move from light mode to dark mode.
00:49:48
Speaker
And you're like, no, you see, if you click the sun button, they're like, Oh, I just thought that was a picture of a sun. know If you click the, oh the whole thing changes. That's cool. I will never click that button again. I will never configure that again. Now, if you're making for developers or more advanced users, then yes, absolutely. It's massively important. Those are big opinions of whether people like light mode or dark mode, but for a lot of sites, um it might just be an exercise of you just wanting to build light mode and dark mode in order to to do it. And cause, and if you want to talk about accessibility, you should be able to make a light motor dark mode site very accessible no matter what. So in my opinion, I just think that with color, there are ways where it's amazing. And there are also so many ways where it grows out of control.
00:50:32
Speaker
Yep. I can totally empathize with that. And I'm sitting here nodding along going three colors is great. I'm like, how many does the open props normalize ship? And I'm like, there's three, three surface colors, two text colors, and a brand color. So it's six. Um, and I like that, especially two texts colors. That one I think is clutch. You have your, your text that should always and absolutely be readable. And then one that you want to subdue a little bit. Yeah. So you got text color, one text color too. And that's like it, um, with surfaces, I like to have three layers, but yeah. Yeah. The phase one for a site, you don't need that subdued color, you know, or or phase one for building it. Like you can, you don't need to carry that around with you until someone goes, Hey, that sub label would look great. If it was subdued a little, then you apply it like that right there. you do And now you're letting the magic happen rather than forcing it on everyone.
00:51:22
Speaker
Everyone's like, jack all right so the rabbit comes out of the hat. Come on. Just, you know, you want to be like, Hey, look, I got it. You know, if you, you tell someone I'm going to pull a rabbit out of a hat, they're going to be like, I know I've seen this trick a thousand times, but if you walk up to someone with a hat and then pull a rabbit out of it, they're going to be like, why the frick did the rabbit come from? Like yeah that is the difference, you know? That's awesome. um Okay, so let's start experiment this really quick because I do I want to combinatorially explode ah your statement here because you're onto something which is okay. So let's say yeah, you got open props props with six colors in light mode, then dark mode.
00:51:59
Speaker
another six colors Then you have a like a high contrast theme six more colors then you want to Do a let's see. What are other variants in there? um So you get your high contrast. I mean you could do like a low contrast, but that one's not as important your forced colors Okay, so there's another set of six. Well knows forced colors is out of your control So you don't have to worry about that one. There's forced light and forced dark and You got your HDR, so you could do an um and sRGB color set. Then you could have an upgraded DVD color set. So you got your VHS color version. You got your DVD color. Each of those could be split into light and dark and high contrast and low contrast. And yeah, the list goes on. You're right. Color is out of control. Even if you set up a like a really robust set of custom properties, just getting that established is a lot of work.
00:52:53
Speaker
um So what I find is someone who's also deeply. Oh, also. Yeah. someone who is uh but also when you're applying those uh high contrast themes the color blind themes all those type of things are like if there's like accessibility modes for your site starting with three colors allows you to get to those paths a lot easier rather than introducing color chaos all at once of like this is what we want the the pretty polished version of the site to be and then oh yeah we need to tweak this now we have to tweak this now well it's much easier if you start with three and then tweak rather than start with
00:53:28
Speaker
46. And yeah that sounds like a lot, but that is not a lot. Like I have worked on sites where the root selector has just, oh my gosh. Yeah. Material has over a thousand tokens in there. They're like, and the names of them start to get really, really long and specific. and I had to, I mean, I namespaced. Uh, like custom properties, like dash dash color, because I wanted to get the auto complete out of them and to know, yeah, that's how, um, yeah. And so I could see the colors drop down because there's so many that I wouldn't be able to remember what it was. So all colors are, are prefixed for, for dev time searching.
00:54:13
Speaker
I have, let's talk about um CSS system colors because you could start your entire design and not pick a single color and handle light and dark. um I really like these too, not just for prototyping, but a lot of times you can make a really nice looking site with these. um So let me pull up some of these so that I can represent the ones that I'm not remembering. hor Yes. Okay. I love these. So before I even look at the list, here's the ones that I use a lot. There's a system color called canvas. That's the background of the page. And then it will change between a light background by default or a dark background based on the color scheme property that you have. Oh, we also have the new light dark function, which is cool and confusing.
00:54:56
Speaker
ah Anyway, and it's and and it ties right into this color scheme flip. So if you're going to flip the color scheme, this is a way for you to like integrate with the browser's choice of a user agent style sheet. Okay. So there's the canvas color represents the background of the page. Then you have canvas text, which represents the text color of the page. Those two alone get you really, really far. But you also have things when we have like accent code color coming down also where it's going to be accent color and accent color text. So these are things if you specify the accent color, you now have a keyword that you can use and you get access to the keyword that contrasts your accent color given to you for free by the browser, which is cool.
00:55:33
Speaker
There's also um Link Text, which is a cool one. That represents the color that the links are. There's also Highlight, and I like to use that one because it's whatever the user's system of highlight color is, and so you just get to use it in a way, which is really fun. um There's a bunch of them for inputs. So you have Field, which is like the background of the input, and then you have Field Text. There's even one called Gray Text. So if you were wondering, if how do I make a subdued color in this used gray text? um Okay, so let's see what else is in here. Oh, there's mark and mark text for like highlighting things if you've got them selected like ah it's yellow. There's selected item selected item text. So this is like, ah look at little at the and then there's visited text too. So you have all these different system colors that you can really get super far with that are automatically adaptable.
00:56:21
Speaker
to the light and dark themes out of the box with no client side switch. It just follows the system setting and you just need color scheme, light space, dark on your, uh, HTML element. You're, you're good to go. Cause good design comes from constraint. So if you can use less to produce more, it's good design. Like I worked, uh, in the early days and, uh, Firebase ah startup mode, um, which by the way, on Tuesday, I will be 10 years. ah Firebase ten years at one place Wow, dude, that's amazing. It was like you should join that startups so risky ten years later I'm like almost pretty freakin stable. You're like, hey, I got something in my pocket for you. Shabam. It's a middle finger fool try tell me what to do They weren't hating they were just like that sounds scary um Yeah, it was scary, um but you know, it's good now but uh
00:57:16
Speaker
The one of the early, the the VP of UX, shout out Alex Wolf. He once had this really good sort of lesson. He gave me a work one day where he was like pulled up Photoshop and he's like, look at all the stuff you could do in Photoshop. It's like amazing. And, but you look at that side drawer in Photoshop and it's hiding a lot. You know what I mean? We know that that was just like the tip of the iceberg when it comes to doing stuff in Photoshop. It's, it feels, it feels tough just looking at it, especially if you have no idea what you're doing. Then he pulled up on this iPad, a camera or some drawing app. and had eight tools on it and it looked amazing. And it looked like I could just probably paper by 53. Yeah. I think it was that actually not you say it. Yeah. And I do. I felt like I could have taken it out of his hands and just started going at it, you know, in presence and just building and just, and that right there shows like they were like eight, you get eight tools.
00:58:08
Speaker
And of course you're going to produce different things with each, but it shows if you ask someone on the street, which one's designed better, they're going, most people I imagine would say the the paper one, the iPad one, that one, I like that one. I will use that one. The other one scares me. And I think that's why, cause it's constraint. There's less going on, you know? And I think a lot of times we want to add more because we're like more is better, more is good. And you know what? More of your result is good, but more of just more is not. And sometimes we just think we had more effort, more this, more that of it. It's going to make it better, but it's not. It's like it has to be like a, you know, it's the think smarter, not harder, kind of, uh, or work smarter, not harder kind of, uh, process. So that's, that's very much like, if, so go ahead, build a website using only system fonts and only system colors. And I bet you, if you were know something about design, you'd probably do a really good job than someone who does a whole full custom job on top of it.
00:59:08
Speaker
Yeah, I have a um um ah way I like to think of things, which is it's really easy to add more. This is what we see with NPM. It's so easy to NPM install something. It's so easy to bring in more. This is kind of like, again, I guess the layers that you build up around your system. It's so easy to add more. It is very difficult and it takes a very um It takes a mentality and it takes a skill to do To deliver something great with less and that's kind of why I like to call myself a sushi chef on the web is I'm very much I'm giving you minimal Delicious meals where a lot of other people are giving you You know a big plate like you went to cliffhanger. No, it's not cliffhanger cliff jumper crap. What's that one? It's got the humongous dishes
00:59:56
Speaker
Oh, I can't remember it either. i think it was great guy Cliff in the name. Who cares? Anyway, or is a cheesecake factory where you're just like, who is this for? You just gave me four ginormous slices of chicken. I'm like, do I look like I'm going to eat that? I just like, geez, Louise. Oh yeah, you go to anyway our Michelin restaurant, it's always the big white plate or the big black plate. It's always one solid color and then a little bit of decorating. Little thing in there. Yeah. Yeah. So it's weird. It's like somehow we all know that that's better, but yet we're constantly cramming more into our UIs and more into our apps. And I had this problem with managers all the time too, where they just kept saying yes to everything. And so the UI went from being something nice and simple in the beginning to just getting
01:00:38
Speaker
cramped and crammed because they thought more would bring people in. But the reality is like you need to do less really good, not more shitty. um Anyway, yeah. Well. I can't think of a better way to end a podcast other than That just sounds great. You just you just amazingly faded us out there. so I am very, very interested, if you are still listening deep into this podcast, to let us know what are things that you have done. and This isn't actually your typical engagement farming at the end of the podcast. You don't know how to exit the podcast. You have to say, I know what to do. Ask the people what they had, so maybe you'll get a comment.
01:01:18
Speaker
And, you know, and you can leave your podcast now. This isn't that, uh, it follows that formula, but I am truly, truly interested. And if you write down something, I'm going to all respond with something to prove that I truly care. Not that my response matters all that much, but I do. I actually am very interested to see what people think about or list. Oh my gosh, this is a time waster, but everyone thinks it's a time saver. So let us know in the comments on Twitter, on wherever I'm very interested in this and, uh, yeah thank you all so much for joining this episode
01:01:50
Speaker
and we will see you in the next one and it cs orange par
01:02:11
Speaker
Yeah. Thank you all so much for joining this episode and we will see you in the next one.