How React overcame its haters: by listening.
Listen to the Future of Coding Podcast: https://futureofcoding.org/episodes/011 (30ish mins in)
3 Lessons Learned:
3 Lessons Learned:
- Features over Benefits
- original was a tutorial
- second time: here's why react is different. Focus on the implementation rather than how to use it
- Sophie Alpert, Dan Abramov, Cheng Lou
- Support everybody: IRC, Stackoverflow, Reddit
Influencers - David Nolen
Bigger conferences, F8, ReactConf
Public user Wiki
Haters - view every hater comment was your fault
- Table stakes
Three single sentences to communicate why your project is different and worthy of someone's attention - real reasons with tradeoffs, not "faster, smaller, lightweight"
[00:00:17] Well, but I think the history of react is not that well-documented and people. Should hear it from people who are there. The central question, which occupies a lot of my waking thought is how to get developer tools adopted. And there's no better case study than most, no more successful case study than react and how it overcame its initial difficulty.
[00:00:38] Here's original reactive team member, Pete hunt on the future of coding podcast.
[00:00:43] Pete Hunt: It took a lot of time to figure out how to message this. Because he can't just come in and say like, everybody's wrong and we're right. Blah, blah, blah, blah, blah, blah. That's not that's not really, you did that a little bit.
[00:00:55] Which, which talk. So there was the original JS coffee us talk where we came in and we said, Hey, this is how we build user interfaces. At the time. And it was just like a tutorial. And then there's another way, which was the second top, which was the one that I did, which was basically like, Hey, here's why react is different.
[00:01:15] The argument that we were trying to make is that, Hey, this is these are the problems that we had. Here's the solution we came up with and here's what makes our solution. And we had a lot of caveats in there that said, Hey, this might not work for you. There are these certain edge cases where it's actually slower than what you're doing today, but what we found was this was a better set of trade-offs and really what we focused on was.
[00:01:40] Educating people on how to use react or how to build their next application with it. It was more about this is what makes it unique and interesting. And what that did was it disarmed people. They were like, oh, this is actually really interesting. We focus much more on the implementation in that than the, how to use it.
[00:01:56] And people appreciated that. And the second thing it did was it recruited people into the community that were really passionate about what it does differently. And so you see. These big shots in the react community now like Sophie Albert, and Dan Abramov and Cheng Lou and all these, these people they originally recruited because I think they found the internals of react to the interesting or at least some of the ideas around it to be really interesting rather than, oh, I built my, my application and, three less days than it otherwise would have taken.
[00:02:25] Steve Krause: From my perspective it seemed like react was inevitable and it just happened magically, but you were more on the ground floor making it grow. And it seemed like, like you find around the conferences telling people about evangelizing it.
[00:02:38] So could you talk through like how it became adopted how, how that felt. Like w what were like some of the key milestones or like key the key things that happened that like made it like moved along.
[00:02:50] Pete Hunt: Yeah. So there was JS con you asked, which was the original announcement. Everybody hated it. Then there was JS con EU which got some more people excited about it.
[00:03:00] We wanted to support everybody a lot. So we were in IRC, like almost 24, 7. People would come in and ask a question and we would answer it. Some people would, would camp on stack overflow and answer those questions. But basically like the, the idea was we wanted to recruit and, and basically keep those people engaged in the community because hopefully they could help out.
[00:03:20] And that ended up working out nicely. So the number one thing was like just supporting the hell out of people that
[00:03:44] And it's got a programming model that I really like. So that was a big noticeable uptick in the use of reaction. So again, what we're doing right now is, is recruiting. Passionate early adopters and started to slowly turn into some real production usage of react outside of the Facebook companies.
[00:04:06] And then fast forward, maybe a year we are so flux is introduced and that solves a problem that the community had. We started talking at kind of bigger, more corporate-y conferences like Facebook's FAA, and then eventually put on a react. For all of the users and then that sort of to inspire a lot of confidence in people to use react.
[00:04:28] And so then all these big companies started actually using react. And once you've got some PR real-world production usage, we had this Wiki page where people could add a link to their, their service and where they were using react and Redux. And we would point people to that when they're like, Hey, my boss doesn't know if I should use this new technology.
[00:04:48] We said, well, did you know that Facebook is using an Instagram is using it Airbnb and the New York times and all these other, other well-known brands. So that was, that was helpful to then, we just started to see this big explosion in, in the usage of the, of react throughout the community.
[00:05:05] The snowball was, was rolling down the hill at that point. React native was another big milestone in, in reacts kind of adoption because that opened up the world mobile developers.
[00:05:14] So I I found react because of David Nolan's article that you mentioned. And I was immediately convinced after reading that article and then watching your rethink, rethinking best practices talk, which, which I think he links to in the, yeah.
[00:05:26] In that essay. So I can definitely see how that was a big milestone. I didn't realize how big of a milestone that was in your mind, but, but that's, that's how you got me.
[00:05:34] So makes sense. Yeah. That wasn't an accident either. So like there's a lot of, I was going to conferences and I was connecting with people on Twitter and stuff like that.
[00:05:44] And the way that got put together was. There's this guy, Brandon bloom, who's a game programmer who you guys should all follow on Twitter cause he's he's really smart. And he sent me a message or tweeted at me or something and he was like, Hey, I saw your talk. Did you know that this is how like all game engines are implemented?
[00:06:05] And I was like, what? I don't know very much about graphics and, and he taught me through it and explained it to me. And he's like, He was in New York and I was like, oh, I'm flying to New York. We should meet up. So we met up over a cup of coffee and he's like, I'm going to bring my friend David Nolan.
[00:06:20] And he's going to, he's going to come sit in on our conversation. And so us, the three of us were just at a coffee shop somewhere in New York talking about react. And then he pops into the IRC channel, has a bunch of questions as he's building his first version of his react bindings.
[00:06:35] Kind of, again, continuing this, this level of support that we had and that blog post pops out and changed the game for, for react. So that was, that wasn't like, oh, I stumbled upon this technology. And I was struck by how awesome it is. It's like none of this stuff, I'm like, yeah, things go viral, but they go viral after a lot of boots on the ground effort.
[00:06:56] Steve Krause: Ah, I'm so glad that that's But that's how it actually happened. Cause it that's so empowering that like, it isn't just random. What goes down on what doesn't, if you work really hard and do the work, it'll eventually work out. So I'm really glad that that's how it happened in reality. And that I have it on this podcast.
[00:07:12] That's really inspiring.
[00:07:14] Pete Hunt: Yeah. Yeah. I mean, there are things you got to get, right? Like you gotta write documentation and you got to build a community that you need to foster community that that is inclusive and gets everybody excited about working on this. And you need to also communicate your project really well.
[00:07:28] So you need to say, Hey, this is why you should pay attention to our project. And it's got, you get like three bullet points, three single sentences to communicate why your project is different and worthy of someone's attention. And like it's faster and it's smaller and it's lightweight. Real reasons like you got to sacrifice something, right?
[00:07:50] Cause otherwise react would be smaller, lighter weight. Right. So what are you sacrificing?
[00:07:54] Steve Krause: Totally. So one thing I saw on the internet that caught my attention when I was preparing for this interview is that there was a quote where you talked about how you replied to every hater comment on Twitter.
[00:08:04] And is that, is that something that you thought was effective? Do you still do that now?
[00:08:22] That's so bad. Or like who is Facebook to tell us how to build applications when we have this thing from Google and Google's wait, got way nicer products than Facebook whatever it is. And our, to every single one of those. Yeah. You know what, like some of these people had legitimate concerns. There's, I've actually found in my personal experience, there's very few real trolls that are just trying to troll and just trying to piss you off.
[00:08:50] There's a lot of arrogant people and there's a lot of people that have strong opinions and don't do a great job of expressing them in a respectful way. But their goal is not to piss you off. They actually have legitimate concern. And the way that I thought about it was I, I viewed every single one of those concerns as my fault, because either the technology didn't do what it needed to do, or they, as in, they had a legitimate technical concern or they didn't have a legitimate technical concern and we failed communicating that to them.
[00:09:21] And so if you just say. Hey, all of these complaints on Reddit are actually legitimate or have a kernel of truth to them. And they're all my fault. You start to do a lot of self-improvement really quickly. And so that's why I think the messaging around react got to be I thought very, very crisp within the first nine months.
[00:09:41] Yeah. Of it being open sourced and that that messaging like branding it, the virtual Dom that now gets a lot of flack and criticism, but I stand by it, it's not a hundred percent accurate, but if you've got someone's attention for five minutes and you want to explain how react works, a virtual time is like a great way to do that.
[00:10:00] swyx: Okay. So there were a bunch of very important lessons here. So just to recap, the first is to talk about features over benefits. This is the exact opposite from traditional marketing, where you talk about benefits over features. When reacts was initially introduced, they were trying to introduce them as a tutorial. Like we can do this. This is how you use react.
[00:10:21] And you can code, uh, so-and-so faster than you would normally code. And people really reacted against that. But the second time they introduced react, they focused on why react is different focused on the implementation rather than how to use it. And that actually successfully nerds sniped, the second generation of react core team members like Sophie, opport, Danny Mamava.
[00:10:40] VIN Chang Lu. The second tip after the features of a benefits thing is to support everybody. And they really mean everybody. So camping out in IRC stack overflow and Reddit. Supporting influencers like David Nolan. Supporting haters. Bye Andre. On Reddit by viewing every hater comment as if it was your fault.
[00:10:59] And then building more social. Social momentum. With bigger conferences like Facebook, F eight, and then throwing their own react con. And then also publishing a public user Wiki so they can see. Other companies like them using react. Finally, you have to have your table-stakes. So the table stakes that were mentioned were documentation.
[00:11:20] Inclusive community. And three single sentences to communicate why your project is different and worthy of someone's attention. Real reasons with trade-offs not just, we are we're pleasing faster, smaller, or lightweight, actual reasons. So I thought this was very jam packed with. Really good lessons.