A Twitter Plugin for SXSW

A year ago at SouthBySouthwest (SXSW) Twitter became mainstream in the developer community. The amount of traffic that Twitter experienced over the one week conference was incredible as it seemed that everyone announced their plans each evening via the service. With SXSW, starting this weekend and the Open AIM announcement this week, I thought I would release the latest version of the Twitter plugin for Windows. The plugin supports AIM 6.5+ or AIM Lite.

This plugin will update your status message on Twitter when your status message on AIM changes. The first time your status message on AIM changes, you will be prompted for your Twitter username and password. You can prevent this from happening by installing the plugin, signing on to the AIM client, choosing the Actions button at the bottom of the Buddy List, and selecting “Set Your Status.” Enter in your Twitter credentials, and you will be all set to go.

You can follow along my twitter feed and all the happenings at SXSW and beyond here.

AIM on the iPhone

Backing up yesterday’s major Open AIM announcement, today during the iPhone SDK press conference, we announced an AIM application for the iPhone. The demo at the press conference is a prototype, and we are very excited to be working with Apple on this. A quick quote from the press conference:

Switch between active chats by swiping left and right (applause), status update panel (“Playing Spore!”, giggles), choosing photos from your iPhone photo library as your AIM buddy pic.

Here are a few pics, thanks to my fellow AOL/TWX employees at Engadget.

Stats for Your Open AIM Apps

In the launch post of Open AIM, I mentioned one of the major improvements was a facelift to the Open AIM Developer Web site. Previously developers had no idea what kind of usage their web app, plugin, client or bot had, unless they built it themselves.

We have corrected this problem. Now client and web app keys will see peak simultaneous users, cumulative sessions, IMs sent and IMs received. Developers of plugins will be able to see stats for peak simultaneous usage and cumulative session count. Developers already with keys in the Open AIM program will start seeing their stats being collected.

By having these stats available any time the owner of the key loads their key management page, they can get a great idea of how users are using the application. Stats are available only to the key owner, and are protected by the identity and password of the key owner. Remember that all keys are now unlimited, so there is no need to recompile applications with a deployment key prior to release. If you already have keys set up for your applications, they have automatically been made unlimited. Here is a screenshot of the key managment page.

Thoughts on the launch and our partners

I have gotten about 2.5 hours of sleep over the past 40+ hours. The launch today was a couple months in the making and really there are so many people to thank. So rather than give an “Oscar-like acceptance speech” (pun intended) where the band plays me off the stage, let me just say, “THANK YOU TO EVERYONE WHO WORKED ON GETTING OPEN AIM 2.0 OUT THE DOOR.”

The launch today included two partners that I wanted to take a minute to highlight. We are excited to welcome Seth and the rest of the gang at Meebo into the developer program and we look forward to helping Meebo continue to evolve their client on top of the OSCAR protocol. In the case of eBuddy, we are really happy to add an international partner to the program, especially since we have removed the international clause in the license agreement. eBuddy has been around since 2003 and is based in the Netherlands.

Over the next couple of days I will keep blogging about the program and some other cool things happening around Open AIM at SXSW. Until then, I am going to get a good night sleep for the first time in a few weeks. 🙂

Open AIM 2.0

Over two years ago we launched Open AIM by releasing the Windows Software Development Kit that allowed developers to write custom clients, bots and plugins for the Windows AIM client. Since March 2006, we have released SDKs for the Mac, Linux and PocketPC platforms, as well as AIM Web APIs that allowed developers to build AIM onto websites via embeddable widgets, javascript, or XML.

Today we are adding more exciting ways of integrating and leveraging the AIM network. First, we are documenting the AIM protocol, known as OSCAR. Doing this will allow clients built using libraries such as libPurple, and other open source solutions to be enhanced to take advantage of all our protocol. Second, we are simplifying our license agreement, and removing restrictions to allow you to create the applications you and your users want. For example, we will now allow developers to build clients that incorporate other Instant Messaging services, using our SDKs, protocols and libraries. Third, we will allow developers to build compelling mobile applications for all different mobile devices. Fourth, we are removing limitations on developers from building business and enterprise applications. Fifth, AIM Web APIs now support php and AMF3 return formats for easier server and flash integration. Lastly, we are giving our developer website a huge face lift. On the new site, you will find better message boards, easier to navigate documentation and samples, and additional APIs that AOL has to offer. For developers the new website also will include some basic statistics of your application, plugin or bot.

After listening to you, the Open AIM Developer Community, we have also streamlined the process of building applications, plugins and bots. In the past we required developers of custom client applications, plugins and bots to provide a key and fingerprint to get their application authenticated on to the AIM network. We have simplified this by making the fingerprint check optional. In addition, all keys have unlimited usage. For the AIM Web APIs we are removing the requirement for URL referrer checks, which also means fewer hurdles to develop applications and makes for a better user experience.

By further opening up the AIM developer program, we are providing a better experience for all our users whether they are using the flagship Windows AIM client or Meebo in a Firefox browser. At the same time, we are giving developers the opportunity to build applications using best in breed tools and protocol. In order to best support these efforts and ensure that our users receive a high-quality AIM experience, we do require that developers include some specific elements in their applications. However, we have done our best to keep these requirements to a minimum, resulting in greater flexibility for developers and an enhanced AIM experience for their users. We have created a list, from which developers can pick a minimum of 2 items to integrate into their Web AIM or Custom Client application. The list includes:
– displaying advertising
– providing a link to installing the AIM Toolbar
– displaying a users expression/buddy icon as well as providing a link to letting the user set their expression
– displaying a user’s buddy info
– displaying the AIM Startpage

Developers can change out these items as they determine what best suits the needs of their users and their application. We will be adding new options to the list to further increase the flexibility available to the developer, and in the near-term will be adding other beneficial enhancements such as a revenue-share program for displayed advertising.

In conclusion, over the past two years we have seen tremendous growth and excitement over the Open AIM program, and today is just another step in giving developers the best messaging and synchronous communication platform in the world to build on. We know that for our users this change will continue to give them the choice in deciding what is the best AIM experience for them.

Weekend Tidbits…

I am off to Tel Aviv and ICQ tonight so there will be only sporadic updates next week. Before I go though, one of my loyal readers mentioned that with the number of plugins available now, the Actions menu is getting crowded. We have been supporting multiple plugin command entry points for a while, but the latest AIM client built off of the Open AIM platform supports the following actions (to read all about plugin commands here is the documentation):

Now we also support flyout commands, via IAccCommand::put_Property(AccCommandProp_ParentId, …); For example here is the code from AIM MusicLink that could do the submenu support…

// Create Flyout Command Placeholder
CComPtr <IAccCommand> spiCommand;
piPluginInfo->AddCommand(kCommandId, &spiCommand);
CString menuCommand3;
menuCommand3.LoadString(IDS_ML_MENU_ITEM);
spiCommand->put_Property(AccCommandProp_Text, CComVariant(menuCommand3));
spiCommand->put_Property(AccCommandProp_Flags, CComVariant(AccCommandFlags_ActionsUi));

// add submenu by passing in the command ID of the above command

CComPtr <IAccCommand> spiSubCommand;
piPluginInfo->AddCommand(kShowLogCommandId, &spiSubCommand);
CString menuCommand;
menuCommand.LoadString(IDS_ML_SHOWLOG);
spiSubCommand->put_Property(AccCommandProp_Text, CComVariant(menuCommand));
spiSubCommand->put_Property(AccCommandProp_Flags, CComVariant(AccCommandFlags_ActionsUi));
spiSubCommand->put_Property(AccCommandProp_ParentId, CComVariant(kCommandId));

So as you can see we can easily manage the menus and keep them clean. I actually need to update a few of my plugins to take advantage of the flyout. As always keep the questions coming.

AIM MusicLink version 2.1.0.5

UPDATE 6/9/08 11:00PM EST – The latest AIM MusicLink can be found at the home of AIM MusicLink. (http://www.gregsmind.com/musiclink)

Hot out of the oven for the new year is a new version of AIM MusicLink. I have added a few new features for AIM MusicLink including logging. I now write to an HTML file the time, song, and player so you can keep track of what you are listening to. In addition, I have added code into the installer to confirm that iTunes is installed where AIM MusicLink thinks it should be. If it is not found, then I warn you that iTunes support will not work.

I have tested AIM MusicLink using AIM 6.5 and the latest AIM 6.8 Beta released yesterday. I am using the latest version of iTunes, the latest version of WinAmp, WMP 10 and 11, Yahoo Jukebox, and MediaMonkey. AIM MusicLink also supports Songbird, RealPlayer, and AIM Tunes if you play AIM Tunes outside of the broswer via WinAmp.

By default song logging is turned on, and to turn it off you can access the preferences for AIM MusicLink via the ‘Actions’ menu in the bottom of the buddy list. In the same menu you will see a link to open up your AIM MusicLink Log. Here is a link to what my log looks like. Here are some screenshots from the latest release.

DOWNLOAD AIM MUSICLINK v2.1.0.5

I have added the logging purposely to see if we can narrow down where people say AIM MusicLink is not working for them. If the song is successfully logged, it means AIM MusicLink found the song, but setting it on our host failed. If there is no log item, then AIM MusicLink could not find the song for a variety of reasons.

As always I appreciate the feedback, so please do not hesitate to share it. If AIM MusicLink is not working for you please share the details of media player version and AIM client version.

AIM is now on the Sony Mylo

This week at CES, Sony announced their Mylo2 Personal Communicator. Mylo was originally released last year and included some messaging, media and browsing capabilities. In the Mylo2, they have added AIM, Flash video support, and tighter audio/video integration. The thing I want to focus on, of course is the AIM client in the device. The Open AIM platform was used in building this client. This is the same library that is in AIM 6.5, AIM Lite, AIM Pro, etc. Its always neat seeing the platform implemented on technology other than PCs. For more information on the platform check out http://developer.aim.com. Here is a video and an image of the Mylo.

Some more code samples

I have added a more samples to my code page. I have included an entire project to download as well. In the sample I added today, is the base plugin project I use when writing all new C++ plugins. Download the project, and all you have to do is add your business logic. I have documented the code to the hilt and given you some ideas on what you can do with the project. I will be adding some more base samples, for example a basic javascript plugin, or a basic C# bot. Check out the basic plugin sample here.

AIM on GMail

There are lots of posts all over the internet today about the availability of AIM now on GMail’s GTalk client.

The integration was built on top of the Open AIM SDK Library. When you open up GMail you will be able to sign into your AIM Account by clicking on Settings|Chat. Your AIM buddies will appear on the contact list in most frequent order and you can hover over and get basic buddy info.