Friday, March 28, 2008

Exporting and Importing Contacts in Trillian

Short version: First: close Trillian on both computers. Second: copy the file Buddies.xml from the "export" computer to the "import" computer.

Lesson learned: Sequence matters.

Long version:

In the never-ending battle to synchronize personal data across machines, I just went through a little bit of a head-scratcher trying to update my Trillian contact list on my laptop to match my desktop. Here's what I learned.

There is no explicit import/export mechanism in Trillian. Your contacts are stored in a file named Buddies.xml. To update your contact list on another machine, just copy the file from one machine to the other. If you've done the standard installation and you're the only one who uses Trillian on those machines, the file is likely stored in the folder C:\Program Files\Trillian\users\default\.

Here's the hiccup: If you have Trillian open on the "import" computer when you copy the new version of the file, it will not update the contact list. That's understandable. The expected drill would be to restart the program, to force reading of the updated file. Turns out, though, that about the last thing that Trillian does upon closing is to rewrite the Buddies.xml file from what it's holding in memory. This means that the new version of file that you just copied will be overwritten, and when you restart Trillian, you'll see your old contact list again, not the new one. So the key is to close Trillian before you copy over the new version of Buddies.xml.

In retrospect, this behavior makes sense. Trillian does not just store identities in Buddies.xml; it also stores data like the last time you chatted with the people on the contact list. So, as far as a running instance of Trillian is concerned, the most up-to-date information is the state of the program just before closing, and not the state of the files on disk. Maybe this should have occurred to me after the first time the contact list didn't get updated, but it took a few iterations before the moment of "aha!"

6 comments:

Anonymous said...

Thanks man, this helped a lot, Buddies.xml is in the users/default folder for me.

bjkeefe said...

Thanks for letting me know. Glad I could help.

Anonymous said...

Hey Brendan, I just came across your post when searching for "import contacts list in Trillian". Your explanation was very helpful and I'll certainly try that.

Do you have any experience in 'synching' rather than importing? It occurs to me after reading how Trillian overwrites the buddy.xml file that contacts I have on the import computer (that aren't on the export computer) will be overwritten. Is there a way to combine/synch rather than overwrite the buddy.xml file?

Thanks for any help you might offer!

Dan

bjkeefe said...

Hi, Dan.

I'm sorry to say that I haven't been using Trillian for some time now, so I can't offer much help. It appears that the software has gone from version 3, when I was last using it, up to v4 and v5beta.

Yes, the process I described in this post will overwrite what's on the "import" computer. I've taken a quick look around, and it does not seem as though there is any straightforward solution to your problem. Therefore, I can only suggest some possible workarounds. If you've already thought of these, I apologize.

1. If computer A has most of your contacts and computer B has only a few that aren't stored on A, it might be easiest just to copy B's unique information, say, to a text file, and then, using this as a reference, just add new contacts on A in the usual manner. When you've got the full list on A, you can then copy that buddies.xml file to B.

Clearly this is going to be tedious for more than a few contacts or if you think you'll frequently be adding new contacts on the two machines separately and needing to resync.

2. If you're comfortable using a text editor and looking at XML data (which is basically just text with a lot of <s and >s), you might be able to see how to copy chunks from B's buddies.xml file to A's buddies.xml file. Obviously, you want to work with copies of the real files while you're experimenting, and you'll want to back up A's original version of buddies.xml before copying your modified version into the folder where Trillian expects to find it.

I don't have Trillian installed on the machines I am now using, though, so I am just guessing, but it may turn out that the data will be structured sensibly enough (from a human perspective) that it won't be especially hard to find the data you want to extract from B's file or to figure out where to paste it in A's. I would at least take a stab at this if I had a lot of contact info to move, especially if it was a one-off task.

3. If #1 is impractical and #2 is either impractical or too geeky for you to want to bother with, perhaps you could look into what's new with Trillian. For example, I notice a new feature on their site called Trillian for Web, which mentions automatic synchronization between devices. Also, in the "Contact List" section (under Learn More > Features of Trillian Astra) there's this:

Your Contact List Everywhere [New in Trillian Astra]

Keep your Contact List with you anywhere you go with Trillian Astra's powerful new synchronization services. Your custom contact list is securely stored with your Astra Account and is available anywhere you install Trillian.


Download.com's page for Trillian Astra says:

The paid upgrade gives you browser-based IM from Trillian.im, full-screen video and filters, many more visual customizations, multiple simultaneous file transfer, and themes, as well as tech support. These features are available for the first 30 days you use the free version, then they deactivate.

Thus, you might be able to use some Web-based service to achieve what you want, and if you're using an older version of Trillian, it may be that upgrading takes care of the sync issue permanently.

4. Final option: you might post your question in the Trillan forums. I don't have any experience with this particular forum, but I have sometimes had good luck asking questions in this way on other topics -- there are lots of people out there who like to share their knowledge.

Good luck. Please let us know how it turned out, especially if you do find a good solution.

Anonymous said...

Wow, Brendan, thanks for taking this kind of time to offer suggestions. I will have a look at these and try to let you know what works.

I really appreciate your effort! :-)

Dan

bjkeefe said...

You're welcome. Good luck, and I look forward to your coming back and saying, "Eh, it was easy. Here's all I had to do …"

ShareThis