Hacker News new | past | comments | ask | show | jobs | submit login
The Evolution of Reddit’s Architecture (2017) (infoq.com)
183 points by Jaruzel on Sept 18, 2018 | hide | past | favorite | 141 comments



The Reddit redesign must be the worst redesign in the history of redesigns.

It's super slow to load.

It's slow to use (Scroll is sluggish. It loads giant images and puts huge autoplaying videos in your face. Comment function now starts an ugly html wysiwyg editor).

It misses features (outgoing links in the sidebars are gone).

It takes away screen estate by having a fixed element on top of the screen that stays there when you scroll down.

It's buggy (often weird overlaps between elements happen when you resize the screen).

It's confusing. When I click on a post I get a view that shows the post in an overlay of the page I was looking at. When I reload the page I suddenly get a completely different view with only the post.

It's almost unusable on my iPad (where I have to beg for the desktop version every time I open it because the mobile version is even worse).

It seems like they are still A/B testing it. Because sometimes I get the redesign and sometimes the original design.

Funny enough, I can see how the redesign might increase user engagement. The endless scroll with content right in your face is kind of addicting. It pulls you in a state of "I hate this. And I hate myself for using it. But I can't stop. I will just scroll down one post further.". So the experience is worse but the KPIs might be better. I bet this is how booking.com became the hell that it is.

I would love to see how the numbers of those tests look like.


That's the problem with the vast majority of modern social networks, they're effectively designed from the ground up as a huge bait and switch: be user friendly to attract a community then become advertiser friendly when the community is well established and the network effects mean that most of it is captive. Even if 90% of reddit users are unhappy with the way the platform is run most of them probably won't consider giving up on their favorite subreddits. It's the same situation with Youtube, Facebook and others, and I'm sure it'll eventually be that way with Discord and whatever other flavor-of-the-year social network is popular these days.

As far as I can tell the only way around that is distributed and/or not-for-profit social networks where the users are actually in charge. MWWA: Make the Web a Web Again.


Yep. Breaking in the presence of "software blockers" (lol) so that you add reddit to your exception list is an evil feature, not a bug.


You don’t have to whitelist all of reddit, just gateway.reddit.com. Unless something has changed, this still blocks ads. Blame the filter lists.


Had Reddit not been sold, it was self sustaining.


I don't think being self sustaining is sufficient if you're a web company these days. Shareholders want growth. Execs whose bonuses are indexed on growth want growth. It's always more, more users, more ads, more engagement... Why earn one million when you can earn two? Who cares if you're the new Digg if you could be the new Facebook instead?


It's easy enough to be a 100% private social media company that isn't solely driven by maximizing profit. Some things are worth more, and these companeis are free to pursue them without the hassle of shareholders. Of course, these companies are typically bootstrapped, but still.


Has Reddit been sold again?

Things were arguably better under Condé Nast. once they bought themselves from Condé Nast, they raised VC and all the dreams that go with it


Agreed. And I wouldn't consider myself to be nit-picky regarding design, as I mostly read Reddit for the content in specific subs.

Despite some questionable design decisions my main grip with the new design is that it often just does not work at all. I rarely alter default options in software but I had to use old.reddit.com quite often to even use the site:

  - sometimes the whole page does not work because of cookie issues
  - sometimes posts don't load (I have to manually refresh)
  - sub's sidebars missing: there was often useful information (might be the job of the moderators though)
  - unable to do local search (CTRL-F) due to endless scroll
Regarding my last point, Reddit is not the only culprit and many websites unfortunately switch to this style - hopefully at least Google keep their pagination - but I find it terrible.

With traditional pagination you can CTRL-F for keywords, go to the next page, and repeat the process, but with endless-scroll content is usually loaded dynamically depending on your viewport, so it's nearly impossible to search in a reliable way.


> sub's sidebars missing

I'm a mod for a few subs and for that reason was forced to start using the new UI. Most of the sidebar can be developed to look and work similar to the old markdown sidebar, but without all the custom css styling.

I see the new UI as the a less dramatic version of myspace as the old, and facebook as new.* This includes but not limited to stripping out custom CSS. (You don't have to be a front end developer to style your sub anymore.) The reddit ecosystem as a whole will now look and function much the same everywhere. Some sub designs were getting out of hand. This gives Reddit execs and admins much more control and the lowly mod a lot less.

Alas the reddit mod is further relegated the jerk the community maligns for setting arbitrary rules and unfairly limiting free speech. Also a lot of the mod tools are streamlined, link/user flair, user access/banning, etc. I really don't like the look and feel of the new UI and after a month of constant use still prefer the old UI.

*(Avoiding any reference to dig 4.0)


> Some sub designs were getting out of hand

Hey, /r/ooer is a treasure, and the redesign is a lesser beast for not allowing its like!


Exactly. There are often times where I get a blank page and have to refresh. Combine that with the fact that CPU usage is way higher on the redesign for me, and after about a month or so of testing it I reverted to the old design.

The fact that Reddit even considered making this the default design for logged out users is laughable.


There are ways to have fast scrolling while maintaining ctrl-f compatibility by rendering a lightweight text-only copy of the content outside the viewport. It's unfortunate most websites don't bother doing that.


It actually takes so much space away with "get app" nagging that I've got about 2 lines of text for actually editing a post. Which is then not properly scrolled into view so you're basically editing blindly.

What's also confusing is that when you're pressing the "send" button, it doesn't give feedback until after about a couple seconds or so. Meanwhile, thinking it didn't "take", you're frantically pressing "send" again a couple of times, which results in as many posts because reddit also doesn't have double-post suppression. Makes you really look like an idiot.

Hint: aggressive "get app" placing actually signals to never, ever load the app. I can't believe reddit's strategy of making the mobile web experience so annoying that folks are giving in to install the app is a winning one.


You can append ".compact" (e.g. https://www.reddit.com/.compact ) to the path to get a much better mobile experience.


This thread in /r/dataisbeautiful seemed to indicate most people hate the new design and avoid it (old.reddit.com) - https://old.reddit.com/r/dataisbeautiful/comments/9e4gvn/red...


7k data point here basically means 7k people that care enough / dislike the redesign enough to be involved in the poll to begin with.

How many users each day doesn't give a hoot about the redesign? 100's of thousands?


I'm a mod of a small subreddit and during the last 3 months around 10-15% of our visitors used the redesign, 20% browse on mobile, 30% use an App, and the rest use the old design. Engagement is highest in the Apps.


anecdotally, everyone I know primarily uses apps. sometimes multiple apps for various different use-cases. I fear the day reddit closes its API...


Thanks for sharing this. I use Reddit primarily on an iPhone using the app. I find it enjoyable. Kudos! I like the new React web site as well visually but agree with the usability issues noted here. I have to manually clear all my cookies to be able to login.


Mine is different. Majority are on desktop. Old reddit on the sub is a small share.


I like that your link is to old.reddit hah


Haha I didn't even notice that, I'm using a chrome plugin to force old.reddit


I still use i.reddit.com on mobile because its a fast good experience


> The Reddit redesign must be the worst redesign in the history of redesigns.

Welcome to the user-friendly to ad-friendly switch.

They went from being a tech-oriented/friendly company to a news-style company as soon as they were bought by a publisher.

An HN post a few days.

"Why Are Newspaper Websites So Horrible?"

https://news.ycombinator.com/item?id=17942237

It's not just the horrible redesign. Reddit changed for the worse in every way possible. The quality of content is pathetic. All you get is just political ads pretending to be reddit content and reposts. But the biggest disappointment is their change in ethos. Reddit used to support free speech, now they support censorship just like most publishers and media companies.

When digg screwed up, we had reddit to fall back on. Now that reddit screwed up, there is nothing else to fall back on.

"nothing gold can stay."


Reddit is so astroturfed now it's not even funny.


Lots of redditors are coming here, unfortunately


Several of the subreddits I mod make extensive use of CSS decorations. It's simply impossible to construct anything similar with the redesign. There are also so many missing or broken features that are in a state of flux it's hardly worthwhile to put forth a lot of effort attempting to do so.

Moreover watching the traffic stats it's clear that the majority of users access Reddit in the communities I care for do so through mobile apps where not only is it impossible to do nearly any form of differentiation, it's difficult to communicate community standards or other info, like FAQs to casual users.

So currently the most functional user interface that can effectively communicate all features available to communities is the old desktop one, which by design is now the least used. It's a farcical disaster.


Everything is going mobile so you can't fault people for using a mobile app. FWIW I think there is some variety in reddit mobile apps.


Access is going mobile. I would make (the uneducated) argument that most people dont want to install your app, they just want to access your site from a mobile browser.

I hate getting 5000 worthless push notifications and cluttering my phone with a bunch of apps.


While that might be true in general, I don't think it's the case with reddit. Most apps offer significant advantages over any browser-based approach. It's possible that a browser-based reddit client could offer many of the same features, but so far, AFAIK, that's not the case.

For HN I use a web app, and it's good enough, but sometimes I wish I had a client that offered as many features as the reddit apps I use.


A lot of people, myself included, won't install an apps unless it brings value over the website. When you look at it that way, very few apps make sense for the user, most of them are built to capture information about you.


Oh... I'm not faulting users for terrible and woefully incomplete UI design.


I just use desktop on mobile.


I'm an avid reddit user but I completely agree with you. The redesign is outright horrible to the point that if they stop allowing the old design (old.reddit.com) sometime in the future and force me on the new design I will most likely just stop using reddit.


I am on the exact same bandwagon.


While I share some disdain for the redesign, I usually forget that it exists because I'm always logged in and never opted-in to the redesigned site.

Let's at least praise reddit for having the sense to make the redesign opt-in.


I never opt in to anything and somehow my account got permanently opted in (as in none of the opt out links work and I have to use a browser extension to keep old.reddit). Further, based on replies to my gripes, this seems to be a common state of affairs.

Don't praise them just because you're in the control group ;)


That's strange. You don't have any 'old reddit' options in the settings? I wonder how that came about... How young/old is your account?


I do have the setting. It doesn't work (well, it "works" and then reverts). 6 year old account IIRC.


Wow, is this really the case? If so, that is really bad and this is worthy of some of the concern/frustration.


Yes, it's really the case. We wouldn't need browser extensions to force old.reddit if the opt-in/opt-out obeyed our wishes.


Many things start opt-in and later become the only option


Definitely, and I think that's very likely reddit's goal here. But I also think they have enough sense to not make it mandatory or opt-out anytime soon, since there are so many complaints.


Same here. I starting seeing front page posts about how much everyone hated the redesign and I had no idea what anyone was talking about. It's a total non issue to me.


It is still a beta so I hope that some of the bugs will be ironed out.

However, it is frustrating because everything now takes an extra click. Mulireddits, changing from hot to new, or top all used to be right there. Now each of them are hidden behind a dropdown menu. I mean is Big Mouse an investor in Reddit and trying to make our mice wear out twice as fast?


The executive(s) who were/are responsible for their re-design must be shown doors.


Unless Reddit's userbase is shrinking (share value drops), they'll shove their re-design to all users' throat. I guarantee it.


They keep saying they will never disable old.reddit.com.


I think you're looking at the re-design from a user-experience perspective, and this is probably wrong. Think of Reddit as a for-profit company, and then consider what that company might want out of a re-design. They'll talk in public up one side and down the other about making it a friendlier place and easier to use, but ... consider some alternative motives.

What might those be? I suspect some VERY important goals of the re-design are:

INCREASE USER ENGAGEMENT - get users to stay longer, and if they leave, make it less permanent ... tactically:

• all external links open in a new tab now

• infinite-scroll

• simplify subreddit / multireddit management

INCREASE AD VIEWS & AD CLICKS - with users more engaged, monetize their attention:

• make subreddit designs far more uniform, with fewer CSS tricks to really change the layout / experience

• make it difficult / inconsistent (!) to try to do some impressive CSS design, to discourage subreddit managers from taking layout changes beyond a certain threshold

• make the "post" ads just a little less obvious and a little more enticing

• make the "post" ads far more common than before

---

I could be wrong on all these. I suspect I'm right on several.


>I think you're looking at the re-design from a user-experience perspective, and this is probably wrong. Think of Reddit as a for-profit company, and then consider what that company might want out of a re-design.

But I am a user, how is it wrong that I don't prioritize the business goals in my assessment of the redesign? Their goals are obvious, and the person your replying to already acknowledged them anyway.


> It seems like they are still A/B testing it. Because sometimes I get the redesign and sometimes the original design.

https://old.reddit.com


> The Reddit redesign must be the worst redesign in the history of redesigns

www.digg.com


considering how much larger Reddit has become than Digg ever was, if the redesign becomes mandatory and if it causes a mass exodus, this one would be worse.

The question is if these two things will happen, of course.

EDIT: another avenue of foot-shooting might be closing the API off from the unofficial reddit apps.


Digg was much much larger then Reddit. Then the redesign happened (They also had people gaming the scoring system which soured the waters) Digg died in a few months.


There seems to be a lack of really viable alternatives for an exodus to happen toward. If Reddit is the new Digg, who is the new Reddit?


Were you there on the Slashdot redesign?


Slashdot on iOS: no back button, no url bar. Perfectly unusable.

No idea why they don't remove the web app meta tag. It's terrible. Slashdot is literally unusable if you add it to your home screen.


Haha, yeah. I can't remember it well, but I think that one was not great either.


RES offers endless scroll and it works on old Reddit just fine.

Sidebar content is often gems. Seems foolish to ignore it.

Like a big middle finger to communities.


> The endless scroll with content right in your face is kind of addicting.

I think this is why Facebook, 9GAG and others are popular. People just want to binge content with the least amount of effort possible.


It broke scrolling to the point that my favorite Chrome extension Vimium had to special case the reddit redesign.



The endless scroll view looks exactly like 9Gag. I never thought I'd see the day.


Reddit is the only major site I know which is regularly (well not so often, but often enough for me to realize) unplanned, and planned, downtime. Makes me wonder whether their architecture is really something to follow.


I've always thought some sort of straightforward partitioning strategy, even the simple one from Building Scalable Web Sites[1], or the Instagram model, would fit pretty nicely over most over multiple Reddit product dimensions -- partition by subreddit (with special instances for exceptionally busy reddits), partition by domain, etc.

[1] Hard to believe that book came out 12 years ago

edit: s/shard/partition


I just realised that this is especially interesting, given that they're one of the most steady-growing major sites, at least if this reddit post is anything to go by [1].

[1] https://www.reddit.com/r/dataisbeautiful/comments/87q8pn/the...


Without even looking at architecture, they went from lisp to python to node. While I certainly wouldn't have chosen any of those languages, it seems like every step they took was a step backwards. What's next, tcl/tk?


Why is that and which language would you choose? I am asking because I want to get into web development and started learning React + NodeJS recently.


React and Node are well engineered and in demand, plus you can even use it to build mobile app with React Native, which is in demand too. Don't listen to advices from anonymous random guy from the internet, doubt even me.


Keep learning those two, they are valuable in the job market. Don't lose core focus on language (js) vs framework/tooling. Knowing the core language is the adaptable skill.


The talk is about the journey more than the destination.


The redesign effectively ended my use of this site completely. It is so slow and agressively user hostile, it blows my mind anyonw would want to 'learn' from it in any way but avoidance.


Old.reddit.com

Bookmark the version of your favorite sub-reddits for mobile use.

Manually edit https:www.reddit.com/post to old.reddit.com/post

OR

Use a chrome or Firefox extension on PC to automatically redirect reddit URLs to old.reddit.com version.

Problem solved for now


You can also opt out in the user settings if you have an account.


The great irony here, is that Reddit is making the same foolish mistake Digg did with a redesign, costing them their entire userbase, and propelling Reddit.


The difference, though, is Reddit has no peers. The closest I'm aware of is Voat, which is basically the Isle of Misfit Toys for Reddit's banned hate speech subs.


Eh, I didnt really need a "peer" to replace reddit. After the redesign I just stopped going for the most part; I'm here or on google news if I'm just killing time. I'll still search reddit if I want to see a discussion about a specific subject, but even then I'm mostly looking at 1-2 year old threads. I feel like the content is in a feedback loop with the redesign, and they're both killing the host.


Not sure your age, but I think a lot of us are just growing up, and we're seeking more stable, intelligent news sources. I stopped using Reddit a couple years prior to the redesign. HN and Google News satisfy my news niche as well.


Out of curiosity, why Google News specifically? I stopped going on Reddit and mostly come here or glance at Twitter for social media. If I want news I normally go to a specific outlet's website.


Going to specific news sites always ends up with that feeling of being "captured" and hearing my own opinions repeated back to me. I'd rather read a handful of Fox News articles a month and consider if they have any valid points than just dismiss them entirely.


Spinning up another Reddit clone, with some nice new features is trivial at this point. You provide a reason for someone to spend time filling a void, and they will.


Very tricky. Reddit is an awesome website not because of any technical reasons. There are both HUGE and very niche communities in reddit. It's really hard to get them. This is not a CS problem, this is a sociology problem.


I always say Reddit is a combination of terrible content from Facebook, the comments from Twitter and the redesigns from Snap and Digg.

I've actually gone back to Digg for interesting stuff on the web. Interesting content, no comments and it usually has about 20-40 articles a day so I dont feel the need to check it every 5 minutes.


> combination of terrible content from Facebook, the comments from Twitter

This just shows how little you actually use or understand Reddit. I'm not sure what I'd do without subs like r/economics, r/badeconomics, r/math, r/learnmath, r/programming, r/<insert programming language here>, any number of friendly and welcoming fetish communities (that aren't just about posting porn), r/fitness, r/keto, r/running, r/weightlifting, etc.

Reddit is just an unrivaled, incredible place where information is gathered and opinions can be shared and support given.


Agreed. I've learned incredible amount from both Reddit and Hacker News. It's all about proper content selection.


Was that from actually using Reddit daily though? Or just Googling, and using Reddit as a result?


How does that matter? If the information is gathered on Reddit in an accessible, helpful and easy to understand way, it doesn't matter whether you get there from hacker news, SO, google, bing or through browsing Reddit. It's still on Reddit.


I just watched the entire video and it was very informative. Fwiw most of the comments on here did not watch the video and seem a little uninformed. The node apis were built by a small group of front end developers and most of the pulled out services they're building are in python .

There were also a lot about message queues, cacheing, and ops related things in the talk.

I definitely recommend watching the entire video if you're interested in high traffic architectures.


While those basic strategies are technically good for scaling, I think the other commenters have a very valid point: it seems a lot of folks say, "no, this strategy is not something that appears to be working because the site is slow, buggy, and, oh, did I mention slow."

I think many folks consider scaling and fast a success and scaling and slow/buggy a failure. Who wants to emulate failure?


(Based on the transcript, thanks for providing that, I don't have time for videos)

The summary would seem to be that the first generation of developers built a monolith. A reasonably well scaling monolith, but only up to a point. Newer developers fear the blob and prefer Node to Python, so new development has been done in a cluster of menhirs of node around the python monolith.

The monolith suffered from lock contention because it was inadequately sharded across subreddits. They have now addressed this.

(Not mentioned: the redesign which shifts a large amount of CPU usage onto the client)


If I were to design reddit I would have enforced the following rule to handle their scaling problems. You cannot touch the database when you are reading the homepage. Instead every minute we generate the canonical list of ~500 links that is "reddit". Cache the html for that and throw it on a CDN. The "next" and "previous" timestamped links should reference when it was first loaded so you can continue paging and avoid the duplicate link problem. You can cheat for logged in users by loading in their data after page load with JS, but the site would never fail entirely if it were overloaded. Votes should never affect another record, they should always create a new record in your datastore to avoid locking problems.


That's exactly how it has worked for 10+ years. If you have no reddit cookie, the site will never be down (unless the CDN has failed too).

The problem is that when you do have a cookie, until recently there was no good way for the CDN to know if you needed data from the servers or not, so all requests with cookies got forwarded to the servers. In most cases, you'd still never hit the database on a home page load, except possibly to read your user data out and find out what subreddits you subscribe to. But you may have a failed page load because the servers were overloaded for other reasons.

I believe they are now fixing this by doing more on the frontend, allowing for caching of logged in requests as well.


Cool glad to hear from an insider about how things are/were run. Do you have any more insight on what your performance budget is/was for a typical request/response cycle? We aim for sub millisecond response time at the 99th percentile.


I haven't worked at reddit for seven years now, but back then, we didn't have a performance. budget. We tracked median and 99th for each api call, and then made targeted optimizations for the slowest requests, but we didn't have the resources to set a specific budget. The goal was just to make sure that the most popular requests remained as fast as possible and didn't get worse over time.


I think you are really confused here.

The problem with Reddit isn't the subreddit home pages it's the article comment pages. There are so many of them, people routinely comment/upvote months old articles and the distribution is unpredictable so it can be difficult to know what to cache.

And there isn't a datastore on this planet that could handle an event log like what you are proposing. Reddit would receive hundreds of thousands/millions of votes a second.


"Reddit would receive hundreds of thousands/millions of votes a second. "

Nitpick: According the the article, they receive 75 million votes a day. If their traffic was evenly distributed (which of course it isn't) that would be less than one thousand votes a second.


Nah definitely not confused about the architecture, it's fairly simple to wrap your head around. What I'm advocating for is making the general site semi-dynamic instead of fully dynamic. (Break expensive caches at regular predefined time intervals instead of every time data changes)

The key insight is that reddit still functions as you expect if you are seeing stale data from other people so long as your posts/comments/votes are visible when you navigate.

Shard the databases by subreddit and you will be able to horizontally scale the load. Use JS to post to a separate subdomain for each service. I.E everything under www.reddit.com/r/funny points to funny.reddit.com which can live as its own independent service.

Internally I would treat reddit as a group of individual high traffic sites instead of one massively trafficked site. Then you have another service that queries each site to build the main page.


  Shard the databases by subreddit and you will be able to horizontally scale the load. Use JS to post to a separate 
  subdomain for each service. I.E everything under www.reddit.com/r/funny points to funny.reddit.com which can live 
  as its own independent service.

  Internally I would treat reddit as a group of individual high traffic sites instead of one massively trafficked site. 
  Then you have another service that queries each site to build the main page.
this is terrifying to read, in that this is exactly what the media companies did for the last decade to try, and totally fail, to compete with facebook.

having a unified platform is a competitive advantage.

also your "sharding and subdomains" trick is straight out of 2010 and a mix of irrelevant (everything's sharded now) and anachronistic (h2 is everywhere now).

also-also, you clearly have missed the best use case of reddit, which is to have unsub'd from all/most of the "default" reddits and replaced them with your own customized set.

you are optimizing for everyone reading the same thing (newspaper homepage) not everyone reading their custom thing (social network). that has been a proven losing strategy for a solid decade now, you could argue 2.


Everyone is reading the same thing on reddit, just different combinations of the same thing. Reddit is just a combination of multiple newspapers masquerading as a single custom newspaper. No reason why the internals should leak to what is shown to the user. You could keep the exact same user experience that you have today and guarantee that the site never falls over.

You need to make the distinction between UX and Operations. Everything the user sees still lives under the same structure as today but internally it is structured so that you don't overload yourself and if you do fail, those failures are isolated and don't take down the rest of the site.


  Everyone is reading the same thing on reddit, just different combinations of the same thing.
this is categorically untrue, you don't seem to understand reddit.

  Reddit is just a combination of multiple newspapers masquerading as a single custom newspaper. 
that is exactly the anachronistic thinking that leads you down this path.

its movable type vs wordpress all over again. wordpress won.

the engineering constraint of pre-calculating caches is worse, in the long run, than the occasional outage for casual/non-logged-in users. its optimizing for the wrong audience, it is a long slow path to failure.


We're taking a sort of hybrid approach to this on https://threadbase.io, where you can get a subdomain for your community (or custom domain in the future) and put your own ads in (so moderators can make money). Eventually we'll create a shared homepage for site creators who opt in, and allow you to filter communities you want to see there.


> the distribution is unpredictable so it can be difficult to know what to cache.

Reddit's data is shockingly small[0], cache eviction should be a non-issue as it would be trivial to keep it all in ram.

[0] https://www.reddit.com/r/datasets/comments/65o7py/updated_re...


What I'm advocating for is not to cache in RAM but as a file in something like S3. Build the full HTML page for a time period and store it as a blob, serve it to the user and have JS take over on the front end. You can use local storage to cache information on the client's computer and purge that cache after another predetermined time period.

This way you are reducing the number of times you are busting the cache unnecessarily since it doesn't matter if you are getting up to the second vs up to the minute updates from reddit.


That seems like it would totally break the model, where you subscribe to sub-Reddits you want to read and don't subscribe to ones you don't want to read.


As written it would, but you could trivially adapt it to the subreddit level. Cache each subreddit the same way, then coalesce the results dynamically, which would still remove the main bottleneck of connecting to the db.


So we are keeping thousands of subreddits cached that then get dynamically composed together to determine an individual users front page? How did we just not create a second database?


I'm basically advocating for a system similar to Erlang Term Storage (ETS) but for those who don't use Erlang. Given that rewriting reddit in Erlang/Elixir would be unpalatable we can take the lessons from how other systems maintain high availability and apply them to our environment.


If I understand you correctly, there’s a new row entry for every vote ? I


I would absolutely expect every vote to be recorded in a row with at least up/down, by whom, and when. You can browse your own votes on posts, I don't know if there's a way to browse votes on comments.

https://www.reddit.com/user/USERNAME/upvoted/ https://www.reddit.com/user/USERNAME/downvoted/


You realise that Reddit is over 10 years old. There would have been trillions of votes since then.

What database are you thinking that could store all of those and then I assume aggregate them ? Kind of curious about this proposed architecture.


Postgres. And that's exactly how it has been. Every vote is a row that gets post-processed.


Wouldn’t that database be just positively massive? How fast does the database grow?


I would expect vote sums to be stored separately, you don't need to query a table containing all votes on every page load any more than a bank needs to query all transactions to show your account balance.


I hate using Reddit on mobile. I’m generally reading on a bus or train in Safari and it will virtually force me to use the app. 90% of those times it will open the store instead and maybe want to update the app, or I’m not logged in so I will have to take a few minutes to reset the password, even though I’m logged into the web app. If the app does load it’s slow and buggy. I wish I could make the mobile web page the default.


Have you tried 3rd party apps? On Android I use Relay and it works great, I assume on iOS there are similarly good apps.


Thanks for the tip, I'll investigate


reddit.com's time spent on each request and uptime are shameful, and they are not getting any better after the redesign.


The redesign is such a horrible user experience, the day old.reddit.com gets shut down (assuming there is no Desktop program that comes close in quality to the mobile app Apollo) is the day I'm going to stop visiting.


This same sentiment was echoed just as strongly after the last major redesign (when they went from straight text to adding thumbnails and more whitespace).

The majority hated it, rebelled against it, said that the change in the way content consumption was focused on images more than text would push out quality content in favor of image macros that can be voted on quickly, that the quality of the people using the site would drop, etc, etc.

10 years later, I still feel all of those concerns were valid and correct, however these changes did not hurt reddit, and in fact the company grew by leaps and bounds.

And even now, I still share the same sentiment as you and others, but I think whether or not these changes are actually detrimental to reddit as an entity are yet to be determined.


I think the problem is that people always, without exception, hate UI/UX change, and companies know this and have learned to just ignore the objections of their users. Every single change to the Facebook UI/UX, every single change to Windows UI/UX, is met with an enormous backlash from users--"I just want it to look and work like it used to!" Then the next redesign comes around, and lo and behold, now people are attached to the current design that they previously hated, and now hate the new design. Tale as old as time.

I've never been like this. I've actually really liked virtually all of the widely panned UI redesigns over the years: iOS 7, every version of Windows, every evolution of Facebook.

However, there have been 2 redesigns that even I didn't like: the Digg redesign, and this Reddit redesign. Both are objectively bad. We know what happened because of the former. It remains to be seen what will happen due to the latter.


> I think the problem is that people always, without exception, hate UI/UX change, and companies know this and have learned to just ignore the objections of their users.

I think this is only partly true.

Most of the time new designs come with a few side effects like being really slow or buggy, but then over time those things get ironed out.

For example, the new gmail UI is a nice improvement but it's buggy. Clicking into an email won't flag it as read if you leave the email quickly so you end up with a bunch of unread emails that you actually read which in turn makes me hate the new UI due to a bug. I'm concerned because this was around way back when they announced the opt in beta and it's still not fixed after forcing it on users.


A redesign of a system you use regularly and have some sort of personal attachment to is like someone sneaking into your house at night and rearranging the furniture.

I work for a major UK community site and we get a furious backlash against even the slightest of changes. And sometimes against things that users think have changed but actually haven't.

(Very) generally we as humans hate having to think. Figuring out a change to something we use regularly means all our automatic shortcuts no longer work and we have to start paying attention.

It's like how annoying it is when they keep moving stuff round in the supermarket but *100 worse.


Yes, but nobody would want to go back to Windows 3.1 now, and new users get put off by old-looking pages. There can be real advantages to those redesigns.


There are good and bad redesigns and there's hyperbole. Most of Windows/Facebook/iOS outcries are hyperbole. Reddit's new design is just bad. For a good example of a slick modern redesign look at new Gmail.


Right, agreed, the Reddit redesign is just bad. But the fact that probably 99+% of any UI/UX changes result in an uproarious outcry from users, even when it's not bad, probably results in these outcries simply being ignored.


>I've never been like this. I've actually really liked virtually all of the widely panned UI redesigns over the years: iOS 7, every version of Windows, every evolution of Facebook.

Same. And I still hate the new Reddit. Not because of the new design but because of how slow it is and because they have shifted CPU usage from their servers to my computer.


Yeah, the new reddit is just objectively bad. It frequently fails to load content for me at all. Terrible user experience.


This I think, is the truth of it. Reddit is becoming a lower and lower quality platform, providing less value to users. However each of these moves reduce the barrier to entry (thus increasing user base) or provide value to those who pay them. Often both.

Reddit as a business does not want to be a discussion platform.

In my opinion it will succeed, but it does so whilst providing mixed value to me, it has destroyed many small communities by amalgamation and then normalising them.

Subreddits related to my core interests are useless. Overrun by an endless stream of amateurs and the lack of a consistent user base makes it draining to use and fails to reward involvement at a high skill level (where you need to make repeated connections with others at a high skill level and break the norm).

However subreddits related to passing interests are brilliant, the provision of novice level instruction is very common and normally of high quality (due to catering to a constant stream of newcomers and a tendency towards the norm).

Reddit is group think.


I can see your point. However how much of that is because of Reddit's decisions in contrast to how the internet itself changed from geek niche to mainstream?

Over the years I feel like the entire experience got worse and I might even go so far as to put in question if it isn't a net negative for society. The flood of shallow and biased information has pretty much killed quality in every platform. The signal to noise ratio is abysmal. Hate mongering is rampant world wide fueled by social media.

I don't think society is mature enough and ready for this much level of interconnected discourse. Yet here it is. It will be a while until we adapt I believe.


> however these changes did not hurt reddit

Maybe not in numbers, but the user base changes. Users who value in depth conversations may feel alienated by the changes of reddit, pushed away by such a redesign.

I also feel very much alienated by the pushy (almost dark pattern) "use our mobile app" popups on mobile. AMP made that even worse, before that my phone asked me if I wanted to open my reddit app (not the official one), now I get the mobile AMP page with a big "Continue" button, which does not continue to the mobile page, but to the official apps store page.

Reddit moved its focus away from discussions, towards beeing an advertisement platform. I've quit it because of that


>Maybe not in numbers, but the user base changes. Users who value in depth conversations may feel alienated by the changes of reddit, pushed away by such a redesign.

If the end game for reddit is making advertisers happy it probably doesn't matter much.

>Reddit moved its focus away from discussions, towards beeing an advertisement platform.

It was always an advertisement platform. It's the entire business model. They just needed to be more subtle about it when they were in the bootstraping phase not to drive people away. Now that they managed to reach the critical size where the network effects effectively means that a large portion of their user is captive they can move to monetizing more aggressively.


I guess they learned from Digg to not do a massive rollout.

That way the new mild users who don't know the old design start invading the site and the day they delete old.reddit they'll only lose a minority of users.

IMHO the real bad change the last few years (leaving closing subreddits aside) was the removal of the number of upvote/downvote.


> 10 years later, I still feel all of those concerns were valid and correct, however these changes did not hurt reddit, and in fact the company grew by leaps and bounds.

I didn't care much for the thumbnails and changed my preferences to disable them. Even though I agree that image macros/memes diminished reddit's quality I must confess to being a party to consuming (and upvoting) these posts. HN fills this gap well, IMO.

IMO this new redesign is different from that one. That one was much more cosmetic. Impact-wise, this is somewhere between when they added support for comments and that thumbnails change. The pace of the page rendering / reaction is significantly different from the baseline and it changes how we consume reddit.


I don't think it's quite the same - this redesign takes so damn long to load. I'd be okay with it if it was snappy, but I takes over 5 seconds! Each page has mostly text!


Users aren't going to bounce if there's a CSS change. They are when a page takes more than 5 seconds to load though.


I've been using reddit for almost a decade. I've found many people on reddit saying that if it wasn't for the redesign (and the mobile apps) they would not be using reddit. It surprises me to see that some people like it; it made me realise this will mark a very, very big demographic shift in the website. Many old users will leave, and many new users will come. Whether that's for good or bad remains to be seen. I think the original spirit of Reddit may end up disappearing, but I don't think that's something that is worth saving, as redditors and their culture are crap.

You compare it to having added thumbnails and whitespace, but this is a complete site rewrite, both in the backend and the frontend. Nothing to do with what you mention.

Personally I will also quit once they force us to use the redesign because I find it to be slow and, let's say, not "productive" enough.


I question whether there is actually a "spirit of Reddit;" it seems like a clearinghouse of wildly different communities with different values and tastes.


Reddit could really do with a NNTP gateway. It's basically a centralised usenet with voties anyway.

Sure, you'd probably lose the option to vote on posts, but for the subreddits I frequent I don't really care.

It would also let users use a client of their choosing and never having to worry about ghastly site updates again.

Maybe I'll eventually get around to it, but for now old.reddit will have to do.


reddit video is particularly dreadful. I usually skip the link if it's reddit video.


I have a Greasemonkey script that hides all v.reddit.com posts.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: