<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Windows Live Agents Team Blog : Getting Started with WLA</title><link>http://blogs.msdn.com/windowsliveagents/archive/tags/Getting+Started+with+WLA/default.aspx</link><description>Tags: Getting Started with WLA</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Visual Studio hints</title><link>http://blogs.msdn.com/windowsliveagents/archive/2008/08/11/visual-studio-hints.aspx</link><pubDate>Mon, 11 Aug 2008 22:01:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8848847</guid><dc:creator>imiluk</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/windowsliveagents/comments/8848847.aspx</comments><wfw:commentRss>http://blogs.msdn.com/windowsliveagents/commentrss.aspx?PostID=8848847</wfw:commentRss><description>&lt;DIV&gt;If you are moving from the old Colloquis IDE to the Visual Studio-based Windows Live Agents SDK, and you've never used Visual Studio, you may be a little lost.&amp;nbsp; This post aims to collect simple hints and tricks for&amp;nbsp;agent developers new to working&amp;nbsp;with Visual Studio.&amp;nbsp; This is just a start -- if you have any hints, please do comment, and later on we'll post a sequel.&amp;nbsp; &lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Also, this is by no means much of a guide to Visual Studio as a whole, and is really meant to get you started and oriented for agent-development tasks.&amp;nbsp; Also, it's not a guide for creating agents.&amp;nbsp; The first resource for using the new SDK is the &lt;A href="http://msdn.microsoft.com/en-us/library/cc527946.aspx" target=_blank&gt;&lt;FONT color=#4389cf&gt;Windows Live Agents SDK documentation&lt;/FONT&gt;&lt;/A&gt;.&amp;nbsp; You should start there before doing anything.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;STRONG&gt;Agents menus&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;DIV&gt;Here are some common menu locations for agent-development tasks:&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;Edit -&amp;gt; Find and Replace&lt;/FONT&gt;&amp;nbsp;&amp;nbsp; ... Lots of options for searching through single or multiple files.&amp;nbsp; Regular expressions work!&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;View -&amp;gt; Solution Explorer&lt;/FONT&gt; ... This is rougly equivalent to the Explorer feature in the old IDE, and lets you see the project files in a tree view.&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;View -&amp;gt; Class View&amp;nbsp;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... Lets you see all the project's domains and packages as a flat list of classes.&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;View -&amp;gt; Error list&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;... Displays compile errors and warnings.&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;View -&amp;gt; Output&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... Similar to the "Misc Debug" pane of the old IDE, displays compiler messages.&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;View -&amp;gt; Other Windows -&amp;gt; Conversation Window&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ...&amp;nbsp;Where you compile and talk to the agent.&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;View -&amp;gt; Other Windows -&amp;gt; Comprehension Info Window&lt;/FONT&gt;&amp;nbsp; ... Displays match scoring information.&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;Project -&amp;gt; Add DLS Item&amp;nbsp;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... Add datasources and other DLS items.&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;Project -&amp;gt; ProjectName Properties&amp;nbsp; &lt;/FONT&gt;... Specify compile parameters like buddy id,&amp;nbsp;filter, and command-line options.&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;Tools -&amp;gt; Windows Live Agents Tools -&amp;gt; Code Management&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... The SDK's interface to the &lt;A href="http://msdn.microsoft.com/en-us/library/cc527970.aspx" target=_blank&gt;&lt;FONT color=#4389cf&gt;Partner Hosting Infrastructure&lt;/FONT&gt;&lt;/A&gt;.&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;Tools -&amp;gt; Windows Live Agents Tools -&amp;gt; Request License Certificate&amp;nbsp; &lt;/FONT&gt;... Get a new license cert.&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;Tools -&amp;gt; Windows Live Agents Tools -&amp;gt; Management Console&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... Launches the web management console within Visual Studio.&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;Tools -&amp;gt; Windows Live Agents Tools -&amp;gt; Update connections file&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;...&amp;nbsp;Attempts to update the connections file based on the content of your project.&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;Tools -&amp;gt; Windows Live&amp;nbsp;Agents Tools -&amp;gt; Performance&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ... Various&amp;nbsp;tools for measuring performance.&lt;/DIV&gt;
&lt;DIV&gt;&lt;FONT color=#c00000&gt;Tools -&amp;gt; Options&lt;/FONT&gt; ... Set things like tabs and&amp;nbsp;syntax highlighting.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;STRONG&gt;Show All Files&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;DIV&gt;By default, the SDK will mount a filesystem in the Solution Explorer, which may affect performance if there are a lot of files, causing the editor to lag.&amp;nbsp; If this is the case, you can click "Show All Files" to remove the All Files view, and navigate to files through the Class View.&amp;nbsp; Editing will be a lot faster.&amp;nbsp; Set Show All Files to&amp;nbsp;false by default at&amp;nbsp;Tools -&amp;gt; Options -&amp;gt; Windows Live Agents SDK&amp;nbsp;-&amp;gt; SDK Settings -&amp;gt; General -&amp;gt; "Show&amp;nbsp;All Files on project open."&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;STRONG&gt;Keyboard Shorcuts&lt;/STRONG&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;As of right now, there isn't a keyboard shortcut for starting/stopping the agent in the Conversation Window.&amp;nbsp; However, here are some shorcuts you may find useful:&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;CTRL-K CTRL-C ... comment&lt;/DIV&gt;
&lt;DIV&gt;CTRL-K CTRL-U ... uncomment&lt;/DIV&gt;
&lt;DIV&gt;CTRL-ALT-L ... Solution Explorer&lt;/DIV&gt;
&lt;DIV&gt;CTRL-TAB ... toggle through open windows&lt;/DIV&gt;
&lt;DIV&gt;CTRL-Shift-&amp;lt;arrow key&amp;gt; ... move forward/backward by one word&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;Many other shortcuts are listed next to the menu items they correspond to.&lt;/DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;STRONG&gt;Window Arrangement&lt;/STRONG&gt;&lt;/DIV&gt;
&lt;DIV&gt;One of the best things about Visual Studio is the flexibility it provides for laying out your environment.&amp;nbsp; Any window can be tabbed, docked, or floating, and you can drag everything around the way you like.&amp;nbsp; Right click a window title, or click the small arrow in the top of the pane, to see your options&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8848847" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/windowsliveagents/archive/tags/Buddy+Script/default.aspx">Buddy Script</category><category domain="http://blogs.msdn.com/windowsliveagents/archive/tags/Getting+Started+with+WLA/default.aspx">Getting Started with WLA</category><category domain="http://blogs.msdn.com/windowsliveagents/archive/tags/Debugging/default.aspx">Debugging</category><category domain="http://blogs.msdn.com/windowsliveagents/archive/tags/IDE/default.aspx">IDE</category></item><item><title>Best Practices for Developing a Windows Live Agent: part 3</title><link>http://blogs.msdn.com/windowsliveagents/archive/2008/08/08/best-practices-for-developing-a-windows-live-agent-part-3.aspx</link><pubDate>Fri, 08 Aug 2008 22:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8844080</guid><dc:creator>imiluk</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/windowsliveagents/comments/8844080.aspx</comments><wfw:commentRss>http://blogs.msdn.com/windowsliveagents/commentrss.aspx?PostID=8844080</wfw:commentRss><description>&lt;DIV&gt;
&lt;P style="LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 14pt"&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Times New Roman"&gt;Use Dialogs&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="LINE-HEIGHT: normal"&gt;&lt;FONT face="Times New Roman" color=#000000 size=3&gt;Dialogs create a more interactive experience and help the user to feel like he/she is driving the conversation.&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal"&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Example:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt; 
&lt;P style="LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;- Hey, I have really cool games. You wanna see them?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;? Yes.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;- Here are my games:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&amp;lt;empty/&amp;gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Hangman {*}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Word Scramble {*}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Reversi {*}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;? No.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;- OK! Next time you want to see my games, just type “games.”&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8844080" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/windowsliveagents/archive/tags/Getting+Started+with+WLA/default.aspx">Getting Started with WLA</category><category domain="http://blogs.msdn.com/windowsliveagents/archive/tags/Best+Practices/default.aspx">Best Practices</category></item><item><title>Best Practices for Developing a Windows Live Agent: part 4</title><link>http://blogs.msdn.com/windowsliveagents/archive/2008/08/08/best-practices-for-developing-a-windows-live-agent-part-4.aspx</link><pubDate>Fri, 08 Aug 2008 22:14:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8844082</guid><dc:creator>imiluk</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/windowsliveagents/comments/8844082.aspx</comments><wfw:commentRss>http://blogs.msdn.com/windowsliveagents/commentrss.aspx?PostID=8844082</wfw:commentRss><description>&lt;DIV&gt;
&lt;P&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 14pt"&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;Use Canonical Questions&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;A canonical question establishes the most concise, “representative” question for a topic.&amp;nbsp; If a user asks an ambiguous question, the agent responds with a clarification request using the canonicals for each matched topic. Note that only one question should be marked as a canonical in a topic.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&amp;nbsp;&lt;/FONT&gt;&amp;nbsp;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Example:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt; 
&lt;P&gt;&lt;B&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp; &lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;+- What is my horoscope?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&amp;nbsp;? What is my horoscope?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&amp;nbsp;? Zodiac&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&amp;nbsp;+- What is my Zodiac sign?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&amp;nbsp;? What is my Zodiac sign?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&amp;nbsp;? Zodiac&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000 size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;User:&lt;/B&gt; zodiac&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;&lt;B&gt;&amp;nbsp;&amp;nbsp; Agent:&lt;/B&gt; What did you mean?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT face=Calibri color=#000000 size=3&gt;&amp;nbsp;&lt;/FONT&gt;&amp;nbsp; &lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;1 What is my horoscope?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&amp;nbsp; 2 What is my Zodiac sign&lt;EM&gt;?&lt;/EM&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8844082" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/windowsliveagents/archive/tags/Getting+Started+with+WLA/default.aspx">Getting Started with WLA</category><category domain="http://blogs.msdn.com/windowsliveagents/archive/tags/Best+Practices/default.aspx">Best Practices</category></item><item><title>Best Practices for Developing a Windows Live Agent: part 2</title><link>http://blogs.msdn.com/windowsliveagents/archive/2008/08/08/best-practices-for-developing-a-windows-live-agent-part-2.aspx</link><pubDate>Fri, 08 Aug 2008 21:51:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8844042</guid><dc:creator>imiluk</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/windowsliveagents/comments/8844042.aspx</comments><wfw:commentRss>http://blogs.msdn.com/windowsliveagents/commentrss.aspx?PostID=8844042</wfw:commentRss><description>&lt;DIV&gt;
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 14pt"&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Times New Roman"&gt;Create Good Subpatterns&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt;Subpatterns&lt;/SPAN&gt; are one of the most powerful NL recognition features in the BuddyScript language. They allow you to write efficient, reusable code. Many subpatterns are defined in various packages in the Vocabulary directories for each language in BuddyScriptLib. Have a look at the subpatterns created there before you create your own. Many general parts-of-speech and “chat” subpatterns, as well as subpatterns for industry-specific terminology, are defined there.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Create subpatterns for anything else you foresee your end users chatting about – product names, peoples’ names, place names, etc. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT face="Times New Roman" color=#000000 size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Times New Roman"&gt;NL-brick Subpatterns&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT face="Times New Roman" color=#000000 size=3&gt;When you define a subpattern as an NL-brick, every element of the subpattern that is recognized at maximum strength is a candidate to replace sections of your NL handles.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;This is a very useful property, but use it carefully. If you want only certain elements to replace the natural language in an NL-brick subpattern, make the other elements score lower. &lt;/FONT&gt;
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Define subpatterns as NL-bricks by putting them within NL-brick zones. If your project is derived from the WLATemplate, add NL-bricks in “YourAgent/YourLanguage/CustomSubpatterns.pkg,” which already contains an NL-brick zone.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Example:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;begin properties SubpatternsAreNLBricks // Start of NL brick zone&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;…&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;### “n” prefix: Noun Stems&lt;BR&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;subpattern nBike + (bike|bikes)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;subpattern nMotorcycle &lt;BR&gt;+ (motorcycle|motorcycles)&lt;BR&gt;+ motor (cycle|cycles)&lt;BR&gt;&lt;BR&gt;subpattern nMotorbike&lt;BR&gt;+ (motorbike|motorbikes)&lt;BR&gt;+ motor =nBike&lt;BR&gt;&lt;BR&gt;### “ns” prefix: Noun Senses&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;subpattern nsMotorcycle&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;+ (=nMotorcycle|=nMotorbike)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;+ =nBike {score=MACRO_ MEDIUM_SCORE}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;…&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;end properties SubpatternsAreNLBricks // End of NL brick zone&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT face="Times New Roman" color=#000000 size=3&gt;In the above example, the word “motorcycles” in the natural language handle “? How much do motorcycles cost?” will be replaced by = nsMotorcycle, but the word “bike” in the natural language handle &lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;“? Can I ride my bike to work?” will &lt;B&gt;not&lt;/B&gt; be replaced by =nsMotorcycle as “bike” does not match at maximum strength in the subpattern. Therefore, if the user types “How much do bikes cost?” it will match on “? How much do motorcycles cost?” (albeit with a lower score), but if the user types “Can I ride my motorcycle to work?” it will &lt;B&gt;not&lt;/B&gt; match on “? Can I ride my bike to work?”&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Times New Roman"&gt;&lt;B&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Example:&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;begin properties SubpatternsAreNLBricks&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;subpattern nsNewYorkCity&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;+ (new york [city]|manhattan)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;+ nyc&lt;SPAN&gt; &lt;/SPAN&gt;{spellcorrect=no}&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;return “New York City”&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;end properties SubpatternsAreNLBricks&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000 size=3&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;subpattern ACity&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;+ CITY=NewYorkCity&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;+ CITY=SanFrancisco&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;+ CITY=Chicago&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;return CITY&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000 size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT face="Times New Roman" color=#000000 size=3&gt;In the above example, the &lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;=ACity &lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;subpattern should &lt;B&gt;not&lt;/B&gt; be an NL-brick because you would not want “New York City” in a natural language handle such as “? What are some good restaurants in New York City?” to be replaced by =ACity (if it were, the user query “What are some good restaurants in Chicago?” would match on “? What are some good restaurants in New York City?”)&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT face="Times New Roman" color=#000000 size=3&gt;&amp;nbsp;&lt;/FONT&gt; &lt;FONT face="Times New Roman" color=#000000 size=3&gt;In general, specifying some subpatterns as NL-bricks and leaving others as non-NL-bricks (the default behavior) allows you great control over how subpatterns are used in your matching.&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT face="Times New Roman" color=#000000 size=3&gt;&amp;nbsp;&lt;/FONT&gt; &lt;B&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Times New Roman"&gt;Binding Subpatterns to Variables&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT face="Times New Roman" color=#000000 size=3&gt;Bind subpatterns to variables whenever you need to use the value returned by a subpattern, either as a parameter in a data request, to store interesting user data, or simply to make the agent’s response “smarter.”&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT face="Times New Roman" color=#000000 size=3&gt;&amp;nbsp;&lt;/FONT&gt;&amp;nbsp;&lt;B&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Example:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;- Where do you live?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;? I live in CITY=ACity&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;? CITY=ACity&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;STATE = GetStateForCity(CITY)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;USER_LOCATION = CITY&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;- Wow! I love CITY! That’s in the state of STATE, right?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN&gt;&lt;FONT face="Times New Roman" color=#000000 size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Times New Roman"&gt;&lt;B&gt;User:&lt;/B&gt; I live in nyc&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT size=3&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Times New Roman"&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;B&gt;Agent:&lt;/B&gt; Wow! I love New York City! That’s in the state of New York, right?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8844042" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/windowsliveagents/archive/tags/Getting+Started+with+WLA/default.aspx">Getting Started with WLA</category><category domain="http://blogs.msdn.com/windowsliveagents/archive/tags/Best+Practices/default.aspx">Best Practices</category></item><item><title>Best Practices for Developing a Windows Live Agent: Part 1</title><link>http://blogs.msdn.com/windowsliveagents/archive/2008/08/08/best-practices-for-developing-a-windows-live-agent-part-1.aspx</link><pubDate>Fri, 08 Aug 2008 21:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8844039</guid><dc:creator>imiluk</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/windowsliveagents/comments/8844039.aspx</comments><wfw:commentRss>http://blogs.msdn.com/windowsliveagents/commentrss.aspx?PostID=8844039</wfw:commentRss><description>&lt;DIV&gt;&lt;FONT face="Geneva, Arial, Sans-serif" size=3&gt;Today we will start a series on best practices for developing a Windows Live Agent (WLA). Here we go:&lt;/FONT&gt;&lt;/DIV&gt;
&lt;DIV&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 14pt"&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Geneva, Arial, Sans-serif"&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 14pt"&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Geneva, Arial, Sans-serif"&gt;&lt;FONT size=3&gt;Use the WLATemplate Project as a Starting Point&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt; &lt;/DIV&gt;
&lt;DIV&gt;
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT face="Geneva, Arial, Sans-serif" color=#000000 size=3&gt;The WLATemplate Project (“C:\Program&amp;nbsp;Files\Colloquis\Colloquis&amp;nbsp;SDK\Projects\WLATemplate“) is a generic project you can quickly customize into your own Agent. Simply launch the instantiation script “StartInstantiation.bat” and follow the instructions to start a new Agent in the right directory. &lt;/FONT&gt;
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 14pt"&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Geneva, Arial, Sans-serif"&gt;&lt;FONT size=3&gt;Use Natural Language Handles&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT face="Geneva, Arial, Sans-serif" color=#000000 size=3&gt;The fastest and most efficient way to get your Agent to recognize User questions is to add Natural Language Handles. NL Handles are analyzed against the libraries of rephrase rules and synonym subpatterns defined in your project and in the BuddyScriptLib packages (included in the SDK) and are transformed into regular “+” style matching patterns. &lt;/FONT&gt;
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;B&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Geneva, Arial, Sans-serif"&gt;&lt;FONT size=3&gt;Example:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/B&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Geneva, Arial, Sans-serif"&gt;&lt;FONT size=3&gt;This natural language handle:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT face="Geneva, Arial, Sans-serif"&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;? What can you do?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Geneva, Arial, Sans-serif"&gt;&lt;FONT size=3&gt;is rephrased as:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;FONT size=3&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;? What do you do?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Geneva, Arial, Sans-serif"&gt;&lt;FONT size=3&gt;and “patternized” into these subpatterns:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman, Times, Serif"&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;+ =qsWhat =vDo =You =vDo&lt;/FONT&gt;&lt;SPAN&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;&amp;nbsp;&lt;/FONT&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Geneva, Arial, Sans-serif"&gt;&lt;FONT size=3&gt;This user query:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;FONT size=3&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;Tell me what you do&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Geneva, Arial, Sans-serif"&gt;&lt;FONT size=3&gt;is rephrased as:&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;FONT size=3&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;What do you do?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Geneva, Arial, Sans-serif"&gt;&lt;FONT size=3&gt;Case and punctuation are stripped from queries, so:&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT color=#000000&gt;&lt;FONT size=3&gt;&lt;FONT face="Courier New, Courier, Monospace"&gt;what do you do&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT face="Geneva, Arial, Sans-serif" color=#000000 size=3&gt;matches perfectly on the patternized natural language in the agent.&lt;/FONT&gt; 
&lt;P style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;U&gt;&lt;FONT face="Geneva, Arial, Sans-serif" color=#000000 size=3&gt;Natural language handles should be:&lt;/FONT&gt; &lt;/U&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Geneva, Arial, Sans-serif"&gt;&lt;FONT size=3&gt;Concise—ideally 15 words or less and one sentence&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;LI&gt;
&lt;DIV style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT color=#000000&gt;&lt;FONT face="Geneva, Arial, Sans-serif"&gt;&lt;FONT size=3&gt;Unambiguous&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/DIV&gt;
&lt;LI&gt;
&lt;DIV style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT face="Geneva, Arial, Sans-serif" color=#000000 size=3&gt;Grammatically correct and properly punctuated (including question marks or periods)&lt;/FONT&gt;&lt;/DIV&gt;
&lt;LI&gt;
&lt;DIV style="LINE-HEIGHT: normal; tab-stops: .5in"&gt;&lt;FONT face="Geneva, Arial, Sans-serif" color=#000000 size=3&gt;Free of spelling mistakes&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/DIV&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8844039" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/windowsliveagents/archive/tags/Getting+Started+with+WLA/default.aspx">Getting Started with WLA</category><category domain="http://blogs.msdn.com/windowsliveagents/archive/tags/Best+Practices/default.aspx">Best Practices</category></item></channel></rss>