Hacker News new | ask | show | jobs
by x0x0 1097 days ago
I can't see that.

If a 1.5 person app (Apollo) is handily beating Reddit's app... what on earth is the holdup? Either the eng team is wildly incompetent, or this is by executive choice.

Reddit's inability to deliver on mod tools despite a decade's worth of promises makes me think it's 40/60 wildly incompetent and needing firing vs exec choice.

7 comments

I had proposed this reply to someone else's similar question.

I don't think the current app's design is an accident (i.e. it's not pure incompetence). It meets several objectives:

* Minimizes the user-generated content shown on each page (a couple of threads or a couple of comments), so it reduces the amount of traffic to the server and DB as the user browses around.

* Oh, and it leaves a ton of space for ads, which (bonus) can be served from a separate ad server, further lightening their load.

* Plus, there are Bob Ross-like "happy accidents" like pages jumping back to the top when you go a level up from a thread - going back to your spot can trigger more ads to be shown.

The 3rd-party apps subvert all this, and bypass the ads, to boot.

I think a big chunk of this is prioritization of resources in a way Apollo doesn't have to worry about. I highly doubt reddit has like utterly mediocre/shit devs. I think it's more likely that works are being prioritized in a way that shafts mods (who don't pay money) towards the goals of the reddit company to ipo (more ads and engagement with their first-party platforms). We had stupid shit like reddit coin and reddit gold and random other small features that are primarily to make money on the first party platform. Apollo's spec is much smaller in comparison, in which the users of Apollo are effectively paying for a smoother integration with whatever Reddit already built.
Yeah, but you'd think reddit could pay for 1.5 engineers to get that smoother integration themselves.
By paying for developers who can write good code and allowing them to write user-focused code instead of user-tracking code?
Imagine if you could simply write app code without needing to spend hours of time in meetings, writing analytics for every button tap, or writing dozens of explanations to managers why the app doesn't behave exactly like the web version.
It’s even worse than that, because both apps didn’t start at the same time, or from the same point. The Reddit official app started out as Alien Blue, which by all accounts was a very popular and well-made 3rd-party app itself. Reddit bought it, and then made it significantly worse, and THEN Apollo came out.
It's not unheard of. Back when I worked in a place that forced me to use Slack, I deshittified my experience via Ripcord, which could handle 90% of Slack at < 5% of overhead, while being much more ergonomic, and also doing 80% of Discord at the same time. And that client too was, AFAIR, a one-person project.
It’s a bit of a silly question, right? How come the Pirate Bay with fewer developers can offer me all Disney films but Disney with so many more can only release some from the vault. The motivations are different, so they’re probably working on things that make Reddit make money.

Fine, I'll spell it out: The hard part of making a client is making a client that can retain the money-making portion of an application. It is trivial to charge a small amount for client functionality when the predominant cost is on someone else. The reason you need a lot of engineers building the Reddit client is that they have to deliver the ads, make sure the ads are viewed, and correctly reported as having been viewed. The whole thing.

If you don't have to worry about making money, you can make a front-end to anything quite easily. This is why most HN commenters frequently make the "what's so hard about the Uber app" mistake. The hard part isn't the app chrome. The hard part is making it make money.

That's a silly comparison.

Apollo is a better client. The comparison is Apollo vs the Reddit app, not Apollo vs Reddit as a whole.

That is an EXTREMELY silly comparison, like it doesn't make any sense at all.

We are talking about clients here.

Is it beating the reddit app? What percentage of users use Apollo?
I think you are reading "beating" as higher user count. I read it as better features and user experience. But even in terms of user count, enough people are using third-party clients like Apollo that reddit deemed it worthy to kill them.
did some back of the napkin math with what the apollo developer has said publicly. each user makes 10,000 api calls a month and there are 2 billion calls per month which means 200,000 MAU. Reddit has an MAU around 500m users.
I mean since apollo users are a subset of reddit user your comparison seem pretty mundane.
The article says the average Apollo user makes 345 API calls a month. Using your number of 2 billion calls per month, that’s more like 5.8 million MAU. Still around 1 percent of Reddit’s MAU.

EDIT: Oops, that’s per day! Your math is right, please ignore.

I know several developers, myself included, who are significantly more productive in their personal projects than in their main jobs. This discrepancy can be attributed largely to unnecessary bureaucracy. I have a lot of examples to illustrate this point. In one instance, we found ourselves in a meeting with nearly 30 people, spending close to an hour discussing how long it would take to implement a particular topic. In a typical project, this implementation would have been completed within half a day, employing TDD and incorporating feedback cycles, no shortcuts or hasty work. However, due to the need to navigate through a chaotic development process, involving for examples over 20 microservices managed by a three-person team, this task is projected to span multiple two-week sprints.

Another example: Over a year ago, I decided to explore programming with Python. At work, we encountered the problem of our web-based software requiring users to download PDFs to read them. As a personal project, I set out to build a Python application that would generate individual image files for each page of the PDFs, providing both a preview image and a higher resolution version. I dedicated a few evenings and two Saturdays to the project, and after approximately two weeks, it was successfully completed. Additionally, I created a simple GUI using Vue.js, enabling file uploads and displaying the resulting images. An experienced Python developer could likely achieve the same task in just one or two hours, with an additional two hours for the frontend.

Months later, the company decided to embark on a similar project but with additional extended OCR (Optical Character Recognition), incorporating machine learning to extract structured data from the PDFs. Initially, the prototype aimed solely at uploading the PDFs, with the machine learning aspects simulated. Months were spent discussing, conceptualizing, refining, and revising before the implementation phase commenced. Over a year later (though I have since left the company, I remain in contact with current employees), the first prototype was completed. Users can upload PDFs, and the system generates images from individual pages. The frontend simulates a progress bar, as the microservices run in the background without a built-in monitoring system. One of the more experienced developers foresaw this issue from the start, but management hindered his efforts until he eventually resigned. To date, the machine learning component remains unimplemented.

My last example for now: I recall a situation where the best developer I know was hired by a large corporation as external support. Within a few weeks, he was assigned an easy standard task that any competent developer could handle with ease. Believing it to be a sample project for the standard onboarding process, he promptly and efficiently completed it in less than a week. When he delivered the finished result, his clients were astonished. They had planned this to be his sole project for the next six months and had expected it to take a significant amount of time.

In summary, it is not uncommon for companies to invest months of work and millions of dollars into projects that a reasonably skilled developer could accomplish in a day. Never underestimate the incompetence of some organizations.