Today we released the latest version of the Open AIM SDK, at http://developer.aim.com. Highlights of this release:
* AIM Bots - turn any screenname into a bot that has higher rate limits and cannot be warned
* AIM Location Services - see where your AIM buddies are in real life
* Improved support for AIM Talk voice calls
* Support for custom clients and bots on Mac OS X, Linux, and Pocket PC
* Support for custom clients and bots written in Java
* More sample code, including VB.NET and Java samples
Also, be sure to check out the stuff that people are building with the AIM SDK:
Plugins
AIM Gadgets (formerly known as JAMS)
AIM Location Plugin
Nalsoft IM Logger
AMIP-AIM
RX-Plugin
Custom Clients
AIM Triton
AIM Pro
Go PowerTools
imstar*
PCD Music Lounge
Super Computer International
Monday, June 12, 2006
Monday, May 15, 2006
PCD Lounge
Some more cool Open AIM news - the startup Doppelganger just announced a new client called the PCD Lounge that lets you hang out and chat with people in a virtual nightclub, and it's integrated with AIM. There's nightclub lighting and kicking music going the whole time - definitely captures a club feel pretty well. Definitely worth checking out - but make sure you have a fast computer.
Here's a screenshot:
Here's a screenshot:
Friday, May 12, 2006
AOL Music Now Developer Site
AOL's music download service, MusicNow, just went live with its developer site at http://developer.aolmusicnow.com. Using RSS, you can get all sorts of interesting feeds from the site - top songs, stats on a given artist, new releases - very interesting stuff. You can also make your own MusicNow playlists and listening history available as an RSS feed for others to consume. Here's mine...
Thursday, May 11, 2006
AOL Greenhouse
Other Greenhouse submissions include an AIM Fight Dashboard widget and an RSS screensaver. Another neat feature of the site is its blogs section where you can find AOL employee bloggers and catch up on their recent posts.
Give the Greenhouse a look!
Tuesday, May 9, 2006
TopCoder Open 2006
Just got back from the TopCoder Open 2006 finals in Las Vegas. For those unfamiliar with TopCoder events, they are computer programming competitions where contestants have to solve several programming problems in a fixed amount of time, usually around an hour. The problems can be quite difficult; I was eliminated in earlier rounds of the TCO 2006 after missing this problem:
You are given a NxN matrix M, where 1 <= N <= 50, and an integer k, where 1 <= k <= N. Write a function to determine the maximum possible trace value for a kxk submatrix S, created by taking any k rows and k columns from M. (The trace is the sum of the elements on S's main diagonal; the selected rows and columns are not necessarily contiguous.)
Anyway, the final rounds were quite dramatic, with the problems being tougher than ever, the elimination of some of the top seeds, and some close finishes in the rounds to select the competitors for the championship round. In the championship round, it came down to 8 competitors - mostly from Eastern Europe, with 1 each from China, Japan, and Australia.
"tomek" (from Poland) got out to an early lead by solving the 250-point problem (You are given two rectangular solids of arbitrary sizes; write a function to determine the minimal surface area of a box than can enclose them) in just over 5 minutes. However, "Petr" (from Russia) prevailed in the end by being the only competitor to solve the 1000-point problem (Given an array of cables connecting N points, where each cable has a quality Q and a cost C, select a subset of the cables such that all points are connected and the sum of the quality values over the sum of the cost values is maximal). Petr walked away with $20,000 for his efforts; he was also asked at the post-event press conference "What was the most important decision that you made during the competition that allowed you to win?" His answer, naturally, was "The most important decision that I made was choosing to solve the 1000-point problem correctly."
Below are some pictures I took during the competition. At first, it can seem a bit strange to think of programming as a spectator sport. TopCoder does an excellent job though, with multiple screens displaying the standings in real time and mirrored viewsof all the competitors screens so you can see how they are approaching the problems. When the competitors are this good, it is quite exciting to just watch them work.
You are given a NxN matrix M, where 1 <= N <= 50, and an integer k, where 1 <= k <= N. Write a function to determine the maximum possible trace value for a kxk submatrix S, created by taking any k rows and k columns from M. (The trace is the sum of the elements on S's main diagonal; the selected rows and columns are not necessarily contiguous.)
Anyway, the final rounds were quite dramatic, with the problems being tougher than ever, the elimination of some of the top seeds, and some close finishes in the rounds to select the competitors for the championship round. In the championship round, it came down to 8 competitors - mostly from Eastern Europe, with 1 each from China, Japan, and Australia.
"tomek" (from Poland) got out to an early lead by solving the 250-point problem (You are given two rectangular solids of arbitrary sizes; write a function to determine the minimal surface area of a box than can enclose them) in just over 5 minutes. However, "Petr" (from Russia) prevailed in the end by being the only competitor to solve the 1000-point problem (Given an array of cables connecting N points, where each cable has a quality Q and a cost C, select a subset of the cables such that all points are connected and the sum of the quality values over the sum of the cost values is maximal). Petr walked away with $20,000 for his efforts; he was also asked at the post-event press conference "What was the most important decision that you made during the competition that allowed you to win?" His answer, naturally, was "The most important decision that I made was choosing to solve the 1000-point problem correctly."
Below are some pictures I took during the competition. At first, it can seem a bit strange to think of programming as a spectator sport. TopCoder does an excellent job though, with multiple screens displaying the standings in real time and mirrored viewsof all the competitors screens so you can see how they are approaching the problems. When the competitors are this good, it is quite exciting to just watch them work.
Friday, April 28, 2006
More AIM SDK stuff
Whoah! Kind of fell off the surface of the blogosphere for a bit, had a lot of distractions recently (more on that another time). Anyway, here are a couple quick news items regarding the AIM SDK:
- After considerable customer feedback (see my previous post), we've clarified several ambiguous points in the AIM SDK license agreement, up at http://developer.aim.com/license.jsp. Specifically, we've addressed the use of the AIM SDK with open source software in Section 4, and modified the wireless restriction to exempt software running on a PC or using 802.11. Lastly, we've removed text which indicated that you must send us mail if you change the URL where your custom client or plugin is hosted; now you can just change it from the "Manage Keys" page.
- The first AIM SDK plugin written by a third party developer that I have found is AMIP, which adds the song that you are currently listening to to your AIM profile. It's like JAMS's MyTunes, except AMIP supports many more music players. Worth checking out.
- On the subject of JAMS, we now see over 100,000 people using JAMS every day. Thanks to all of you who have used JAMS and recommended it to friends.
- Last, we are gearing up for our AIM SDK 1.1 release. There will be a lot of new goodies along with many bug fixes in this release. Look for it in the near future...
Wednesday, March 15, 2006
AIM SDK License Clarifications
I have seen many posts ragging us for the language we have in the AIM SDK regarding what you can and cannot do. I agree that the language is confusing and overbearing in some parts, and often the legal text sends a message that is different than what we intended.
The next version of the EULA will have many of these things remedied, but until then, let me try to clear up some of the sticky issues. (Many of these questions were submitted in an email exchange that you can see here.)
If you have more questions about the license - or are still unhappy with terms in the license - please let me know so that I can try to clarify the issue, not just for you, but for everyone who reads this blog. This is the first effort of this type at AOL and we are still learning how to do this.
Keys, Name, URL
Q: Why is AOL using keys to control access to the API? I don't want to have to come beg AOL for a key!
A: Anyone can get a key. You don't have to "apply", you just go to our webpage
and click a link. We don't vet the keys in any way, you just click and boom you have a development and deployment key. You can deploy your software, sell your software, have up to 250,000 users of your plugin/client per day - all completely for free. All we ask is that once you exceed that limit (as you start to approach 1% of our userbase, and potentially start consuming nontrivial network resources) you come discuss a business arrangement with us.
For those still unconvinced, Google is doing the exact same thing for access to the Google family of web services. It allows the network operator to know who is using the network, and prevent people from abusing the network (spam, malware, etc).
Lastly, many have asked "I don't know what to put in when for the name/URL fields when applying for a key". The name and URL are intended to allow us to help us monitor the network, by allowing us to get more information about your plugin or client. If you are still in the development phase, and don't know what to put for these fields - you can just make something up for now - you can go back and change it later.
Open Source
Q: Section 4 (viii) (about "Publicly Available Software") seems to be the subject of debate. Some think that it forbids the use of *any* open source code with theSDK, including well-understood licenses that are not "viral". The GPL is notoriously problematic, but I think others (like the MIT license) should be okay.
A: We encourage the use of open-source code with the SDK. The only prohibition is that you cannot write code with a license that would require AOL to open source the SDK. I think the GPL is the only license that has this issue (since you cannot link to closed-source libraries); LGPL, BSD, and MIT should be fine.
We will try to make this absolutely clear in the next EULA. We are very supportive of open source - we use several best-of-breed open source technologies in the AIM SDK (libexpat, zlib, NSS, and sipXtapi).
Wireless
Q: The definitions for wireless use seem very broad. I think the most
worrisome part is:
offer or enable a service or functionality not authorized in writing by AOL that utilizes a wireless telecommunication carrier's network and/or wireless services.
This seems to extend to computers using a wireless internet connection. Three cases come to mind:
A: I agree this is very poorly worded. This is only intended to apply to software running on mobile phones using TDMA/CDMA/GSM.
PCs/PDAs using 802.11 are not affected by this.
Deployment
You may not deploy or distribute your Custom Client to any third party.
Q: This appears to extend to distributions that do not include a key or (distributable parts of) the SDK itself (e.g. source code).
A: This is from the section where it discusses "Development keys". The intent is that plugins built with "development" keys (as opposed to "deployment" keys) should not be distributed to end-users in binary form (mainly since the 500-user limit will prevent your plugin from working properly for most users). If you are distributing source, you may include a "development" key in the source - we do this in the sample applications provided in the SDK.
Distribution Limitations
from a fixed HTML website located at a publicly available fixed URL
Q: Theterms "fixed HTML website" and "fixed URL" seem to potentially problematic. Many pages are dynamically generated and mirroring requires redirection.
A: This just means, you can give us a URL, that if we follow it, we can get to a site that has more information about your plugin. The "fixed" language is just a way of saying that if we go to your URL, we should not get a 404.
The next version of the EULA will have many of these things remedied, but until then, let me try to clear up some of the sticky issues. (Many of these questions were submitted in an email exchange that you can see here.)
If you have more questions about the license - or are still unhappy with terms in the license - please let me know so that I can try to clarify the issue, not just for you, but for everyone who reads this blog. This is the first effort of this type at AOL and we are still learning how to do this.
Keys, Name, URL
Q: Why is AOL using keys to control access to the API? I don't want to have to come beg AOL for a key!
A: Anyone can get a key. You don't have to "apply", you just go to our webpage
and click a link. We don't vet the keys in any way, you just click and boom you have a development and deployment key. You can deploy your software, sell your software, have up to 250,000 users of your plugin/client per day - all completely for free. All we ask is that once you exceed that limit (as you start to approach 1% of our userbase, and potentially start consuming nontrivial network resources) you come discuss a business arrangement with us.
For those still unconvinced, Google is doing the exact same thing for access to the Google family of web services. It allows the network operator to know who is using the network, and prevent people from abusing the network (spam, malware, etc).
Lastly, many have asked "I don't know what to put in when for the name/URL fields when applying for a key". The name and URL are intended to allow us to help us monitor the network, by allowing us to get more information about your plugin or client. If you are still in the development phase, and don't know what to put for these fields - you can just make something up for now - you can go back and change it later.
Open Source
Q: Section 4 (viii) (about "Publicly Available Software") seems to be the subject of debate. Some think that it forbids the use of *any* open source code with theSDK, including well-understood licenses that are not "viral". The GPL is notoriously problematic, but I think others (like the MIT license) should be okay.
A: We encourage the use of open-source code with the SDK. The only prohibition is that you cannot write code with a license that would require AOL to open source the SDK. I think the GPL is the only license that has this issue (since you cannot link to closed-source libraries); LGPL, BSD, and MIT should be fine.
We will try to make this absolutely clear in the next EULA. We are very supportive of open source - we use several best-of-breed open source technologies in the AIM SDK (libexpat, zlib, NSS, and sipXtapi).
Wireless
Q: The definitions for wireless use seem very broad. I think the most
worrisome part is:
offer or enable a service or functionality not authorized in writing by AOL that utilizes a wireless telecommunication carrier's network and/or wireless services.
This seems to extend to computers using a wireless internet connection. Three cases come to mind:
- 802.11 networks operated by wireless telecommunication carriers (e.g. T-Mobile Hot Spot)
- 802.11 networks using internet access provided by a wireless telecommunication carrier (e.g. a wireless router and a DSL line)
- TDMA, CDMA, GSM, etc. networks, using a computer, not a mobile device (e.g. Verizon data service using a PCMCIA card)
A: I agree this is very poorly worded. This is only intended to apply to software running on mobile phones using TDMA/CDMA/GSM.
PCs/PDAs using 802.11 are not affected by this.
Deployment
You may not deploy or distribute your Custom Client to any third party.
Q: This appears to extend to distributions that do not include a key or (distributable parts of) the SDK itself (e.g. source code).
A: This is from the section where it discusses "Development keys". The intent is that plugins built with "development" keys (as opposed to "deployment" keys) should not be distributed to end-users in binary form (mainly since the 500-user limit will prevent your plugin from working properly for most users). If you are distributing source, you may include a "development" key in the source - we do this in the sample applications provided in the SDK.
Distribution Limitations
from a fixed HTML website located at a publicly available fixed URL
Q: Theterms "fixed HTML website" and "fixed URL" seem to potentially problematic. Many pages are dynamically generated and mirroring requires redirection.
A: This just means, you can give us a URL, that if we follow it, we can get to a site that has more information about your plugin. The "fixed" language is just a way of saying that if we go to your URL, we should not get a 404.
Subscribe to:
Posts (Atom)
