Saturday, May 28, 2005

Outlook's Compelling Autocomplete Illusion

Working with someone who had been issued a brand-new laptop last week made me consider something interesting about Microsoft Outlook - the autocomplete feature works so unobtrusively, and so well, that most users believe that it's doing something that it isn't - and can't.

Autocomplete kicks in when you begin typing in the To:, Cc:, or Bcc: fields of a message. The first character of a name or e-mail address pops up a menu of matching recipients; additional typed characters can disambiguate the list to a single entry (as soon as you've typed enough to distinguish it from all the other names and addresses.) An essentially identical feature fills out commonly used form fields in most web browsers.

It works well, and saves time and typing - especially for those of us whose number of e-mails sent per day exceeds our word-per-minute typing speed!

I've found that most users - including some very computer-savvy people - think that Outlook actually searches their address book in real time as they type. It doesn't. Instead, the first time you type in an address or name, it's added to Outlook's Nickname file. Outlook searches the file each time you begin typing an address, and creates a menu of suggestions from all the matching entries. For those who have been using Outlook for a long time, there are often so many entries that Outlook appears to be searching their entire address book, and the users don't realize (or remember) that an address doesn't autocomplete until it's been used the first time.

The rude awakening generally comes after an upgrade, or a move to a new computer. If the user's Windows profile doesn't follow them to the new computer, they'll complain that Outlook is 'broken' - because it isn't filling in all their addresses anymore. An explanation of how the feature really works - and the implication that they'll have to use each address again before it will autocomplete for them - is generally not well received.


The autocomplete feature is useful because it is near instantaneous - if it took so long to pop up suggestions that it slowed down our typing, it would cease to be a feature, and become an annoyance.

That's why it can't really search your address book in real time. I have a few hundred entries in my Contacts list; my wife easily has three times as many as I do. A reasonably fast computer, with plenty of RAM, could probably deal with my list. I doubt that it could do an acceptable job with my wife's list - unless it cached the entire list in RAM. But not everyone has a 'reasonably fast' computer - and so a significant number of Microsoft's customers would experience performance issues.

And consider another class of Microsoft's customers - exceptionally large enterprises like Boeing. Boeing has somewhere around 160,000 users on a Microsoft Exchange-based e-mail system. Imagine each user's copy of Outlook crunching through close to 200,000 possible recipients and aliases, across the network, all day long. Not only would this make the autocomplete process as slow as molasses, but it would also increase the load on the network, and really increase the load on the domain controllers.

The good news is that, with a little planning, you can move the Nickname file to a new computer. In Outlook 97, 98, and 2000, it was a .nick file; in Outlook 2002 and later, it's .NK2. Ensuring that these files get backed up, and are moved to the user's new computer, will prevent irritated users with 'broken' copies of Outlook.


On the other hand, after an e-mail migration changes the format of most or all of the addresses in an organization, or if someone moves to a new company but retains their laptop, most or all of the autocomplete entries can become invalid. You can reset the autocomplete cache (by renaming the file) to remove all the entries; the Exchange Profile Update Tool (Exprofre.exe) can do this on a wholesale basis if you are migrating hundreds or thousands of users.

It is also possible to remove individual stale or corrupted entries for Outlook 97, 98, and 2000, using the nickname.exe and ol2knick.exe tools. I'm unaware of a similar tool for Outlook 2002 and later - if you are, I'd love to hear about it.

1 comment:

Robert said...

Brilliant - at last an explanation not to be found on Microsoft's help pages! (now tell me why google works better than any Microsoft Help database!!)