This document discusses using RabbitMQ as the messaging system for building a chat application on the barter.li Android app. RabbitMQ uses AMPQ and is built with Erlang, making it fast, reliable, and scalable. However, the Java client library is not optimized for mobile and TCP connections can fail frequently on devices. The solution is to add heartbeats to handle TCP issues and use unique queue names for each device to address login and round robin problems. Alternatives like MQTT and Faye are also mentioned.