Road to Mac OS X Leopard: iChat 4.0
Apple has taken iChat instant messaging in interesting new directions with Mac OS X 10.5 Leopard, introducing support for video effects and screen sharing. Here's a look at what's new.
Sending text messages between computers is one of the oldest functions around. The Unix talk command was originally used to pass messages between user accounts on the same system, and later expanded to allow users to address users on other systems over a network like an instant alphanumeric pager.
Internet Relay Chat (below) expanded upon the idea of passing messages directly to a specific host by using a server-based protocol similar to email; chat messages are relayed through IRC servers. Once logged into an server, an IRC client could participate in group chats on various channels supported on that server or distributed across a network of affiliated IRC servers.
AOL's Instant Messenger
In the mid 80s, a variety of online services introduced home users to networking over dial up, including the Source, CompuServe, Prodigy, GEnie, and Quantum. In 1985, Apple partnered with GE to develop a graphical online service for the Macintosh called AppleLink. GE's network access rates were prohibitively expensive, which limited use of the system only to Apple's dealerships.
As their popularity grew, the cost of accessing online services dropped, albeit slowly. Quantum had been operating a more affordable dial up service for home users of the Commodore 64 called Quantum Link. Among the features of Quantum Link were OnLine Messages (below), which allowed subscribed users to participate in real time chats with each other. Sending OLMs was a premium service that charged an extra minute rate on top of Quantum Link's access fees.
Apple struck a partnership with Quantum in 1987 to develop a graphical, consumer-oriented service called Apple Link, Personal Edition. It was released in May 1988. However, Apple almost immediately lost interest in developing online services; by the end of 1989, Quantum took it solo and renamed it America Online. As noted in Apple and the Origins of the Web: Consumer Online Systems Before the Web, Apple briefly ran back into partnership with AOL to develop eWorld — essentially a re-branded America Online for Mac users — between 1992 and 1994.
The new AOL popularized instant messaging and the idea of a buddy list, which indicated the online status of other users. As AOL and other online services began opening Internet gateways for email and later web traffic (above), AOL developed its presence indication system as an Internet service called the Open System for CommunicAtion in Realtime. Despite the name, OSCAR was not really open to interoperability, but rather a proprietary system; AOL limited all access to it from anything outside its own AOL IM clients, although third parties kept using reverse engineering to offer alternative replacements.
ICQ, MSN, Yahoo!
In 1998, AOL bought rival ICQ and merged the two services to login to the same OSCAR network. In 1999, Microsoft introduced its own MSN Messenger, and Yahoo! later followed with its Yahoo IM product. Unlike common email systems based on open standards, all three IM systems used their own proprietary methods for accounts, messaging, and presence indication, so users of each network couldn't directly send messages to each other or see if members on other networks were online.
AOL rebuffed Microsoft's attempts to build interoperability between the two systems, fearing that Microsoft would use its Windows monopoly to embrace, extinguish, and flatten AOL's remaining marketable product as it had done with DOS application partners with Office, Java in its partnership with Sun, and its other partnerships, as related in the article How Microsoft Got Its Office Monopoly.
Apple's iChat Instant Messaging
In 2002, Apple introduced the original iChat 1.0 (below) as an IM client for Mac OS X 10.2 Jaguar. Rather than operating its own IM network, Apple partnered with AOL, which allowed iChat to find the online status and chat with its existing AOL users. Mac users could either use an existing AOL account or sign up for a free .Mac account and use it on the AOL IM system.
Shortly before the release of 10.3 Panther, Apple released a beta copy of iChat AV 2.0 (below), which added audio and video chat features. This new functionality was based on the Session Initiation Protocol, an open standard for Voice over IP and video conferencing. The new iChat AV 2.0 (below) was included in Panther. Early the next year in 2004, AOL included support for SIP-based video conferencing in its own AIM 5.5 PC client, allowing interoperability between users on Macs and Windows.
When either iChat AV or AIM sets up a text chat, messages are relayed through AOL's OSCAR servers. However, when they perform video chats, OSCAR is only used to look up presence indication. Once you discover a user in your Buddy List, an audio or video chat is performed directly between the two clients, with no server intermediary.
Open Instant Messaging
SIP is the product of an Internet Engineering Task Force, and serves as the IP networking standard for video conferencing. It largely replaces H.323, the older telephony standard for video conferencing developed by the ITU, and the basis of Microsoft's now discontinued NetMeeting product.
In parallel with SIP, another open IETF standard commonly referred to as Jabber has been developed to deliver an interoperable IM networking system based on the Extensible Messaging and Presence Protocol, or XMPP.
Jabber is essentially an open alternative to proprietary IM systems such as AIM, MSN, or Yahoo IM, just as standard Internet email protocols emerged as alternatives to the proprietary messaging systems of CompuServe, AOL, and closed corporate systems. Rather than being a central system of accounts managed by a single company, anyone can set up a Jabber server, just as anyone can set up their own Internet email server. Jabber servers relay messages and presence indication across the Internet just as email servers pass messages.
Another similarity between Jabber and open email is that closed IM systems can build gateways to Jabber, allowing their messages and presence indication to be shared with clients on any network. AOL, CompuServe and other proprietary systems built gateways to Internet email in the past; the result of that portability was that they lost their subscribers to more competitive Internet service providers. AOL, MSN and Yahoo have not yet delivered open IM gateways to Jabber, but instead appear to be trying to preserve their subscriber pools.
In late 2005, Google began offering its own IM service called GoogleTalk, based upon Jabber. Shortly afterward, Google bought a 5% stake in AOL and announced that future versions of GoogleTalk would support an interoperability gateway with AOL. Those developments spooked Microsoft and Yahoo, who had just announced an interoperability gateway agreement between their proprietary systems.
Jabber in Apple's iChat AV 3.0
In mid 2004, Apple announced that the new 3.0 version of iChat AV in Tiger would support multiple video conferencing users (above), H.264 video compression, as well as support for Jabber accounts. The new version also dropped the AOL running man logo (below) from iChat's icon.
Released with Tiger in early 2005, iChat AV 3.0 was able to work with GoogleTalk when it arrived. Until Microsoft and Yahoo! build their own Jabber gateways, iChat users would have to either:
- use a separate IM client designed specifically for those systems,
- use a multipurpose chat client such as Adium that supports multiple, proprietary networks, or
- use a server gateway that automatically logs into their accounts on proprietary systems and relays messages to them or another Jabber server.
Both Apple and Google are working to create interoperability between Jabber and SIP, which overlap in some functionality. An explosion of open VoIP audio and video messaging would be devastating to the proprietary IM vendors, but would also crack open the world's telephone, long distance and mobile phone markets, replacing everything with Internet based traffic. The existing VoIP market is currently dominated by proprietary systems such as eBay's Skype.
With open VoIP based on Jabber and SIP, companies with a natural telephone monopoly or a lock on mobile phone frequencies would be washed away and replaced by Internet infrastructure. That's pushing Google to seriously eye the available radio spectrum being auctioned off early next year.
On page 2 of 2: Leopard's iChat AV 4.0; Document Sharing; Screen Sharing; Text Chat Features; and Video Conferencing Features.
In Mac OS X Leopard, Apple added a variety things that might not be commonly associated with instant messaging, including document sharing and screen sharing. Why relate screen sharing with online chat? The magic answer is presence indication, the idea AOL promoted and developed around the Buddy List. Presence indication finds users online and reports their availability.
This makes iChat's Buddy List an ideal way to discover users across the Internet who have an AOL or GoogleTalk/Jabber account, but may have a dynamic IP address that makes them problematic to address directly. With AOL's OSCAR or open Jabber servers keeping track of where users are and whether they are busy or not, iChat provides an ideal context for setting up screen sharing.
Along with the remote presence indication provided by AOL or Jabber networks, iChat has also long provided another discovery protocol: Apple's own Bonjour, formerly known as Rendezvous. While AOL and Jabber track users across the Internet, Bonjour tracks users on the local network, without requiring any servers to manage things.
Bonjour uses the same automatic discovery technology as AppleTalk, which was released back in the mid 80s with the original Macintosh. Combining long distance AOL/Jabber with local Bonjour discovery means iChat provides a variety of ways to find other users you might want to share your screen with or set up in a conference. Bonjour even works when the Internet— and remote servers— are unavailable.
The new iChat AV 4.0 in Leopard provides two options for document sharing (portrayed above, on Apple's website). When you drag a file into a chat with a user who can support a video chat, two drag targets are presented: one for uploading the document via file transfer, and the second for document sharing. The latter option works like a video conferencing system's document camera.
Any file that can be viewed with Quick Look can be "beamed" with document sharing. While the document is being shared, the sender sees it in a Quick Look panel view, while the viewer on the other end sees the document as a video chat. The sender can scroll through the document, leading the recipient through the file at a set pace, although there are no collaborative white-boarding features for drawing on the document. The person on the receiving end has a read-only view, so they can't mouse around in the document themselves.
Document sharing works well for photos and graphical presentations, but isn't ideal for text documents, which are hard to see in the video-like presentation. Those kinds of documents can be simply forwarded as direct file transfers using the other drop target. Applications can tie into Quick Look to provide specialized views; Keynote and iPhoto presentations and can be played with animated transitions for example.
The other entirely new feature in iChat is screen sharing (above, the new icon in the bottom of the Buddy List), which relies upon the open source VNC software. Apple earlier built the VNC server into Tiger, which can be enabled and used either by standalone clients like Chicken of the VNC, or by administrators using Apple's Remote Desktop package.
There hasn't been a really simple and obvious way for users to set up a screen sharing session however. In the new iChat, it's effortless. Click the new screen sharing icon in iChat for any user that can support the feature, and it drops down two options: share my screen or request to share theirs. Once the user on the other end approves the connection, a VNC session is setup.
The user viewing the remote screen gets their own desktop put into a "picture in picture" window. Clicking on that window swaps the remote desktop with their own, and closing the window terminates the session. The performance of screen sharing is related to the quality of the connection; it is very usable over a local WiFi network.
This feature will make it much more bearable to do long distance troubleshooting for remote users, where seeing and doing is much easier than trying to explain what's happening. Who would have thought to build screen sharing into an instant messaging client?
Text Chat Features
The new iChat AV 4.0 (below) also adds features for text chatting. The new interface drops the old brushed metal look to present a standard Loepard window with tabbed chats that appear in a sidebar. It also natively supports GoogleTalk accounts, making it easier to set one up without having to know anything about Google's server settings.
While earlier versions of iChat have long supported sending SMS messages— the real work is done by AOL's OSCAR servers— the new version presents an easy to use interface for typing in numbers. The new iChat also supports invisibility and manages file transfers in a downloads window similar to Safari.
Video Conferencing Features
Apple's iChat offers one of the best and easiest to use video conferring system anywhere, even including professional systems that cost thousands of dollars. While the idea of consumer video phones were touted in "2001: a Space Odyssey" back in the 60s, and were pitched to users since the 70s by Bell Labs, consumers never really jumped on them. The biggest problem with video conferencing is that people are often too self conscious about how they look and what's going on behind them.
Picking up the phone or sending an IM doesn't involve the fear of being immediately judged based on your appearance. To skirt around this problem, Apple expanded iChat to use its video conferencing features to perform document sharing, which takes the focus off the user and puts it on photos or a document. Two other new features in iChat that distract from the awkwardness of staring into the unblinking eye of the camera are backdrops and video effects.
Backdrops (above) replace your background using a trick from H.264 video compression. Unlike the regular pictures displayed by film, compressed video commonly only updates the screen in areas where it has changed. When you set up a photo or movie to replace your background, iChat asks you to step out of the frame, and captures what your background looks like. When you step back in, it masks around the part of the camera's image that has changed (you), and draws your selected photo or movie in place of the static background behind you. This works best if you have a well lit room, and obviously requires that your background isn't moving.
If you're more worried about your own appearance than your messy bookshelf behind you, you can also select one of the effects from Photo Booth, either to comically distort your image with mirrors and distortions, or to use one of the art filters to present yourself with some distracting blur, pixelation, or color effects.
It is also interesting to note that iChat has always presented a view to the user that is a mirror image, while sending a regular image to the remote user. The reason for this is that most of us are more used to seeing ourselves in a mirror than in video or photographs. Seeing an image of ourselves that isn't a mirrored reflection can be as uncomfortable as hearing a recording of our own voice. I didn't notice this until I compared iChat with Yahoo's video chat, which doesn't do this. The result is that iChat presents the user with a more familiar and flattering self image, which is a bit of a relief when throwing oneself on camera.
In addition to the simple background swap, iChat can perform any video trickery Quartz Composer can think up. Apple demonstrated a hologram filter that presents your image as translucent and flickering — like R2D2's Obi Wan recording — among others. Savvy graphics users will be able to create a variety of plugin filters.
Doing the work of processing video in real time requires a recent Mac with a decently powerful video card, but it does not place any negative processing burden on the recipient. Some filters may even make it easier to compress the video, providing a better video quality over slower connections.
Some of the most interesting new features in Leopard's iChat may come from third party Quartz Composer compositions. All told, that makes iChat a compelling reason in itself for upgrading to Leopard.