We're talking about threading in Slack or Discord, the continue reading button on a website, Axe software - also a sponsor!, cost benefit of time spent on work, what a day in the life at work is like for Chris and Dave, and musing about whether conferences are going to be a thing again.
Time Jump Links
- 01:20 Threading in Slack or Discord
- 06:40 Continue reading button
- 10:03 Axe software
- 14:33 Sponsor: axe DevTools
- 16:25 Cost benefit of time spent
- 29:44 Sponsor: WooCommerce
- 32:09 Work life for Dave and Chris
- 43:34 Are there going to be conferences again?
- 52:51 What's the benefit of using Netlify and a CMS?
MANTRA: Just Build Websites!
Dave Rupert: Hey there, Shop-o-maniacs. You're listening to another episode of the ShopTalk Show. I'm Dave--in the shed. No homeschool around me--Rupert. With me is Chris--in the booth--Coyier. Hey, Chris. How are you?
Chris Coyier: I'm doing pretty good. Pretty good. Pretty good. Pretty Good. Gosh, we have a little news to talk about and then we'll get to some questions, huh?
Dave: Hey, yeah.
Chris: Because we've got a couple of good ones in here, including some interesting stuff that's come up in our Discord, which you can join.
Dave: [Techno voice] Discord!
That's going to be the sound effect every time we mention Discord. [Laughter]
Chris: Nice! I love it. I really wish it had threads like Slack. Other than that, it's 100% better than Slack.
Dave: Yes and no.
Chris: Okay. [Laughter]
Dave: Threading on Discord is not great. I agree.
Dave: Threading on Slack is also terrible. I guess it works, but if there is a critical piece of information in the thread, you just can't find it.
Chris: Oh, I see what you mean. I also find a lot of, like, if I reply to a thread, the chances of somebody seeing the reply are a lot lower.
Dave: I feel like it should be for tangential information that should not matter. There needs to be a big culture around threads. Otherwise, I'm finding myself in three or four different threads across four different channels in the same company, and my company is only three people. [Laughter]
Dave: You know. That's the threading just gets me.
Chris: There are some channels that I'm where it feels necessary. I have a shared Slack. What do they call it now? Slack Connect, or something.
Dave: Slack Connect, man. I've got a half a dozen. I'm staring at it right now.
Chris: I bet, because I bet the freelance, the agency market is heavy on that. It's cool.
Remember, in the olden days, we had to sign in? We had to basically create a new entire Slack to share it?
Chris: It was worth it sometimes. At least we don't have to do that now. You know what I mean.
Anyway, the one where it's clutch for me is, like, I have a CSS-Tricks Slack for the team. But I need to talk to BuySellAds, the company, about sponsorship stuff because it's half my fricken' job, it feels like sometimes. We'll post something that's like, "What about this sponsored thing happening on this date?" Then the thread is all about that. There is no other.
Chris: If you're going to post something new in the channel, it's about, "How about this sponsored thing on this date for this property?" Then the thread is all about [that].
Otherwise, then it's like the information about that thing is all in that thread and I like it. It works.
Dave: I feel like threads work better when somebody says, "I am starting a thread," or they do the thread emoji or something just to say, "Hey, this one is going to go deep on one topic."
Dave: I feel like that's--
Dave: Little ad hoc replies and stuff are cool, too. I'm in some cool ones, you know, just here and there. Man, threading is a tough issue.
Chris: It is, but in some ways--
Dave: You know who does it even worse? Teams. [Laughter]
Chris: I don't even want to know. Don't.
Dave: Teams is like email, dude. It's like every -- it's not just one river of content. It's like blocks of content. When you jump in there and type a message, you're actually kind of starting a whole new thread or a whole new basically message block email reply thread. Anyway, it works for big companies who are used to email.
Chris: Yeah, maybe that's the target. Right.
Dave: I think it's good for them but, for Dave Rupert, it's like, "Oh, my gosh." It's like an inbox that's just laid out like a blog. [Laughter]
Chris: We have one shared -- I think we're down to one shared Slack now and it's just like--whatever--it's like a friends thing. Sorry. Don't be jealous, but we have that. It's one channel only.
Chris: The threads in there are used because there are no channels. I started it, so I decided that's just how it's going to be. I'm not like the world's biggest fan of the million channel thing. I don't hear people complaining about it too much. Maybe they don't like it, but then, in that way, a thread is kind of like a channel. It's like I'm going to start talking about this subject and have that happen.
Chris: In our Discord, now we do channels.
Chris: But not that many, and I guess my personal opinion is -- and I'm happy to be overruled by this -- we're at max channels already for me.
Dave: In Discord?
Chris: Yeah, because right now I'm clicking through, like, "Oh, somebody shared that thing." What is it in? Is it in the Hot Drama channel or the Show and Tell channel or is it just in General? You know? I'm like, I can't--
Dave: Yeah, our topics are bleeding really bad, so we may need to reboot.
Chris: They're all great, though. I like them all.
Dave: Yeah. No, no, I think we do have a few too many, but anyway. Or we just need to, again, hard scope the topics. I think a lot of people, too, very functional communities, are like, "Hey, take this to blah-blah-blah." Like, I'm in a friend's Slack, another one for my D&D stuff. If somebody starts talking about kids in the programming, people are like, "Take it to Kids," or whatever.
Chris: Oh, straight up? Oh, I just can't. I don't have that in me to be that guy because I'm like, "Whatever. We're just talking. It's just a computer. Get over it."
Dave: Yeah, yeah, or if like somebody in programming starts talking about keyboards too much, they're like, "Take it to Keyboards." [Laughter]
Dave: Anyway, I get it.
Chris: I get it too. I get it too.
Dave: You can niche things. I mean we're talking--
Chris: You're not going to get a hand slap from me, but--
Dave: I think our things are all technology, right? There's always drama. It's always kind of a general. It's always kind of, "I want help." You know?
Dave: I think there's--
Chris: Do we have a Help? Oh, we do. That's good.
Dave: We do have a Help Desk in there, so if you're wanting to subscribe to the ShopTalk Patreon, you can join the Help Desk.
It's more like, "Hey, I'm working on this weird thing. Anyone know anything?" or whatever.
Dave: Which is kind of cool to do knowledge....
Chris: That's a good, like, 40% of my public chats, I think.
Chris: It's good conversation then. It's like, "This is on my mind, and I want to know what you know."
Dave: I had this situation today. I asked, and it was, you know when you have the blog post and the continue reading button? I think our site has it for the transcripts, right?
Chris: Yeah. I've never built a site that doesn't have that.
Dave: Right. The continue reading button. Then you blip it and then, boom, all the rest of the content comes out.
Chris: Oh, I see, like a single page. You don't change URLs. You stay on the same URL.
Dave: Yeah, yeah, the chop, I think, is what Jamal calls it.
Chris: The chop. Yeah.
Dave: I love the chop. Anyway, the chop, right, and I was like, "What's the expectation from a screen reader perspective? Are you supposed to move the focus?"
I tried it out in voiceover. You know every screen reader is different. But I clicked the button and voiceover skipped a paragraph.
Dave: It went to the bottom of where the previous focus was, if that makes sense.
Chris: Did it just heuristically guess?
Dave: I think it heuristically jumped a paragraph because it was like, okay, "I'm at the bottom of this button. I'm going to read the next pixel below this."
Chris: Damn. I'd like to see that code.
Dave: When I chopped in some content, the one-paragraph kind of took the place of the button, or whatever. Anyway, I just was like, am I supposed to move the focus? What am I supposed to do? That's always my thing with accessibility. Am I supposed to move something?
Eric Bailey chimed in and was like, "Yeah. Ideally, if you could move the focus, that's cool. You don't have to but, ideally, you could." I just noticed--
Chris: Aren't you scared? I'm dead scared of moving focus.
Dave: Well, and in a reactive context, too. You know, inside my Vue component, do I have--whatever--the next element? Like jQuery....
Chris: If it's like a P, don't you have to--? Yeah. Don't you have to put a tab index zero on it or something anyway?
Dave: Yeah, tab index negative one to let it get focus.
Chris: Negative one.
Dave: Then you're just like -- anyway. This is all--
Chris: Then do you remove that once they've left it because it normally doesn't have focus ability?
Dave: Yeah. It should just be a thing, right?
Dave: That's my thing. I'm just like, maybe you could do an anchor, like a named anchor or something, and just kind of like resume reading from here or something.
Chris: Yeah. You know what I always think of? This is not -- this is awesome, too, the chop. I'd be interested to see if you pull it off. Actually, you should make a Pen, probably.
Dave: I should. Yeah, maybe I'll make a Pen because it's mostly just like, "What's the expectation here? What am I supposed to do?"
Chris: Yeah. Maybe you should do gold, silver, bronze. [Laughter]
Dave: Yeah. [Laughter] And what's the level of effort?
Chris: It sounded like Eric said that it's not required. You don't have to do this. It's just like, if you do, you get a gold prize.
Dave: I think so. This is all -- you could also argue, you hid the content. It's not that important, or whatever. [Laughter] If it was really important, it would be visible, right? But the equal access requirement of accessibility means if you give it to one person, you should give it to everybody.
Chris: Okay. That makes sense.
Chris: So, this is a sponsor, but this isn't a sponsored spot, right? We've been working with axe. In fact, you just spoke at the axe conference, right?
Chris: You had fun?
Dave: axeCon. It was cool. Lots of people spoke. I mean, four tracks. There was a developer track.
Chris: Oh, man. It was free, wasn't it? There must have been a zillion people there.
Dave: Free dollars and, obviously, they're promoting their axe DevTools and S! stuff like that. But TLDR, those are great. You did a video on CodePen or CSS-Tricks.
Chris: Well, it took me a minute to even understand it.
Chris: Well, I understand it, but understand how they're making enough money to pay for tracks of speakers to speak at a conference, right? Axe DevTools is free.
They have a bunch of technology that they own. Here's what that can't -- I think they have some percentage, like 50+% of all accessibility problems get fixed by getting yourself "axe clean," as they say. [Laughter] Again, not a sponsored spot right now.
Anyway, what it can't test is like a modal. It can't be like, "Oh, I see this button probably opens a modal. I'll open it, then do all the modal tests, then close it, and then report it back to you." That can't be done. It needs more information to do that.
Their Pro thing that you pay for, which they earn money as a company to have, are these intelligent guided tests, and they're super good. The modal test is like, "Oh, there's a modal on this page? Great! Let me walk it through," like a wizard, you know?
Does it have a button to open it? Yes. Where is it? Point to it for me, please.
Okay. I’m going to try to click it now. Did it open? Yes. Okay, where is the modal? I'm going to try to find it.
Oh, I couldn't find it. Could you help me find it? Here, point to it. Oh, here it is.
All right. Let me run a focus trap test.
[Disappointment sound] You suck at focus traps. That's a problem.
Chris: Okay. I'll log that as an error. Now, does it close? Does it close with the Esc key (because it needs to)? Oh, it doesn't? that's a problem. Oh, it does. Good for you.
These kinds of things, and then this is why I'm talking about this. One of the things that it needs to do to be accessible is return the focus after it closed to what opened it.
Chris: That was a bug I found on CodePen. We aren't doing that. We do a number of things--
Dave: It's hard. It's hard.
Dave: Getting in that reactive context too, you have to store the previous state or whatever the act development was. Then you have to set act development to the previously act development.
Chris: Right, which is not impossible but there are edge cases. It's tricky. It's some technical debt that you have solve. You should probably write integration tests for it because you're going to break it at some point, for sure.
Dave: You're going to remember that? Yeah, well, and what's encouraging is Glenda Sims Goodwhich on the Twitter. She did a talk. She kind of gave state of the union. Deque kind of has compiled some data. She did it with somebody from Deque.
Deque is compiled data from all their sources and they think automated tests will catch 56% of all errors on your website, which is awesome because I thought it was more like 20%. Just running axe, the native automated thing, 56%.
Dave: If you do those guided tests, you're catching like 70%, 80%.
Chris: 70%, 80%, yeah.
Dave: 80% of your accessibility problems are caught.
Chris: Right. You know who can do those tests? Interns. Anybody.
Chris: Because they're not a specific knowledge thing. Anyway, that sounded like a sponsor spot, but it wasn't. Anyway, pretty cool.
Dave: Yeah. It's cool. It was really just an eye-opening thing. Anyway, it's getting better. We can do better. Let's go 56% better just by running Lighthouse.
Dave: Go for it. [Laughter]
[Banjo music starts]
Chris: This episode of ShopTalk Show is brought to you in part by the makers of axe DevTools. Literally, it's like a dev tools plugin you add to your browser so that when you open the native dev tools, there's an axe tab there, and you can run tests. It's really good.
I just did a video with Preedy from there on CSS-Tricks. Go watch that (if you haven't) because we really dig into all the possibilities there. It's pretty amazing.
They just launched axe DevTools Pro. You can try it for free for 14 days. Otherwise, try it 20% off with promo code SHOPTALK.
What it unlocks for you is it makes that plugin way better. It has these things in it called intelligent guided test, which you have to see. There are amazing accessibility things that you can test, but it has to walk you through some stuff because it has to ask you some questions and gain some insight to what's happening on your page, which is stuff that a purely automated test isn't going to catch but is super vital for the accessibility of a website.
You probably didn't set out to build an app that was purposefully inaccessible. None of us do that where we're like, "I'm going to make a crappy, inaccessible site." But you probably did.
I ran in it my site and I'm like, "Whoa! There are some problems here. Oops. I guess I better fix those."
You didn't set out for problems, but you still need to fix them. The axe DevTools Pro browser extension helps you find them, and you don't have to be an expert at all about accessibility. This is that helpful, so start catching and squashing these accessibility issues as you code.
Friends don't let friends ship inaccessible code. Follow the link in the show notes or just go find axe DevTools Pro and use the code SHOPTALK to get it.
[Banjo music stops]
Chris: All these things going through my head are related. Here's a plot twist. This week, everybody is talking about this because Josh Comeau--
Chris: Oh, forget it. You know him. Josh W something. He's got this wonderful blog. Every blog post is--
Dave: He's got the slug with a cute little dude.
Chris: Yeah. All the blog posts have interactive demos in it and stuff, which I attribute, by the way, to him writing in MDX.
Dave: Really?! Okay.
Chris: I do. I think he said as much too, but React components, you can just build them. I mean I know you can do this with Vue, too. Vue probably has some kind of version of this.
You have a lot of power in there. It gives you this nice little isolated place to build a little interactive thing. Then MDX is like a writing format that's like, basically, I'm just writing Markdown. But if I want to slip in a React component, I just do it. I just angle bracket it up and slip it in there.
I can imagine a writing format. He's like, "Oh, this is a blog post. Oh, this little area could really use a nice, interactive example. Where you or I might slip in a CodePen, he can kind of slip in a custom React component and have it look really seamless and cool. I guess you could do that with CodePen, too, if you just custom CSS and remove all the stuff. I think that's the thing.
He's got just a ton of engagement on that blog post, so he's like, "You know what? I'm going to turn this into a cord." I don't know what his internal dialog is. I'm just faking this. But he's like, "I'm going to turn this (my writings and teachings about CSS)," because, by the way, if you're reading one of his posts and he's like, "Oh, then do this in HTML," it's always in React. He never teaches you a CSS concept outside of the scope of React. He does sometimes, but I've mentioned that before that he's just like, "Why is this--? You're teaching this CSS thing. Why is there React involved at all? It seems irrelevant."
But I think that was smart of him because that speaks to this new generation of all React devs that are like, "Oh, yes. This relates to my everyday work," or whatever, because there are a ton of active React developers. I think he just speaks to that generation better than I do. Anyway--
Dave: That's my fault. I'm bringing you down. This is me, dude. I know.
Chris: Dinosaur bullshit. [Laughter]
Dave: Yeah, see.
Chris: He launches a course and makes half a million dollars in a day, or whatever. He launches the thing with a limited time only thing. He's way over $0.5 million, okay? Everybody is looking at this like, "What am I doing with my life? I want to be like Josh."
Josh is printing money with this thing. He's going to make more money than I will (in half a decade) in a week.
Okay, not fair. He's been working on this a long time. He's got a great voice. Not everybody can be rich. Just whatever. There are a million ways to rationalize this to yourself.
Then you combo that with, like, "Oh, my god. I'm speaking at a conference and this conference is taking up -- 80 to 100 hours, I've got logged into this talk. When I'm done with it, I'm going to bill this conference for what, a grand?
Chris: I'd like to bill them for $500,000, but I can't.
Dave: Mm-hmm. [Laughter] Try it.
Chris: Then you're like, "Am I making the right life choices? Why don't I sync those 100 hours into building a course like Josh did and maybe I'll make half a million dollars?" I think that kind of stuff is going through people's heads. The cost-benefit analysis of where I spend my time maybe should be repointed at the half a million-dollar target.
Dave: Yeah. Well, it definitely gives a new goalpost, I guess. Yeah, I'm with you. I'm putting together a talk right now. It's for An Event Apart. I love An Event Apart. It's a topic I'm actually working on. It's about Web components. I'm in Open UI. I'm in the Web Components Community Group. This is something I'm working on. This is my 2021 plan.
However, all my client work decided to happen during the deadline that the talk was due. I'm just like, "Ah! This is killing me!," because I have client work as well. That's what pays me the money, you know?
Chris: Right and has for a long time.
Chris: And will for as long as you want it to. That's another thing to factor in here. You don't get to strike gold with a course just because you want to.
Dave: Yeah. Yeah, yeah, your money horse, is what I like to call it. Your money horse might be something totally different. It's probably not a course - statistically speaking.
Dave: But I don't know. I've thought about doing courses. I've thought about, like, "Oh, maybe I could do my A11Y Nutrition Cards as a course, or something like that, for building accessibility components. I've thought about stuff like that.
Dave: I want to write a book on prototypes and I have it mostly written, but I just need to finish it, right? That's stuff I want to do. However, I just don't prioritize the time. Maybe that's because I'm doing conference talks and that's, like you were saying, 100 hours' worth of work suddenly that I have to pull out of thin air. Yeah, it definitely has me thinking. What are you applying your hand to and is it worth it? It's just kind of -- I don't know.
But that's my company. I'm applying my hand to that. But maybe I need to scale back some of the community group stuff because, as much as I like it and want it to happen, it's also extra work that I don't get paid for. You know what I mean?
Chris: Mm-hmm. Mm-hmm.
Chris: So, just to chase down this money thing a little bit, and to add some continuity to previous episodes, I told you, I'd say, I got roped in, but I offered my services. I didn't get roped in. I caused this.
To do some work for an acquaintance, some WordPress stuff because I was like, "Oh, this is a WordPress site. I could probably help modernize this." Turns out it hasn't been touched in, what, half a decade, it feels like.
Dave: Yeah. Of course.
Chris: I go in there, and I have a little fun upfront, like scrubbing it up and killing old plugins, and fixing up the terrible them and whatever. I'm like, "Eh, okay." Hands wiped. I was uniquely qualified to do that work - so fun.
But as all projects do, right, it goes on and on. It goes on a rollercoaster of, like, "Why did I agree to this again? This is ridiculous." Then I think of how it relates to all these levels of money that you can charge for things.
Let me pause that for a minute and say that I think there was some recent news. I don't have all the details on this. This was Automattic, you know, a long-time sponsor. Love WordPress and Automattic.
They're always being entrepreneurial and figuring out ways to make money. They started offering this, "We'll build a custom site for you," and they threw out a number. They said, "We're going to build $5,000 websites. That's the thing we're doing."
There was all kinds of news around that on, like, "Oh, you're just going to decimate this already kind of decimated market of freelancers in this target zone," kind of thing because why would they pick a random company over the mothership? You're going to take all this market.
I don't have any comments on that. I don't know if that's true or not or what. Everybody has got their opinion on that.
To me, I was looking at this work I was doing on this WordPress and said, "Is this a $5,000 job?" To me, I was like, "You're goddam right it is."
Chris: There is no way in random freelance town I would even touch this for less than that. Just to pick my dick money hat on for a minute, I'm a super experienced Web dude. I've been at this a long time.
Chris: I know lots of stuff about building websites. I'm very senior. I have lots of entrepreneurial experience in making websites happen. I'm at the top of my field as I'll ever be.
I don't really work on $5,000 websites. It's not that it's beneath me, like, whatever, like as a human being. It's just beneath where I am at in my career.
Yet, this website, if I were to tell the person I'm doing this website for that I was going to charge them $5,000 to do it, they'd laugh. They don't have $5,000 to work on their website. Are you fricken' kidding me?
Dave: That's not even a new one. That's to fix up the old one.
Chris: To fix up the old one. Imagine! Imagine the scales here. They're in the tens of dollars of budget.
Then there is this, like, what happened to the hundreds of dollars website? I don't think those exist anymore.
Chris: Yeah, sure. Honestly, they probably should be looking at that, but whatever. I'm not sure that's entirely true because at least I got to do something totally unique for them, so the final product will look unique.
Anyway, then there's the $5,000 market, $10,000, and $100,000, millions of dollars website. There are all these tiers of work, and it's funny how us in the Web industry intersect at lots of them. It's not like every second of my day is billed at $450 an hour - or whatever.
Dave: Right, right. Right, right. Yeah.
Chris: Some of it is billed at zero dollars an hour. Some of it is billed at $10 an hour.
Dave: Hello podcasting.
Dave: But yeah. Yeah. No, I remember I went to a WordCamp once in Austin and this guy got up and talked. He was like, "Here's my whole business. You pay me $5,000. You deliver me a design. I'll have you a WordPress in a week." I just was like, "Whoa! Wow! You're making $20,000 a month just doing WordPress?"
Dave: He probably got the Genesis theme all tuned up just [shooting].
Chris: Do you think you could knock out four of them a month?
Dave: I think I would get exhausted, but I think he could. But I was just like, that's a good model because I like the clear exchange of, like, you pay me this much money and you'll get this out of it. You know?
Dave: I do one thing and it's make WordPress.
Dave: I'm handing it over to a specialist. That said, not every project is as simple, and I don't know that that person is doing it anymore. Anyway, but I was impressed because I just thought, like, that's a cool way to price is you're just like, "You give us a design, and it's done in a week."
Chris: I'll do the design for a markup and it's actually probably even easier for me to do because I've already used that design a bunch of times, or something.
Dave: I already have a theme. I already have--
Chris: Yeah. Highly tempting, really, because then you're billing. If you stay real busy and get some upsells here and there, your annual income is in the 200s, probably.
Chris: Which, you know, where I'm at in life, when I feel all existential and stuff, I'm like, that's where I'd need to be should the rest of my life implode and I need to find a new career or something. I can't just flip burgers or whatever. I can't. I mean I can, but then the life has to change very dramatically. If I want to keep my normal life, I have to do something like that.
Dave: Yeah. No, and that's all comfort or whatever. You know. Everyone makes a little bit of a gamble on a mortgage or something, like, "Hey!" I don't know. Then again, sometimes I'm totally inspired by the people who are just kind of like, "You know, I'll just live on $20,000 a year here." This is all U.S. bucks, so if you're in a different place.
I know these sound like astronomical numbers, but a lot of people kind of figured out how to live on the minimum amount of money they need. Then they just take the time off. They just say, "I don't have to work. I have everything I need." That's really impressive. That's not how my brain works, but that's really impressive.
Chris: No. Yeah, it's fun to fantasize about, right? The cabin in the woods thing or the vagabond thing.
I was watching last night, the Francis McDormin's new movie Nomadland, or whatever, which is not uplifting but there are moments of it where you're like, "I don't hate this. I live in a van. I work at Amazon. They fire me after the Christmas season is over. Then I have to scramble for other work."
But least it's normal and honest. [Laughter] The weird stressors of my current life aren't there.
Chris: Those get to go away, and they're replaced by flat tires and stuff.
Dave: Yeah. Yeah, yeah. Yeah, the problems become different, right?
[Banjo music starts]
Chris: This episode of ShopTalk Show is brought to you by WooCommerce. You know WooCommerce. It's a plugin for your self-hosted WordPress site to bring it all the e-commerce ability you could ever need. It's a tremendously powerful but really well-done--I find easy to use--plugin to do e-commerce on your site.
I think of it as this plugin, and it is. It's a plugin. It's open-source. It's free. Then there's a bunch of plugins for it to extend its ability and do a bunch of other stuff.
It's such a WordPress-y plugin. Of course, it is. It comes from Automattic, the makers of WordPress.com, and all that. WooCommerce.com is powered by WooCommerce, too. All that, of course.
But did you know that it's not just plugins? They have a theme too. They call it WooCommerce Storefront. It's made by the WooCommerce people. It's a theme for your WordPress site that, if you pick it, WooCommerce is probably going to work on your theme. In fact, I've only ever used it on themes I've hand-built, without really 100% considering WooCommerce upfront. Then I slap WooCommerce on and it's usually mostly fine.
But where there is our little problems here and there, it's like styling stuff where I'm like, "Oh, the checkout table looks weird." It looks weird because it's my fault it looks weird because I have some weird strong table styles that just are making it weird instead of just letting the WordPress and WooCommerce styles kind of do its thing there.
Those are kind of problems that I can fix, right? I think it would be obnoxious for some people or they don't know how to fix it because it's a weird CSS specificity thing or something. Anyway, that's in the weeds.
The point is that the WooCommerce Storefront theme is built and maintained by WooCommerce. It's designed for WooCommerce, so the integration between all of WooCommerce, all of WooCommerce extensions, and the theme (WooCommerce Storefront) is what they call watertight. I love that. I would be very, very, very tempted--if I was going to make a primary store--to use Storefront because then it's just going to work. It's a theme, but then they have a whole bunch of child themes for it, so you still get the ability to pick the aesthetics of what kind of theme you want to go with but know that you're still using Storefront.
Very compelling to me. Thanks for the support.
[Banjo music stops]
Chris: Well, here's a related question that keeps us going here with the trajectory. This is from Tyler Williams from the Discord. This can be kind of a perennial topic.
Dave: [Techno voice] Discord!
Chris: Nailed it.
Who was just curious about the differences between me and you and our kind of day-to-day. We're both business owners. You own Paravel (some part of it) and I own CodePen (some part of it). And so, just was wondering what that's like.
I feel like he's asking -- because I don't think we can answer this in five minutes, but I feel like, through this show, people get little bits and pieces of what it's like but not maybe a true picture of what that world means. What is it like to be a business owner like we are?
Dave: Yeah. Your experience is maybe different. It is crushing grief for me. [Laughter] It comes with so much accounting. I don't think that is what you want to hear, but you pitch a job. You're like, "I don't know. We're just guessing how long this is going to take because everything is guessing." Maybe we have some experience, but we can ballpark it. We're guessing how long it's going to take. We're guessing.
You have to guess all this money in the budget and stuff, and then they can just turnaround and say, "No! We don't want to pay that." You're like, "Oh, okay. Cool. I guess we don't have money," or whatever. Clients, for us, pop in and out, so you're just kind of like, "Oh, well, maybe we don't get paid this month," or something like that.
We've been very fortunate at Paravel, like always had a paycheck and stuff like that. We have a little doomsday fund just in case things go bad, the well dries up, or whatever, and so it's been good. I think that's the thing, too. It just comes with all this accounting. You have to pitch work. You have to sell work, and you have to do the work. If you're just working at a company, working at Atlassian, you probably don't care about how many Jiras you sell. [Laughter] You just get to work on a product or work on thing.
Chris: Right. Your day is more split up, would you say? You do lots of different things in a way that maybe other people don't need to do?
Dave: Yeah. I do different things and then your taxes are kind of a deal because you have to come up with--
Dave: Hopefully, all your accounting is in there, but you have to write off every little thing, write off your square footage, write off--
Dave: All the stuff like how many miles you drove or whatever. It's just all this extra stuff that's kind of not -- there are ways to make it a little bit easier, but it's just so much extra stuff.
Chris: Nobody probably finds that particularly fun, right? There is a certain amount of stress, too. You just talked about taxes, but what about the idea that literally nobody is going to write you a check next month if you don't do some form of hustle and convince a company, through immense effort and shoulder-rubbing and whatever you do, to hire you again to do this X project. You have to convince them. Otherwise, you don't get any money.
Dave: Yeah, and budgets change. We had a client project. It was looking like it was going to happen. Then, as COVID hit, boom, the CEO was out. They are downsizing. Any sort of outsourcing is frozen. We already had some hours invested into researching and maybe bringing on a React expert and stuff like that just for this particular project. It just--voom--evaporated.
That stuff happens. That's business. I'm not going to get upset about that, but you have to -- when that happens, you're like, "Uh-oh." [Laughter] "Where does money? Where does money?"
Chris: [Laughter] To me, that falls into this bucket of a unique stressor in that the taxes are a unique stressor. This budget weirdness that are totally outside of your control is a stressor. Those are two of many more.
Chris: That are all on you that are probably not when you're just a dev at some shop. You have some stressors too, but maybe probably fairly much less of them and they're more predictable.
Dave: Yeah, and I think it produces some unique pressures in me and my brain in that the hours I work are directly correlated to the quality of life. There is a direct correlation there.
Chris: Yeah, "work too much" risk.
Dave: Yeah, and even if I was Mr. Time Tracking, I'm not because, truth be told, we give our clients extra time all the time. Maybe that's bad business practice, or whatever, because "happy clients, happy life," I guess. I don't know, but you want to help your clients succeed, in any case. Even as a person, you're kind of going for the case study, so you want to help people do a good job. You're just kind of like--
Chris: Working for the case study. I love it.
Dave: If you think about that.
Dave: That's not always it. That's not my goal in life, but wouldn't it be cool to have a story to have that we could maybe then sell more work or find a similar client that we already have worked in this domain.
Chris: Yeah. Right.
Dave: Then the nature of my client services means my job shifts. I'm working on a Nuxt project, an 11ty project. I just spent a month learning and making ChartJS work. Charts are a whole other corner of the Web.
Dave: You get into these skill pockets that are just wild. You have to be nimble and adapt quickly.
Chris: Yeah. Yeah. Okay. Fascinating. Would you say, at all to you--I think this is true for me--that while there is this heaping pile of additional kind of random, unpredictable stressors that, if I'm honest, there is also a removal of quite a few stressors that are problematic for me. One of them being, like, "I want to do X with this website, but the powers that be say no."
Chris: Or "That's not a good use of your time," or whatever. That's so -- that's a stressor for me where I'm like, "But I want to."
Chris: Now that I'm my own boss--or whatever. I steer the ship on whatever I'm doing--I never face that. I can take criticism and I can have debates about whether things are a good idea, but my hands are at the wheel.
Chris: That to me is a stress reliever. When I talk about, "I wonder what'll happen to me later in life. Is there a world in which eventually I go work for somebody else?" Miranda laughs at me. She's like, "You can't work for somebody else. Are you crazy?" [Laughter]
Dave: I mean, Netlify though.
Chris: Throw me offers, though. I'm not saying-- [Laughter]
Dave: No. Yeah, the master of your own destiny, I think is what we call it--just that ability--because I have worked for a lousy boss and it's not cool. It's not fun at all. This, like, "Hey, I can be my own boss," is pretty cool. I probably don't take advantage of it like smart freelancers do. I don't go skiing in the middle of the day.
Chris: We're old and have kids. Those days are over.
Dave: I sit down and work a lot. I don't meet people for coffee and stuff like that. I have, but then I'm thinking, "Oh, man. I've got to go back to work."
Dave: Anyway, that's--
Chris: Mm-hmm. I know. I wonder if our brains have -- no question the pandemic has cracked them a little bit, so we'll see what happens when we start to heal a little bit.
Chris: I hope I don't have those same kind of feelings because, really, I just worked through the damn thing, just straight.
Dave: Lots of work.
Chris: Somebody had a funny tweet. What did I see? "You ever just stare at your computer for an entire year?"
Chris: Yeah, I have.
Dave: I saw this meme. It was like, "Oh, the pandemic is shutting down everyone's hobbies and stuff." Then it was like, "Me and the boys on the Discord server." It's like a gamer's -- you know, we're just having high fives just because if your hobby is video games and your work is making websites, guess what. I was not impacted that much other than school closures.
Chris: Gamers be all like, "Let's go!" Then sit in their chair for six hours.
Dave: Yeah. Yeah.
Chris: It's hilarious.
Dave: I love, like on Twitch, there's hype trains and all this stuff.
Dave: It's like, "Hype!" They're just sitting there.
Dave: It's like--
Chris: You're in your gamer chair, you know.
Dave: In your gamer chair yelling, "Hype!"
Dave: It's just full crickets, you know.
Chris: I hope you're at least flexing your abdomen muscles, sir.
Chris: Yeah. [Laughter]
Dave: I started doing this thing called the one punch man workout I found on YouTube. [Laughter]
Chris: I watched that anime. That was great.
Dave: Yeah, okay.
Chris: The old bald guy who punched people out.
Dave: You know how one punch man got his powers, right?
Chris: No, I don't remember now.
Dave: He did 100 sit-ups, 100 pushups, 100 squats, and ran 10 kilometers every day, and that's how he got his power.
Chris: Oh, that's cool. He came by it honestly.
Dave: Well, he worked at it, and so there's a workout challenge where you do 100 squats, 100 sit-ups, 100 pushups.
Chris: Yeah. That's a little ambitious, especially the pushups.
Dave: I can't do the running. I can't do the running. I did the pushups and broke my arms, so I had to take a break on the pushups. But anyway, I was trying it for like a week, and now I don't do it. But I could get back on it.
Chris: Did you rock ten at a time, ten times a day, or did you just rock through it?
Dave: I just rocked through it. I can do it. I don't know. That stuff is not hard for me.
Dave: I got legs for days.
Dave: Big meat legs.
Chris: A hundred squats, big deal, and I can do pushups, too, but 100, I'd have to take a lot of breaks - a lot of breaks.
Dave: Yeah. Yeah, that's hard to do.
Chris: Oh, that's fun. Speaking of that, like, "Oh, I don't really get coffee anymore and my life is just work all the time," and kind of stuff, I can't predict the future here, but all press and science and stuff just pointing towards a wrapping up of the pandemic, say by summer or whatever. Meaning that it's not inconceivable that we're talking an October conference. Yeah, we're going to see it happen.
Chris: Especially if it's not in the U.S. Then there is even more chance because aren't we the slowest and worst? I don't know who is behind us, but I think Europe is a little ahead, right?
Dave: Well, no. Europe had a setback.
Chris: Yeah, with the new strain or whatever.
Chris: I don't know. It's not that I don't follow. What do you choose to follow on any given day?
Chris: You can go hyper-local with your following and that's almost more relevant to day-to-day.
Dave: I think one of their vaccines got recalled and so it's causing some issues.
Chris: Still, October conference, you're going to see one. I promise - almost.
Chris: Then some people are like, "Eh, maybe I'll skip the first ones. Maybe I'll be first in line for the new ones." Whatever, but it's going to be different in some way. Do you think it's just going to be people just flooding in? Do you think there's just hunger in this industry to get back to those things or not?
Dave: I don't know. I think so. I think humans crave connection and that's not a thing that will change. I do fantasize about the moment you're sitting in a big crowd of people and somebody sneezes. That moment will just be--
Dave: --like somebody started a fire. It's just going to not be good.
Chris: Yeah. They're going to rock the -- because we're getting used to the elbow thing, they'll try to fight it. It's not going to be like [loud sneeze]. That would be crazy if you heard that. I think people would hit the deck.
Dave: You see the particles just shooting everywhere.
Chris: [Laughter] Yeah, you can literally see the sneeze.
Dave: Five rows of people. [Laughter]
Dave: That's like, "Nope!"
Chris: Yeah. Even if you shouted, "I'm vaccinated," after you did it, that doesn't mean you're fricken' sneeze particles are vaccinated. They're still saying there's some chance that you can be a spreader. Maybe we'll have more science by then. But, yeah, that's going to be tricky, isn't it?
Dave: That's going to be a thing. I hope it's -- I don't know. I hope it's all less youth group-y, I guess, where everyone is hugging and--whatever--smooching on each other. We're just going to have drinks like adults from a distance away.
Dave: Hopefully, the bar music is turned down.
Chris: I wonder ... is the handshake even dead? Do we have...?
Dave: I think the handshake is dead. I think you fist bump or elbow.
Chris: That's fun. It's always a little awkward. Yeah. First bumps are cooler anyway.
Dave: Which we should do it anyway because conferences, how often do you get sick at a conference? Me, 100% of the time.
Chris: Yeah. [Laughter]
Dave: You know?
Dave: I get sick on the first day and then I'm shooting boogers on the second day.
Dave: Anyway. I don't know. I just hope it's more like -- I don't know. More--
Chris: My thing is how this relates to the stuff we've been talking about. We're so -- you take five minutes off work and you're like, "I should be working." That's not going to go away immediately, so the conference is like -- in your mind, are we all like, "How can I budget that time in? That seems extravagant."
Chris: Let alone the money.
Dave: I've been working straight for the last 365 days.
Dave: Now you're asking me to take five days off to hop on an airplane -- novel concept -- to go to a place where other people -- novel concept.
Dave: Then sit somewhere else that's not my house for three days. Good luck, chuck. No, I don't know. It'll be different. It's just going to be different.
Chris: Yeah, that's what I'm getting at. I just don't know how, yet, or what. Let's say there's 100 people at one, which is kind of smallish. That'd be a fairly local one. Then that's still a lot of people. It's usually inside. Do you rock the mask mandate in October, still? You probably have to. Otherwise, you're going to get in the situation where -- people will still be wearing masks in October, for sure.
Dave: Yeah, yeah.
Chris: Then do you just go half mask? No way. That's too weird.
Dave: Yeah. I don't know.
Chris: You probably have to just rock the mandate.
Dave: Rock the mandate.
Chris: I'll fricken' wear a mask. Of course, I do just like everybody else. But do I want to sit for eight hours in a conference hall with my mask on? No, not really. I don't like masks that much. [Laughter]
Dave: Right, and is it doing much when you're--?
Chris: When you're inside anyway.
Dave: You're elbows on top of somebody else's elbow. You know?
Chris: Yeah. then you can't do the, like, "Well, everybody gets a six-foot table to themselves." I don't think the economics of that work out.
Dave: I wonder, too, if there has been some progress moving online? I think we think of the pandemic as only a bad thing, and it is. It's a terrible thing. But if you're a working mom, you can attend a conference now. You don't have to put your kids in daycare for four days.
Dave: You know, a single mom or something like that. That's awesome. I think there have been some cool changes. Hopefully, we can keep that up, in addition to the in-person stuff.
Chris: Right, so online conferences will stick around, regardless.
Dave: I hope so.
Chris: Even if the world is declared 100% safe, which it probably never will be, but whatever, that there'll still be online conferences. There was before, too, but now they're dialed in a little better. The tech is better. The expectations are set.
Chris: We've just learned a lot from that.
Dave: Yeah. I hope they keep going and I hope all these event shops -- I'm thinking of, like, Beyond Tellerrand. I just had a DM from Marc Thiele--
Chris: Marc rules!
Dave: --who is just the best. The nicest person in Germany, Marc Thiele. Anyway, I really like that conference, and they've been doing some online meetup sort of stuff just to keep the community going because it's all about the community. I hope that places keep this stuff up. They've learned a lot of skills and invested a lot in these tech setups. I hope they keep that avenue open for more business, a conference=plus option.
Again, there are audiences who want to attend conferences but they're just either too busy or have a kid or sick parent or some situation where they can't go out just galivanting around the country. I hope that something sticks, but I also think about Twitch. How many people have just said, "You know what? I just get my dev stuff from Twitch now," or something? Has that changed? The number of dev channels, stream channels (over the last year) has gone from like 8 to 8,000. It's so many.
I don't know that anyone is quantifying it, but I had a post written last year or something, a draft that's like, "Hey, five dev channels you might want to check out." You know? [Laughter] It was literally the five I could find, almost. It's like ... and a few others.
Dave: But now it's like everyone has one.
Chris: I love it. My expectation is now that I can go find a video on anything.
Chris: Sometimes that's the mode I'm in, too, like if I'm just eating lunch but I'm like, "Oh, I've got to deal with this new tech after lunch." I'll probably watch a video on it, and it'll probably be somebody who I have absolutely no idea who they are, which, in the early days of Web stuff that we were born in [scoffs], I knew everybody.
Dave: I knew everybody.
Dave: [Laughter] People are sharing old South by Southwest (SXSW) photos from ten years ago.
Dave: I think you're in some of them.
Chris: Hell, yeah.
Dave: It's like literally everyone in the one, is in one bar.
Chris: Yeah. [Laughter]
Dave: [Laughter] It's just wild. Everyone I knew back then from the Internet was in this somewhere.
Chris: Right, and you write a blog post. You'll get eight comments from eight of ten of those people.
Chris: I mean not quite, but kind of like that. That's good. It's just bigger, and we felt the growing pains of that, too, in our industry in that now comment sections on tech posts are junk. They turned into just virtual crap. I've just watched it happen over a decade and a half now on CSS-Tricks. It went from, "Awesome. Positivity," to "Hype. Hype. Hype. Look at my blog, too."
Chris: To it petering out because we have Twitter now, to now I'm only going to write something if I'm mad.
Dave: Wow. Yeah. It's like a complaint form.
Chris: [Laughter] It kind of is. Yeah.
Dave: Yeah. That's too bad. I'll try to add some bursts of positivity in some articles I read.
Chris: Yeah. I try to do that, too, a little bit. Here, let's end with some tech.
Dave: You're going to get 100 comments from me in one day because I read RSS.
Chris: Yeah. You batch it up?
Dave: I'm just cruising through. I batch it up.
Chris: I love RSS. It's so good.
Marcus Brenda writes in. We're going to do one question at the end, just because.
Dave: Hey. We are a question-and-answer podcast.
Chris: That's right. "What's the added benefit for using a service like Netlify," which is, asterisks, a sometimes sponsor but this isn't a sponsored spot, "and a CMS over hosting on AWS with just like an S3 bucket and CloudFront? I've been asked about a photography portfolio site and, on a cursory glance, I can't see the upside."
Marcus is like, "Why don't I just throw that crap in an S3 bucket? Why would I use Netlify when I already know how to do that?"
Dave: It's not much different. Under the hood, yeah, you can build your own Netlify. Go ahead. Go for it.
I'm in a project right now doing AWS deploys instead of Netlify. The things I'm missing are automatic CI. You can configure a CI, sure, but Netlify is just on it. It's like, "Hey, I got the thing. I'm going to run some tests. I'm going to build your project. I'm going to spit it out. Boom."
Dave: Branch deploys, you don't get branch deploys for free with AWS or Azure DevOps. They're expensive.
Dave: And you have to spin them up and then spin them down, and stuff like that, because they cost money when they're live.
Chris: Whatever. You're working by yourself. You don't care, right? You just look at it locally.
Dave: Yeah, look at it locally. But if you're working with a team or a client (in my situation) and you were like, "Hey, look at this," or if you're doing a PR or somebody does a PR and it's like, "Hey, check out this whatever weird thing I did," it would be so helpful for me to just click through it in a PR just to make sure it works and check the console.
Dave: Feel it rather than pulling that branch down, spinning it up in my local development, wrecking my NPM, and then backing out or whatever.
Dave: For me, the branch deploys and the--
Chris: Run your build.
Dave: --built-a diin CI--
Dave: --is so good.
Chris: Right. That's two. We don't have to just go over the Netlify feature list because you can do that for yourself. But I almost look at it from the other perspective of, okay, how do you get your stuff to S3? Are you using some CLI or something? Do you write literal code to do it with like Rsync or something? I don't know. Or do you do it like FTP?
Everything I use lately that has FTP also has S3 built into it, too, which is just like a different thing.
Dave: Yeah. Yeah.
Chris: Whatever. I guess you could manually do it, but is that real DevOps? That seems weird. Then you have to know what you're doing, right? If you have a Jekyll site, you have to then run the build. Then know that there is a special folder with all that stuff in it. Then move the contents of that folder to the S3 bucket. Okay. Okay. Fine. Then make sure that the permissions in the bucket are okay.
But S3 is not really designed -- it can absolutely be a Web host. It's just needs to be configured with the right permissions to do so. Then it's not a CDN by default. That's why you're talking about putting CloudFront in front of it. That's fine, but that's nontrivial to set up.
Then what about all the cache busting and stuff? CloudFront is going to then CDN-ize your stuff, but then how do you bust the cache? Well, I guess you're going to have to make that part of your thing whereas, with Netlify, they just handle that for you. You just ship up a change to your CSS file. Then it's changed. They break the cache for you. You don't even have to think about it. You're definitely going to have to think about that with your fancy AWS bucket kind of thing.
Then pricing-wise, there is no free version of S3. You sign up for S3 and you pay for what you use. Whereas on Netlify, if it's a little baby site, it literally is free. It's just free-free.
Then you're like, also, whatever deploy thing you set up, you should probably set it up from your GitHub repository so that when you push to it, then it runs the deploy because otherwise you're just not version controlling at all, and that just doesn't feel right in today's world. You have to have it version controlled. Then are you writing your own, like a GitHub action or something, or do you use a CI service then to run your deploy script?
It's like, boy, you are fricken' neck-deep in technical debt now. You've got a lot going on there with your AWS S3 bucket thing. It's cool that you know how to do it, but even as an experienced developer you're like, "Pfft. Why would I ever bury myself in technical debt like that for more money?"
Dave: Yeah. Yeah.
Chris: When I can use this thing that we didn't even talk about their feature list, aside from branch deploys, which to me is cool but just one of many things they do. Of course, you would use Netlify. Duh.
They're not the only kids on the block. There are other things. But they've solved so many things that it's like going down a level would be a questionable move. [Laughter]
Dave: Yeah. No, it's like -- I feel like -- I remember talking to Matt Billman years ago (in Germany) about this.
Chris: Were you at a conference?
Dave: I was at a conference, Smashing.
Chris: Oh, there you go.
Dave: I remember we were in a bar, and we were going to steal Vitaly's car and drive to Munich for Octoberfest. It was not a good idea, but anyway, that's what was happening.
Dave: We were in a bar and, back then, Netlify only did Hugo. I just was like, "Ah! You know? Sorry, man. I use Jekyll. I don't have the heart to switch to Hugo."
But low and behold, they added Jekyll support - or any static site generator. I feel like Jekyll is very much like -- or, sorry. Netlify is very much like, "Hey, Dave. How do you build websites?"
I'm like, "Oh, I do static site generation a lot."
They're like, "Great. We'll solve all the problems you have and give you all your feature list." You know? It suits me, and I was sort of -- I'm not even an early adopter. I think I'm like number 20,000. I'm like their 20,000th customer or something.
Chris: Oh, yeah, they did that, didn't they, when they reached like a million devs or something.
Dave: Yeah, and so I'm not even in the top thousand or whatever, even though I was hanging out with Matt in a bar. [Laughter] It's cool, but I was not sold.
Slowly, I gave up all those Rsync little scripts I had and stuff like that because I just was like, "You know this is just going to take a load off my shoulders because all the DevOps is handled by them. For a small team like us, that's great - whenever we can use it."
Chris: Yeah. Sure. Yeah. Experienced devs use Netlify.
The question, though, really, Dave, is what does Vitaly drive?
Dave: I think it's a BMW.
Chris: I knew it!
Dave: But driving a BMW in Germany is like--
Chris: Like a Ford or whatever.
Dave: --driving a Honda Fit. It's just the same thing.
Chris: I was going to peg him as a Ferrari guy. I'm sure it's nice, whatever it is. He seems like a--
Dave: It wouldn't surprise me if Vitaly also has a second house in Milan, Italy, that has a Ferrari.
Chris: Third house.
Dave: Yeah, a third house because he lives wherever he wants, but anyway.
Dave: Vitaly is an international man of mysteries.
Chris: I'm a Toyota Tundra guy these days, myself.
Dave: Ooh, looking good. I'm a hand-me-down F150. [Laughter]
Chris: Fit right in.
Dave: It's an old farm truck.
Dave: Yeah. Yeah.
Chris: Had a cowboy hat in the backseat when he got it.
Dave: [Laughter] That's good. Well, all right. Hey, that reminds me. I paid off my Volvo. I'm feeling real good.
Chris: That's a good feeling.
Dave: I'm car payment rich now.
Chris: Was it a five-year?
Dave: Yeah, five-year, man. I paid it off. Ooh, buddy. Just free money now. I'm going to send my daughter to public school. Ooh, free money, man. That's a pay raise, so here we go.
Dave: Looking for it. Yeah. Looking forward to it. All right, let's wrap it up.
Thank you, dear listener, for downloading this in your podcatcher of choice. Be sure to star, heart, favorite it up. That's how people find out about the show.
Follow us on Twitter, @ShopTalkShow, for tons of tweets a month, yeah.
Hit us up on the Discord at patreon.com/shoptalkshow for the [techno voice] Discord.
Chris, do you got anything else you'd like to say?
Chris: We call that scat singing, but country style. All right. [Laughter] Nursery rhyme style. ShopTalkShow.com.