Title: New Topic: Windows Live Agents
Slug: new-topic-windows-live-agents
Date: 2007-09-10 13:42:00
Author: Kartones
Lang: en
Tags: Development, Windows Live Agents
Description: A summary of my experience working with Windows Live Agents, including the official SDK and third-party options for indie developments.

<p>For the past months, I've been working with something new: <a href="http://en.wikipedia.org/wiki/Windows_Live_Agents">Windows Live Agents</a> (or, as most of us will call them, bots).</p> <p align="justify"><a href="http://www.ilitia.com">ilitia</a> was chosen as a Windows Live Agents Partner by MSN Spain, and we've been trying the official SDK. Few months ago, we started developing our first commercial bot, for an important client. </p> <p align="justify">Now, the bot is reaching a beta stage, where it works and does some cool stuff on the inside, and will probably launch in few time (now the client needs to do a big QA and human relations check on it, to choose how it will talk, behave and look).</p> <p align="justify">We're also starting a second commercial bot probably this week, so the work keeps coming and I'll probably be developing bots at least for a couple of months.</p> <p align="justify">For this first post, I don't wan't to dig into complex stuff, so instead I'll provide info both about the official SDK (which uses <strong>BuddyScript</strong>, a custom scripting language developed by Colloquis, the company that Microsoft bought and adopted as the official SDK), and third-party SDKs and APIs available for indie developments.</p> <p align="justify">So here they go :)</p> <p align="justify"><b><u>Official WLA SDK</u></b></p> <ul> <li> <div align="justify"><strong>Old Colloquis forums</strong>: Out of date but with lots of info, troubleshooting and tips.</div></li> <li> <div align="justify"><strong>MSDN WLAs forum</strong>: The new, official forum for questions about Buddyscript and WLAs.</div></li> <li> <div align="justify"><strong>Windows Live Agents official blog</strong> (<code>http://windowsliveagents.spaces.live.com/</code>): The official blog. Release notes of new SDK versions, tips and best practices for developing WLAs.</div></li> <li> <div align="justify"><a href="http://msdn2.microsoft.com/en-us/library/aa751024.aspx">Windows Live Messenger Activity SDK</a>: All the info for developing Activities.</div></li> <li> <div align="justify"><a href="http://msdn2.microsoft.com/en-us/library/aa905655.aspx">Windows Live Messenger Add-In API</a>: With the appearance of Windows Live Messenger 8.0, Microsoft exposed a .NET API to create add-ins that attach to MSN Messenger and allow to create Agent-like assistants (I've just discovered this one so I still don't know it's limitations or capabilities in depth).</div></li></ul> <p align="justify"><b><u>Unnoficial SDKs &amp; APIs</u></b></p> <ul> <li> <div align="justify"><strong>Incesoft</strong>: A small API for multiple languages (.NET, Java, C++) that allows to develop agents. The problem is that the server is hosted by them, so speed is not too fast as your bot/agent has to bounce from your "logic components" to their servers, then to Messenger servers and finally to the user's Messenger window.</div></li> <li> <div align="justify"><strong>DotMSN</strong>: Another API, this one fully run on your side, and extensible via .NET. While not professional and scalable, allows the greatest level of customization and control of your agents. </div></li> <li> <div align="justify"><a href="https://en.wikipedia.org/wiki/AIML">AIML</a>: An open standard to develop natural language for Artificial Intelligence conversations, via XML.</div></li> <li> <div align="justify"><a href="http://en.wikipedia.org/wiki/Microsoft_Notification_Protocol">Wikipedia info on MSNP</a>: Wikipedia link to gathered information about Microsoft Notification Protocol, which MSN Messenger uses to transport the conversations.</div></li></ul> <p align="justify"> </p> <p align="justify">Thanks to Gabi for the Messenger Add-in &amp; DotMSN info!</p> <p align="justify"> </p> <p align="justify"><b>Note</b>: Next post will start with handy tips, coding examples and other things interesting if you're developing WLAs.</p>
