Live data from Hacker News

Making Direct Messages Reliable and Fast

instagram-engineering.com

21–26 of 26 posts

Re: Making Direct Messages Reliable and Fast

#21
post #4

This seems a lot like an eventually-consistent database. I think you could accomplish something similar with something like CouchDB or Firebase that provide conflict resolution between local and server state automatically. I'm wondering what the advantage is here?

[deleted]

Re: Making Direct Messages Reliable and Fast

#22
post #8

If the order of requests are retained, does it mean that if ‘mark thread as read’ request somehow fails on server side, all other requests will wait for it to be send until it gets success from server?

In my experience it is reasonable to wait in the sense that it's basically a middle layer where all the requests pass through. Also, if, as an example, there is a missing connection, you don't allow people to keep doing things. We did it on our app but you can see the same on FB app where you see a "lost connection" alert.

For timeouts etc ok, but one serverside call failure, shouldn’t hang the all application.

Re: Making Direct Messages Reliable and Fast

#23

Earlier quoted context omitted.

It’s also rough when building new applications. Instagram/Facebook level UX are the expectation from the layperson. For instance, if you add photo upload to your app, people will complain if it doesn’t support multi-photo upload, varying sizes, and client side photo filters. The bar is set very high. It’s taken me a whole year to build a website + app combo in my spare time that has all the expected bells and whistle…

It’s really hard to build consumer-facing products solo these days! I recently “gave up” on building my own site and just pay for a Shopify site now (only an option if you’re in e-commerce) and I’ve been blown away by how easy and high quality it is, and $30/month is honestly way cheaper than the time it’d take me to create and maintain a similar site. There are plenty of alternatives to Shopify that are competitive…

I thought Shopify is a lot better than the competition right now.

Re: Making Direct Messages Reliable and Fast

#24
post #11

Earlier quoted context omitted.

> If anybody else needs this kind of system, most GraphQL clients Well, the client is probably the easiest and the most boring piece of the puzzle. What you do in the backend matters.

What’s done in the backend matters slightly less in the thread of an article entirely concerned with the client. https://cdn-images-1.medium.com/max/2400/1*ttu76ysGchnhH3CyT...

"How do you handle DMs for a billion connected clients" is still a much harder and a more interesting story than "if you want something similar, throw a GraphQL at it".

Re: Making Direct Messages Reliable and Fast

#26
post #11

Earlier quoted context omitted.

What’s done in the backend matters slightly less in the thread of an article entirely concerned with the client. https://cdn-images-1.medium.com/max/2400/1*ttu76ysGchnhH3CyT...

"How do you handle DMs for a billion connected clients" is still a much harder and a more interesting story than "if you want something similar, throw a GraphQL at it".

That may be, yet it was story nobody in that thread was talking about save for you.
Post reply on HN