What's difficult about long polling? It's a solved problem. There's an abundance of battle-tested frameworks available and it's a proven technique. Also, Facebook already has the infrastructure in place - they have the expertise in-house. But even if this were a startup writing the feature from scratch it would only be slightly more complex than an async request.