Friday, July 1, 2005

AIM Plugins

A while back I blogged about how AIM Triton would support plugins. And we've made several statements to that effect in the press. Well, we've been working on our plugin support for many months, and so I can report that every version of Triton released so far has supported plugins... but unfortunately, there is so much stuff that we are working on for Triton, that we haven't had time to get a nice UI for plugins done.

OK... so where is this all going? I'm pleased to announce version 1.0 of Juberti's AIM ModificationS (JAMS), the first set of plugins for AIM Triton. As an example of the flexibility of Triton's plugin API, the user interface for managing plugins is implemented as... a JAMS plugin.

Note: JAMS 1.0 requires AIM Triton Beta 3. If you install JAMS under AIM Triton Beta 2, you will probably find that AIM Triton no longer works. If you have any problems using JAMS 1.0, an uninstaller is included.

Once you install JAMS, the next time you sign on with AIM Triton, you will see this icon -> in your system tray. If you double-click it, it will bring up the plugin management UI. From there you can enable, disable, or configure any of the installed AIM Triton plugins.

Besides the plugin management plugin, JAMS 1.0 includes the following plugins (note that plugins are disabled by default, and need to be manually enabled through the plugin UI)
* Colorizer - automatically applies a color to your outgoing IMs and chat messages that changes over time.
* LWAway - automatically sets AIM as away when you lock your workstation (for Win XP users, Windows Key + L), and comes back when you unlock.
* MyTunes - automatically adds the current track you are listening to in WinAmp to your AIM profile and status text. (Will support AOL Media Player and iTunes in the future)

None of these plugins are particularly awe-inspiring, but they are a bunch of useful toys that we were able to write in less than a day, and they show just some of the things you can do in just a handful of lines of code with the AIM Triton plugin API. We'll be adding to and enhancing JAMS throughout the AIM Triton beta cycle to show off other neat things that you can do. Note that JAMS is written using C++ and ATL, but the plugin API is COM/IDispatch and so supports any COM-compatible language.

So... many of you are probably wondering... "when can we write plugins for Triton?"
We're working on a developer site right now, where we will be publishing the AIM Triton plugin API, a tutorial for writing a "Hello World" plugin, and the source code for JAMS. Look for it in the coming weeks...

If you've read this far... we are looking to hire a contractor to write AIM Triton plugins for the next several months. If this sounds like fun to you, you live in the Washington DC area, and you have ~5 years of C++ experience and 2 years of COM/ATL experience (plugin experience would be great too), send me a resume and sample code if possible.

8 comments:

synthesizerbot said...

awesome work gentlemen..I am duly impressed.

Are you going to have some blocks in place to prevent people from writing plugins that remove ads and the like?  I guess I'm just worried about the plugin architecture from a security standpoint...although I fully admit I'm no programmer.

shawnfst said...

Awesome indeed. I can only code web (HTML,PHP, XML, CSS and such) and have done a little .net (please don't cry) I usually pick up very easy from "hello world". I look forward to seeing more plugins even though I was unable to run JAMS (nice name BTW). Also I'm wondering from looking at the graphics when is a skinning kit going to come out? Something allowing us to create skins for Triton? Anyone?

bangbang023 said...

Now this is the kind of thing that will push AIM Triton above and beyond all competition. Great work man.

shawnfst said...

Justin,
  While I'm sure there really isn't any support for JAMS except for by you. I just wanted to let you know that LWAway does the same thing in AOL Media Player (It stops play). If you planned that or it actually does that when locking the workstation (I never tried before today) THAT ROCKS!. I hate comming back and finding out the CD that I played is over with when I really liked the song and got caught up doing something else.

   Keep up the good work. I'm going back to Windows from Linux so I can start writing things.

gregsblog said...

Justin and I have some other ideas that we are working on, but you will have to come back and check out blogs to get them. ;-)

josephmaaz said...

Works absolutely as designed. The potention of this is amazing. If this goes open source API on making plugins, this would garner support from more geeks and more cool stuff can be made.

Now there would obviously be a security concern about it too, however, if its Beta, why not - its not mainstream. By all means, I'd get the folks at w00w00 to find some exploits for it and patch them along.

Great job juberti! :-)

dliszka9 said...

So when can we see some documentation of the API for AIM Triton plugins?  I'm stoked about this feature and can't wait to start hacking out some code!

-Dale

riseagainstmexpx said...

Let me just say good job. But i have a question... Why not have MyTunes be compatible with Windows Media Player; a program you know the majority of aim users already have on their computers?