Search

450: ShopTalk Patreon Discord Fun, Office Updates, Notion Competitors, and Elastic Search

Download MP3

We're officially on Patreon now and we'd love to have you come join us in the ShopTalk Show Discord and help shape the future of the ShopTalk community. We also talk about Dave's office situation, Notion competition, Elastic Search, how should someone specialize to get a job, and breaking news on the pop up element.

Tags:

Guests

Chris Coyier and Dave Rupert in silly sunglasses and a sign that says Shawp Tawlkk Shough DOT COM

Chris Coyier and Dave Rupert

This episode is with just Chris & Dave, ShopTalk Show's hosts. Chris is the co-founder of CodePen and creator of CSS-Tricks, and Dave is lead developer at Paravel.

Time Jump Links

  • 00:59 Office and desk updates
  • 08:04 Proper Patreon
  • 16:24 Sponsor: Jetpack
  • 18:14 Elastic Search
  • 22:29 What should I specialize in development?
  • 28:48 Notion competitors
  • 35:38 Postlight podcast
  • 39:46 Sponsor: CodePen
  • 41:20 Breaking news on pop up element

Transcript

[Banjo music]

MANTRA: Just Build Websites!

Dave Rupert: Hey there, Shop-o-maniacs. You're listening to another episode of the ShopTalk Show. I'm Dave--this could be it, Chris. The last episode in the homeschool--Rupert. With me is Chris--comfortable in the booth--Coyier.

Chris Coyier: What are you going to do, though? Are you going to lock them out? Are you going to literally lock the door?

Dave: Just... Yeah.

Chris: [Laughter]

Dave: Like one of those metal shutters on a convenience store.

[Laughter]

Chris: No kids allowed!

Dave: No kids.

Chris: That's going to make them want to come in even more.

Dave: No graffiti. My shutters. I know it, but anyway.

Chris: Probably.

Dave: [Laughter] We'll see.

Chris: Down with dad!

Dave: Yeah. Yeah. [Laughter] This is oppression!

This is going to sound like terrible parenting. My wife and I were trying to figure out what size desk I could fit in the shed, right?

Chris: Oh... Interesting topic.

Dave: And so, we were out there.

Chris: Yes. Go ahead.

Dave: I got the masking tape, the blue tape, and I'm measuring stuff on the ground. I mapped it out. You know?

Chris: Yeah.

Dave: We're like, "Okay, that's too small. You should go bigger here on this dimension and bigger on that," because it's going to be an L-desk. I'm going for an L-desk.

Chris: You're going L? Super jelly.

Dave: Oh, big L.

Chris: Can you go L and standing?

Dave: Oh, heck yes.

Chris: Ah!

Dave: Thank you, upliftdesk.com. [Laughter]

Chris: Really?

Dave: But anyway, yeah, so there's an L standing desk, so I'm just super stoked on that. I'm trying to figure out how it goes.

But my kids -- I get a phone call. It's my wife's phone and she's standing next to me. It was my kids. They called us and were like, "Where are you?!" They're crying and it sounds terrible, right?

Chris: We're in the backyard.

Dave: We told them, "We're going in the backyard," but they didn't know that. They're so unused to us not being in the house that--

Chris: That's kind of good that they know how to call you.

Dave: It was actually a super success, and we said, "That was exactly the right thing to do."

Chris: Yeah.

Dave: "But we also told you we're in the backyard. We're still here. We didn't leave you. We don't do that."

Chris: Mm-hmm.

Dave: It was just -- anyway, to say this is going to change things is just an understatement because I don't even I realized how different it's going to be here once I leave the house.

Chris: Yeah.

Dave: Leaving the house, Chris. Imagine.

Chris: I am telling you, I love it, and it's safe because I'm the only person here. It will be for you too. Now, I've Googled this Uplift Desk, which is part of Autonomous, apparently. I can't believe you found it. When I moved into this office, my wife too was like, "There's more room now. You should go L. With the desk, you should go bigger, and I'll take your old desk." But I was looking because I wanted it to be a standing desk, you know.

Dave: Mm-hmm.

Chris: And bigger because I have the room for it now, and I struck out on both things. I was like, "I don't think they make something like this that's not, like, some Germany company that will take six months to arrive, kind of thing, or you've got to do it custom. But the basic one here is $799. That's awesome!

Dave: Mm-hmm, mm-hmm.

Chris: That's awesome!

Dave: Yeah. Mine is going to be more, but that's fine. I'm a fancy boy.

Chris: You're getting bigger.

Dave: But this is also, again, I built this thing. It's going to be like my 20-year office. I'm retiring in this office.

Chris: Right. Right. Right. I'm jealous, though. Get in touch with us, upliftdesk/autonomous. Dave and I will--

Dave: [Laughter] If you want to send me ergonomic products. I actually know the owner of Uplift.

Chris: Oh, you do?

Dave: Yeah. Yeah.

Chris: Oh, so now if they hooked you up, it would feel like you're stealing from your friend's business or whatever.

Dave: Yeah. Yeah, but that's fine. We'll figure it out. [Laughter]

Chris: I don't know him, so you can send me one.

Dave: Yeah. Send Chris a desk.

Chris: Mine is little. I like my desk. It's just little. It's a little cramped, let's just say.

Dave: You need an L-desk. One thing I have considered -- this was pre-pandemic, mind you. I was a trendsetter before the pandemic hit, right?

Chris: Long-time trendsetter, Dave Rupert.

00:04:22

Dave: I want to do a YouTube where I review products from a remote working perspective, like headphones, keyboards, ergonomic keyboards, standing desks. I review things purely out of "Is this useful for remote work?" standpoint. I don't know.

Chris: I know. You're entrepreneurial, Dave. You have so many ideas.

Dave: Too many ideas. Too little time. But wouldn't that be cool? I would watch it, is the reason. It's like, oh, does that--?

Chris: I bet you'd get stuff right and left if you had a channel that was known for reviewing stuff. I used to do this back a million years ago. I worked with my buddy Richard. He had this website called fresharrival.com. It was one thing a day. It was just like, "we're going to show you something cool once a day." It was a little WordPress site and he'd do a lot of them. That's a lot of writing; 365 posts a year.

Dave: Yes.

Chris: I knock it out easily now, but as a side project or something. Plus, you're like, what if you just don't know of anything cool right now?

But anyway, we had it for a little while and they really started rolling in. Companies would (all the time) try to send you something. Now, we were so small that it was like, "How about this USB key?"

Dave: Mm-hmm. Yeah.

Chris: Or this beanbag chair, or whatever. Sometimes, it was kind of cool, but they weren't sending us desks. That's for sure.

Dave: Right.

Chris: You know?

Dave: No, but that's--

Chris: You could. You're famous enough to get a free desk.

Dave: I've seen some YouTubers. I've seen some YouTubers get desks. They're like, "Oh, I got this desk sent." You know?

Chris: Yeah.

00:05:54

Dave: I'm not asking for that exactly. But the other day, I found this thing. I was watching some desk thing. They said, "Oh, check out this little widget that looks like a W and it goes under your wrist, like on the palm of your wrist."

Chris: Okay. Archery guard?

Dave: Almost like an archery guard, kind of, but it's just a little wrist rest. It was designed by an ergonomist to help prevent RSI wrist strain on your mouse hand. It goes under your mouse or your trackbed. I bought one and it's from Slovenia or something, so it's coming in the mail. I can't do a review yet, but that would be exactly the product that I'd be like, "From an ergonomic perspective, this was a benefit," or "This was kind of just a hack."

Chris: Yeah. Who knows. Maybe it'll make your wrist sweat and you'll hate it, and you should know that.

Dave: Right. Right. Anyway, this is just -- I don't know. That stuff, man, I feel like especially with people investing in their offices and stuff, I feel like it would be such a no-brainer to do.

Chris: Yeah, especially in the video format with somebody trustworthy. To some degree, that's what Amazon reviews are for. There should be thousands of them. The best reviews should rise to the top. This should be a solved problem but it's not because I don't trust anybody in those reviews and we know that, to some degree, they are gamed and they feel gamed. Go read a comment on Amazon and your trust alarm will just be blaring. You'll be like, that doesn't sound like a real person and it probably isn't.

Dave: It's a robot that somebody paid. But yeah, no, if you think of Unbox Therapy or MKBHD or somebody like that who review products, but specifically from a remote working angle. That would be so cool. I don't know. "This software, this is actually - whatever - a gamechanger. Slack is a gamechanger for my company," or whatever. I don't know.

Chris: Yeah. Okay. Okay. Dave, you're overflowing with ideas. I love it.

Dave: Hey, free ideas over here on the ShopTalk Show. Hey, speaking of ideas--

Chris: I know. Might be fun to hang out with. Yeah, what are you going to say?

00:08:07

Dave: We had an idea and we made it and we have it.

Chris: Yeah.

Dave: There's people in it.

Chris: We've been talking about it for years. What Dave is saying is we finally got around to doing a proper Patreon. Now, it's already--I'm going to call it--poppin' in there a little bit. The Patreon isn't popping. Patreon, you can sign up for it and get it. It has, at the moment, one single perk, which is that you get to join us on Discord. We did that so it's not just -- I don't know. It's not like we're so popular there'd be thousands of people in there, but it's people that really care about the show and talk about the show and want to just be part of the conversations around this show, so it's part of the Patreon. Now that we're in there and there are a good amount of people that are really engaged in there now, it's been super fun, I think.

Dave: Yeah.

Chris: Thank you, heavily, to everybody that's popped in there. There are great conversations happening and it's going to form the content of this show, to come degree. There'll be more perks involved, but we're going to use the Discord to figure those out.

We mentioned this in the last episode, but we're doing this now, closer to the top of the episode, so that you know about it. ShopTalk Show Patreon Discord, it's a thing.

Dave: Nah, it's fun. It's going. Even like today, people were just kind of like -- we kind of are on this modern JS track, right? That's sort of like our brain is kind of like, what's JS in 2021?

Chris: Mm-hmm.

Dave: People just kind of started throwing out cool hosting options and different stuff. It's already beneficial and I'm already like, "Ooh, I should check out that."

Chris: Yeah! Really new stuff.

Dave: A long discussion about Vite, that Vue kind of....

Chris: Is it "v?t"? How can it not be "v?t"?

Dave: "V?t"?

Chris: "V?t," "v?t," I don't know.

Dave: "V?t," "v?t."

Chris: Vue... Anyway, it's like Evan You's thing, who has been on the show, right?

Dave: Mm-hmm.

Chris: I'm excited about it. I've tangentially seen people play with it and seen tweets about it and stuff. It's never -- it's only ever mentioned with, like, "Holy crap! This thing is cool!" So, we'd love to get Evan on to talk about that. We should do that. That was just one thing.

00:10:20

Chris: Then somebody dropped this link to render.com. I was like, how have I never seen this? That's an epic domain name. It has a beautiful landing page, and it's hosting, which we've been talking about a ton lately. I got my blog post out about hosting, by the way. That just came out yesterday.

Dave: Ooh, nice.

Chris: Thank God there, but it doesn't mention Render because I had no idea about it. Of course, it doesn't mention lots of companies. I can't talk about every single company that has ever done Web hosting. But if I had known about this, I probably would have brought it up because it feels very like next-gen. It even feels to me like one leap past the stuff that already feels kind of next-gen.

Dave: Mm-hmm.

Chris: Firebase still feels pretty next-gen to me, but this feels like one step even further than that - to me. I have not spun it up yet, but it looks a little bit like you hook up your Git repo and it deploys for you and does all that kind of stuff.

But it's not just a static host. We can host your Rails if you want to. We'll host your database. We'll host your containers. We'll do cron jobs for you.

Dave: Cron jobs, yeah.

Chris: Yeah, it's very fancy.

Dave: We were looking at the database stuff. I'm in this market. I've been looking for a database and you're just like, "I just want it." You know? I paid more, I think. I think I have more gigabytes, technically, you know.

Chris: What are you talking about database? For something you're building or whatever?

Dave: Yeah, for something I'm building, so just like a Postgres somewhere in the cloud.

Chris: Fine. Yeah.

Dave: I started with Heroku. You can do a free plan there. But then it goes up, right?

Chris: Right.

Dave: Then I had a problem with Heroku. I went over to DigitalOcean. That was $15 or something. But I get 25 gigs of memory, SSD.

Chris: Yeah.

Dave: But this is $7. You only get one gig of SSD or something, but that's a lot.

Chris: Yeah.

Dave: That's a lot of rows. That's a lot of text in a database.

Chris: That's cool that you could move it, though. That's because you picked Postgres, right? If you picked Firebase, there is nowhere else to move it because it's proprietary to what they do, right?

Dave: Yeah.

Chris: So, that's cool.

Dave: So, you're just kind of stuck around. Yeah. Then I was talking about there's this new database sort of startup called Supabase.

Chris: Supabase.

Dave: Supabase.

Chris: This also has a very attractive homepage-looking thing.

Dave: Yeah. They're marketing themselves as a Firebase alternative, but it's a Postgres database, and I think it leverages Postgres's sort of JSON format.

Chris: Oh, meaning you could move to this too if you want.

Dave: We could move to this, too. They have a Rest, a little Node service client for Rest.

Chris: Yeah.

Dave: For their database and stuff. They have functions. They're getting storage. Authentication can go through them, too, for the database.

Chris: Oh, so it's a lot. Yeah, so Firebase alternative is kind of fair because--

Dave: And there's a UI to manage your Postgres too. If you just don't want to download whatever Postgres app or whatever, you have it here.

Chris: I think that's kind of nice. It is telling when an app is like, we're just command line only or something. That's like, uh... I don't know. You didn't even take the step to make any UI at all? Hmm...

Dave: Yeah. I'm full stack enough to care about the database. I do. That falls on me, right? I don't like doing this stuff. I want it to be easy. I'm really happy startups are kind of getting involved in this space, too.

Chris: Yeah.

Dave: It's just like, man, database is tedious. You mess it up; you've really messed it up.

00:14:00

Chris: It's interesting to look at these things, though. We mention Netlify a lot. They're a sponsor. They're the best.

Dave: Mm-hmm.

Chris: I love everything that Netlify does. I'm like, "Whoa! Good job!" But notably, they won't host a container for you. They have no data storage solution other than basic form stuff, but that's not the same as a Postgres database. It's kind of like you can always use Netlify, but then it's starting to be like you've got to look elsewhere for other things depending on what you're building. That's okay. That's what JAMstack is. It's static hosting plus services, which is whatever services you need, go look around. But it is notable that I think other hosts are starting to look at that and be like, "We can maybe attempt to replicate the basics here and then offer those additional things that you need all under one roof."

That was kind of the thrust of my post on hosting too is that using the things all together with something feels like a happy path. If you're going to use Supabase, Dave, you might choose to use Supabase auth, too, because it's all together then. You might use Supabase storage, too, because it's all right there then.

Dave: Yeah.

Chris: Piecing it all together feels like you're going to have less mastery over what's going on if you piece together too many disparate things.

Dave: Yeah, especially with backend stuff. I think this is why AWS is big. You know what I mean? AWS was like, "You can get a database, your routing, your load balancer, your hosting, your storage container, your server. All that is with us."

Chris: There's nothing they don't offer.

Dave: They do all that.

Chris: They have quantum computers you can rent. Have you seen these things, Dave? They're like from the future.

Dave: I would love to do that, but I have literally nothing I want to quantumly devise.

Chris: You don't want to write Redux in quantum computing?

Dave: Well--

Chris: [Laughter] No.

Dave: I guess, but I don't know. [Laughter] As I understand it, it's incredible what's going on. Particles are copying, emulating each other, or flipping on each other. Anyway--

Chris: Yeah, it's like infinite speed. I don't really get it either. I just think that's incredible that that's a random AWS thing. Of the thousands of services they offer, that's just one of them.

Dave: Play with physics. Just test the limits of physics right here.

Chris: [Laughter] Yeah.

00:16:25

[Banjo music starts]

Chris: This episode of ShopTalk Show is brought to you in part by Jetpack. You can just go to jetpack.com and check it out. It's a plugin for your self-hosted WordPress site, much like shoptalkshow.com is.

Perhaps my favorite WordPress plugin in that it does all these little things like it processes Markdown. We use that on shoptalkshow.com. It's nice that you don't have to pick some third-party flavored Markdown thing and just hope that's the right thing, over time. This is the Markdown that WordPress supports itself, so it's just going to work forever. That is feel-good stuff for me.

Those are little things. There's a bunch of those, just like flip it on and then your assets are CDN hosted. Hey! That's pretty nice.

But then there's these bigger things, too, like real-time backups. I needed it just the other day. That's a whole story, but it saved my bacon in a big way. Real-time backups for your entire site--the database, the assets, the comments, the themes, the everything--is kind of a big deal.

Security is huge, too. Flip it on and it's just protecting your sites from bad attacks. But also, if someone were to get in and actually change something, it's scanning the internals too to make sure that there's no problem. That's huge.

Maybe my favorite one, just to mention one more, is that it can be just like a flip on replacement for search, which is a big deal because the search goes from default WordPress search, which is kind of bad, to excellent, to this Elasticsearch, cloud-powered, super-intelligent, great UI, great UX search on your WordPress site. It's great.

Some of these things are a la carte, too. If you're like, "I don't care about the backups because I have something else that does that," fine. Then you can just by search. Kind of sweet. There are lots of a la carte options, so I'll leave it to you to check that out and price it out for yourselves.

Thanks for the support.

[Banjo music stops]

00:18:33

Chris: Here's the story about that. Elasticsearch, you know them, right?

Dave: Mm-hmm.

Chris: They're kind of an open-source, great product. People use it for search, but it's kind of like -- I don't know. I don't mean to sound like an expert here but, to me, it's like just a database. You just put stuff in and get stuff out, like anything else.

Dave: It kind of crawls. It indexes and it's a fast search.

Chris: Yeah, fast search. Right. It's just open source. You can just put it on anything. You could buy DigitalOcean or whatever, put Elasticsearch on it, and it's like Redis or something. I think so. I think I have that right.

But Elastic is a company, too. They have really good hosted Elasticsearch that has bells and whistles on it, too, right?

Dave: Mm-hmm.

Chris: But I think there was a little kerfuffle hot drama kind of stuff in that Amazon is like, "We'll host your Elasticsearch. We'll make a thing. We'll make AWS Elasticsearch."

Dave: Yeah. Yeah.

Chris: I think the kerfuffle was, like, "No. We're a company that made that open-source project and now you're just going to use our name to make a super commercial product?"

Dave: But I think the Tweet, too, from Amazon was like, "We're partnering with Elasticsearch," or whatever. You know? Like marketing, and they're like, "Uh... You never emailed us about this partnership you're proposing," or something.

Chris: Yeah, like, "You downloaded our stuff and used it."

Dave: You're selling our product, so--

Chris: Which I get from their perspective, right? I get that that's a bad thing and forget that. I'm like, Elasticsearch is cool. They're a cool company. We should be on the little guy's side here. But at the same time, because AWS offers so much stuff and it's so nice to have everything happy path and involved--you're already using other AWS stuff--why not put your Elasticsearch right alongside all your other AWS stuff? That feels almost more happy path, I hate to say.

Dave: Well, yeah. I'm sure they've paving a cow path there. Somebody is -- a lot of people are spinning up their own Elasticsearch server on some EC2 or something and they were just like, "Hey, we could automate that."

Chris: "Hey, we'll help."

Dave: Or make that easier.

Chris: Yeah. Nah, I'm just recanting my coworker's D&L ... going down this road for a while because they're like, "Hey, we need to rewrite some of our search stuff," and yadda-yadda. But we're all AWS at CodePen.

Dave: Mm-hmm.

Chris: What we wanted to have was -- you know search is tricky, right, Dave? Imagine you have a search index for all of CodePen. Fine, but what do you? We don't have all of CodePen on our local machines because you can't dev against a terabyte database, or whatever.

Dave: Right.

Chris: That's not practical. But then how does search work then? It's almost like you need another index just for dev, and you need another index just for staging. You've got to kind of solve that whole developer story. That's why DevOps gets complicated, in a way.

Dave: Mm-hmm.

Chris: You have to have stories for all this stuff. So, they spun up, I think, AWS Elasticsearch on AWS just for staging, just as like, why pay for yet another index?

Dave: Okay.

Chris: It's a much smaller index.

Dave: Right.

Chris: It's like a little baby one. I think found the experience like, "Oh, that's kind of good."

Dave: [Laughter]

Chris: Our dev is a local thing. Our staging is AWS. Our production is Elasticsearch hosted from the company. It's not that it's a mess. I don't think it's a mess, but it's also -- [laughter] which didn't we maybe pick one?

Dave: Right. You've got to -- yeah, it's like you have four clones kind of each pretending to be the same thing, sort of. Yeah.

Chris: Anyway, happy path - happy path. Thanks to our Discord people for dropping those links in and having conversations with us about new stuff. That's going to be happening more and more. Hop in there, people, please.

Let's do a question before we circle back to more random crap that I'm going to make you talk about.

00:22:30

Dave: Oh, making me talk. All right. Here we go. A question from Marvin M. writes in, "A few years ago, I sold a small Sass app that I built from scratch. I ran it for five--" Congratulations. Yeah. "I ran it for five years. It wasn't a life-changing amount of money, so I still need to pay bills. I took a couple of years off after--"

Chris: Not lifechanging? You took years off? That's pretty life-changing, I'd say.

Dave: I'm impressed. "After selling it in the last year, and I've been doing freelance WooCommerce work for a company. This has been a decent return to work for me, but it's not an area of Web development I'd like to get stuck in. As a "founder" of a Sass app, I became a generalist, so to improve my full-time developer prospects, it feels like I need to specialize in one area of development, but I found it difficult to choose one or two areas to focus on. Do you have any tips on specializing or building expertise in one area?"

Chris: Hmm. That seems weird to me. It seems like exactly the opposite. I was like, I'm also a generalist, Marvin. I mean kind of.

I'd say I'm pretty good at CSS and stuff, but that doesn't -- I don't know. Alex yells at me for this sometimes, but it's like I don't feel like my CSS skills are particularly entrepreneurial powering.

Dave: [Laughter]

Chris: I can't start a business on CSS. I hate to say that, CSS people. It's important. It's an amazing role, but I'm just, nah, I can't do as much entrepreneurially with just that, so I need other skills.

My other skills are T-shaped. I know a bunch of stuff about a bunch of stuff, and I find that's a strength of mine. That makes me stronger, in a way, to me. I don't know.

Dave: Yeah. You called into the two generalists' show and asked about specializing.

[Laughter]

Dave: Which is fine. There are arguments for specializing. I would recommend -- not to give you homework -- this book called Rang by David Epstein. It's about the power of being a generalist. There are a lot of situations where generalists just win, like you're able to build a Sass app and sell it and take a couple years off. That's an amazing skill as a generalist.

[Laughter]

Chris: Yeah.

Dave: Unfortunately, I would say I don't think, in the job market, being a generalist is valued because it's like, "We want a React developer with 18 years React experience."

Chris: Right.

Dave: Then it becomes, "Man, I should have specialized in React," rather than knowing WordPress, knowing WooCommerce, knowing how to build this weird Rails app or whatever, and how to start a company. I mean build a company and business, taxes, and stuff. Those are skills too.

I mean if you want to pick, follow your heart. Chase your bliss. What are you interested in? Go for that. Just do that and maybe ruthlessly, only accept that kind of work, because I think there's room.

We had a React project come across the Paravel desk from one of our old clients. We were like, "Well, you know, we can do React. We don't do React." I don't know. We just don't, right? The projects we have are in Nuxt because I just prefer it.

We spoke with Brad Westfall, who is a React specialist. He does that. He worked at a company that did React training. Unfortunately, it just didn't work out. The pandemic hit and stuff like that.

Chris: Dave, your three amigos thing is falling fast here. You're like, "Sure, we'll farm that out for you and bill it." Yeah?

Dave: We have federated partnerships. [Laughter]

Chris: Okay.

Dave: Yeah, yeah, yeah. No, it's -- I like the federated model because you can kind of make it as big as you need to and scale and fit to different clients and stuff like that. But it was mostly just like, what we want for our clients is to have a really good version of the website, and it was like I found a specialist who can make a really good version of that website. Yeah, that seemed very cool.

Chris: Yeah, that is kind of cool. Marvin, if you absolutely want to specialize in something, it sounds like you're doing WooCommerce work and don't like it. That's too bad. If you liked it, I would say do that. There is a ton of that work. WordPress is huge and e-commerce is huge and WooCommerce is the biggest e-commerce thing there is. It's WordPress plus WooCommerce, so it feels very natural, the WordPress work. I would think that'd be a great place to specialize in.

But if you're like, "Nah, I'd rather do something else," then do you like JavaScript? If you do, you should do JavaScript because that's just as big or bigger.

00:27:12

Dave: Yeah. Well, shoot. I mean if you have WooCommerce experience and you don't like it, again, every company had to figure out how to do online business in the last year. Every small mom and pop restaurant had to figure out how to take an order and put a menu online, or whatever. It's good business right now.

Taking that a step further, Shopify. If you can build a Shopify -- my brother kind of does Shopify stuff. He's more of a generalist, but you can be a Shopify specialist, but you still are doing tens of jobs in the Shopify arena.

Chris: Yeah. Yeah.

Dave: You're templating. You're designing. You're theme customizing. There are tons of different things, but you can be a specialist in that.

Shopify just had this thing you can buy. They announced they're partnering with Instagram. You can buy straight from Instagram via Shopify.

Chris: Oh, fancy.

Dave: A lot of people are going to ask for that. [Laughter] Good luck.

Chris: Oh, my gosh. I feel like half of all my purchases are Instagram. I'm so terrible.

Dave: Well, yeah.

Chris: I'm very susceptible to those.

Dave: But what if you don't even go to a store? You just click the thing?

Chris: Yeah. I know. I know.

Dave: And it says, "Charge to your credit card," and you're like, "Okay."

Chris: Yeah, and they already know all the stuff about you. I feel like I've done that before, but it's more often than not, I struggle through the menus, find some way to bookmark it, and then that gives me a little buffer between seeing it and buying it. Then I buy it later from a desktop computer, which means they probably didn't even get the affiliate payment or whatever.

Dave: Oh, yeah. Yeah.

Chris: Sorry, but I buy how I buy, people.

Dave: Yeah. Well, hopefully, that helped. Again, you called into the generalists' show to talk about specialization. [Laughter]

00:29:02

Chris: You know Notion, right?

Dave: Yeah. Yeah.

Chris: It's a great product. We're looking at a Notion document right now because it's a great, collaborative document tool. It's great for sharing. Great for teams. I use it for all kinds of stuff. It's been a sponsor in the past. I would think their business model is pretty good.

Dave: Mm-hmm.

Chris: Their free product is pretty limited, so they probably have lots of people upgrading and they charge by the head for teams. It's super collaborative. You invite people. Whatever. I have no sense of their financials or anything, but I assume they're doing pretty darn good and growing - just as a look from the outside.

Dave: They got my $8 a month. You know what I'm saying?

Chris: Yeah, and that's not a cheap product, especially monthly.

Dave: Well, and it's a gateway to get your company because you do it for your personal, and then you're like, "I'm going to get my whole company on this." [Laughter]

Chris: Yeah and, at that point, literally, who cares what it costs. You know?

Dave: Right.

Chris: If I have 100 heads in there and people are all doing documents and collaborating with each other, I'm like [raspberry] fine. Please, charge me twice as much. I don't care. Really, because it's that important of a business tool, in a way. The fact that it replaces other tools is part of that story, too. Anyway, a company does that well, I feel like you've got people nipping at your heels at a little bit, people inspired by that, "I can do a better job," and all that kind of thing.

One little minor knock against Notion is just the speed of it. It feels a little slow sometimes, even on my incredibly fast Internet. I feel like people with slower Internet probably feel it a bunch more. If they had some release next month (or week or something) that said, "Hey, Notion is ten times faster now," that would kill any feature they could possibly create. Speed is clutch.

Dave: Mm-hmm.

00:30:42

Chris: I say all that to say that I just heard of this new thing called Craft. The URL is craft.do, which is a pretty cool URL. I'm not nearly an expert in it. I'm not looking to replace Notion, necessarily. I think Notion is much more mature and stuff. But it's a Mac-native app. It feels very snappy. It feels like there is some extra polish, some things that it does better than Notion, the things it does.

Dave: Mm-hmm.

Chris: I'm interested, so I just bring it up on the show because that's the kind of thing we end up chatting about in the Discord and stuff.

Dave: In the ecosystem of Notion likes--

Chris: Yeah.

Dave: --there's this thing called typedream.co, right?

Chris: Okay.

Dave: It's a no-code website builder. That doesn't exactly appeal to me, right?

Chris: Oh, this does look like Notion.

Dave: Yeah, so it basically takes that Notion slash command feature--

Chris: Yeah.

Dave: --where it then pops down, like, "What kind of block do you want to build?" Then you just, from a drop-down menu say, "Oh, I want the hero block," or the navigation block.

Chris: Yeah.

Dave: The two images next to each other block. Then you can slide the column to change the column size or add the button.

Chris: Right. Right.

Dave: Again, this is -- no-code is not exactly Dave Rupert's life-choice, but what's cool about it is this -- I don't know.

Chris: For the ... site, that Notion style crushes it. You need a job posting? Doing it in Notion is a genius idea, I think.

Dave: Right, and so it's just kind of like it's very clever from a content authorship, yeah, like the marketing site sort of stuff.

Chris: Yeah. It is very clever.

Dave: I hadn't seen the -- I've seen WYSIWYG. There are a lot of those no-code Web flow. These are all good tools. I just want to say they're good.

Chris: Yeah.

Dave: Even getting into Squarespace or anything, they kind of do visual tools, but what I hadn't seen is that slash command block kind of thing.

Chris: No, and here's another aspect to it, I think, that's relevant here that I feel like Notion a little bit pioneered is the can't screw it up aesthetics. You can't just do anything in here. You're limited in what you can do. Whatever you pick looks pretty clean.

Dave: Yeah. You have to work really hard to get a serif font on--

[Laughter]

Dave: You have to work very, very hard, but you can do it, but it's very hard. No, this is like -- yeah, I just -- when I see no-code, honestly, I've done them. I've built them for clients and delivered them. It felt successful, but then it was just kind of like a lot of work to maintain. It was like, "I want to change this and this." We're like, "Ooh, boy. Um... Let's go through and figure it out."

Chris: Yeah, the limits are hard limits, in a way, right?

Dave: Yeah. Yeah, but the slash command thing sounds cool because I know how to work a Notion document, you know, like drag it around.

Chris: Yeah.

Dave: Just slash, get my thing. That's just cool. I'm kind of curious to see where this goes. Again, I don't think old Dave Rupert is just going to sign up for this or flip my clients to this, exactly, but it's compelling.

Chris: It is, especially for simple stuff. My gosh, I would do a brochure site on this in a heartbeat. But it does feel like Notion could swallow it up, right? Why wouldn't Notion just say, "Oh, take this Notion page and set an A record towards it." You probably already can do that.

Dave: Right. Send whatever. Here's your--

Chris: [Indiscernible]

Dave: Here's your subdomain. Yeah.

Chris: Yeah.

Dave: No, I mean that's--

Chris: But that's got to be productized properly. It's one thing that you can. I've learned this too late in my entrepreneurial career. It's one thing to make something possible and it's a totally different thing to productize it properly, to explain it to people in a way that's like, not only can you do this but this is the happy path. This is what we want you to do. This is what we're here to help you do. This is how we're going to document it.

Dave: Yeah. No, that's the whole other side of the work, right? It's just like, okay, cool. You built the thing technologically. Do people even get it? You know? Can they use it? Do they use it? Is it compelling? Does it save them actual time or is it just a nuisance?

Chris: Right. Thanks for showing me this. This is cool.

Dave: It's just kind of like I hadn't seen the Notion-y dropdown thing to build a website and I thought that was cool. Anyway, cool futures ahead.

00:35:37

Chris: Blocks for life. In fact, I listened to this. I think it was on the Postlight Podcast. You know Postlight? They're good people.

Dave: Yeah. Yeah.

Chris: Paul Ford and Gina Trapani and stuff. They have a podcast that's quite good, I think, because those people are just powerhouses of good writing.

Dave: Really smart, yeah.

Chris: Really smart.

Dave: Yeah.

Chris: Yeah. Someday, I'll grow up to be Paul Ford.

Dave: Can I time out? [Laughter]

Chris: Yeah.

Dave: Paul Ford, the other day, he goes -- it's the impeachment trial, not to get political here. One of the persons, Trump's lawyer was like, "You know, I listened to this album (when I was a kid) about great American heroes, blah-blah-blah," and he's like, "I never thought this would come into play, but I know this album." [Laughter] Then he releases. He's like, "Here's this archive.org link of all this historical American poetry, music, and stuff like that. I never thought this would ever be relevant ever in my whole life, but here it is." Anyway--

Chris: Yeah.

Dave: His knowledge--

Chris: Follow @ftrain on Twitter. You won't regret it.

Dave: His knowledge is just absurd.

Chris: Super deep. Yeah.

Dave: Yeah, it just goes in weird rabbit holes and he just remembers it. That's the other part.

Chris: Yeah. Love Paul Ford and Postlight and everybody involved there. It's a tremendously good podcast, and I like how unashamed it is at being like, "This is a podcast that's content marketing for our agency, but you're still going to love it, so suck it down, people."

Dave: [Laughter]

Chris: The show, they had one with Matt Mullenweg, though.

Dave: Okay.

Chris: I'm a Matt superfan, too. I think Matt is a good, nice guy with his head screwed on straight and has done amazing work with WordPress, et cetera. Right? A fan.

Anyway, them together ended up being a really good interview, I think. Matt was kind of saying Gutenberg is - whatever. We're past the controversial stuff, so I'm going to skip that because I've stopped caring about that. I mean I care about accessibility, but the nuanced opinions, I'm over it.

It's open-source in itself in that Gutenberg isn't just this thing inside of WordPress. It kind of is, but there's a Drupal add-on for it now. He's like, "Good! Let's work on this together as the editor thing that can be anywhere." I feel like Dropbox Paper could benefit from just using Gutenberg instead of whatever their thing is.

Dave: Mm-hmm.

Chris: I think that Notion--they're not going to probably--adopt that kind of thing. Anywhere you need to author content, having it be the canonical block builder kind of thing is a pretty cool idea.

Dave: Mm-hmm.

Chris: Maybe it should have some competition, too. Fine, but the idea that it's open-source in this way that it's not just this WordPress thing; it's this any editor thing that anybody can use and should use. It works on mobile apps, too. That's notable. That's a very different thing that Gutenberg works the same way in a native environment as it does on the Web.

Dave: What's stopping Gutenberg from having slash commands? You know what I mean?

Chris: Oh, they totally do.

Dave: Oh, they do already?

Chris: Yeah.

Dave: So, I can just go into Gutenberg and use slash whatever - gallery?

Chris: Column. Boom. You got them.

Dave: [Loud gasp]

Chris: Yeah. It's great.

Dave: Well, well, well. Well, well, well.

Chris: Yeah, it's amazing. I think different things do this different ways. Whatever. That's an absurd thing to say. It was wishy-washy, but you know what I mean. The way that Dropbox Paper works has some nicety to it. I think Gutenberg feels a little clunky occasionally. It doesn't feel so good.

For example, one little thing bothers me. I do the slash command to search for something and it has a little menu of the things that I could pick because they're fuzzy matches for the kind of block. I feel like I should be able to press the down arrow key (and arrows) and select one, but you just can't for some reason. That's the tiniest little thing, but that's the kind of thing that probably will need to evolve and get better and need to get faster and smoother and stuff. But it's pretty dang good and it's open-source.

Dave: You know what they could maybe use for that?

Chris: Hmm?

Dave: Are you ready?

00:39:48

Chris: Before we find out what Dave is going to suggest for Gutenberg, I want to remind you that CodePen has pro plans, CodePen being the company that I'm the co-founder of. We don't get a chance to shout it out enough on this show, perhaps, but if you go to codepen.io/pro, it'll take you to a page that explains all the stuff that you get if you're just an individual developer and decide to go pro.

Some of the big ones are privacy. If you're building a Pen, you can flip it to private or turn on a setting that everything you save is just private by default - if that's just how you want to role.

Something to know about that is, let's say you're working on something. You don't intend for it to be private forever, but just for some time. The moment then that you flip it back to public, that's the moment that it enters the streams of socialness on CodePen. It's not based on the creation date. It's the first moment that it went public. That's kind of a nice thing to know that even if you work on something for a month or something, it's that first flip to public that gets it into those social feeds.

Then there is other stuff like uploading files. We have a very fancy asset hosting system that not just hosts your files, but let's say they're images. You can resize them on the fly and serve them in the automatically correct format for the browser and crop it and reupload it. It has all kinds of abilities for dealing with that, not to mention that they are CDN hosted and super-fast and all that.

That's just two of the features of CodePen PRO. We'd love your support. It's also mandatory, so sign up right now.

[Banjo music stops]

00:41:41

Dave: Are you ready?

Chris: JavaScript.

Dave: JavaScript.

Chris: [Laughter]

Dave: Brand new element on the Edge Explainers blog. Breaking news here. The pop-up element, have you heard about this one?

Chris: No. No.

Dave: [Laughter] I'm really kind of surprising you. Anyway, there's an element, Edge Explainers. I want to get this right, but--

Chris: I'm thinking details.

Dave: Yeah, so it's almost like when you right-click something and a thing shows up, or you click a menu and something shows up.

Chris: Oh, the context menu.

Dave: Yeah, kind of, but it's not even in context. It's kind of like your ability to create some kind of floating thing, some sort of almost like a dialog, almost like a select dropdown, but something that is anchored to an element, if that makes sense.

Chris: Hmm.

Dave: It's like a modal that is anchored to an element. You could think tooltips and stuff like that. Tooltips are kind of bad for accessibility, in general, because they're supposed to....

Chris: Yeah, I also think of the title attribute and how little you can do with it.

Dave: Right.

Chris: This is sort of--

Dave: Right. If you're doing tooltips, just use the title attribute, more or less. But anyway, this is kind of like a lower -- I don't know -- a low-level element, but sort of like this thing you want to do like dropdown menus. Here would be a great way to do it as a pop-up. Just similar to ARIA has a pop-up sort of thing.

Anyway, there's an explainer over on Edge. It's not out. It's going through open UI and then it's got to go through W3C. Then there's going to be....

Chris: Yeah but talk to me about high level here. Is it HTML or is it JavaScript?

Dave: HTML.

Chris: No way.

Dave: You just type open bracket pop-up and then you type your junk in there. Then you have to do a little bit of -- they may come up with some convenience things.

Chris: Oh, it looks like you hook it up in HTML, but you can't open and close it without JavaScript.

Dave: Right. Right, and that's what they're saying right now. But maybe there's a way to -- just from an element perspective, it has to do this but maybe the trigger can get some sort of initialized by or something like that.

Chris: Yeah, it seems it's one line to open it, so it feels like that really should make its way into a details-like kind of thing.

Dave: Hopefully, yeah.

Chris: This is pretty valuable.

Dave: But then there are also different properties for focus, like auto-focus or delegate focus.

Chris: Mm-hmm.

Dave: When it opens, go focus on this thing, or something. You know?

Chris: Yeah, which should be nice. It looks like they're talking about focus trapping in there, too. If this is what it takes to push along inert, I'll take it.

Dave: Yeah. Yeah, exactly. So, anyway, again, it's not out. This is like, "Hey, this is something we're thinking about enough that we wrote a thing, posted it, and made it public."

Chris: Yeah.

Dave: Keep an eye on it.

00:44:39

Chris: Hey, speaking of platform breaking news, I heard from Adam Argyle today. You know Adam? Good CSS dude who works for Google.

Dave: Yep. Yep.

Chris: Pushes CSS along, too, when he can. He published a thing, which I think he got some internal thumbs on for colon stuck, as a pseudo selector.

Dave: Ooh!

Chris: You know stuck? This position sticky.

Dave: Yeah.

Chris: It's like position sticky is great, but how do you know if it's actively being sticky right now or isn't?

Dave: Mm-hmm.

Chris: It was one of those container query-esque things. We can't do this because it opens up cyclical things. That's one of the knocks against it. Okay, if it's stuck, then you change some property. Then it's not stuck anymore.

Dave: Yeah.

Chris: Then those properties change and then it is stuck. Then, like--

Dave: Position sticky top zero.

Chris: Yeah.

Dave: Then colon stuck top ten.

Chris: Right. Right.

Dave: It would just freak out, right?

Chris: Yeah. Yeah, I mean I think it depends on the property because if you move -- top might actually do it, but that's position relative.

Dave: It changes the position, but anyway.

Chris: Eh, yeah, it depends on what it is.

Dave: Or margin top.

Chris: Margin would almost certainly do it. But I think the caveat that he's like, "Well, what if then the container knew if the child within it was stuck? You could go parent colon stuck and then space and then the child that you're expecting to see is stuck or not."

I think that was the magic juju that got the thumbs up all around. It was like, "Okay, well, if it's the parent that knows, not the child, then somehow that stops some infinite loop stuff." I can't pretend to understand all that stuff, but because it got so many thumbs up, it seems like we might actually get a stuck selector.

Dave: Yeah. Yeah, I'm looking at it now. Stuck and snap, so scroll snap points.

Chris: Are you actively snapped?

Dave: Yeah.

Chris: That would be rad, too.

Dave: Because when you just would -- I don't know. You could highlight something. That would be so helpful, like, this is the thing that got stuck - even in development.

Chris: Well, yeah. Imagine those carousels that you swipe and then -- I actually don't know if this would work. But the actively stuck one then gets transform scale 1.2 or something, so it's bigger. It's kind of a pseudo 3D, then you swipe it away, and it becomes its regular size again.

Dave: Mm-hmm.

Chris: I don't know. Maybe. It's nice to see that stuff come to lower-level languages. All that stuff is perfectly doable in JavaScript. If your mind is like, "Yeah, I can do that right now. Just GSAP it up or whatever," that's great. That's good. Explore it. But when those things move down the stack of technology to lower levels, that's just good. I'm telling people, it just is.

Dave: Yeah. Yeah, when we're able to do this, make these things without some sort of hoop to jump through, it's great.

00:47:29

Dave: We had a conversation the other day about the share button, you know, everybody's favorite share button, which we revolutionized on previous episodes.

Chris: Navigator.share.

Dave: Yep, navigator.share. It's not in everything. Oh, but then somebody brought up, "Is that the same as Jeremy Keith's button, type=share?" which we kind of talked about on the show.

Chris: Kinda?

Dave: But Jeremy has got a good brain.

Chris: [Laughter]

Dave: He's kind of got a good brain, but his whole thing is like, we can share in the browser now. So, if we had type=share, we could just -- without JavaScript, we can just open the share dialog.

Chris: Yeah.

Dave: Let's bring some of these cool features that we're making in JavaScript.

Chris: He's right. He's right. Why? There's nothing uniquely DOM-y or anything about share. It just opens a stupid share dialog. So, should that move down the stack? Yes, it should.

Dave: Yeah. Why not? Let's do it. It has some default behaviors. If you want to not do those, beautiful, dude. Make your own thing.

That's my thing, too. I'm in the open UI and talking about tabs a lot. That's kind of what I'm working on.

Chris: Mm-hmm.

Dave: Tabs, people do weird things with tabs. You have tabs but, guess what, the tab itself is a select menu. [Laughter] That's weird stuff. It's like, okay, do we care about that or do we not care about that?

My gut is like, let's not care about that right now. Maybe we can support a select element, but we're not going to author that behavior. We'll just support that but then -- I think it's cool because, if you want to make these weird tabs with select menus as the tab (or whatever), congratulations. You just jumped into custom tab land, and you have all the tools to write your own custom tabs. But we just provide basic tabs. I feel like if the Web could just do that, provide the basic structures, we'd be in real good shape.

Chris: Mm-hmm. All right. Well, thanks. That feels like the ShopTalk Show mantra, almost.

Dave: Yeah.

Chris: Just build websites, but also just lower technology levels. [Laughter] That doesn't roll off the tongue as well, though.

Dave: Just lower technology levels.

All right. On that note, 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.

Head over to our Patreon to get access to the Discord, patreon.com/shoptalkshow. Go check that out. We'd love to have you stop by. Again, early days. You can still influence the community. We really appreciate it.

Chris, do you got anything else you'd like to say?

Chris: ShopTalkShow.com.