Can anyone explain to me why they use an UpsideDownTableViewController ?
This means you can insert new rows (message bubbles) at index 0 and they'll appear at the bottom, which makes it considerably easiest to add new messages.
I am surprised they are using a table view rather than a collection view for this though.