As you know, e-mail is a long-established standard, but there’s one piece missing from it, and that’s a standard way to be notified when new mail arrives. E-mail clients are required to “poll” e-mail servers for new mail periodically. Most polls reveal no new mail to download, and so are a waste of bandwidth and computing time. It’s a negligible waste to a single user, but if you’re an ISP with millions of polls happening every minute, it really adds up. […]
Something similar is true for RSS feeds, which are getting more and more popular. You subscribe to someone’s blog posts, or to a news-clipping service, or whatever, and your feed reader shows you the new articles as they become available. But there again, the feed reader is required to poll all the sites to which you subscribe; there is no standard way for those sites to notify you of when there are new messages available. […]
The arrival of new mail or the appearance of new blog posts are called “asynchronous events,” meaning that they happen without regard to whatever you may be doing at the moment. Most of the time, our computing infrastructure is obliged to use synchronous methods (like polling) to check for whether any asynchronous events have occurred lately. But that doesn’t have to be true. You could arrange for an asynchronous “listener” to be notified of asynchronous events and then take appropriate action. […]
I went on to describe an idea for an Internet-based service that delivers asynchronous events. I started working on a prototype. But that was around the same time that I left my job at Danger and was busy looking for a new one. There was also a birthday party to plan, and a family trip to New York, and another birthday party, plus a consulting gig and the beginning of a new job at Google. My asynchronous-event-delivery service went near the bottom of my priority list.
Then just a few days ago I learned about Gnip, a brand-new venture-funded startup that is the exact same idea, right down to hosting it on Amazon’s cloud-computing infrastructure for scalability. To add insult to injury, their clever name — “ping” spelled backwards (to “ping” a computer on the network is akin to polling it) — could not have been more perfectly chosen if their aim was to highlight my slowness off the mark.