Open Knowledge

Shawn Wang · 26 · · 54m
What does it mean to be code adjacent? Shawn Wang joins Henry to chat about not just open code but open thinking with his experience in community managing, the idea of tummling, moderating /r/reactjs, starting the Svelete Society meetup, documenting and learning in public, being historians of our field, fresh notes vs. awesome lists, the meta language, and adoption curves. (recorded in June) More
Chapters Tummling as an Alternative to Community Manager 31

Tummling as an Alternative to Community Manager

Henry Hey, this is Henry. I have with me, Shawn.0:00

Henry Tummling. You just mentioned this to me. Do you want to explain what that is?0:02

Shawn Hi and thanks for having me on.0:05

Shawn This is an idea that’s spreading a little bit, I heard it first from Joel Hooks and Chris Biscardi from the egghead crowd. And they heard it from Alex Hillman, who runs in the Amy Hoyt circle of sell products online and stuff. So if you’re in that world, you know who these people are. If you’re not, you have no idea. But anyway, I think this feeling is very common among people like us.0:08

Shawn So communities are important. We all get that. You can appoint a community manager to help to grow the community or coordinate events and stuff like that.0:28

Shawn But it’s a very draining job. (laughs)0:36

Shawn I’ve done it, right. You’ve done it.0:40

Shawn And every time you try to put together something for the community, they might participate, but then they don’t seem to really carry on that momentum. It’s up to you again and again, and again, to get things going.0:42

Shawn So Alex Hillman, who wrote this blog post, was trying to popularize this idea of an alternative, which is tummling.0:54

Tummling as an Alternative to Community Manager

Shawn He also made the analogy, if you’re community manager, you’re like a cruise director and a single point of failure.0:59

Shawn Everything relies on you to get going. Everything relies on you to start and to organize schedules and stuff like that.1:04

Shawn Whereas, his idea of a tummler is a person who makes things happen.1:10

Shawn In particular, a professional entertainer, a comedian whose function is to encourage an audience, guests at a resort, to participate in the entertainment activities.1:13

Shawn So you kickstart things, but then it’s like a sustainable nuclear reaction between the participants in the community.1:21

Shawn Which is like, that’s nice, right? Like I don’t have to do everything.1:27

Shawn I haven’t seen this online that much.1:32

Shawn So it really takes some talent in terms of community management to kickstart a many to many conversation, instead of many to one conversation with the community manager in the center of everything.1:34

Shawn So this idea of tummling. I think it’s an interesting word. That’s why it catches attention. It doesn’t really tell you how to do it. It’d be a good idea.1:46

Shawn I think it’s a good goal though. For example, one actionable step is to remove yourself from being a blocker on things, right? Let people self-organize. Give them the power and trust them with the responsibility.1:54

Shawn I think you’ve had this of other people that you chatted with. Give responsibility early right, and you see them start to take charge and grow into their roles.2:04

Specific, Limited-term Maintainer Roles

Shawn One of the other things that, I think I was watching a Nadia talk. And she started this chain of thought in me. I’m sorry, I can’t remember which talk it was.2:12

Shawn You know how we have these roles, like maintainer of an opensource repo? That’s so broad, and that used to be the only role.2:20

Shawn And now we have write, maintain, admin, whatever. But then we also have triage and some smaller roles that only triage and do other sort of community manage-y stuff. So I think it’s interesting.2:28

Shawn What if every project had a maintainers.md and then we separated the role of a maintainer into these separate roles and then people could sign up for that. And it’d be well expected what each role would do. And there’ll be like a limited term. And then once that term is over, then we kind of just vote in the new ones.2:42

Shawn It’s probably not voting. It’s just like whoever wants to do it, but it’s like a rotating thing. It’s not the same person and you’re not taking it on for the rest of their lives.2:58

Shawn It’s kind of little bit like how I guess golf clubs and social clubs run. They have limited terms and that’s great. Even the president of the club, right, gets to cycle over and then you can see past presidents.3:06

Separation of Maintainer Concerns

Shawn And that’s a nice thing to have done, but you don’t commit to it for the rest of your life.3:17

Shawn So I’ve been calling this idea, separation of maintainer concerns, but then also it has this term limits.3:21

Shawn What do you think?3:28

Henry I like that. It’s sort of deals with a lot of different issues at once.3:29

Henry One that you just pointed out now is this idea that you have to maintain something forever. And that’s not necessarily a bad thing.3:33

Henry It’s just that the assumption is that you need to do that. So people that are trying to get involved, they’re like, Oh, if I start, I’m going to have to do this forever. And they don’t want to commit to that, right.3:41

Shawn Well, sometimes I might not get involved because I’m just going to assume you’re in charge forever. So I’m just going to find something else to do.3:51

Henry That’s true too. And there’s this pattern of whenever new projects come out, all these people just show up out of nowhere that were capable of contributing before, but because it’s new, it seems like it needs a lot of help, but all the old projects just need as much help as before too. It doesn’t seem as like cool or fun.3:57

Henry What you said, everything’s under control. Even though on the inside, it feels like everything’s on fire sort of thing, right?4:14

Babel W18, like YC W18

Shawn It could be like a thing that we formalize.4:20

Shawn You know how Y Combinator companies, they have a batch, like I went through Y Combinator Winter 18. So for the rest of my life, I just say YC W18.4:22

Shawn Or recurse center, you know, like RC W18 or whatever.4:31

Shawn What if we had like Babel W18 and I served as X of Babel for that term. And then I moved on. And someone else did that after me. And that’s totally fine.4:34

Henry Yeah, I like what you said about differentiation of roles.4:45

Henry Maintainer is too broad and because it’s so vague, people have their own assumptions on what that means. It limits what people can get involved with.4:49

Henry I think when people are getting into programming, they don’t know what’s possible. So I think that causes them to not want to get started.4:57

Henry We need to give them the concrete things, not just writing code, but all these other things and maybe giving those a name is a good thing, right?5:05

Shawn I mean, triager. Repro-er. I haven’t thought this out.5:13

Shawn This is a blog post that’s been sitting on my mind for a year, and I haven’t done anything.5:18

Henry I know you probably don’t consider yourself a maintainer, but if you’re the one managing the subreddit or if you’re the one that’s making videos about some project, those are all parts of maintaining the community, right.5:23

Shawn Yeah, I don’t have a name for what I do, but I think it’s important. I think that code only goes so far, and I think that communities around code matters.5:34

Shawn And I think that people who can sort of manage between both actually do very well. There’s an amount of self-interest in this. I’m not doing this for the community.5:44

Shawn Because I’ve been so involved, I know everything is going on in React. If anything that I want done, I don’t have to be an expert in everything. I know the experts on everything, right. So I can just call them. That’s great.5:52

Henry Yeah, that’s its own skill or just knowledge that it’s important.6:07

Becoming a Moderator for /r/reactjs

Shawn We can talk about the subreddit thing. So for those who don’t know, I am one of the moderators of the /r/reactjs subreddit.6:12

/r/reactjs

Shawn I joined when we were maybe 30, 40,000 people, and now it’s coming up to 200,000.6:21

Shawn And that’s not me, right? That’s just the growth of React’s popularity. I actually charted it once and it’s round about 70% a year growth every year across GitHub, NPM and React reddit and what have you. So it’s just an organic growth from people learning React. Feels like React is taking over, but actually there’s tons of people who are still learning, right and still getting started.6:26

Shawn So I was an active moderator for two years, ish. I’ve been on reddit for like two years before that.6:50

Shawn And then I only got the job because there was some framework war that was brewing.6:54

Shawn And then Dan Abramov was telling me.. There’s some nasty comments about Vue or whatever in the React community.6:58

Shawn And he was like, why don’t you shut it down?7:05

Shawn And I was like, Dan, I’m not a mod. I don’t have the ability.7:06

Shawn And then he’s like, now you are.7:09

Shawn And, I thought it was a great opportunity and I enjoyed it. I’m on reddit anyway, so that bought me into reddit even more.7:11

Shawn The challenge has been sort of trying to get active participation.7:17

Shawn Trying to balance beginners and advanced people, because we all share the same board. It’s just one message board that’s just voted.7:21

Shawn So sometimes there are a lot more beginners in there. So you just get a lot of beginner stuff voted up.7:29

Shawn But then the really awesome stuff, there are very advanced people there who have really good comments and conversations, and we need to encourage them and to make them stick around.7:33

Shawn So it’s this weird balance of are we beginner reddit today or are we let’s get deep into details, reddit?7:41

Shawn And moderators have very limited control, because the mob just votes whatever they want.7:47

Shawn The only thing that you do, you know, you can prompt activity, right?7:52

Shawn You can post discussion topics, you can post surveys, you can post job boards, who’s hiring, right. That’s very popular. So stuff like that.7:55

Shawn But ultimately the conversation comes from the community and then your main job is to shut off toxic elements.8:03

Shawn So that’s what Reddit is for me.8:09

Learning with “I Promise to Answer Every Question”

Shawn I also started like a beginner Q and A.8:12

Shawn It serves as a sink for all the Q&A questions that otherwise would be posted elsewhere. And then it would make the whole thing, very, very beginner.8:14

Shawn But then also, it was a very good learning exercise for me, because I would just promise to answer every question.8:21

Shawn And that just gets you very good at answering questions.8:28

Shawn And then if you answer enough questions, you can see that you’re repeating yourself, you make it a blog post, and then you can just copy and paste, right.8:30

Shawn If anyone is looking to get started in React or just any technology, you just go answer questions enough. And then the best questions become your blog post, and then you build your reputation that way. It’s not that mysterious, right.8:39

Henry That makes sense. I know Logan, who was a core Babel maintainer, did the same thing except with Slack. We had our just real time chat and then he just answered people’s questions.8:51

Henry And I did the same thing when I got started and it’s not like we knew the answer, you just look it up and you have to figure it out yourself. So I’m a maintainer. I don’t know them either. I have to look them up and then you figure it out.9:02

Shawn Let’s say probably take like a year to know everything that people usually ask.9:13

Shawn But I’m also very obsessed with history.9:17

Shawn I definitely go back in time, and more than most people that I know, because I want to know origins of things and I want to know how things started and all that.9:20

Shawn I think people should do that as well, because sometimes it makes it easier, actually.9:27

Shawn If you look at a project from the beginning, then you’re like, Oh, okay. This is the central idea. And then it just like accumulated a bunch of cruft along the way.9:31

Shawn But it’s fine. That’s how all these things grow.9:39

History and Memento Mori: A Time Before Git

Shawn But it also reminds you, you know, this like Memento Mori thing, like all things die or all things must pass.9:41

Shawn People don’t know that git is only 15 years old. There was a time before git.9:46

Shawn And VS Code is five years old, you know, and there was a time before VS Code.9:52

Shawn But it also means that five and 15 years from now, we would be doing completely different things.9:59

Shawn That the presence of like, this is a special moment, but not everything is fixed.10:03

Shawn Things can improve. But also like things that seem like a sure thing right now may not be.10:08

Shawn And I think I don’t know what to do with that.10:14

Shawn You know, that’s sobering and it helps you be grounded in like everything that you do.10:15

Henry Yeah, I think this aspect of caring about history, that’s related to all this stuff I’ve been trying to talk about on the podcast.10:21

Henry Like people that care about archival and preservation, even the thing we talked about with Jordan, and he’s trying to preserve the aesthetic of Windows 98.10:27

Henry Or people trying to preserve the artwork in museums, right. How do we do that in code? Are we even doing that, right?10:36

Henry Like what you said, there’s not a lot of history. I know Maggie was saying she wants to kind of do a podcast about JavaScript history.10:42

Henry And I know there’s the book, 20 years of JavaScript, but no one really cares about that stuff. You kind of move on to the next thing. And we forget like what we’ve learned, if we even learned it, right?10:50

Shawn So JavaScript has a good.. Brendan Eich is still super active and he answers basically every question about JavaScript, which is amazing.11:00

Shawn You can ask the creator.11:07

Shawn So it’s still fine. JavaScript has a lot of institutional memory, especially everyone in TC39.11:09

Shawn They like know things that happened before. And they’re like, we were not going to repeat that again. So that’s good. I don’t have a problem with that.11:14

Henry Well, I think that’s what JavaScript the language, but maybe not like frameworks and libraries, those kinds of things. Tooling.11:22

Shawn I do wish that every doc, every project had how this was made.11:29

Where’s the Story of How Projects Get Started?

Shawn I was thinking recently about how little code gets documented.11:33

Shawn Like, we don’t really know what Tobias Kopper’s was thinking when he made Webpack.11:37

Shawn We have some reconstructions based on podcast interviews and stuff like that, but nobody ever stopped and wrote it down.11:42

Shawn It just became a thing.11:49

Henry Right. And even now I want to write down a lot of stuff, but then I don’t want to put it on the docs cause I don’t want it to be like official. It’s just like this is what we’re dealing with.11:52

Shawn Yeah, but you can tell the story in podcasts and stuff that people pick it up, you know?12:01

Shawn Okay then, even for Babel, the primary doc for Babel’s origins is Sebastian’s 2016 year in review.12:06

Shawn It was just like, that’s it? It’s just one of the most important..12:13

Shawn I want to know the journey. I want to know the pain. I want to know the things that you tried and it didn’t work, and then why it didn’t work.12:18

Shawn Cause someone else is going to try it and no one writes it down. So it’s sad, but whatever.12:24

Henry There’s so many of these things.12:30

Henry Like even us switching from GitHub to Phabricator, that was a whole thing, you know, like there’s all these little, not incidents, but just events that happen that we learned something, but we don’t talk about it. What you said, other people probably doing the same mistakes.12:32

Shawn Look, everyone’s busy. I don’t blame them, but I just wish that there were more.12:47

A Culture of “Document Yourself More”

Shawn And I feel like if we instill a culture of document yourself more, it helps historians like me, but then also it helps people get contributing. Cause they know the philosophy and all that.12:51

Shawn Right now, even Sebastian is making this almost the same mistake with Rome, everything’s in his head.13:03

Henry What you’re saying about culture is like, we’re so far focused on making the new release or making it faster and less code size. Which is all good.13:08

Henry But at the same time, that same person that’s doing all that, they’re not spending the time to, like you said, write down their thinking, because it’s hard to write down your thinking and you kind of just want make it work. And there’s only one person.13:20

Henry Maybe it’s similar to the whole community manager thing that is also a blocker on all of these different things. And not that they don’t care about these things, I’m sure they want to do it, but just, you feel overwhelmed because of all the possible things to think about what’s on your mind. I don’t know what to prioritize all the time.13:34

Shawn I don’t know. I tend to think that solution’s pretty simple.13:51

Shawn Just write more.13:53

Shawn Just be okay with like, this is what I think now, I might change my mind. I don’t know. But here it is.13:55

Shawn We’re always on Twitter so much. It’s a form of sharing what I think, but not really super committing into it that much. That’s fine.14:01

Henry I think maybe we could talk about that a bit. Similar to code, you don’t want to commit it. And it’s like, why do I feel like I can’t put it down on paper sort of thing.14:07

Shawn I guess that’s why I blog. I don’t know. It helps you get into dev rel.14:15

Shawn That’s the other part of my life I’ve kinda gotten into. And then obviously that also got me into teaching mainly for egghead, but I’ve done some other workshops.14:19

Shawn That’s pretty good. I highly recommend people do that. It’s kinda weird.14:28

Learning Gears: Explorer, Connector, Miner

Shawn So I call these learning gears.14:32

Shawn There’s the explorer gear when you don’t know what you don’t know, and you’re just going around and exploring and then taking notes for yourself.14:34

Shawn And then there’s a connector gear where you’re like teaching what you know.14:40

Shawn And then the final gear, it’s either miner or builder. I think I’ve settled on miner. So it’s like, when you struck gold, you should dig here. And then you just go.14:43

Shawn And that’s when it’s like, okay, no one else is doing this. I gotta do this. I’m abnormally good at it. I’m abnormally obsessed by it. I should just go all in and do that as like a form of R&D.14:51

Shawn When you’re like a PhD student, you’re like trying to push the boundaries of human knowledge, right. You know, ideally.15:01

Shawn I’m sort of like between explorer and connector. I look for stuff that I don’t know. I learned that, and then I teach it. But it’s not special. Like everyone can do it.15:07

Shawn But like some people really focus in, like Evan You, right? He found a thing. And it was like it’s Vue. And he was like, I’m just going to go all in on it. And then the people like reward him by helping him right.15:15

Shawn I think when you have something that you really want out of the world, it’s almost like the universe that conspires to help you.15:26

Shawn If you have like a general.. I wish things of just generally better, like that’s not something that people can rally behind. But if you have a very specific vision, then that’s something that people can get around.15:32

Shawn That’s the kind of thing that I see in Rich Harris. And they can get people to come along with that vision, with the docs and the speaking that they do.15:42

Shawn It just seems like pretty inspiring.15:49

Finding A Vision People Can Rally Around

Shawn And I’m looking for that. I haven’t found that yet.15:51

Shawn I always feel like, you know, cause I’m known for non-technical things. I’m known for like, okay, I manage the React community, whatever.15:55

Shawn I speak a lot or whatever, but it’s not really super technical. It’s just how to be super noisy as a dev.16:01

Shawn So I’m looking for my thing and I still haven’t found it yet, but I found a bunch of small little things along the way.16:08

Henry And you want that specifically to be technical.16:15

Shawn I mean, it would be nice. Just cause like, you don’t feel like a real dev if it’s not technical.16:18

Shawn But the world seems to want me to do more nontechnical stuff, especially with this book that I’m doing, because that’s definitely been the most successful thing that I’ve ever written or said, which is kinda sad, but yeah, I think it’s okay.16:22

Shawn I’m comfortable leaning into that. I also know that like, I want to do more, and I don’t want to be only defined by the non technical stuff.16:35

Shawn So that’s kinda what I’m like. I want to adjust the other way now.16:42

Henry Yeah, it’s funny. I kind of.. It’s sort of like the opposite for me. I’ve been doing all this technical and I’m trying to like, not not do technical stuff cause it’s all technical in the end, but you know, how do I do sort of more on nontechnical?16:47

Being Code Adjacent

Shawn to code. You need to know how to code, but then you’re like next to it.17:01

Henry That makes sense. Cause I wouldn’t be able to maintain Babel if I don’t know anything about compilers, I need to know something about it.17:04

Henry Just to think out loud there, to me, it’s sort of like, is it even worth our time to spend all this time trying to make all these things faster when it doesn’t really change what our product is about?17:12

Henry Maybe the education stuff is more important in the sense, not really for Babel. It’s just like, how do we get more people to understand ASTs, compilers, tooling, no matter what the tool is, right.17:23

Shawn So I think that one of the things that I’m interested in as well, which is kind of like, anti-Babel, which is this idea of collapsing layers, right?17:33

Maybe We Need a JavaScript Community Manager

Shawn We went through this phase of every tool does one job well.17:41

Shawn But then it turned out that there’s 10 different config files in my repo. I don’t know what they do. And they kind of don’t work super well with each other.17:46

Shawn And it’s like, okay, are we due for a consolidation where everything just gets done in one pass? We know what to do now, we’ve kind of explored a bunch of things.17:55

Shawn That whole Unix philosophy thing. That’s good because they’re small, they’re easily maintainable. You can swap them out for other tools if you need to.18:04

Shawn The downside of having small utilities that all just kind of chain together is that you need an advanced degree in modern JavaScript to know how to hook them up together, right?18:12

Shawn A typical production repo would have 10 different config files in the top level of the repo. The VS Code won’t really work super well with Prettier, with Babel and ESLint.18:22

Shawn So to bring it back to the community thing, JavaScript doesn’t really have a community manager or a tummler. It just is this mess. Like maybe we should have one.18:31

Henry I think about that too. It’s not really about your individual tool because in the end, no one’s going to use it by itself. So you kind of do have to know about every other tool anyway, no matter what you maintain.18:41

Henry What would it look like to be a maintainer of multiple projects, but then I guess the easy way out, in a way, is just make it all one.18:54

Shawn And that’s what Sebastian did. I don’t know. I think it’s interesting. It’s definitely above my pay grade.19:05

Cheat Sheets and Awesome Lists

Shawn So I think that the things that I focus on in my scale are open source knowledge. And that’s probably the other thing that we can talk about, the cheat sheets that I do.19:10

Henry I guess it’s just like, why did you start doing it? Why do we call them cheat sheets in particular? Are they just awesome lists or readmes,19:20

Shawn So, first of all, I feel like a lot of awesome lists become not awesome over time. Well, I mean, there’s a process to add them, but there’s no process to delete them, right. You’re not going to come in like, okay, this repo is not awesome anymore.19:30

Henry No, I think that’s a super interesting point.19:42

Henry It’s almost like when we talk about CSS, it’s really hard to remove it, right? You don’t want to like prevent someone from adding their awesome link.19:44

Henry And then later you realize that it doesn’t fit with this whole thing and you can’t. And it just gets bigger and bigger. It sounds like any code, I guess.19:50

Shawn But the goal for this was actually more than just a repo of links, right? That’s what awesome lists mainly are, they’re good for that kind of surfacing.19:58

Shawn So I kind of compare it to Yahoo versus Google, right.20:06

Shawn Old Yahoo used to have humans who just manually index the entire internet, right.20:09

Shawn And then Google trained us that you have to type it into the search box. And then you find the top 10 blue links.20:15

Shawn But it turns out that it’s actually pretty easy to beat Google at surfacing the super relevant things, because you as a human know how to organize better to your domain. Google only has the template links.20:20

Personalized Docs, Documentation Levels

Shawn So this is kind of my way of organizing information. But the other element I want it to reflect was that it’s personalized docs, right?20:32

Shawn So every project tends to have one set of documentation and that’s fine for a certain project size. But actually I have this whole theory of documentation levels.20:41

Shawn When it get to another level that’s big enough, there’s like weird use cases that the main docs will never cover. Just never, right.20:51

Shawn So the way that I got started with the typescript thing was I got my first dev job, right. I went through boot camp. Like I graduated, I started my first day at the new job.20:57

Shawn And then my boss was like, do you know, TypeScript?21:06

Shawn And I said, no. And then I spent six months struggling.21:08

Shawn And then I was just like, okay, I’m going back to my old code, to other files to copy and paste and then copy it to a new file just to make a component. I should probably like pull these out and then paste it in somewhere as a cheat sheet, right. So like it’s not just links.21:12

Shawn It’s also like copy and pasteable examples of common things that you’re going to use. And the reason that React is never going to document in TypeScript is cause they use flow, right.21:26

Shawn And the reason that TypeScript is never going to document React is because they serve TypeScript. The TypeScript docs serve TypeScript users who are coming over from Node.js And just general JS Land. They don’t have anything React-specific.21:37

Shawn So I found the hole where it was just like an intersection of React doesn’t do this TypeScript doesn’t do this, but there are a lot of me who are like React and TypeScript people.21:49

Shawn And why not just create the docs for us? And so like it started copying pasting, and then now a whole bunch of it’s like been translated into two other languages and it strikes a nerve because it’s underserved.21:56

Shawn And I think people need to get over this idea of like one single doc for that domain end those story. Like there can be different docs for different audiences and that should be totally fine.22:07

Henry Yeah, that makes sense. I guess it’s similar to note taking and your own knowledge bank. And the idea that some of that you don’t even need to share, but it’s good for you just to have.22:19

Shawn I mean, I share by default, and there’s definitely a lot that I don’t share.22:29

Shawn I take a lot of notes in one note and stuff like that, but on thematic stuff that I know other people will have interest in, I might as well share it. Because they actually helped me out and improve it and stuff like that.22:32

Shawn So I’ve been taught TypeScript by people at Microsoft and Uber and Airbnb and other places cause they PR stuff in, and then I have to learn from it, you know?22:43

Open Source Knowledge, Proof of Work

Shawn So I kind of call it open source knowledge.22:53

Shawn And it’s the whole idea, open source code is better than closed source code because there’s more people looking at it. It’s easy to contribute. You know, open source has clearly eaten software, right. But the way that we treat our knowledge is very close source.22:55

Shawn Even this recent digital garden movement. It’s all closed.23:08

Shawn No, one’s sharing their knowledge.23:12

Shawn I mean, some, but they mostly want to share like the finished products.23:14

Shawn But for me, it’s very easy to just put up a markdown file and just go like, Hey, you’re all devs. This is a markdown file. You know what to do with markdown files. Just, you know, move stuff around, right.23:18

Shawn It’s very informal. I’m the curator, right? Under my name and all that, but people get value cause they can contribute what they know, but then they benefit from the rest. It’s exactly the same as the open source code project.23:28

Shawn That’s really good for one thing, but I find it helpful to establish expertise over time.23:39

Shawn Like when I started out, I was a complete newb. And then people could see that I was a complete newb and then they could help me. And then over time, by the process of having answered a lot of questions, I became less of a noob.23:44

Shawn And people could see that because all I needed to do was just drop them this cheat sheet and go, like, I made that.23:56

Shawn And for me, that’s proof of work. So I’m bringing this idea in from cryptocurrencies and blockchains and stuff like that.24:02

Shawn The reason that the way that we interview is kind of like broken, you have to perform within a small interview window of I dunno a day, right.24:08

Shawn And then hopefully you serialize your experiences down to a certain format, on a resume or in 30 minutes. A technical interview or a conversation in a fit interview. And then they like deserialize it from like what you say.24:15

Shawn And they’ll be like, okay, I can see this person performing in my team. And that’s it.24:28

Shawn And that’s fine. That’s the normal way of doing things. But I have had people interview me and they Google me in front of me and they can just instantly see all the work that I’ve done and know that I’m legit and it’s like not fakeable, you know?24:33

Shawn And I’m not bragging, it just is. You can verify instantly because it’s open. Whereas everyone else, if your work is closed, you cannot verify.24:47

Shawn So you have to do like reference checks, you have to do technical tests and what have you. And it just kinda sucks in general.24:55

Henry And it’s happened over a long period of time, so it’s not like people that literally copy paste someone’s repo and then remove their attribution or increase their contributor counts.25:03

Twitter as a Permanent Hallway Track

Shawn I mean that’s a little bit of like what Twitter is, right? It’s a permanent hallway track.25:13

Shawn My new job, do you know Nader Dabit?25:17

Henry Yeah.

Shawn You probably do, he knows everybody. He knew of me. And I knew of him for two years before we started working together.25:20

Shawn Right. Like at that point there’s just nothing to hide.25:26

Shawn I’m sure there’s stuff that he didn’t know about me and stuff like that. But most of the time, you’ve seen each other interact, how you behave. There’s no question of, this is a total stranger and I’m inviting them into my team for two years or four years, whatever.25:29

Shawn There’s a lot less risk if everything’s like open and it’s instantly verifiable and you can see them work in public. And it’s just a really nice thing to have. So I don’t know. I have a lot of complicated thoughts about that and I try to write it down.25:43

Henry Yeah, my job at Adobe, same thing. They found me through open source and I still had to do the interview, but I think maybe trusted that..25:55

Shawn Like you kind of coasted through, right? You were like, they have things apart from this interview to judge me on.26:02

Find the Intersection of Two Communities

Shawn So that’s the TypeScript thing. I’m planning to turn that into like a course someday. I definitely got lucky with that one, didn’t really do much to promote it or anything.26:07

Shawn But I think that intersection, a pretty good formula for people if they’re listening too and they want to do this, is to find the intersection of two big communities, probably underserved.26:15

Shawn Cause like each community has their own official set of docs. They won’t acknowledge the existence of the other. Go target the intersection, and that’s about it.26:24

Henry Right, you can definitely take the initiative.26:34

Shawn They just have different priorities, right. They’re trying to maintain their thing and they don’t have you at heart and that’s fine.26:36

Shawn So I extended that approach to design. So I called it spark-joy, and that’s a collection of design tools and that one got picked up by Addy Osmani. That one got attention, ‘cause Addy just tweets really awesome stuff. So that was probably one of the highlights of my open source knowledge career.26:43

Shawn My designs suck, but I think that there’s a market for design, for developers like me, who know they suck at design, but they want simple tricks.27:00

Shawn And there are other people who do that, but there’s nothing stopping me from collecting my own list of stuff, right.27:08

Shawn So that’s what spark-joy is about. This one’s not an intersection. This is just like my take on people like me on something that’s super popular, which is designed for devs, always sells out whatever.27:14

Shawn And anytime some designer goes like, Hey, what if I did a course on design for devs, devs just eat it up right there. And they never use any of the things that they learned.27:24

Shawn So this one is like biased where it’s for me. I know some things about front end, but I don’t know design, so here’s my list of things that I use all the time.27:32

Henry Those are all things that you like personally really want to learn about. So it’s not like they just came out of nowhere. It’s just,27:39

Shawn I’d say was less serious about that. Cause like design was never like a big part of my job, but I probably try to make it more, I don’t know.27:45

Documenting Underlying Assumptions

Shawn And then this CLI cheat sheet. I was asked to make a CLI. I was maintaining the Netlify CLI because some guy left, then I took it on and then I didn’t want to change my job to be a CLI engineer. So I asked for other people to be hired, to take over that job so that I could keep my existing job.27:54

Shawn It’s an important thing to look ahead to what you’re painting yourself into, in your current job. And if you don’t like that, then you have to pivot. Before you have no choice. It’s just like unfortunate that people are pigeonholed into undesirable things within a company. And then once you’re in there, you kind of have no way to leave and it’s just kind of nasty.28:11

Shawn But anyway, everything is a CLI and I think people don’t understand that even Babel’s a CLI. We all use the same set of tools and no one ever documented them, so that was CLI cheat sheet.28:32

Shawn It’s not as popular as the other ones, but no JavaScript course will tell you that chokidar is what you use for file watching, but everyone uses chokidar and where are the edge cases and you have to use something else. There’s all these small little cross-platform nuances that nobody writes down, but I just wrote it down for myself.28:41

Henry There’s a lot of assumptions that people have that if you’re in it, you know it, but no one writes it down.28:59

Shawn Sindre knows all this stuff, right? The kind of stuff that he does, he knows all of this CLI utils goodness. Right? Because he made most of that, but he doesn’t write it down. He just open-sources yet another library. And people have to go use this library or they use a competitor library.29:06

Shawn But then we just, I don’t know why we use it. So might be a good idea to write down. I don’t know.29:24

“Fresh notes”

Shawn The last thing that I have you listed here is Concurrent React notes. So I’m sure you know, this whole hoo hah about Concurrent React? It used to be Async React, covering React Suspense and time slicing, now it’s just Suspense.29:31

Shawn Used to be a super exciting thing in React. Now it’s just super boring.29:42

Shawn But I took it on myself to like be the central repo of knowledge for everything new in React, and I called it like fresh-async-react at the time.29:46

Shawn So the fresh repo idea was a twist on Sindre’s awesome repo. So awesome repo just lists things that are awesome and maybe less awesome over time. Right.29:55

Shawn Whereas fresh is like for things that are new and constantly evolving. So actually chronological order is more important than alphabetical or categorical order.30:05

Shawn Chronological means, okay, things that are three months ago, no longer relevant. So let’s just delete all this stuff. So let’s just like, keep it fresh. So that was essentially what I was doing there.30:15

Shawn And then it became Concurrent React and became not so fresh anymore, so I just turned it into notes. And these were the unofficial documentation for Concurrent React, and then they actually released the beta. So then I archived it.30:25

Shawn And it’s good to have projects that end. It’s good to give closure to yourself, but then also to the people who might see it in future and go like, is this still maintained?30:35

Henry I guess that’s like history as well.30:43

Shawn It’s history! It’s still there.30:45

Henry It’s still useful to see like how people were thinking.30:47

Shawn Yeah so cheat sheets are like one way where it’s like collaborative. I have an open source license, anyone can fork in and contribute and whatever.30:49

Starting a Meetup: Svelte Society

Shawn And then I also do a lot of real life community work. Cause like cheatsheets are kind of ad hoc on GitHub, but the real life things started with the Svelte Society stuff.30:57

Shawn So this one was because like you, me, Rich Harris and a bunch of other people are all in New York and like we don’t meet up enough.31:05

Henry Yeah.

Shawn So there was going to be the world’s first Svelte Meetup in London.31:16

Shawn And I was like, we have Rich Harris in New York. We should have a New York meetup.31:20

Shawn So I realized this with one week to go to the London meetup and I was like, we have to beat the London meetup.31:23

Shawn So I just like put out a call and I was like, well, we’re having a meet up on this date?31:27

Shawn I don’t have a venue. I don’t have a time. I don’t have people.31:31

Shawn I don’t have speakers, but we’re just going to meet up and Rich is going to be there, cause I’m going to drag him there.31:33

Shawn And then like stuff got together because like you have a specific want, right? We are going to have a meet up before London.31:38

Shawn And people just like helped out. Tierney chipped in with the Microsoft space and people helped me promote it and get speakers and stuff like that. And it turned out really well, you can organize a 50 person meetup in one week. Just like that.31:43

Shawn Yeah that was pretty fun. And then we moved online, right? I think it was more building out the Svelte community.31:56

Shawn Cause there was some on Discord and some on GitHub, but not really like people trying it out, talking about it, and then also putting it into toy apps at work, and then eventually production apps, right?32:02

Shawn Like if you want to grow a community, even in coding, you can write the most perfect code, but then if you don’t see other people using it, you don’t have a lot of confidence in this library or this framework.32:12

Shawn So you need some social proof. Things are going, things are alive in this thing. It’s not just the side project of like one crazy Brit in the New York Times.32:21

Keeping it Alive

Henry What was the difference between maintaining this meetup versus the first time. It’s one thing to just be like, Oh, let’s just meet up. But I want to continually do this.32:29

Shawn The excitement definitely dropped off. We probably went from 50 to 30, but it’s still there.32:38

Shawn And then it’s the classic difficulties of getting speakers and doing logistics and stuff. I was definitely kind of like one person on that for awhile.32:44

Shawn I do the same thing that we should do in GitHub. I delegate and people want to volunteer for stuff, I give them stuff to do.32:52

Shawn But they don’t stick around. They’re not that super committed to it right now.32:57

Shawn So they’ll commit for one thing and then they’ll leave.33:00

Shawn I’m sure you.. I did that for Babel. But that’s life. And then you as the community manager, you kind of have to stick through that.33:02

Shawn And I think what really kind of bailed me out. It was honestly this Coronavirus, because I was already thinking, like this in person thing is really a mess.33:11

Shawn Cause I have to organize venue and then people and then do AV and then do talks. Cause no one else speaking. So I have to be a speaker.33:18

Shawn It’s a lot, right. And it’s super stressful and I don’t get to enjoy it. I don’t get to hang out with people and stuff like that.33:25

Shawn So I was already thinking of going online anyway, and then this Coronavirus thing happened. So I was like, Oh yeah, now we are online.33:31

Shawn I got really lucky in that, there are other people from Sweden and London who are, as interested in building a community.33:37

Shawn It’s weird. I’m not even super passionate about this. I just want to see if I can do it. It’s an interesting challenge. Can you take this thing which is almost there and then just give it that push to become huge. It would just be a fun thing to do.33:43

Taking Part in Category Creation

Shawn Like I don’t even necessarily need to see Svelte take over the world or anything.33:56

Shawn I just want to see how far can I push it to make it a thing?33:59

Shawn Cause I saw it happen in Netlify where it used to be cheap, free static site generators. And now people are like, yeah, I’m the JAMstack person, right?34:02

Shawn But I saw category creation at a company that was kind of fringe. To the point where like, I wasn’t even sure about joining them because I was like, how far does this JAMStack have to go? And now it’s like people writing books and creating the careers and all that. And that’s amazing.34:09

Shawn And that gives me a lot more confidence in like, things can start small. And with your help, they can get huge.34:23

Shawn And you just got to stick it out long enough and do all the dirty work of getting things in place that need to be in place.34:29

Shawn That’s kind of what we’re doing now. We had a big conference about 4,000 people attended, which is huge. I mean it’s easier online, which was fun. Then we need to keep going with a site and everything.34:35

The Meta Language

Shawn You know Cheng Lou, from the old React team? He calls it meta-language around the language.34:43

Shawn The core thing is always the language. Whatever it is, like Svelte, React, whatever. And then the meta-language is like all the docs, community workshop, meetups, conferences, whatever.34:49

Shawn That needs to exist too, cause that helps you get the most use onto the language. So I’m kind of building that.34:59

Shawn I’ve never spoken to Cheng Lou. I’m curious what he thinks about it now. Cause they definitely have that problem for a reason.35:05

Henry Yeah, I guess there’s a difference between what we say and how it plays out. I can say a lot of things about Babel, but if it’s still stuck the way it is.35:09

Shawn Yeah, sure. He’s super intellectual. He doesn’t have to be the doer.35:17

Henry That’s the interesting part of how do we take the theory and play it out? How does it actually happen in practice and how do we live that out, those things that we actually believe are true, right?35:21

Shawn Yeah, it’s hard. And I’m not the most qualified person to do it, cause I have my own problems as well, you know?35:31

Shawn I have my own insecurities and need to fix my own situations and all that. So it’s kinda like, you have to be a leader of people without being perfect yourself.35:38

Shawn You’re not done with your own problems, but then you gotta assume the community’s problems as your own, and then deal with that as well.35:50

Shawn And it takes a certain kind of. Yeah, I’m sure you feel that all the time.35:58

Henry It’s funny when people are always asking me for advice like, Oh, I know how to maintain this thing. There’s a sense where I don’t really know either.36:02

Henry And maybe I’ve done it, but then I don’t know how to word it. I don’t even know how to express or it’s hard to write down even which sucks because people want the advice. Like you kind of have to get into it and just learn through the process. Yeah.36:09

Shawn I actually came up with this analogy when I was writing in the book.36:23

Parenting and Figuring Things Out

Shawn I don’t know where I applied this, but I really liked this analogy even though I’m the worst person to use it.36:29

Shawn You know how when people are parents for the first time, they have no idea how to be a parent. They have a baby, they come home from the hospital, they have a baby in their hands and they are like, shit this is real now. And you figure it out and guess what? Hundreds of millions of people every year, figure it out.36:34

Henry You can read a bunch of books, you do a lot of prep work beforehand, but then when you finally get to it, you’re like, Oh,36:52

Shawn I’m sure even the prep is completely not reflective of what it actually is like, there’s all these prenatal things and you got to read about it, but then you’re like, actually, you wake up at 4:00 AM every day for three years. And it’s just really hard.36:59

Shawn It’s this whole idea of, you’ll figure it out, if you commit to the thing and then you go, this is my baby now. And it will die without me. And I can figure it out because other people figure it out. I just have to stick at it for a long time and try to do my best every day.37:14

Henry I think there’s a lot of faith, honestly, that you need.37:31

Henry Not just in yourself, but just that this will work out, I guess. Otherwise, yeah, you kind of don’t have any reason to continue, if you feel like you have to have a hundred percent confidence.37:34

Henry I guess it’s the same thing with anything, honestly, like writing and hoping that people like what you say, you kind of have to go for it, right?37:45

Shawn Well, they’re things that you can do, especially for writing in particular. I finished a book like about two weeks ago, and then now it’s just like getting reviewed by people who volunteered.37:53

Not Everything Needs to be in Public

Shawn And I’m glad that they’re reviewing it before it goes out to like everybody, right. It’s good to have a small group that you trust that will just give you a real feedback. Cause not everyone does, right?38:03

Shawn Most people just want to see the finished products and then they’ll judge you good or bad based on your finished product. But your smaller group of like fans and friends and supporters and all that. They’re fine with your unfinished thing and they’ll tell you where you go wrong.38:14

Shawn So you really need that separation of, Hey, you guys are my ingroup. You get to see like the early drafts. And then you work on it.38:26

Shawn Because as much as I tell people to like learn in public, be raw, and perfect’s the enemy of good, sometimes it really counts to get it right on the launch.38:32

Shawn Sometimes when it’s meant for a general audience, you have to figure everything out before you hit them. So do need that sort of review process.38:39

Henry I think that’s good. Like there’s writing, but then also just examples for our community with like Vue 3 and React Hooks.38:47

Henry They weren’t going to do that in public when they’re trying to figure out how everything works, they did it after they had all the docs and planned through everything.38:54

Henry I think a lot of people are like, why don’t you do it in public? Isn’t it open source, that sort of sentiment. And it’s like, no, they’re doing this for the benefit, because they don’t even know what it is.39:00

Henry It’s hard, cause like we want to be inclusive and like you said, be in public. But then how do we balance that with things that feel like they’re more experimental and we don’t want to bother people with things that aren’t actually going to happen.39:10

Shawn Again, it’s a question of size. If it’s just you, if it’s just 10, 2,000 people who cares.39:22

Shawn But when you’re hitting like hundreds of thousands, a million. The mass population are never going to contribute. They only want to see the finished product.39:29

Shawn And they’ll shit on you for showing something that is like not fully worked out anyway, cause they’ll just pick holes and stuff.39:38

Shawn Like when I heard that Vue 3 was being developed in closed source or whatever, I was like, yeah, that makes a lot of sense. And Evan got so much shit for that. And I think like, geez, these people just haven’t really been involved in a real nitty gritty opensource thing.39:45

Shawn They just expect everything to be open. I don’t know. I just have no sympathy for that.40:02

Henry I think it’s very similar to TC39 proposals. When do you decide to use the feature when it’s stage three. When’s early too early and people are going to complain about everything. JavaScript’s moving too fast or it’s moving too slow. It’s hard to have a handle over the communication over any of this stuff.40:08

Shawn Communication is important. Once you have a process with doing a thing, but then you also have to communicate it well.40:25

Shawn I guess that’s like where I’m sort of specializing because that’s kind of my day job. But I think a lot of people maxed themselves out doing the code, design, and docs and stuff.40:29

Shawn And then they don’t think about the marketing and there’s actually a lot of marketing to do in tech.40:40

CSS 4: Does It Even Matter if No One Knows?

Henry I was just thinking, we can add a bunch of features. And then you write a blog post about it and then nobody knows about it. And then a few months later, you’re just talking to someone like, Oh, I didn’t know that this was the thing I could have used it a long time ago. Like the fact that it’s been there for years, it doesn’t matter.40:45

Shawn So two interesting antidotes. One supports this idea. One refutes this idea.41:01

Shawn So the first supporting idea is this idea of CSS 4.41:06

Shawn Do you know the CSS working group and the transition from 2.1 to 3?41:10

Shawn So there was CSS 1, which is the original spec or whatever, then CSS 2 and 2.1, cause 2 made some mistakes.41:14

Shawn And then CSS working group kind of like got together and said like, Hey having like these big specs is a lot of work. Like we should break out into smaller groups and then work on individual specifications for individual features.41:20

Shawn So Grid was a separate feature. There’s like CSS for voice there’s CSS for more media queries and user preferences and all that. They’re all these like small little, tiny groups. They splintered from one big group to individual groups.41:31

Shawn And then they were like, we will all move at different paces. So this is CSS Grid Level 1. And then this other thing we’ll have like Headings styling Level 4. And we’ll just proceed at different levels.41:44

Shawn So there actually is no CSS 3. It’s just this marketing term that everyone got together and said like, here’s the.. I don’t even know what was in CSS 3, but here’s a nice logo and everyone can upgrade their sites to CSS 3now, because it’s also in line with HTML 5 and JS.41:57

Shawn You know, those shield things, HTML, CSS, all the numbers, right. That was a cool, coordinated thing just to get everyone to upgrade to modern tech. And it wasn’t that modern either.42:13

Shawn And then the CSS working group was like, okay, we’re done now. Now we expect you to keep watch on every single movement going on in each of our working groups. We’ll just release it in separate cadences.42:24

Shawn Which is great for them, right? There’s this tendency of maintainers to optimize for themselves and then just completely screw it on how the external image looks. Which by the way is my problem with monorepos.42:33

Shawn But then it just became like, I know that all these things are going on independently, but I can’t keep track of them. So I’m just not going to use them ever. So they have this problem of exactly like you said, they had new features and nobody was using them cause they don’t know it’s ready yet.42:45

Shawn So now, after like probably five years of denying that there was a CSS 3. Now they’re saying let’s actually have a move back to market ourselves as having a CSS 4, even though it’s not actually going to exist, we’re just going to lie to everybody and call it CSS 4. And Jen Simmons is leading this charge.42:57

Shawn And two years ago she was making videos about how there is no CSS 3. And so there’s been a huge 180, purely because of marketing reasons. Just to get people to use CSS the way that its intended. They realized that, Oh, we over adjusted on how CSS is run, but not on how it’s marketed and super interesting stuff.43:15

Shawn That’s a tech marketing story that I like telling now, cause it’s super cool. It’s CSS, man.43:37

Adoption Curves: Focusing too much on the head

Shawn So the other narrative that kind of goes against it. So it’s like, okay. Design things to make it easier for the general public to consume, right. Because at the end of the day, that’s what you’re consuming them for. You’re not consuming for the kind of people that goes to CSS conferences and know the intricacies of your spec, right.43:42

Shawn That’s not the kind of people that you want to reach. I mean, sure, you want to reach them first, but if you want real impact, you have to reach for like the person on the street who has like five minutes out of every year to care about CSS.43:59

Shawn So then we get to Ilya Grigorik.44:10

Shawn Do you know this guy? He wrote high performance browser networking. I’ve never met him, but he likes seems like a legend.44:11

Shawn Anyway. So there’s this like, you know, adoption curve in the population.44:17

Shawn There’s the head. There’s the fat body. And then there’s the tail, right.44:20

Shawn And the kind of people that go to conferences are the head. The kinda people that spend their free time arguing about progressive web apps on Twitter are the head.44:24

Shawn You know, we just talk to the head all the time, right. And then we have all these like fancy benchmarks and shit.44:31

Shawn No one cares in the body and the tail, right? So we can create all these like really awesome feature lists and stuff.44:37

Shawn No one cares.44:43

Shawn No one’s gonna use it until you simplify it, right. Like make it easy for them to use it. Cause they have other priorities that is going on.44:43

Shawn We are in the body and the tail in others areas of our lives, right. Finance and the climate. And then I dunno. Yeah.44:49

Shawn So we have to be humble and get out of our heads and just make it easy.44:56

Shawn And for him it was like, okay, even a movement like CSS 4 is not enough. Because that means that implies that people have to know about CSS 4 and you’ve got to go reach out to them.45:00

Removing the Learning Curve with Better Defaults

Shawn What’s even better as far as he’s concerned, is to do it for them, right.45:11

Shawn His example was image optimization.45:15

Shawn You can do conferences about image optimization. Hey, run your thing. There’s like this SVG optimizer. And it’s like 30% smaller. And everyone should do that.45:17

Shawn Then you just like do nonstop lectures and build tools.45:23

Shawn And people still won’t do it, right. They just won’t.45:26

Shawn So it’s kinda. It’s very depressing. Cause like any learning curve is bad.45:29

Shawn And so for him it was like, this should be built into the platform. For him, it happens to benefit him, cause he works on Android Chrome.45:37

Shawn Let’s just like have native inputs that just optimize the image when you upload images and it would just be optimized forever, with no code. Cause it’s at the earliest point of entry.45:45

Shawn And he was like, we need to find things like that, that will really reach the body and the tail because they don’t even know. They don’t have to know.45:55

Shawn We’ve made it simple enough that we don’t tack on this universal tooling that all developers have to like learn and maintain and use, because we don’t fix the things at the source.46:02

Henry Yeah, no, that makes sense. If you don’t need that feature, it should just be a default. Like that’s just how it works and it doesn’t even need to have a name or a concept, but then you have to figure out how to do that, I guess.46:13

Henry And especially if it’s like with the tooling, you have to make a breaking change. So, yeah, it’s hard to find a trade off.46:25

Shawn I don’t know either. These are all super new ideas to me. I just think they were fascinating. Cause I’m always looking for like, what’s the paradigm shift that will just invalidate everything I’m using today.46:33

Henry No, that’s true, we’re always adding. I want to remove config, not add more or at least make it so that the..46:47

Henry What do they call it, incidental complexity versus essential.46:53

Shawn Fred Brooks. I need to read that book.46:57

Philosophy of Technology

Shawn There’s so many great books. What’s a great program.. You read way more books than anyone I know, what’s a great programming book and just philosophy of programming or history of programming.46:58

Henry No, I think that was good. I mentioned this a long time ago, but programming as theory building is like an essay. It’s not really a book.47:08

Shawn Yeah, that’s fine.47:16

Henry It kind of even goes back to what you were talking about, almost life cycle of code, life and death, rebirth, if you want to use that metaphor of programs. Just thinking about people and how they relate to code and the fact that it’s about mental models and stuff like that. I hadn’t been reading too much about philosophy of code in that sense, but that was the most that I’ve seen for that kind of thing.47:16

Shawn Do you think developers care? Do you think were like married to incidental complexity? It’s like, we’re paid to do that, right? Okay, I’m glad they’re shitty tools because then you need to hire people.47:41

Henry You keep the job. I guess they’re both true. No one’s like intentionally be like, “Oh, I’m going to make a tool that’s hard” or anything. That would be weird.47:54

Henry But I think you kind of get used to how things are and how we see the things. Like our answer is the tool.48:01

Henry Maybe another book would be Tools for Conviviality. People mentioned that one, a lot.48:09

Shawn I’ve heard that one. I need to go look into that.48:14

Henry He’s really talking about like technology in general and the idea of tools.48:17

Henry He would differentiate tools where someone designed something specifically for someone to do versus sort of like a hammer where it’s a tool where you can almost create your own ways of using this thing that the person that made it didn’t even think of, right.48:22

Henry How do you create a tool, sort of like the web it’s supposed to be, right? Like supposedly anyone should be able to make their own website, but then we create all this tooling so that you have to learn it and you have to go to school or you have to go to bootcamp.48:38

Henry In a sense he’s actually arguing against like professionalization of anything, to that extreme. Or industrialization of things.48:51

Henry Because that makes things very the same, like everything is a product.48:59

Spatial Software, The Mind

Henry Have you heard of Dynamicland?49:04

Shawn Yeah, Bret Victor’s thing right?49:06

Henry I think for a lot of people, it seems too far off.49:09

Henry There’s a picture of a bunch of kids learning in school and they’re all in a circle on the table and they’re all looking at like a tablet or a laptop instead of they’re all looking at the same shared space.49:12

Henry Actually I see this now with the zoom, right? Like we’re all looking at windows of people’s faces. And then now seeing how people are trying to create more like spatial software is really cool.49:23

Henry Almost like games. I’ve seen some demos. Being able to like move around in a space. And that kind of gives people the freedom to do things differently.49:33

Henry Like with Google docs or Figma or even actual games like Animal Crossing and Fortnite. People are able to create something different cause they have a platform for it versus you can’t do anything other than like, screen share and chat.49:42

Shawn Sounds like you want to go into VR.49:54

Henry I think that barrier for that just having to buy that and being expensive, you have to have another computer, you have to like wear something. I think that seems a lot far off to me than just like, at least starting off with something 2D.49:56

Henry I dunno, like one example I saw. If say you have like a stand up or something and you want everyone to talk about what they’re doing in a zoom call.50:09

Henry Like everyone’s face is in a different place. You can’t even have an order to it, but if you’re in a 2D space, you could make an actual circle and then you could just be like, Oh, let’s go counterclockwise or clockwise. Just like in real life.50:16

Henry I think that presents a better way of knowing where people are sort of thing in this virtual space versus just abstractly everywhere, right?50:29

Shawn It’s good. We kind of have that in Figma. I don’t know if you play around with Figma. Like this idea of cursors that represent people. Then people can kind of move around and communicate.50:37

Shawn We can even express frustration with our mouse movements, which is pretty cool.50:45

Henry No exactly. I think it’s fascinating seeing how people..50:50

Henry You give them the freedom or just ability to kind of express themselves.50:54

Henry Even with like the card game, where they can hover over the cards. And if you do it really fast, you can tell how they act.51:00

Henry Actually, this reminds me of the game that I was playing a lot in-person of The Mind, which I liked.51:08

Henry I don’t know if I even talked about that before. I wanted to write something about this, but it’s a very simple board game.51:14

Henry It’s just, the cards 1 through 100 and you need to play them in ascending order. It doesn’t have to be one, two, three, but like 1, 10, 23.51:19

Henry The catch is that you’re not supposed to talk. So you can only use body language. And this is like an in person game. You’re all in a circle.51:28

Henry I actually played this at a lot of conferences. Just brought it in. It’s very simple to learn. You just have to play the cards in order, but you don’t know what other people’s cards are and then you can’t say I have three, so you just have to have sort of like an internal clock.51:36

Henry And the spirit of the game is you’re not supposed to count or anything or come up with signals, but use body language.51:49

Henry If someone is leaning backward, you know that they’re probably not going to go. If they’re like kind of hovering over it, they’re probably wanting to go next. You kinda just have to go with your gut, right.51:54

Shawn And you have to learn and adjust for people who are too timid and too aggressive.52:02

Henry The game is interesting because it helps you empathize with others and it’s a cooperative game, right? We’re all on the same team.52:08

Henry Oh, this person went too fast. This person went too slow. It’s hard to say. They’re both true, right?52:15

Henry Like the person that was too fast has to learn to account for it. The person that’s going slow should learn to be faster.52:20

Henry And then the fun thing is when someone else is around and like, Hey, you should join in. And now that person changes the whole dynamic of how the timing works, right.52:26

Henry And you’re only supposed to play with like four people max. And at the conference, you know, there’s like 12 people or something.52:35

Shawn that was a good game. You brought it to React Rally and it was a lot of fun. Psychic.52:40

Henry And it’s funny cause people are like, Oh, that’s some kind of cult thing, you put your hands in the middle, and say the mind, right?52:48

Henry When we all put our hand in the middle, it’s just to say that the timer starts now, but it’s not like you’re literally counting in your head one, two, three.52:54

Henry I don’t know, like how do we create that sort of thing online?53:00

Shawn I mean, it’s interesting that we care a lot about jumping between physical and virtual presence. A game is a very small community.53:03

Shawn I think we always figure things out first in games, and then we bring it out to the rest of society, you know?53:11

Shawn I always think about how game tech is always so far ahead of everything else, right.53:20

Shawn But it’s good.53:24

Shawn Cause we pay for entertainment and entertainment eventually benefits us.53:24

Shawn So you can say when you’re playing your Xbox or your Switch you’re funding R&D!53:29

Shawn Basic science. Yeah. When you buy smartphones, we are funding research into making the smallest chips and most power efficient chips in the world, right.53:37

Henry Just the way people think about interactivity and design.53:46

Henry One of the problems that we have with tech is like the idea of presence and immersion and participation, then I think involving the person more is a good thing, sort of passive consumption, right. I think games help with that.53:53

Henry I mean, a lot of times it’s very trivial, right. You just kind of clicking on things, but how do we make it so that something real is happening there.54:06

Henry Going back to open source, it’s like, I don’t know.54:12

Shawn Emojis are good.54:14

Shawn I think I was actually reflecting that probably one of the best ways of expressing without plus one everywhere is emoji. People can express a lot of things with just like five or six, whatever they give us.54:15

Henry I guess even pictures of memes, I guess that’s why people like those.54:26

Shawn it says a lot54:31

Henry Instead of just like typing out something like good job. That’s interesting.54:31

Shawn Yeah, cool. I mean I appreciate you having me on. We always have good chats.54:38

Shawn And it can ramble, but I think we all like are exploring these interesting ideas. And they’re all kind of related and we’re just kinda mixing them up, you know?54:41

Shawn So yeah, thanks for having me on.54:48

Henry Yeah, thanks Shawn!54:49

Open Knowledge
00:00
00:00