Google Voice or Google Talk
November 10, 2010 13 Comments
Note: this post contains a lot of technical details and aimed to show why do we technically prefer Google Talk over Google Voice. Please be aware that we go deep into protocols, codecs and other technical aspects of voice communication.
Legal disclaimer: Legally Google Voice is “Call Enhancement Service” provided by Google, Inc. It does not provide 911 routing (emergency calling functionality). TalkMe.IM, Inc is not affiliated with Google, Inc.
Technologies are invited to improve our lives. Some of them are doing it better than others, but not necessarily are most popular among users. In order to become most popular great technology should meet great product. It doesn’t happen very often. And it’s pretty rare for a technology to stay on top for many years and even decades.
Google Voice product was introduced in US less than two years ago and brought regular phone communications much closer to the world of computers and Internet. It’s based on GrandCentral which launched in 2005 and acquired in 2007. It lacks several very key features such as 911 routing and cannot replace actual phones, but overall won hearts of millions.
Google Talk product exists since 2005 and today became on of the most popular instant messaging platforms, which uses an open protocol – XMPP. In late 2008 voice and video chat features were added. Later on Google introduced ability to forward calls from Google Voice to Google Talk.
Working with both products we learned underlying technologies. Technically we prefer Google Talk over Google Voice. In our opinion Google Talk is more superior when it comes to media (audio) streams.
Google Talk allows choice of couple dozens audio codecs to use and we picked legacy G711(every VoIP app has to support at least one of its two variations: uLaw or aLaw – we support both), iLBC and Speex. We also introduced tweaked version of Speex with added redundancy, so Talkatone-to-Talkatone calls which use Google Talk can enjoy better clarity and tolerate higher packet loss. Google Voice only supports pure old G711 uLaw.
Is there anything wrong with uLaw (also known as μLaw)? Well, not really. It’s almost uncompressed audio. Actually, just logarithm of PCM which allows it to use 8bits per sample instead of 16bits. It sounds at least as good as normal telephone line. Life is good “on paper” until it meets real usage and biggest problem in VoIP: packet loss. You may know that some network packets may be lost in transit, so other end needs to do something about it. G711 takes an approach of “do nothing” (e.g. play silence instead of missing packet) which leads to clicks or “static noise” during conversation in the best case. However, more advanced codecs such as iLBC and Speex can recover some information from missing packet and provide smoother conversation. Ex. our redundant version of Speex can recover full information from single missing packet.
How bad is the packet loss problem? Lets start with this fact: Even WiFi is considered as bad connection in VoIP world because it leads to packet loss rates around 1%-5%. Yes, such rate can significantly degrade call quality. Packet loss on 3G can easy go above 25%. Call using uLaw codec sounds terrible when packet loss goes above 5%. Words have lots of missing fragments and you barely can hear and understand what the other party says.
One more reason on why uLaw doesn’t perform great is bitrate – payload alone takes 64kbps each way. Include all headers (RTP, UDP and transport layer) and you will be looking in the 80-90+ kbps range, which totals to about 1.2 Megabytes of 3G bandwidth per minute. Not everybody in the world, and we have users in multiple countries, have such fast link. And also, not everybody has unlimited 3G data plans. Speex and iLBС offer way smaller bitrate maintaining comparable quality and exceeding it when it comes to packet loss.
That said, when you are making a VOIP call using 3G network ideally we would always recommend using Google Talk over Google Voice, simply because of sound quality. Well, this world is not perfect. And more often than we’d like it to see Google Voice will be your only choice.