Quarter Life Crisis

The world according to Sven-S. Porst

« AnalysisMainBeautiful »

X.5 iChat

5709 words on

iChat Icon Mac OS X.5 ships with the fourth incarnation of iChat. And just as all previous system updates, this one adds major new features to the application. iChat’s main new feature is the ability to do screen sharing – which is amazing and can easily be the only argument Mac using parents need for an upgrade if they rely on their children around the world for help with their computers. iChat’s main drawbacks remain its lack of compatibility, its increasingly kludgy user interface and its comparatively weak ability to actually establish connections.

In this entry I will discuss a number of iChat’s new features along with their abilities and weaknesses.

Screen Sharing

You know the situation: A parent phones and tells you that their computer ‘can’t print anymore’. Which could mean anything from a fuse having blown to some subtle software problem. Once you ruled out the cabling from being the problem you will have to start navigating the parent in question through the computer’s UI remotely. While doing that you will invariably learn that indications such as ‘the first button’ aren’t as clear as they may seem and you will also learn that having parents read screen contents to you over the phone is extremely inefficient and nerve-wrecking for both parties.

If you have been there and done that, it is immediately clear that screen sharing is an absolute killer feature to have. You won’t need those nerve wrecking phone calls anymore but your parent – if running a X.5 system – just needs to invite you to share their screen using the new button at the bottom of each of iChat’s contact list windows:

Command to invite someone or yourself for screen sharing

Or you could just invite yourself to use their screen. Depending on whether you invited someone to access your screen or try to invite yourself to sharing theirs the invitation’s recipient will see a matching window on their screen. A simple one if you invite them to access your screen:

iChat window telling  that there's an invitation to share a screen.

And a more detailed and poorly localised one will appear if access to the screen has been requested from a potentially untrusted party. Duly it will note the dangers of what is going to happen and give you the option to bail out to a text only (but strangely not voice) answer.

iChat window telling you about the request to share your screen along with a warning about the dangers of this.

Once the invitation has been accepted, the screen sharing connection will be established. You get a typical iChat window for connections that are being established while that happens. It sports a green version of what we should consider the screen sharing icon and doesn’t really tell you anything about the progress of what it does until the connection works or the attempt failed.

iChat 'progress' window for establishing a screen sharing connection.

If you keep in mind that the complete contents of the screen need to be transferred for screen sharing, it is clear that it can take a moment for the image to be transferred across the network when the connection is established. Particularly so if you are on a slow network link, part of which is consumed by the simultaneous audio connection which iChat opens.

Later on only the parts of the screen which have changed will be transferred and that will be substantially faster than the initial transfer. However, you will not necessarily get a real-time experience from this – which is worth keeping in mind when using screen sharing. For example you can open a menu which will immediately display on your own screen but take a few seconds to be transferred over the network to the person looking at your screen via iChat. If you want to talk your parent through some steps you should make sure they see the menu before mentioning it as confusion ensues otherwise.

In case you have bandwidth limitations which mean that screen content transfer has quite a delay you will quickly learn to avoid the aspects of the Mac UI which change a lot of the screen. Invoking the Dashboard does, for example, as does any other large-area operation such as moving windows, opening long menus, or hovering over your Dock that has icon zooming enabled. On the up-side: If you have a fast connection, things will be rather smooth and convenient. And fast doesn’t mean crazy-fast here, but merely reasonably fast DSL.

iChat menu item toggling with red screen sharing icon To indicate that screen sharing is running, iChat displays a notice across the screen for a few seconds after the connection has been established. The rest of the time iChat’s menu bar item is exchanged for a red screen sharing icon every other second on the sharer’s side. This is likely all the feedback you will get about screen sharing being active and it may be even less if you don’t use iChat’s menu bar item.

Double screen setup accessed via screen sharing

While screen sharing is as exciting as the stuff you do with it, Apple also threw in a few nice extras. For example, screens are automatically letterboxed or scaled to fit the recipients screen size. Furthermore, multi-screen setups are shared without any additional effort as well.

The guest of the screen sharing session has a floating window with a miniature version of his own screen inside the shared screen and clicking that window will temporarily toggle the display, making his own screen large and usable again and putting the shared screen into the little window. Even better, the little window is drag and droppable for files as well as spring loaded. So you can switch to your own desktop, grab a file there, drag it atop the little window of the remote screen, wait a moment, enjoy the animation of the remote screen coming up on your machine once more and then drop the file on the remote desktop. The actual file transfer seems to use iChat’s normal file transfer mechanism and files can easily be moved back and forth in this way to work with them. The following screenshot displays a state in the transition between the local and the remote screen – they are swapped in a nice 3D animation which isn’t really captured that well in the still shot.

Both the local and remove screen visible with the local screen being moved to the front to accept the dragged file.

That’s pretty neat. And using the feature a few times will teach you that it’s a good idea to tell the person whose screen you are sharing about what you are doing because moving your mouse will move their mouse as well. Not just to make them feel safe and comfortable but also because they don’t see the little window with your own screen and thus they will see the mouse move to some location on their own screen for what looks like no good reason and they may even try to do something with the mouse, while you are trying to ‘escape’.

When it works, iChat screen sharing is an extremely useful feature. And I can see it as the best major new feature of Mac OS X.5 for many people. The only thing they left out is the ability to do bi-directional screen sharing. I.e. the ability to toggle whose screen is shared while a connection is running.

Sidenote: Better screen sharing

Screen Sharing Application Icon If you only have limited bandwidth and the lags you are seeing with iChat’s screen sharing are too long to tolerate or if iChat has problems establishing the connection, OS X.5 comes with an even better solution. At least if you are able to open some ports on your router. The alternative solution means that the person sharing their screen has to enable screen sharing in their machine’s Sharing system preference pane. Using the setting where anybody can ask for permission to share the screen worked well for me and spares the effort of sharing passwords. For this to work, the person sharing their screen has to make sure the relevant port for VNC connections (5900) is forwarded from their router to the computer itself – which limits the target audience for this method.

Once that is done you can easily invite the person you want to use your screen by sending them an URL of the form vnc://your.ip.addre.ss. Clicking that URL will launch the Screen Sharing application (which hides in the /System/Library/CoreServices folder and seems to have the code name Liaison) on the recipient’s X.5 machine and establish the connection to yours. My impression is that connections established this way are more responsive than those established via iChat. It also frees you to use an ordinary phone for the audio connection which frees up some bandwidth and comes without the hassles, poorer sound quality and possible delays of iChat based telephony.

Further advantages for advanced users are that you can significantly tweak the settings of the Screen Sharing application to suit your needs and speeds if you are so inclined.

iChat Theater

Another new feature of X.5’s iChat is what Apple advertise as iChat Theater. The feature lets you add a document to an existing audio or video connection (actual features may vary depending on the speed and OS version of the systems involved as can be looked up on one of Apple’s more byzantine web pages). What seems to happen there is that iChat uses Quick Look to create a preview of the document in question and then feeds that preview into a video chat. Which, in particular, means that you can also ‘share’ a document to someone using an older version of iChat via iChat Theater and that you do have features like live scrolling or video playback.

Unfortunately that’s about the best thing there is about actually using iChat Theater. Generally the image quality is very poor. Because of the trick they use by piping this through a video connection even reading normal sized text in a document is pretty much impossible. At the end of the day this will work for photos or films where fine details are not essential at all. But whenever a proper screen sharing connection along with sufficient bandwidth is an option you will be better off using that.

iChat Theater in use with a PDF file

To me iChat Theater looks like something that started as a sweet hack. It has the further advantage that it is less scary than screen sharing and it has a bit of background infrastructure behind it which lets third party applications pipe their own output into an iChat Theater connection. That’s is rather cool idea. However my impression so far was that the image quality just doesn’t cut it. It’s too poor to actually use it for anything beyond showing a few rough photos. While this may improve with faster network connections, the very fact that the image transfer seems to come through a video stream whose size is constrained by iChat’s usual size limits, really makes it hard to see how things are going to improve significantly unless Apple significantly re-work iChat Theater’s underpinnings and sacrifice the backwards compatibility of the feature.

File Transfers

File transfers have also seen improvements in X.5. Apart from being neatly integrated with the screen sharing feature, file transfers are now easier to use when in a video chat as well. All you need to do is drag the file you want to send onto the video chat window. The window will then get an overlay with two parts which let you choose whether you want to transfer the file in question or whether you’d prefer using iChat Theater to just share it via the video stream. While this is somewhat non-standard UI, it seems to do just the right thing in just the right place without getting in your way otherwise. (It’s just impossible to discover for people who don’t happen to drag a file above the chat window, those will need to continue dropping files on the contact’s entry in the contact list or using some menu commands.)

Dragging a file to a video chat in iChat 4

File transfers themselves now come in a file transfer window – much like Safari’s – in which they are collected. That’s probably a good thing – formally. But to me it just looks like an extra window littering my screen. Files transferred via instant messenging usually are a fire and forget (or fire and give up, if the other party is using Adium) affair rather than something that needs careful managing.

iChat downloads window with some finished and some pending file transfers.

Actually using the window quickly reveals that it has a number of shortcomings. For example a button to resume or restart a cancelled or failed transfer is sorely missing. As is an awareness of the window about the files it represents: As the window seems to store transfers from all old sessions until you manually delete them, some of the older files may have been deleted in the meantime. Yet, iChat still displays a clickable magnifying glass icon for those files. Clicking it brings the Finder to the front but – obviously – doesn’t reveal the file in question. About the only good feature of the file transfer window is that you can drag the transferred files right from the window itself by dragging the icon from the list – a feature that I’d warmly welcome in Safari’s downloads window as well.

A further subtle but useful improvement of file transfers is that when both the sender and recipient are using X.5, you can now send folders and bundles in file transfers. In earlier iChat versions you had to zip these things up before being able to transfer them which made things unnecessarily complicated. That said, it appears that this feature is still very new and iChat isn’t quite up to the job of properly judging a file’s type yet.

Incoming File transfer window for a Mac OS X application, which is labeled as a Mac OS (Classic) application by iChat.

Multichat window

A great UI improvement of iChat 4 is that its text chat window now supports several chats at the same time. While previous versions of iChat littered your screen with a new window for ever single chat you had open, all these chats can live in a single window now once you clicked the correct check box in the Messages preferences.

iChat's multichat window

Apple smartly decided against tabs at the top of the window in this case as you could hardly fit mor than three of those above a typical chat window and you’d furthermore lose the contact’s images in reasonably sized tab implementation. Instead, Apple went for a list at the side of the window which lists all the open chats with their images, names, and – neat feature – a speech bubble indicating whether they sent another message since you last looked at the chat in question. The first bit of the message is visible right there in the speech bubble. Very useful in my opinion.

Archiving

iChat has long had the feature to automatically save protocols of your chats in a designated folder. That’s useful for later reference. Unfortunately iChat’s strategy for this hasn’t been particularly clever so far: Essentially it just dumped a file per chat into your iChat protocols folder. Which quickly led to hundreds, if not thousands, of files with long names containing the name of the contact along with the date and time spelled out residing in that folder.

These file names depended on the state of your address book database as well as your preferred language at the time of their creation, which may be considered unfortunate but at least kept all files of chats to the same person neatly together in most cases (that failed if you hadn’t all IM contacts of a person added to your address book from the beginning, so this strategy is at best an ad-hoc heuristic).

Generally having thousands of files in a single folder could be considered unfortunate as well on the Mac. Not just because of the Finder but these days also because of Time Machine. If I understand things correctly, Time Machine has to create a hard link for each unchanged file in a folder whose have changed. As a consequence your backup gets thousands of extra hard links because of this. Bang!

X.5’s iChat tries to improve things for the saved files a little, but its solution seems equally thoughtless and ad-hoc: Each day it creates a folder with the name of the current day. Rather stupidly the format for that date is dd.mm.yyyy which prevents you from having these folders in a helpful order when sorted by name. And then the chats which started during the day are saved inside the folder using a name which still depends on the state of your address book, your iChat name display setting as well as your current language. So that’s hardly an improvement and I am far from impressed.

I suppose we wouldn’t need to worry about this if OS X.5 provided good facilities for searching for communication protocols on your machine. But currently that’s not the case. The only way you can easily search for a chat is to type some terms into the Spotlight menu. Searches with their default settings in Finder windows will not find iChat protocols and, likewise, searches in the Mail application won’t find iChat protocols either while iChat itself doesn’t even provide a search feature to begin with.

To me that’s a big thing and I think instead of integrating gratuitous crap like stationery, RSS or appointments into Mail they should have given it access to your instant messenging protocols. These are remarkably similar to e-mail in the form of content they represent. And it’s not rare these days that you receive a question by e-mail and answer in a quick IM later on (or vice versa) which means that Mail and iChat conversations should really be treated as the same thing and should be searched in one go. Unfortunately doing that is a rather laborious process in the Mac OS X’s current state.

Tidbits

There have been numerous smaller improvements of iChat as well.

Status save on quit
Quite possibly the best ‘little’ feature of iChat: Quitting the application now saves the current state of your chats and your message window will be re-opened in exactly the same state it had before when the application is re-launched. (Unfortunately the feature is buggy when iChat crashes: It will re-open all relevant chats when restarting but not display any of their texts. The saved chat protocols are not affected by this – which raises the question what exactly iChat does to implement that feature.)
Fast User Switching
iChat has been aware of Fast User Switching for a while. But it only offered options to log you out or set your status to inactive when switching to a different user. Finally, iChat can also do nothing when switching the user.
Animated Contact Images
You can have animated images for contacts now (possibly created using the new Photo Booth feature). And thankfully you can also tell iChat to not animate the images of your contacts. Which may be good for your sanity.
Auto log-in
iChat now has the option to let the iChat menu connect to the IM services automatically when you log in without further clicks or needing to launching the iChat application. Nice.
Insecurity
iChat still offers encrypted connections exclusively to people who pony up for their .mac offer. Even with certificates on your system which can and will be used by Apple’s Mail, iChat will not offer encryption features to non .mac users. Which I consider a bad thing. It means that Apple don’t want me to communicate privately with iChat.
Google Talk support
Just like in Mail, Apple added explicit knowledge about GMail Jabber accounts to iChat. Which means you can set these up without needing to worry about the technical details. Nice.

Video Effects
You can distort your image in video chats using iChat’s video effects. The same effects as in Photo Booth are provided and you can add effects of your own using Quartz Compositions conforming to the Image Filter protocol. It’s a bit superfluous and the funny new ‘blue-screen’ effects which put you in a rollercoaster or next to the Eiffel tower aren’t particularly good. If you have a darkish background (which should be the standard if you are sitting at a desk with a desk light) they’re rather crap in fact.
Short Names
iChat now has the ability to use ‘Short Names’ for your contacts. Which means it’ll use a person’s nickname if available from your address book and their first name otherwise. I think that’s generally a good feature, at least for the nicknames. For the first names, however, I’m not that sure. It’s entirely likely that people know a few Dans or Daves or Johns and those can become rather hard to tell apart on a first name basis.
iChat Agent
As mentioned the other day, iChat Agent is a piece of memory gobbling and password leaking crap. Which isn’t a good thing.
Recording
You can record audio and video chats now. Which can be pretty handy – I wish I had that ability for my normal phone when calling company hotlines. However, iChat will first ask your communications partner for permission which is inconvenient and may give people a false sense of security: if I want to ‘roguely’ record a conversation I will always be able to do it, and I will always be able to do that whether to other party agrees or not. Thus this asking for permission merely seems to be Apple spending money on the perception of the application rather than anything useful. Why not just send the other a party a notice that recording started? That’d be polite when non-rogue people use the feature and not require any extra mouse clicks.
Compatibility
Does iChat support instant messenging services who are not AIM, Jabber or Bonjour? Is it possible to have friends who use those other services only? No and yes, respectively. I guess Apple’s refusal to support other protocols – be it directly or by plugins is a political issue and not worthy to discuss. But it has to be mentioned as it is one of the application’s long-standing shortcomings.

I shall spare myself comments on iChat 4’s even larger collection of graphical smileys and head to the unpleasant part of this review next. It’s the part about iChat’s ability to actually establish connections, about comparing it to Skype, about its UI, and about its Bluetooth capabilities.

Reliability

The great thing about a telephone is that it very rarely fails. As long as you have a proper phone it will ‘just work’ as long as it is plugged into the phone line and not overloaded with complicated crap. Your house doesn’t even need to have electricity for it to do its job. In comparison to that, iChat’s AV capabilities have always been on the limited and fragile side as you will need a working computer and internet connection to begin with and you can only communicate with people who have the same. Which narrows things down significantly. But at least iChat AV ‘just worked’ when I used it the first time more than four years ago. And its reliability, while not perfect, seemed decent in those days.

For reasons I don’t understand iChat’s ability to establish audio and video connections has become worse over time. I realise that iChat may have to jump through a number of hoops to establish such connections in a world of NATed mini networks connected to the internet. But you know what? First and formost, I don’t care. And secondly, iChat seemed to be able to handle the very same situation reasonably well in earlier versions.

The bottom line for me is that I frequently get connection errors when trying to start audio or video connections. In fact, I’d go so far that I say iChat’s connection error sheet is one of the UI elements in the application which I have become most familiar with.

iChat connection error sheet

A problem here is that iChat’s behaviour looks pretty random to me. Sometimes connections to people work, at other times connections to the same people fail. It doesn’t seem to be just a matter of the network involved but it feels like iChat can be moody. And more often than not it’s in a no you really shouldn’t make that call now mood.

The other problem is bandwidth. When running on low-bandwidth or slightly unreliable connections, iChat seems to be eager to just give up. Which may seem like a brilliant idea from a quality of service point of view but it is a pretty bad idea from a communications point of view.

I guess this point can be made by reference to parents once more. My parents are currently staying in South Africa. That’s ten thousand kilometres away, the internet connections aren’t particularly fast or reliable and, yet, it’s sometimes nice to just have a quick video chat. Parents like that kind of thing. But now imagine using a chat client which works one day and refuses to work the other. Or which just gives up because of insufficient bandwidth. Will this leave mum happy or frustrated? Will it inspire any confidence? Or will it leave the memory that iChat is the application you use to type Hey, just launch Skype so we can do a video chat?

The thing here is that Skype may be an obscure and creepy technology but I have yet to see it fail (the product of ‘creepy’ times ‘working well’ could be called a tool’s ‘Google factor’). In every single case where iChat failed to establish a video or audio connection for us we had a Skype connection running a minute later. Perhaps the video quality was a little worse than it would have been in iChat and possibly the echo cancellation wasn’t quite as good. But that just wasn’t the point of that exercise, was it? Personally I’d very much prefer if iChat had a success rate similar to Skype’s.

Strangely, iChat also fails to impress at a more basic level. It usually disconnects from Google’s Jabber service at least once a day. And it doesn’t reconnect to the service automatically. Even worse, using the iChat menu to re-set my status to active in the hope of making iChat reconnect to the service, usually doesn’t work. I have to specifically use the popup menu in iChat’s Jabber/Google window. To add insult to injury, I frequently find iChat created dialogues on my screen that this or that service has been disconnected, occasionally even with an annoyingly bouncing Dock icon to accompany them. Why can’t the frigging application just STFU and make an effort to reconnect after a while? If it is to be useful, instant messenging software should be a piece of infrastructure and not some difficult feature which requires nannying all the time.

iChat disconnection meesage

Further annoyances of iChat are what happens when you connect to a wireless network that doesn’t route packages along with the fact that iChat either fails to re-establish the connection to the service after opening a Cisco VPN connection or it logs into AIM in a way that causes the annoying ‘you are already logged in’ message to appear. While experience suggests that usually Cisco’s crappy software is to blame for for any problem remotely related to it, smarter connection management on the side of iChat could make this a non-issue.

User Interface

Next, let’s look at iChat’s user interface. I think it starts to be rather horrid. To begin with there is the long standing problem of all those contact lists. Does anybody want to have a separate contact list for each IM service they are using on their screen? Wasn’t even Proteus, the open source IM client I used back in 2002, able to simply display all your online contacts in a single window and automatically merge entries for the same person on different services?

It’s almost 2008 now and iChat still insists on displaying a window each for AIM, for Jabber and for Bonjour. If you only have a single Jabber and AIM account, that is. It’s silly, it’s ugly, it’s hard to use. I had hoped for X.5 to finally revamp iChat’s contact list interface to be something sane. Something subtle and elegant that doesn’t get in your way. (Recent versions of Chax do provide a non-clever unified contact list: a single window but potentially with duplicate entries for the same person.)

Another problematic area are the many many features that iChat has by now. You can text chat with a single person or to a group of people, you can audio chat with a single person or a group of people you can video chat with a single person or a group of people and you can share your screen with a single person or look at a single person’s screen.

I am not going to make a list for this, but just go to iChat now and count the different icons and menu items that can be clicked to use its communications features. Is this even remotely consistent? In a next step try to do any of the following:

How many of these worked? Oh well. That’s what I consider to be a problem. Next, try to figure out how many different windows iChat uses for the different kinds of chats and what the differences between these windows are. There are plenty. For example you can handily drop files on video chats as described above but you can’t do the same for audio chats. It’s all quite inconsistent. Which isn’t exactly the clean interface I expect from Apple’s software.

The first thing I would have liked to see cleaned up here is the user interface. What about having exactly one kind of window for establishing connections (a window that remembers where I’d like it to appear rather than choosing the middle of the screen every single time)? And what about making that window transform as needed to provide the additional space required by the specific type of connection you are establishing? Sounds like a reasonable idea to me.

And once that’s done, add the ability to change the connection type at any given time. Add some video here, remove some screen sharing there, just as things are required. If that’s not possible otherwise, just establish a new connection in the background and try to blend things over as smoothly as possible. That’d certainly beat the current state of affairs where I have to close the first connection and then establish the new one. (I hate to say it but Skype already lets you add and remove video at your leisure.)

iChat’s user interface for its AV part has never been overwhelmingly great. But as the application gains feature after feature, these little quibbles become much more visible problems. Ranging from the different window types to the fact that there are little inconsistencies all over the place. (Why do people with audio chatting enabled get the green phone icon in my contact list but people with just screen sharing enabled don’t get any icon and I have to click their contact to see that the corresponding button – a strange button that contains an unexpected popup menu – is enabled?) I really think iChat’s UI should be re-worked to give a consistent and first class experience. That may be a challenge to get right. But mastering those challenges are exactly what made Apple’s reputation.

Bluetooth

Mac OS X was pretty quick to offer decent Bluetooth support. For years it has been super easy to connect the machine to headsets or mobile phones. Apple managed to make this support so neat and smooth that you didn’t need to worry about the technical details. Pair a phone with the computer and bang! you could access its files, synchronise its address book and send text messages right from the computer’s address book. Pair a headset with the computer and you could easily use it as a sound output for all the system or, more realistically, set it up the be used by iChat for AV chats only. At times when the headset wasn’t present, iChat would do the reasonable thing and fall back to the built-in audio hardware instead. In addition your AV connection windows would contain a Bluetooth button to let you switch the audio to your headset during a call once you managed to find it and turn it on.

But all that changed in X.5, unfortunately. Not only do you hear mobile phone users bitch about the Address Book’s inability to send SMS in its X.5 incarnation, iChat’s Bluetooth support has been significantly crippled as well. The Bluetooth button disappeared from AV chat windows making a one-click change of the sound source impossible and requiring a round trip to the Audio/Video pane of iChat’s preferences with its multi-second opening stall instead. You’ll then have to change both the audio input and audio output source manually to your headset (definitely a bit of great flexibility for all the people who want to use their headset’s speakers together with the computer’s microphone or something similarly silly) and in addition you will need a bit of luck for things to actually work.

My personal reaction to this is that I simply stopped using Bluetooth with iChat. Which is a shame because using the headset is a simple way to look like a complete idiot with a blinking light at your ear and also lets you walk a few steps away from the computer to get a book from a shelf without having to interrupt your call while completely avoiding the occasional echo problems you have when using iChat through the computer’s speaker.

For me the developments in OS X with regard to Bluetooth leave a pretty bleak impression. They managed to turn to the software into a state that makes using the technology impractical to use. It could hardly be worse.

Conclusion

I really am split on iChat. I has a rich set of features by now, which can be both very useful and fun. But the reliability problems really spoil the fun and limit how useful iChat is.


Thanks a lot to Ronald Leroux for his help with the screenshots.

December 19, 2007, 0:16

Tagged as X.5.

Comments

Comment by Dave: User icon

Very well written and interesting points…

April 25, 2009, 0:23

Add your comment

« AnalysisMainBeautiful »

Comments on

Photos

Categories

Me

This page

Out & About

pinboard Links

♪♬♪

Received data seems to be invalid. The wanted file does probably not exist or the guys at last.fm changed something.

People

Ego-Linking