Chapter 7. Instant Messaging
We’ve already built an example of a fully featured chat application that functions entirely in a browser window, but realtime experiences are increasingly happening outside of the browser. Users expect to be able to input data and get it back out not only from an unending array of mobile devices, but also from inside applications that they currently use. This chapter shows an example of integrating a web-based application with standard instant messaging protocols and programs.
There are many different instant messaging protocols that are in wide use today. Skype, Windows Messenger, AOL Instant Messenger, and Yahoo! Instant Messenger all have their own clients and their own protocols. Those are all proprietary protocols that are not technically open to interoperability, but there is a popular open protocol called XMPP. Being an open technology, it’s supported by many instant messaging clients, including Apple’s iChat, Digsby, and Pidgin. Basically, whatever the platform, there is an application that supports XMPP.
The easy availability of client applications is a good reason for us to use this technology, but the size of the userbase is another consideration. Thankfully, XMPP has a huge built-in userbase due to Google using it in their Google Talk service, which is linked to their Gmail service. Google also offers nearly seamless XMPP integration for developers on their cloud computing platform, Google App Engine.