Chris Slowe (Reddit) on How Reddit designs for the internet's most vocal users | TNW Conference 2018

Reddit's CTO Chris Slowe explains the multi-year redesign effort, why they separated the React front-end rewrite from backend work, and how they rolled it out by engaging moderators first and building a dedicated redesign community. They replaced custom CSS with a Structured Styles system and measured success by tracking adoption and bounces back to the old site.
Questions this video answers
About 350 million monthly active users (statement in talk).
About 3 million comments per day (statement in talk).
About 400 people (statement in talk).
2016 (first pass of mobile apps launched).
About 50% adoption (reported as "just about broke 50% in the last week or so").
Chapters
Well, I'd like to definitely thank the hosts for having me here. I'd also like to thank all of you for coming out first thing in the morning on day two of the conference. Hopefully I can bring some delight to your hangovers. I'm opening up with a talk on the building of redesign for Reddit, which you can imagine is a very straightforward experience. Went perfectly in the first pass, and I don't even actually know why you're all here. So first, a quick thing about me. I'm as mentioned, I'm Reddit's CTO and founding engineer. That means that as founding engineer, it means that most of the things that we're currently rebuilding and fixing were originally entirely my fault. Now, being back as cto, it means that everything is still entirely my fault. So at least I have a consistent career arc so far. So you know who here actually uses Reddit? Small site. Okay, cool. Thank you, everyone. For those of you who don't, let me give the intro, much like the seatbelt video on an airplane, Reddit is the front page of the Internet. We're a social network where we have tens of thousands of communities where our users talk about their passions and find users of similar interests to discuss with. And so it's a real focus on conversation and really about getting users to converse about things that are important to them. We're also kind of a big deal, which is kind of. Most people don't realize. We are fourth largest site right now in the US according to Alexa, and we have something like 350 million monthly active users. And, you know, from the conversation side, we do something on the order of 3 million comments per day. So it is just a lot of text. More than anything else, our role in the world as we see it is to try to bring community and belonging to everyone. So the trick, of course, here with any kind of design is that we have to pretty much literally appeal to everyone. It is so simple. Everyone likes the same things. But on top of it all, we also have our own previous experience to work against on doing a redesign, because change is actually kind of hard. So let me just do a quick little walk down memory lane to show what Reddit has looked like in the past. It's actually a relatively short walk. Here is 2005, it's a little bit more. It's still a wall of text, but there's less text in the wall. The overall aesthetic you'll find very familiar. Fast forward to our first redesign, 2009, we actually did do a relaunch and redesign we added that blue bar at the top, which is actually the most. The thing that people complain about the most was that blue bar. I don't know why. And overall did a lot of speed ups, some tweaks, a little bit more text, and from that point on, it's pretty much the same thing. We've added some tweaks, we've added some polish, we've rounded some corners, we've squared some corners, mostly fiddled. And so, you know, change is hard, especially for Redditors. We now have this product that has been in effectively the same state for 10 years, and we have to basically try to come up with some way to do a drastic overhaul, or at least an overhaul that accommodates what people are expecting. And so let's start with the why. Why would we take something that is actually kind of a working, functional product and, as some of our chorus users say, try to break it and utterly destroy it? And the answer is. Well, there's a couple things. One is brand perception is important, right? Reddit is kind of opaque, to use. My favorite description of Reddit's aesthetic is dystopian Craigslist, which I think is redundant. But, you know, and so part of that is actually making the brand welcoming. We want to make sure that when people come to Reddit, their first experience isn't, oh, what am I looking at? It's, oh, this is a delightful experience. And this text is also delightful on top of it all. Our stack is also relatively old. I mean, as you can imagine, 10 years means that we're using old versions of jQuery. We, we haven't actually touched things in a very long time. And so development velocity was also part of this, both from a design standpoint where we actually have components that we can actually re share and reuse in other parts, as well as code that actually is modern and relatively cleaned up. The first thing we had to do was basically build this foundation. Now, as anyone who has actually undertaken any kind of an overhaul will know, there is a really major pitfall to deal with, which is something called the second system. So the second system syndrome goes something like this. It usually starts off with the best of intentions, when somebody says, while we're in there, and things start happening. So, you know, you can imagine that after a couple of while we're in there, it goes from a very mild, like, I think we should change this button from blue to green to the website is now in pastel using only semicircles, and somebody rewrote the back end in Haskell. So we try to avoid that. And the way to avoid that is to start off with separation of concerns. This is kind of usually an engineering principle. In the case of the redesign, we wanted to break up the tech stack rebuild from the actual redesign part. And in this case, the full tech rewrite was actually the somewhat more straightforward thing. We'd actually had some previous experience rebuilding our mobile web experience. We decided to switch out into reaction. So we undertook to actually start building in react a new experience with pretty much the old design aesthetics and in parallel worked on the redesign. We also set a very hard limit on making sure that the only changes we made were on the front end and we didn't actually start creeping down into the back end to make those changes as well. It was tempting, very tempting to say, oh, you know what would be cool? This API is terrible. Let's build a new one. So instead we dealt with our existing API. We also had the advantage in 2016 of not actually having had any mobile apps to compete with, at least none that were our own. So we actually launched in 2016 our own first pass of mobile apps. And the fact that that experience was entirely clean slated meant that we had the opportunity to start from scratch and actually build a design that we actually liked. And there was no contention of this doesn't look like Reddit. Well, it does look like Reddit because there is no mobile Reddit experience. Now, of course, the other side of building apps from scratch that look modern is that your user base notices. So on the left we have the experience of the apps and on the right we have the existing website. So at that point it was almost a game of we're going to have to rebuild the website. The new apps look so nice. The new mobile web experience looks so nice. So let's talk about the design process here. The design process is, you know, it's very tricky because you're, you're basically forcing creativity on a stack that hasn't changed in a very long time. And so we decided to go with a method of a war room. So we have a design team that just spent basically the first three months while we were doing the tech stack rebuild and sat together. We had set up design sprints. We actually established a full blown war room where they would spend all their time talking about the redesign. And we had Crazy Idea Friday. And the nice thing about Crazy Idea Friday is I would not say that a lot of those ideas came to fruition. They made for some really great internal demos of terrible things we shouldn't do. But at the Very least, it led to a bunch of creative juices flowing and some exciting ideas and some exciting directions that did end up kind of influencing the final product. Once we actually had some. Some designs, the new question is, well, okay, so as a bunch of core users ourselves, is this a product that I would want to use or that we would want to use? And so we went with concept interviews here. We actually basically used ourselves as our own guinea pigs. As you can imagine, the people who work at Reddit also use the product. In fact, that's typically also a problem. You're trying to get some work done. You check Reddit, I'm testing, and it turns into an hour later, it's like, oh, right, that's why I went to Reddit in the first place. I was checking to see if that was working. So we actually started building. The nice thing about modern redesign is, of course you have wonderful tools like InDesign, where you can actually build a fully featured mock up that isn't necessarily backed by anything, but you can get a rough estimation of whether or not it works. And so we did that and tried to figure out not only could we use it, but we. But we try to put ourselves in the heads of our users and in the heads of new users to figure out, could they actually use it? And more than anything else, will this actually help us achieve our goals? The simplest method to go with the redesign here would be to build something that is fundamentally not very different from what we actually currently have, but that would kind of defeat the purpose of trying to be more welcoming. So we want to make sure that we are going to stretch the experience a little bit at least. So with that in mind, the next thing is actually to experience this and build it. So I feel like this is the. This is the. This is the slide where it's like for drawing an owl, you draw three circles and then you draw the rest of the fucking owl. I'll skip over that part totally and go to this, which is we actually built this on our new stack with the mockups we had. And now we started actually doing user testing to show them what we're doing. In this case, you can actually see in the bottom corner, there's actually a live video chat going on with one of our users. We actually spun up a user experience team in the process of doing this work, our first ever. I should mention that as a company, we currently have about 400 people. So this is, you know, having a new team is a pretty common experience. When we have a new product coming up and we got a chance to actually talk to our users in a way that isn't on platform. It also meant we got a chance to talk to users who weren't really our users, like basically new people who had never seen Reddit before. And so, you know, as you can imagine, the feedback went all the way from what am I looking at? To why are you trying to destroy Reddit and everything in between? So the idea here is to let users actually use the product, show it with real content and start iterating and iterating as quickly as possible. Now, of course it's very time consuming to do interviews, but the nice thing is we have now thousands of hours of video of our users interacting with our products we can actually use as reference for what actually works, what have we tried in the past, what doesn't work, and how can we do a better job going forward? Now the trick again is really to maintain some familiarity, because as we are trying to absorb new users, we want to make sure that our existing user base has an experience that is commensurate with what they expect to some extent. And for starters, there are some very fundamental things about Reddit. There's voting, there's commenting, there's posting, there's pictures of cats. We have to make sure that all of those things are represented on the new experience. And we have to be cognizant of the fact that no matter what we do, the community is going to be change averse. We had plenty of jokes about actually putting in design elements that were purposely ugly so that they had something to pick on. We didn't end up doing that. And we really had to make sure that we focused on the corest part of Reddit that actually makes Reddit Reddit, which is communities. And so as part of our rollout strategy, we actually went straight to communities as our first branching off point. And so the way that looked is that we wanted to get moderators in early, so we had a very careful rollout plan involved here. It started off with a very small voluntary group of users who were mostly friendly and who were mostly willing to look at a jagged product's and then we immediately went into our moderators. So our moderators, for those of you who don't know, are really the people that make Reddit work. We have a volunteer fleet for every community. There's a set of usually between 5 and 10 moderators whose job it is is to not just wrangle the community, but also kind of curate it and make sure that it actually either stays on topic or stays off topic, depending on what kind of community it is. And so the moderators generally are also our super users, and they're either going to be our biggest advocates or greatest attractors. And so making sure that we address their problems first and making sure that we're not breaking any of their workflows is a critical ingredient in any kind of redesign. So this meant that not only do we actually have to talk to our moderators, which we do all the time, we had to understand what they actually need and make sure that whatever we're doing for the redesign was also part of a journey towards improving their workflows. And so some issues that actually came up during this, one of the main ones is CSS. So a core feature of Reddit for almost 10 years has been community styling. Communities are able to set CSS arbitrarily against their against their community, which means you can do all sorts of rich stuff like here's RuPaul's Drag Race, where, you know, you wouldn't actually know this is Reddit unless you kind of look really closely and see the arrows. But the problem with actually allowing for arbitrary CSS is that it creates DOM lock in for the rest of the site. We can't actually move a div around on the page without breaking somebody's css. That's a bad experience for everyone. So the solution we came up with was to actually move to a system called Structured Styles. This is a tool where we went through and we found that across 10 years of experience, we looking at what every single community has used CSS for, we found out that really there are about 10 or 20 different sort of CSS packs that were being copied around between communities. And we tried to cover the first kind of 90% of features that were needed to get those to work. It turns out that the other 10% is more like the other 90% and it's a very long tail. But we're gradually adding them in. We're probably going to actually add the ability to do CSS in small form, but we've managed to cover at least parts of it. So you can see we've got some examples of. Here's the new science community. We have some card views that are actually in. I took a picture and baseball, and we actually set up a redesign community. So this is the next step in this process of making sure that what we're making is actually wanted. We set up a redesign and we have to listen to users and evolve. And I think one of the differentiators for Reddit as a platform is that we actually do talk to our users all the time. In fact, our CEO Steve is posting pretty much at least once a quarter with the latest policy update, where he gets a chance to basically talk to the community, find out what's working, find out what's not working, and get his knocks. And it's really that kind of authentic conversation that I think differentiates us from most other platforms. In this case, we also know that our users are more creative than us. Our job is not to launch this redesign and say, look, we made this wonderful thing for you. It's done. It's to actually give users tools for expressing their creativity. And most of the time, we found over the years that what they come up with is not what we were expecting. And actually the iterative process here helps both sides. We get a chance to take advantage of their creativity, and we get a chance to build product that's much more in tune with kind of Reddit's ethos. And so we went through, like I said, we studied what user did with css. We started this dedicated community, and for the most part, we listened and took action. And I'm not going to say that we took advantage of everything that requested of us. I think that a community like Reddit, there's going to be 20 people and 30 opinions and votes on all of them. And so we have to basically differentiate what's important from what's not. But the idea is that longer term, we'd like to make sure that we can cover at least the maximum set of user frustrations. And, you know, we actually did build what users actually wanted. This is actually one of my favorite articles that came out when we announced we were doing a redesign from the Onion. And of course, the comment is this will likely roll out smoothly and no one will have any complaints, which is not the way it works. I think that if I've learned anything, it's that Reddit's primary function is as a platform for criticizing Reddit. So now that we've actually got some. We've got some user traction, we decided to actually do this announcement and roll it out. And so we put up this post that was rather innocuous, which said, if you want to join sooner, just comment under this one and we'll add you. And it has 2,000 replies. And that was the summary of how this went. And so we actually got a nice beta group very early on to expose the new redesign to. And you know, there's some pitchforks in the process of this. I think that unsurprisingly one of the major comments you'll see is, I hate the redesign. Why are you changing the site? The site is perfect and, you know, you have to be able to roll with the punches in those cases and kind of explain that. It's not that we hate the site, it's that we love the site and we want to make the site better for everybody. And of course, it wouldn't be Reddit if there weren't some pitchforks. So this is also a great opportunity to be honest, to make sure that in the process of ramping up this product, we had a whole bunch of new employees who were also building this product for us. And so it gave our designers and PMs an opportunity to talk directly to their audience in a very real way. And of course, the trick on Reddit is you have to be honest because they'll call you on it if you're not. And of course your entire common history is out there to see. So if you backpedal at some point later, they're going to catch you. So it's a really good educational experience. We also launched a blog post series to announce our intentions and our directions with this redesign. The real work is to try to turn detractors into advocates in this process. It's amazing how if you actually listen to somebody's complaints and you fix them, they become your biggest fan almost overnight. So it's been this iterative process of making sure that we're able to do that. So, you know, the key part here is to launch to also early adopters. We had an entire alpha tester group that was the first batch. We've actually found users who have been doing building documentation for us and we started actually giving out awards to users as they helped us in this process, which again, not only brings value to the platform, but it also makes the user feel like they're appreciated in the process. So, as I kind of mentioned, we get the mods and as many users as we can in early. We made sure that we basically tried to stay out of their way and let them use the experience for a while and iterate as the rough spots appeared. And when there were cases where there was just a disagreement, we would ask someone for their opinions on other things, like getting rat holes in a single project or a single problem is, is not necessarily a way forward. This is actually a very vast rewrite and so there is a lot of conversation and a lot of surface area. Now, of course, drastic changes here, we need to know that what we are building is actually better, not Just from the kind of qualitative look, this looks prettier, but from the fact that it's actually more usable. We had to make sure that in the process of building new design elements that we had strong hypotheses about what to expect, what we think the user interactions will be, and that we made sure that we had data to back up the fact that what we were actually doing was going to move the needle. You know, it's not very useful if the new redesign is beautiful and it's impossible to vote, or if you find that comments are really impossible to use or impossible to navigate. And again, this is another surface area for iteration. We had a chance to actually make some changes, look at some rough metrics with our test user communities and see that they're actually using the site in a reasonable way. We could do things like see how quickly it was before somebody went to the redesign and decided to bounce back to the old site. And that's a very nice KPI to actually have to try to optimize for on adoption. So with all that, opening day was just about a month ago, and I'm not going to say that it was a totally smooth experience. As always, the things that usually get you are the things you don't quite expect mixed with a bunch of the things you do. The trick with the announcement was to maintain positive sentiment on this as much as possible. And really on Reddit, that's just about talking, making sure that people feel like they are heard. We also found that scaling was a fun issue to deal with. This was a totally new stack in a bunch of ways and it didn't scale up cleanly. So we've been gradually rolling it out, not because we haven't wanted to roll it out faster, but because there was some smoke coming out of the back end. In the process. And, you know, in the process of this, we want to make sure that we not only get the benefits of the redesign, but also the benefits of the community engagement in the process. And this again, I think the theme I'm trying to get across to you is listen and iterate your user base. I'm not saying you should listen to everything they say, but you should at least acknowledge that their complaints are valid. The fact that they are complaining, that's a sign of love. That means that they're afraid that whatever you've built is going to get messed up. And I think that having that conversation is the key way to make sure that you can show you care and also address issues at the same time. For most of the next quarter and rest of the year, we're going to really work on adoption. So we're gradually rolling it out. I think we just about broke 50% in the last week or so. We're also going to start working on things like accessibility and responsiveness. The experience on, you know, we have a mobile web experience, which is an older stack, which we'll be replacing with this experience with some rebuild. We're also thinking about things like, you know, what do we do for visually impaired? What do we do for people who are color blind? And it's not that we didn't want to treat those things up front, but we want to make sure that we got good foundations in place to accommodate those things. We have all the hooks in place. We're actually going to be iterating on those next. And of course, every team now has to build on it. This is our primary product surface. We're not going to throw out the old stack. We're going to keep it around. I'm hoping that some of our current detractors who don't like the new redesign in a year from now will go back to the old site and say, oh, my God, how did I ever use this thing? Which is basically how I feel about it. And with this, with 330 million users, 150,000 hours of work so far, 50 people, four teams, all for one redesign. And so our joking tagline, of course, if those of you know the history read it, we dig it. And I'd just like to say a big thanks to the team here. I'd also like to point out that this work was started by this gentleman here, Niranjan. He basically, lone soldier, built the first redesign over Christmas, just for fun, two years ago. And from that, the entire team got built around him. And we have this wonderful director, Anand, who's been doing a lot of the wrangling and work and dealing with our wonderful and lovely user base. And with that, I'd like to say thanks.
More from Chris

Reddit CTO Chris Slowe: The Engineering Decisions That Built the Front Page of the Internet

Chris Slowe (CTO at Reddit) Fireside Chat at Startup World Cup Grand Finale 2023

How We Are Building External and Internal Communities at Reddit - Chris Slowe, CTO at Reddit

How Reddit CTO Chris Slowe Started His Career | How to Run a Tech Company ft. Reddit CTO






