Inside iPhone 4: FaceTime video calling

Posted:
in iPhone edited January 2014
Playing up his characteristic "one more thing" showmanship, Apple chief executive Steve Jobs introduced FaceTime for the new iPhone 4 as an easy to use video chat app that works over WiFi. Here's why it matters, how it's open, why it's currently WiFi only, and how it stacks up to other Voice over IP video calling apps such as Skype.



FaceTime & iChat AV



Apple revealed FaceTime as an iChat-like service exclusive to the new iPhone 4 hardware. It's not exactly iChat though, and although it shares a lot in common, there's currently no talk of any ability to chat from iPhone 4 to desktop Mac iChat clients (although this is almost certain to happen over the next year as iPhone 4 launches).



Apple's Mac iChat was originally an IM client for AOL's proprietary AIM network. Apple later extended iChat to support open XMPP "Jabber" instant messaging. It then added support for the Internet Engineering Task Force's SIP (Session Initiation Protocol) in iChat AV, in order to do standards-based video chat and video conferencing.



As a video conferencing product, Apple's Mac iChat AV client provides exceptional picture quality at little cost but runs into a lethal natural barrier on today's Internet: NAT (Network Address Translation). The routers at both corporate and home networks often hide internal IP addresses from the open Internet, making things difficult for video chat applications that want to act as both a server and client with bidirectional rich media streams to some other host across the Internet.







The NAT problem



For iChat AV to reliably connect with other clients (including compatible PC clients running the same complex suite of video chatting standards, such as AOL) across the Internet, it usually has to transverse NAT. That's particularly complex because everyone's NAT works a bit differently, and there's so many technical issues involved with handling different types of routers and their different implementations of NAT.



There are different kinds of NAT, and no complete standards in place on how to implement them for ideal interoperability. Additionally, the security policy a company establishes for itself might rule out individuals from setting up their own server, which is a problem for video chat because iChat AV needs to act like a server for a remote client to initiate a transaction with it.



Apple's iChat uses its own SNATMAP protocol to allow a client to determine its external IP address and open a port mapping that remote hosts can use to return communications through the firewall. Apple also uses UPnP (Universal Plug n Play) a Microsoft-originated standard for NAT port traversal supported by a variety of consumer router/firewall makers.



These are used to punch iChat AV's traffic through NAT routers, but they aren't always supported by enterprise routers or some models of home router appliances. In Mac OS X Leopard, Apple improved things by adding support for ICE (Interactive Connectivity Establishment), an emerging IETF NAT traversal standard, but there are still vexing problems for non-technical consumers trying to set up a simple video chat.



Making FaceTime open



Apple faces the same kinds of problems in getting video calls to work on the iPhone. So do other vendors. Apple wants to make mobile video chat an open standard for interoperable video chat sessions, so it adopted the neutral FaceTime name rather than calling the service iChat, which is very much an Apple-sounding name.



Essentially however, FaceTime is iChat AV for iPhone. Jobs presented an "alphabet soup" of technologies that were involved in making FaceTime work, many of which are shared with iChat AV, including:



H.264 and AAC, its ISO/MPEG video and audio codecs (just like iChat).

SIP (Session Initiation Protocol), the open IETF signaling protocol for VoIP used by iChat AV.

STUN (Session Traversal Utilities for NAT), an IETF standard for dealing with lots of different kinds of NAT.

TURN (Traversal Using Relay NAT), an IETF standard for allowing a client behind NAT to receive incoming requests like a server.

ICE (Interactive Connectivity Establishment) an IETF standard which helps set up connections through NAT firewalls.

RTP (Real-time Transport Protocol), an iETF standard for delivering media streams in VoIP.

SRTP (Secure RTP) an IETF standard designed to provide encryption, message authentication and integrity for the data streams.



Rather than being some radically new protocol for video chat, Apple's FaceTime is an evolution of iChat's standards-based foundations, which have already been implemented by AOL in a compatible client on the desktop PC. It's therefore no stretch to think that other phone vendors will work to create compatible FaceTime clients that work with iPhone 4 phones, and it would be very surprising if Apple's own iChat AV wasn't adapted to work with the latest FaceTime protocols to enable desktop to mobile video calls at some point.



The companies that need to buy into FaceTime are networking gear companies like Cisco (who already work to support the IETF protocols involved) and phone manufacturers like Nokia, RIM, HTC and Motorola (who are already working hard to match the iPhone's features, look, and specifications). The best way for Apple to push FaceTime would be to deliver an open source implementation of the core technology stack, much like it delivered WebKit, and much like BSD provided the world a standard IP networking stack.



Apple understands the success of WebKit, but it's not yet clear that it's ready to give away software to competitors when it doesn't absolutely have to. That might result in a variety of implementations of FaceTime-compatible devices that all have various bugs that impede interoperability. Of course, such a situation might benefit Apple, too, making it the primary vendor of reliable FaceTime phones.







On page 2 of 2: Why FaceTime is WiFi only, What about Skype and Fring?



Why FaceTime is WiFi only



What FaceTime does on the iPhone is make video chat easy to initiate and use over the Internet, in high quality. In addition to running into the same problems with trying to get video chat to work across NAT boundaries, getting FaceTime to work on the less reliable, limited bandwidth of 3G mobile networks would be too high of a barrier, mainly because mobile networks are currently still vastly expensive to use.



Existing video chat phones that work over 3G networks typically charge between .50 and a dollar per minute, which is not going to fly in mass adoption. Additionally, video calls are certainly not going to work on Apple's home state AT&T network, which is having enough difficulty placing phone calls.



For now, the iPhone's new FaceTime feature is limited to WiFi, with the suggestion that this will change sometime after 2010 and the carriers warm up to the idea and dramatically enhance their coverage while lowering their prices.



However, most people who want to place video calls will be able to access WiFi at their home or office, making the limitation less of an issue. It's also interesting that Apple is pioneering video chat as a VoIP application rather than tethering the service to mobile carriers. That positions the iPhone (and the iPod touch) as potential devices to challenge the voice-centric nature of today's mobile networks. As next generation LTE mobile networks emerge, their IP-based connectivity will likely shift mobile networks from telephony to simply being wide area, broadband data providers.



Apple similarly pushed Internet email on the iPhone in preference to SMS and MMS mobile standards, which continue to charge archaic per message fees wildly out of proportion to the actual amount of data they deliver.







What about Skype and Fring?



The iPhone (and the Mac desktop) already support video calls via Skype. Apple even added support for Skype to run in the background on iOS 4 and enabled Skype to run over the 3G network in addition to WiFi. So why is Apple introducing its own Skype competitor, and one that doesn't work over 3G?



For starters, Apple wanted a video calling app deeply integrated with iPhone 4 features, making full use of both cameras, being uncluttered and "one touch simple," and highly optimized to deliver great picture quality. It also wants to push open standards. Unlike iChat AV and FaceTime, Skype is not open standards-based. It uses an entirely closed, proprietary protocol owned by Skype.



Officially sanctioned client apps that Skype approves for use on its network are closed source. Skype solves the NAT problem and addresses message encryption security in an entirely opaque way. It essentially does not trust the router and uses its own mechanisms for getting through the network.



It claims to use an entirely decentralized system of connected users in a peer to peer network that shares the load between users, rather than being a point to point system like iChat, where a user calls another user to initiate a session. But none of this technology is open to peer review for security vetting nor openly implementable by others.



That makes Apple's alternative to Skype, both on the desktop with iChat and on iPhone 4 with FaceTime, a strategy much like its positioning of open MP3/AAC audio against Microsoft's proprietary Windows Media Audio, or its support for H.264 over WMV, or its support for HTML5 over Adobe Flash for interactive content. In every case, Apple was working to build open interoperability over creating dependance upon a closed standard pushed by one vendor.



Customers who don't understand this saw these strategies as "an attack" on Microsoft or Adobe or Skype, but these efforts actually work to open up markets and enabled Apple and other companies to both compete and collaborate.



The difference with Skype is that, unlike WMA/WMV or Flash, Apple isn't blocking Skype on iPhone 4 or the iOS. Skype isn't a direct competitor pushing its own hardware; Skype provides a product that addresses issues that FaceTime does not (support for earlier phones and 3G calls); and Skype is both already finished and functional and entrenched as a player in the mobile market.



Other iPhone VoIP apps, such as Fring, support both Skype's proprietary protocol and can support alternative open network protocols such as SIP. That makes it likely that Fring or other companies could actually create multiple-network VoIP apps that support both Skype and the standards-based FaceTime.
«1345

Comments

  • Reply 1 of 94
    brookstbrookst Posts: 62member
    FYI, it's "NAT traversal", as in going across NAT. It is not "NAT transversal", which would mean something like turning NAT sideways, if it were actually a word.
  • Reply 2 of 94
    cubertcubert Posts: 728member
    Thank you, Daniel Eran Dilger for once again distilling complicated technology down to a level that us commoners can understand.
  • Reply 3 of 94
    Quote:
    Originally Posted by AppleInsider View Post


    Apple similarly pushed Internet email on the iPhone in preference to SMS and MMS mobile standards, which continue to charge archaic per message fees wildly out of proportion to the actual amount of data they deliver.





    I am all in favour of 'facetime' once it can work with desktop clients, and ideally also with non iPhones.

    I just want to point out that the argument above is, (SMS at least), untrue in all but a few situations.

    I know that US SMS fees can be ridiculous, but for the most part texting (Europe, Asia) is essentially free. Most iPhone tariffs here in the UK - and most mobile phone contract tariffs - include a vast number of texts. On the other hand, e-mails are not an immediate form of communication to most people. My mum doesn't get e-mails on her phone, my dad gets so many he is liable to ignore them. SMS have a different purpose, and Apple was wrong.



    With FaceTime I hope that they are right: or rather, I hope that they get past the teething problems so that we can integrate with iChat/Skype/Fring/whatever. I know that many people will not use it, but many of us (busy parents or people with international friends and relatives) will.
  • Reply 4 of 94
    apfelapfel Posts: 29member
    Jabber (XMPP) + VoIP + Video + ...



    Jingle is an extension to the Extensible Messaging and Presence Protocol (XMPP). It implements peer-to-peer (P2P) session control (signaling) for multimedia interactions such as in Voice over Internet Protocol or videoconferencing communications. It was designed by Google and the XMPP Standards Foundation. The multimedia streams are delivered using the Real-time Transport Protocol (RTP). If needed, NAT traversal is assisted using Interactive Connectivity Establishment (ICE).

    http://en.wikipedia.org/wiki/Jingle_(protocol)





    Unlike most instant messaging protocols, XMPP is an open standard. Like e-mail, it is an open system where anyone who has a domain name and a suitable Internet connection can run their own XMPP server and talk to users on other servers. The standard server implementations and many clients are also free and open source software.

    http://en.wikipedia.org/wiki/Extensi...sence_Protocol
  • Reply 5 of 94
    vrkiranvrkiran Posts: 110member
    I have many questions, no answers:



    1. If Apple is really trying to open up the standard, why not enable FaceTime to iChat conversation, with both video and audio? Why limit it to iPhone 4 <=> iPhone 4?



    2. Why not allow iPhone 3GS to iPhone 4 conversation? Remember that iPhone 3GS has the rear camera, that could be enough for many situations? I will not buy the argument that iPhone 3GS CPU is not capable enough. Just last year, it was the *screaming fast* processor, remember?



    3. Why there is no mention about third party apps? Can they use the cameras to do a FaceTime like app? For instance, can Skype make use of the cameras?



    4. Why no mention about any overlapped *text* communication? Many times its easier to copy_paste some text rather than spell it out during a audio/video conversation?



    I love Apple, but let's face it, it's not playing the "open" standards game for world peace.
  • Reply 6 of 94
    apfelapfel Posts: 29member
    Quote:
    Originally Posted by vrkiran View Post


    I love Apple, but let's face it, it's not playing the "open" standards game for world peace.



    I would like to see that Apple is using more XMPP (= Jabber) -> also in mobileme instead of crappy AIM.
  • Reply 7 of 94
    Will u be able to use facetime on a three way call?
  • Reply 8 of 94
    solipsismsolipsism Posts: 25,726member
    Quote:
    Originally Posted by vrkiran View Post


    I have many questions, no answers:



    1. If Apple is really trying to open up the standard, why not enable FaceTime to iChat conversation, with both video and audio? Why limit it to iPhone 4 <=> iPhone 4?



    2. Why not allow iPhone 3GS to iPhone 4 conversation? Remember that iPhone 3GS has the rear camera, that could be enough for many situations? I will not buy the argument that iPhone 3GS CPU is not capable enough. Just last year, it was the *screaming fast* processor, remember?



    3. Why there is no mention about third party apps? Can they use the cameras to do a FaceTime like app? For instance, can Skype make use of the cameras?



    4. Why no mention about any overlapped *text* communication? Many times its easier to copy_paste some text rather than spell it out during a audio/video conversation?



    I love Apple, but let's face it, it's not playing the "open" standards game for world peace.



    Are we not reading the same article?



    1) This isn't even out yet and you're complaining that it doesn't already exist on Macs, too. It was just demoed yesterday as the last feature and new killer feature for the iPhone 4.



    2) Who said it's only for the iPhone 4? It's included in the iPhone 4, but if they are submitting it to an open standards body it's obviously not limited only to iPhone 4. The only thing is that Apple isn't including it in the other iPhones with iOS v4.0.



    3) Again, it was demoed just yesterday and they stated they were submitted it to today. I have a hard time understand what you missed from the presentation and the article but it appears there is nothing preventing anyone from using FaceTime. Apple may prevent apps in the App Store or prevent it from being using non-iPhone 4 phones (though I doubt it) but that would be another issue altogether.



    4) Likely because there isn't one in the spec. That does not mean you can't also include text in your app which doesn't require all those protocols to function. Just look at iChat A/V or any other A/V messaging app. BTW, if's it's easier to copy/paste something rather than "spelling it out" then why the hell would you initiate an A/V conversation to ignore an easier solution?



    Of course Apple are doing this for their own goals, but that doesn't mean it's not good for the future of technology.
  • Reply 9 of 94
    maccherrymaccherry Posts: 924member
    Video calling is crap anyway!
  • Reply 10 of 94
    solipsismsolipsism Posts: 25,726member
    Quote:
    Originally Posted by Beachfinder86 View Post


    Will u be able to use facetime on a three way call?



    it seems doubtful, but if it becomes a popular feature I can see FaceTime evolving over time to offer group chat like other A/V chats.
  • Reply 11 of 94
    addaboxaddabox Posts: 12,660member
    Quote:
    Originally Posted by maccherry View Post


    Video calling is crap anyway!



    Has been so far. It appears as if Apple is doing their usual limited rollout so that they can do it well, instead of half-assed and ubiquitous, AKA "industry standard."
  • Reply 12 of 94
    Thought this was a really well-written piece. Nice job, AI.
  • Reply 13 of 94
    prof. peabodyprof. peabody Posts: 2,860member
    Quote:
    Originally Posted by vrkiran View Post


    I have many questions, no answers:



    1. If Apple is really trying to open up the standard, why not enable FaceTime to iChat conversation, with both video and audio? Why limit it to iPhone 4 <=> iPhone 4?



    2. Why not allow iPhone 3GS to iPhone 4 conversation? Remember that iPhone 3GS has the rear camera, that could be enough for many situations? I will not buy the argument that iPhone 3GS CPU is not capable enough. Just last year, it was the *screaming fast* processor, remember?



    3. Why there is no mention about third party apps? Can they use the cameras to do a FaceTime like app? For instance, can Skype make use of the cameras?



    4. Why no mention about any overlapped *text* communication? Many times its easier to copy_paste some text rather than spell it out during a audio/video conversation?



    I love Apple, but let's face it, it's not playing the "open" standards game for world peace.



    No offence and maybe you didn't intend it to come across this way, but this just sounds like a lot of whiny griping to me.



    First off, the product was only announced yesterday and isn't even available yet, you might want to hold your long feature request list until the product actually arrives? Secondly, while some of your questions could be answered by simply watching the video of the iPhone 4 presentation at the WWDC, others are just weird.
    • Turning around the iPhone 3Gs for video conferencing? Are you serious?

    • Typing text in the middle of a video/audio call is more efficient? WTF?

  • Reply 14 of 94
    Quote:
    Originally Posted by AppleInsider View Post


    Playing up his characteristic "one more thing" showmanship, Apple chief executive Steve Jobs introduced FaceTime for the new iPhone 4 as an easy to use video chat app that works over WiFi. Here's why it matters, how it's open, why it's currently WiFi only, and how it stacks up to other Voice over IP video calling apps such as Skype.



    iChat looks and functions beautiful until something goes wrong. From someone that uses it everyday I find it buggy and continually disappointing. The Skype macosx app is quite ugly, but works. The Skype video/audio stream compression scheme seems to work quite well. Even as my internet connection drops momentarily to a crawl, Skype will not miss a beat and ultra-compress the audio stream whilst still making the conversation possible. It also prioritises the audio stream over the video. iChat seems to put equal priority on the video and audio stream and upon the slightest bandwith reduction will chop the audio track into little blips, pops and crackles - literally ending the conversation.



    If FaceTime is indeed built on iChat's engine - I'm worried.
  • Reply 15 of 94
    cu10cu10 Posts: 294member
    Quote:
    Originally Posted by AppleInsider View Post


    ...video calls are certainly not going to work on Apple's home state AT&T network, which is having enough difficulty placing phone calls.







    Also, iPod touch update with video chat would be welcome.
  • Reply 16 of 94
    solipsismsolipsism Posts: 25,726member
    Quote:
    Originally Posted by CU10 View Post






    Also, iPod touch update with video chat would be welcome.



    I have to assume the next Touch will get a frontfacing VGA camera, but will get a backside camera, too? Does it have an internal mic yet?
  • Reply 17 of 94
    quashquash Posts: 23member
    Quote:
    Originally Posted by Planet Blue View Post


    Thought this was a really well-written piece. Nice job, AI.



    I agree, solid article. Hope to see you guys put out more articles of this type of quality
  • Reply 18 of 94
    str1f3str1f3 Posts: 573member
    Quote:
    Originally Posted by AppleInsider View Post


    Additionally, video calls are certainly not going to work on Apple's home state AT&T network, which is having enough difficulty placing phone calls.



    For now, the iPhone's new FaceTime feature is limited to WiFi, with the suggestion that this will change sometime after 2010 and the carriers warm up to the idea and dramatically enhance their coverage while lowering their prices.



    Very well written & informative article but I have a problem with these two points.



    1. I was listening to Macbreak Weekly today and Andy Ihnatko seemed to believe, from undisclosed sources, that it was more of an issue with the iPhone than AT&T in regards to dropped calls. I'm not sure either way but it would jive with previous stories.



    2. Considering the recent data cap and possible loss of exclusivity next year, there doesn't seem any reason to believe that video calling over 3G will happen in the foreseeable future. While many for now have no problems with the data cap, we are starting to see the ramifications before 4.0 is even released.
  • Reply 19 of 94
    aaarrrggghaaarrrgggh Posts: 1,582member
    Quote:
    Originally Posted by str1f3 View Post


    Very well written & informative article but I have a problem with these two points.



    1. I was listening to Macbreak Weekly today and Andy Ihnatko seemed to believe, from undisclosed sources, that it was more of an issue with the iPhone than AT&T in regards to dropped calls. I'm not sure either way but it would jive with previous stories.



    Used to think the same thing, but switched to my old reliable RAZR, and performance was on par with my iPhone. It is really an AT&T issue.



    Quote:

    2. Considering the recent data cap and possible loss of exclusivity next year, there doesn't seem any reason to believe that video calling over 3G will happen in the foreseeable future. While many for now have no problems with the data cap, we are starting to see the ramifications before 4.0 is even released.



    Between multitasking and higher resolution apps, no chance AT&T can handle the data without caps.



    Real question is what they will do to fix things. Base cap should grow by 50-100% per year, but instead they drop it by 60%!
  • Reply 20 of 94
    normmnormm Posts: 570member
    Quote:
    Originally Posted by AppleInsider View Post


    Other iPhone VoIP apps, such as Fring, support both Skype's proprietary protocol and can support alternative open network protocols such as SIP. That makes it likely that Fring or other companies could actually create multiple-network VoIP apps that support both Skype and the standards-based FaceTime.



    How is it that Fring can implement the Skype protocol if it's closed and proprietary? Is this a case of reverse engineering?
Sign In or Register to comment.