We're developing a mobile app with an extensive use of server platform (made in Ruby) and exchanging data between users in real time (using our custom protocol). We also anticipate lots of peeks especially on evenings and practically none of use before noon.
I have no experience with Heroku, but I would definitely recommend Dotcloud. I run my webapp, iphone and android app with the same backend on dotcloud and I can scale it up or down depending upon the traffic. Except for a few minor issues the service is holding up pretty good.