Instead of reinventing the wheel with things like PUbSubHubbub, iPhone notifications, Twitter, Google Wave and so on, why not just make each API message-send an email, send it to the addresses of its subscribers, and have those subscribers check their inboxes and deal with each received message programmatically? You could give each communicating client/server program a separate email address, or you could give them a uniquely-identifying key as a MIME header and stick as many clients or servers as you wish into a single global inbox (that is, a message queue) that applications would pull messages out of—including, to polish off the abstraction, messages representing emails!
If the identifying key was unique to the thread/conversation/channel/wave instead of unique to the application, it would instantly nullify spam: to email someone, you'd push an "I want to start a conversation with you" notification to their publicly-known key under their address/identity, which they would then acknowledge (or not) by replying with a conversation key (sort of like a Facebook friend request, but temporary.) Of course, each person could have whitelists where any requests to start conversations were automatically accepted from given addresses.
Underneath, if you actually poked your head in with a "real" email client, there would be thousands of very trivial messages flying back and forth. However, we already have the infrastructure set up for exactly that; why not use it? Also, there would be many messages that would be sent (likely as spam) and silently discarded because the receiver didn't have anything corresponding to the conversation key; this would probably kill email spam down to Twitter levels, for those within the bubble of the email-in-message-in-email abstraction.
To optimize this, you'd likely have a global mail queue on each computer acting a bit like an SMTP server (but more likely speaking Exchange so as to keep your mobiles and other computers all reading the same messages at the same time), and an messaging library (or perhaps even a full-blown IPC kernel subsystem) that hides the fact that everything is really doing SMTP.