Google Talk Ups the Ante

It didn’t get much hype, but on Friday Google released some code geared towards Google Talk developers…

The first question that came to mind when reading about this was, “How will this affect Skype?” Before I attempt to answer that question, let me review what Skype offers to developers and what Google just released for Google Talk developers.

Skype provides two discrete levels of API. The first is driver-level integration that allows the ability to connect external hardware devices — USB phones, for example — for use with the Skype client. The second is an application-level interface that allows third-parties to create extensions to the Skype client using basic messaging between it and the third-party client. This includes the ability to make or receive calls, interface with voice-mail, get user information, call forwarding, and the ability to actually control the Skype client interface.

One of the cooler things about the API is the recently added set of functionality that enables application to application messaging (in other words, the ability to pass information from an application on one machine to an application on another machine using Skype as the session/transport layer).

There are currently thousands of Skype developers who have created literally thousands of extensions, plug-ins, and supporting applications that extend the functionality of the base client and provide a great many value-added services.

As for Google, it’s release is somewhat different. First some background…

The core messaging functionality of Google Talk is based on a standard messaging protocol called Extensible Messaging and Presence Protocol, or XMPP. This is an IETF standard used by many of the open-source IM clients (GAIM, Trillian, iChat, etc). But, this standard doesn’t include a definition of how audio is sent (signalled) between two clients, and therefore requires another protocol layered on top to handle voice signalling. Historically, this has been done using other protocols, the most popular one being SIP, an up-and-coming standard heavily backed by Microsoft.

For some reason, Google decided not to go with SIP, and instead chose to team with the open-source software foundation that created XMPP (named Jabber) to build a new signalling protocol to work with XMPP; it’s named Jingle. This new protocol was announced and released this past Thursday.

Now back to the Google release to the developer community. Yesterday, Google released a set of libraries that implement XMPP hooks, a real-time transport stack, and the Jingle signalling protocol (libJingle). Most of the code was released under a Berkley-style open-source license.

Instead of allowing developers to just build extensions to the Google Talk application (like the Skype APIs), it instead makes it easy for developers to implement their own messaging and VoIP clients that will interoperate with Google Talk (and the other IM clients that use XMPP and future VoIP clients that use Jingle). The other point worth mentioning is that one of the reasons that this new signalling standard was created is that, unlike the previous specification that was considered, this one allows interoperability with PSTN and SIP-based Internet voice networks.

So, it’s likely that Google is looking to build a VoIP client on open standards that will allow provide the ability to work with existing voice networks (like SkypeIn and SkypeOut). This would be in direct response to Microsoft’s announcement that they plan to team with MCI on a VoIP implementation, and Yahoo’s recent announcement about their VoIP offering.

Based on all this, it appears that Google has no desire (at least not yet) to compete with Skype in terms of developer community and application integration, and instead prefers to compete with Skype (and the rest of the VoIP crowd) in whole by providing components to allow developers to create their own VoIP clients (it should be noted that Skype uses proprietary protocols for both their messaging and signalling).

All-in-all, and interesting development, but I don’t see any major threat to any of the existing VoIP clients anytime soon. At least not until Google can figure out a way to provide other compatible VoIP clients connectivity to PSTN networks at a price-point comparable to Skype, Yahoo, and the rest of the gang.