Thursday, January 19, 2006

Apples and Running Men

Dropped by the Apple campus on Wednesday to talk about some of the new and upcoming AIM features. Apple's iChatAV uses the AIM libraries that my team develops, and they've done great stuff with them - a perfect example of an external developer using our APIs to build a super product and add value to the AIM platform.

The iChat guys were great to talk to and it was a truly memorable visit -
getting to see Steve Jobs, John Ives, people from various Mac OS X teams, and the new MacBook Pros running iChatAV at an amazing resolution and framerate.

We did discuss audio/video interop and there will be a new AIM Triton out soon that will properly interop for audio and video calls with iChatAV in Mac OS X 10.4.4 (iChatAV 3.1.1)

Looking forward to see what the team comes up with for the next major iChatAV release...

Tuesday, January 17, 2006

AIM API Update

Greg and I are out in Silicon Valley this week talking with some select customers about our APIs (and getting a chance to grab some great fish tacos). Here's a shot of the AOL building here in Mountain View, where we gave a presentation today - love the palm trees.

Anyway, about the APIs - we have some good news and some bad news.
First the bad news: if you have been developing 'unofficial' plugins by looking at acccore.dll/reverse-engineering JAMS, your plugins probably stopped working today. This is because our API key management system went into production today.
The good news: you know what that means.
Also: head on over to I Am Alpha and see the web widget APIs that our AIM web guys have whipped up. These are not the AIM Plugin APIs, sorry for the confusion.

Off to another exciting location tomorrow! (If you're a native of the area and have any recommendations for hip restaurants, we'd love to hear from you.)

Update 1/18/06:
The IconMaker plugin in JAMS 2.5 had an incorrect key and was therefore disabled by the key-management system. Look for a JAMS 2.51 this week with a fix.

Monday, January 16, 2006

IM Etiquette

I came across an interesting page today entitled "IM Etiquette". Some of these tips are more important than others, but people who use good etiquette when IMing me (and probably many others) are much more likely to get a good response.

Most important tip:
"Unless it's some sort of joke or prank, don't leave more than two consecutive messages for someone who you know is away. The same goes for if you're talking to someone and they don't respond right away. They may be otherwise occupied. There is no reason for "Hi!", then five seconds later "Hello?", then "Anybody home?!". This elevates into ridiculousness and you'll only lose the other person's respect. And they will want to ninja-kick you."

Thursday, January 12, 2006

Using AIM Triton with Google Desktop Search

Google Desktop Search is a nice utility, and its support for indexing AIM conversations has saved me many times when I have had to remember some obscure detail that someone metioned to me in an IM several weeks before. Unfortunately, it doesn't  support AIM Triton yet, but getting it working is not too difficult. If you're handy with a hex editor, you can follow the steps below. Otherwise, you can skip to the end and just download the file you need.

1. Shut down GDS, from the tray icon.
2. Find GoogleDesktopNetwork2.dll; for me, this file was in the "C:\Program Files\Google\Google Desktop Search" folder.
3. Make a backup of this file, in case you make a mistake.
4. Open GoogleDesktopNetwork2.dll in your favorite hex editor.
5. Scroll down to approximately offset 0x1A000, or search for "aim.exe"
6. You will see a list of EXEs such as waol.exe, opera.exe, netscape.exe, msn6.exe. Each name will be in Unicode format, meaning each character is 2 bytes, with the first character being a NUL (00).
7. Pick one of the EXEs that you do not use; "msn6.exe" is a good choice because it is the same size as "aim6.exe". (To be fair, I will note that "waol.exe" is also a good choice.)
8. Replace the EXE name that you have chosen with aim6.exe. If you chose a name that was longer than 4 characters, you will need to replace the remaining characters with NUL bytes.
9. Save your changes.
10. Restart GDS.
11. Restart AIM Triton.

If you don't want to go through all this trouble yourself, and you are using the version "Google Desktop 20050818-en", you can use the GoogleDesktopNetwork2.dll that I modified and skip steps 4-8.

Tuesday, January 10, 2006

JAMS 2.5

JAMS 2.5 has been released and can be downloaded here. It is compatible with AIM Triton 1.0 and later, please "Exit AIM" from the Triton menu before installing. Descriptions of all the JAMS plugins are available on the JAMS home page (now with screenshots!)

What's new:
* IconMaker - set your custom buddy icon from any image file. You can crop the image to get just what you want in your buddy icon. (by Justin)
* MobileControl - set your away message, or get buddy info by sending a SMS message from your mobile phone. (by Alan, the director for our group!)

Bug fixes:
* The bug where Colorizer did not work if you had customized your font has been fixed.
* EZLogger now displays an error message if you try to read a log that does not exist.

Got an idea for a neat plugin? Post it on the blog, or send it directly to us.

Update 4:17 PM 1/10/2006:
* The initial version of JAMS 2.5 had an issue where the displayed version numbers said 2.2. This has been resolved with the latest jams25.exe.
* To use MobileControl, you must first set the mobile phone number you will be using. Currently, you must do this from the Actions menu, "Set Mobile Phone Number". This will pop up a dialog where you can set your number, and also display the commands you can send. The currently supported commands are "@away msg" and "@info username".
* The Settings buttons do not work in JAMS 2.5, because it requires a new AIM Triton (version 1.2) that has not yet been released. Look for it soon.

Friday, January 6, 2006

Mailbag 1/6/2006

Happy New Year!

Got a number of questions over the past week:

Q: I want to build an AIM bot, but I am having trouble with rate limits and other uptime issues. How can I ensure my bot stays online?
A: We have a bot program where you can be added to our "bot whitelist" for a certain price (I don't know the pricing offhand). If you are interested, send me an email with "bot" in the subject line and I will send it on to our bot business folks. In the future, we hope to have an AIM bot (naturally) where you can submit these requests.
Q: What happened to Direct Connect/Instant Images in Triton?

A: We ran out of time and it missed the cut for Triton 1.0. However I have seen some demos from the team working on the UI for it and I can say that it will be worth waiting for.
Q: Why doesn't Triton's audio or video work with Apple's iChatAV?
A: We switched to a new SIP stack with Triton, and both Triton and iChatAV had some incompatibilities that did not fully get sorted out in time for launch. Look for these incompatibilities to be resolved with the next Triton (1.2 hopefully) and iChatAV builds.
Q: I don't like the green color used for the messages I send. Can I change the IM window text colors?
A: The colors are set in Triton's strings.xml file. You can find strings.xml at
C:\Program Files\Common Files\AOL\....\imapp\verXYZ\resources\en-US\. In this file, <string name="imForm.userColor">#4a9e00</string> sets everyone's favorite green. "imForm.buddyColor" sets the sender's color. You can change these values to something more pleasing to you; the changs will take effect the next time you start Triton.
Q: Is the plugin API ready yet?
A: We are still expecting a release in the very near future. In the meantime...
Q: I looked at the acccore.dll type library you mentioned before but I don't know where to start. What interface should I be looking at?
A: IAccPlugin is the base interface that all plugins need to implement. Methods on that interface will be called when your plugin is loaded and unloaded.
Q: Can I test the new Mac AIM client?
A: You will read about it here as soon as it is available.