The client has to have a public internet port available for XML-RPC or an HTTP post. The central cloud server sends pings to all of the subscribers.
It's a bad idea.
If you're going to do this, just use XMPP. Otherwise, use HTTP the way it was intended and just have the client poll the server. Why does everyone think this is such a bad idea? Polling works. It scales. It's simple.
I agree on XMPP, but there's a certain amount of pressure to keep this working entirely inside the web-stack as much of the blog-community (and especially the Wordpress community) relies on fairly limited shared LAMP hosting, where XMPP running in the background (or anything else, for that matter) just isn't available.
Of course, the cleaner solution is to make this XMPP "inside" for thos who can use that, and then make a XMPP-to-HTTP frontend for those who can't. But on the other hand, there's a good point in keeping things simple.
It's a bad idea.
If you're going to do this, just use XMPP. Otherwise, use HTTP the way it was intended and just have the client poll the server. Why does everyone think this is such a bad idea? Polling works. It scales. It's simple.