Hacker News new | ask | show | jobs
by shagie 1097 days ago
https://www.reddit.com/r/apolloapp/comments/9l3ema/apollo_13...

> For some quick math, Apollo has well over 100K active users. The server polls Reddit approximately every 6 seconds, so that's 10 requests per minute per user, or 600 requests per hour per user (assuming they only have one account and one device). At 100,000+ users, that's in the realm of 60 million requests per hour that my server would have to handle, not to mention parsing the results, coordinating tokens, etc. I really can't do that for nothing, so the plan was to offer push notifications with a small fee associated to cover these ongoing server costs.

Yes, that's from 5 years ago. He repeats it 10 days ago in this video.

https://youtu.be/Ypwgu1BpaO0?t=1734 (closer to the actual timestamp, that gives context https://youtu.be/Ypwgu1BpaO0?t=1772 )

> I guess there's an analogy um the way Reddit notifications work just for your inbox like you got a message or something um they work in so far as if I the developer of the app want to um say make sure that you get that notification within 10 seconds I have to be checking Reddit every 10 seconds to go like is there anything new is there anything new? is there anything new? is there anything new? okay. There is okay I'll tell is there anything new and then just repeating that at nauseam so you can imagine if you get a message once a week I'm checking every 10 seconds and then once during that whole week I get that message and then I can send it to you um so 99.99 of those API calls were wasted so we've talked to Reddit like that my friend who works on my server um and myself and I've said like what would be so much better is if we could just kind of keep like a port open with Reddit and say like you just tell us when there's a notification ready and we'll beam it off we don't have to bug you all the time and it's logical right and that's how a lot of services do it it's like an event-based API and um that's just not something reddit's ever uh given us

Note the every 10 second call.

People are likely confusing the "app" with what is installed on the phone rather than the application being the entire system of front end and backend (likely using the same API client keys).

1 comments

Note: According to the published server source code, the NotificationCheckInterval has been increased to 60s sometime in back in March:

https://github.com/christianselig/apollo-backend/blob/b992d2...

Reddit had many years to listen to 3p devs and to it's own internal developers to improve their API. They/Leadership decided not to do so.

Then the push notification server is is doing $0.36/day/user of API calls under the pricing system as described.

Christian would need to change the monthly subscription from $4.99 to probably $14.99 or $19.99 to handle that (and regular daily use and Apple's subscription - though if he wanted to manage the subscriptions through a 3rd party payment processor he could reduce the 30% to 15% for that).

The lack of that, while it sucks, doesn't change that there's a cost with the polling architecture.

Looking at the history of that line (thank you for pointing it out, I'd been trying to work from the notificationsWorker)

    March 16, 2023: 10s to 60s
    Nov   10, 2022:  5s to 10s
...or he could just have tiered pricing.

If he were to optimize his calls, he could get them down to under the new ratelimit, as the Relay for Reddit dev has. Once under the ratelimi, with no notifications, it's a total of $0.78/user/mo.