Viewer integration with XMPP, and using it for as many services as it can. XMPP / jabber is a good protocol to base presence, IM, groups, and other related stuff on. We should do so. Libpurple is a modular IM system, we could just add a libpurple based IM system to the viewer, and use that for the XMPP integration.