At the scale of reddit, and because this is how they make their money, this is clearly something they want in house and something it would be a competitive advantage to control, if nothing else it gives them a much clearer conduit to their advertisers, and much greater control over things like ad selection.
More-pertinently, I wonder how many of the developers of reddit's new ad system themselves have ad blockers installed. Do any of them actually see the results of their work?
They had a misbehaving ad (downloaded a ton of "stuff" over and over and over). I reported it on one of the their support subreddits and was told "don't recognize the add urls. scan your system for a virus". It was a pretty good error report too (screen shots, console log, etc).
Installed ublock origin that day and haven't looked back.
But even then, I whitelisted reddit.
So my guess is yes, they see the output of their work.
It may appear "emotionally driven" because my experience with reddit ads has been terrible. I struggled through it, i followed the example ads, i created very topical ads and when i finally got all approved and done, they just didn't perform well either. I talked with peers in the industry and they all avoid reddit ads for the most part because of similar experiences. I haven't spent any money with ya'll since that bad taste experience.
for me, it would just be easier to site target reddit through google and do adwords for desktop/web traffic.
The editorial review literally feels like some redditor judging your ad on personal opinion vs an editorial review for passing some kind of targetable creative process. That's a terrible way to treat paying customers and i don't that experience on any other market i advertise on.
Internally there were some napkin math and found out while the 3rd parties would save development time the returns of implementing features their customers were asking for now instead of waiting for 3rd party company paid for them to hire 3x the engineering staff the 3rd party company even had.
Size matters, Reddit is at the scale of tiny percentage gains, if they control everything and can drop a standard 90ms down to 10ms and that converts to a couple of percentage points on their revenue it is worth it.
Talking from the experience of building out a system that handled +1B impressions a day, the actual ad serving isn't challenging at all these days. Reporting and ad setup from the user is much more challenging.
10ms, after request processing, ad selection logic, and faster-than-light packet travel? I think that's far too optimistic of an improvement. As the post said, 30ms was the goal. My adserver delivers in 20-40ms. But since ads are routinely loaded asynchronously, is speed concern truly valid? The adserver can usually make a selection and deliver before the content is fully rendered in the browser.
> Talking from the experience of building out a system that handled +1B impressions a day, the actual ad serving isn't challenging at all these days.
If you developed a system that delivers 1BB impressions per day (most large scale ad networks deliver only a modest multiple of that number) and didn't find it challenging, then it's either a very simple system or you're Elon Musk ;) That's 12k requests per second, generally uncached, hitting all sorts of internal services most likely.
I'm just saying that I think Reddit's best bet is to offload the task to a company that works on these problems full time. Or acquire one like AOL and Facebook. Unless the use cases are so unique and key to the company's future plans, avoid building in-house. And if you have to, perhaps it would be a larger effort than a 3 person team developing the thing in a language that the company never used in production before.
I know it isn't the actual ad delivery itself but don't have public docs for that :(. Here is the ETL layer to back up claim: https://docs.google.com/presentation/d/13x_wdXA_C9ZymA2gcjsb...
But yeah, it should be loaded async. Been a while since I worked with ad stuff, but I thought 10ms-20ms sounded more likely.
More/faster hardware can obviously help, but since everything's async from the browser's perspective you tend to run into higher costs and diminishing returns by pushing for the lowest latency possible.
They're one of the largest websites in the world now, so what holds for 'ordinary' websites and their best practices may simply no longer apply to Reddit.
The whole Reddit saga for the last few years is quite the story of turnaround management done well.
But then I was thinking that if it's going to be so important, why a 3 person team with no experience running Go in production?
It'd be like writing Apache or Nginx from scratch. It seems simple on the surface and then you wake up to all kinds of inconvenient and unexpected technical challenges.
I'm not sure Reddit's engineering resources are best allocated to building ad serving infrastructure and software. It was going to be an ongoing headache from the start, and worse, it sounds like it was build with a language and stack that was fairly new to the team.
My prediction is that it will become a high cost and difficult to maintain project that will also prove difficult to hire for when this engineering team gets tired of working on the (currently new and fun, soon to be old and scary) adserver and moves on to other jobs.
My point being that some challenges are best left to third parties who make solving some problem its full time job. I truly do not say that out of bias, just experience building and managing such a complex system.