top | item 14293597

Scaling Mobile Messaging at Airbnb

78 points| knighthacker | 8 years ago |medium.com

24 comments

order

codezero|8 years ago

This might be the first use of "turn of the century" that I've seen relating to 2k – it's wonderful, thanks :)

tyingq|8 years ago

This is the sort of thing that came to mind around the recent Twilio stock price drop driven by Uber's decreased use.

The whole article is about mobile messaging, but SMS isn't involved at all. I understand Airbnb does use SMS, but apparently only for specific use cases.

It's a bid sad, I think, that SMS is being displaced by either in-app messaging services or brand aggregated things like FB messenger. SMS has the advantage that if I don't like my mobile network, I could change providers and not change my address. The whole messaging space is now set to be highly fragmented.

rahimnathwani|8 years ago

"SMS has the advantage that if I don't like my mobile network, I could change providers and not change my address."

Only if you live somewhere number porting is possible. I live in China, where it is not.

If I switch carriers, I'll have to switch phone numbers, but luckily iMessage, WeChat etc. can be carried to my new phone.

huangc10|8 years ago

Nice read. This is something we wanted to solve for our mobile applications too but we don't get enough traffic (per article, you guys are ~100k msgs/hr) to justify the engineering time required for this.

I don't use Airbnb as often as I should but I'm wondering do you guys have data on the users who simply use text messaging on the mobile devices (or other instant messengers?).

What led to the decision to spend time optimizing mobile messaging within the Airbnb app than just finding an easier path to connect users through text messaging?

bfred_it|8 years ago

Text messaging? No thanks. I need free international communication from my computer, not paid clunky international messaging only from my phone.

Plus they want to censor and control the conversation; private texting is not happening.

krashidov|8 years ago

What did you end up using ? Have you heard of Layer?

varenc|8 years ago

How is the latency when the app is open and waiting to receive a reply?

From one of the diagrams it sounds like the API requests a delta update if it receives a push notification, but if the user has disabled push notifications, will the client still know to request an update? Also receiving a notification and then using a new connection to request an update is still slower than something like a web socket/long poll connection where new updates are immediately pushed to clients. Would love to hear how this works.

_m8fo|8 years ago

I've only skimmed the article (as of yet), but how is this superior/better than just a dedicated server plus DB for messaging with a simple READ(all), REPLY(to_message) API?

This seems like an interesting technical problem, but I can't help but feel that there's a significantly easier solution available. As a bonus: other than the fact that you can see messages in the app, I wonder how this is better than simply using SMS or a personalized anonymous email address per host-guest pair.

I've seen variants of this particular problem solved so often I'm surprised there's no open source back-end/platform that solves the back-end piece of this.

disclaimer: I haven't worked with anything on this scale, personally.

toast0|8 years ago

Read all is simple, but is going to use a bunch of data. With a sync api, they cam justify doing small transfers as they happen (if connectivity is available), so the data is already there when you go to read it. Even if there's no background sync, sync on use can be faster to download than a full load on use, and you may be able to display the stale data while validating.

lucasmullens|8 years ago

Sending an SMS costs money, and for many users email isn't as reliably seen as something like an app push notification.

frik|8 years ago

What monitoring solution do you use these days? You were one of the early NR adopters, but the graph looks like DG. (In case you can share this info.)

tuckerman|8 years ago

Engineer at Airbnb, but unrelated to this launch.

We use both products extensively internally; datadog for custom metrics deployed next to features and alerts in code (https://github.com/airbnb/interferon), and New Relic for opinionated application health/performance and client side monitoring.

Two talks we've done about our usage of Datadog and New Relic (respectively):

https://www.youtube.com/watch?v=MYmVu_IMC20 https://www.youtube.com/watch?v=fd_Kla4f86E

Disclaimer: I'm the presenter in the second talk.

rdxm|8 years ago

scaling (x) at (x)....snore......

lucasmullens|8 years ago

Is this comment really necessary? What's wrong with companies writing articles about how they solved a complex problem?