<?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>Brad Abrams  : Atlas</title><link>http://blogs.msdn.com/brada/archive/tags/Atlas/default.aspx</link><description>Tags: Atlas</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Search autocomplete with ASP.NET AJAX Extensions</title><link>http://blogs.msdn.com/brada/archive/2006/10/27/search-autocomplete-with-asp-net-ajax-extensions.aspx</link><pubDate>Sat, 28 Oct 2006 08:59:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:886765</guid><dc:creator>BradA</dc:creator><slash:comments>28</slash:comments><comments>http://blogs.msdn.com/brada/comments/886765.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=886765</wfw:commentRss><description>&lt;P&gt;I am working on a rich content app for one of my talks at TechEd Europe and I thought it would be a good idea to implement a search box with an autocomplete of the past search quires. The intuition here is that the changes are someone else has searched for the same thing you are searching for, so past queries is an interesting set of options to offer. Not to mention it is fun to look at what other people are searching for ;-) What I think is cool about this is I was able to implement it with less than 10 lines of code and absolutely no database specific logic. I did this with a combination of the ASP.NET 2.0 profile store and the ASP.NET AJAX AutoCompleteExtender… &lt;/P&gt;
&lt;P&gt;Here is an example screenshot and all the code\markup required… I'd love to hear what you think… do you think this makes for a compelling demo? &lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG src="http://blogs.msdn.com/brada/attachment/886765.ashx" mce_src="http://blogs.msdn.com/brada/attachment/886765.ashx"&gt;&lt;/P&gt;
&lt;P&gt;Html for search box and "submit" link (default.aspx) &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;div&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;id&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="links"&amp;gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp; Search for &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;TextBox&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="searchtext"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;CssClass&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="searchbox"&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;&amp;amp;nbsp; &lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;LinkButton&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="LinkButton1"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;OnClick&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="LinkButton1_Click"&amp;gt;&lt;/SPAN&gt;go&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;LinkButton&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;br&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;/&amp;gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;div&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;ASP.NET handler for the LinkButton (default.aspx) &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;protected&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;void&lt;/SPAN&gt; LinkButton1_Click(&lt;SPAN style="COLOR: blue"&gt;object&lt;/SPAN&gt; sender, &lt;SPAN style="COLOR: teal"&gt;EventArgs&lt;/SPAN&gt; e) &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: teal"&gt;StringCollection&lt;/SPAN&gt; list = Profile.SearchTerms;&lt;SPAN style="COLOR: green"&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (!list.Contains(searchtext.Text)) &lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;list.Add(searchtext.Text); &lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;}&amp;nbsp;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: green"&gt;&amp;nbsp;&amp;nbsp; //TODO: Do search &lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;ASP.NET AJAX goodness (default.aspx) &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;ScriptManager&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="ScriptManager"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server"&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;/&amp;gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;AutoCompleteExtender&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="AutoCompleteExtender1"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;TargetControlID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="searchtext" &lt;BR&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ServiceMethod&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="GetCompletionList" &lt;BR&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: red"&gt;ServicePath&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="~/SearchAutoComplete.asmx"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;MinimumPrefixLength&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="1"&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;/&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Web Service Implementation (SearchAutoComplete.asmx) &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;[&lt;SPAN style="COLOR: teal"&gt;WebMethod&lt;/SPAN&gt;] &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;[] GetCompletionList(&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; prefixText, &lt;SPAN style="COLOR: blue"&gt;int&lt;/SPAN&gt; count) &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: teal"&gt;StringCollection&lt;/SPAN&gt; list = (&lt;SPAN style="COLOR: teal"&gt;StringCollection&lt;/SPAN&gt;)&lt;SPAN style="COLOR: teal"&gt;HttpContext&lt;/SPAN&gt;.Current.Profile[&lt;SPAN style="COLOR: maroon"&gt;"SearchTerms"&lt;/SPAN&gt;]; &lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: teal"&gt;List&lt;/SPAN&gt;&amp;lt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;&amp;gt; suggestions = &lt;SPAN style="COLOR: blue"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;List&lt;/SPAN&gt;&amp;lt;&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt;&amp;gt;(); &lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;foreach&lt;/SPAN&gt; (&lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; s &lt;SPAN style="COLOR: blue"&gt;in&lt;/SPAN&gt; list) &lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (s.StartsWith(prefixText)) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;suggestions.Add(s);&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;} &lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;} &lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; suggestions.ToArray(); &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;} &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Profile Config Section – (Web.config in &amp;lt;system.web&amp;gt; ) &lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;profile&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;properties&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;add&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: red"&gt;name&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;SearchTerms&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: red"&gt;type&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;System.Collections.Specialized.StringCollection&lt;/SPAN&gt;" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: red"&gt;serializeAs&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;Xml&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt; /&amp;gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;properties&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;profile&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Exercises left for the user &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Clean up any bad or misleading search terms &lt;/LI&gt;
&lt;LI&gt;Sort hits by relevance &lt;/LI&gt;
&lt;LI&gt;Add a hit count &lt;/LI&gt;
&lt;LI&gt;Age out older results &lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=886765" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/brada/attachment/886765.ashx" length="31347" type="image/jpeg" /><category domain="http://blogs.msdn.com/brada/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://blogs.msdn.com/brada/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://blogs.msdn.com/brada/archive/tags/AJAX/default.aspx">AJAX</category></item><item><title>Microsoft AJAX Library at the AJAX Experience </title><link>http://blogs.msdn.com/brada/archive/2006/10/23/microsoft-ajax-library-at-the-ajax-experience.aspx</link><pubDate>Tue, 24 Oct 2006 06:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:866687</guid><dc:creator>BradA</dc:creator><slash:comments>9</slash:comments><comments>http://blogs.msdn.com/brada/comments/866687.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=866687</wfw:commentRss><description>&lt;P&gt;I had a great time at the &lt;A href="http://theajaxexperience.com/show_view.jsp?showId=58" mce_href="http://theajaxexperience.com/show_view.jsp?showId=58"&gt;AJAX Experience Conference&lt;/A&gt; today. &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://ejohn.org/" mce_href="http://ejohn.org/"&gt;John Resig&lt;/A&gt; did a good talk on choosing the right Ajax framework for you. He laid out four attributes you should use when you judge an Ajax library…. While he didn't mention the Microsoft AJAX Library, I think it stacks up very well in these attributes. 
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Documentation&lt;/STRONG&gt; – By this, John means how well is the framework explained, are their great examples? Microsoft Ajax Library has great docs already &lt;A href="http://ajax.asp.net/docs/" mce_href="http://ajax.asp.net/docs/"&gt;http://ajax.asp.net/docs/&lt;/A&gt;, we have several fulltime User Education folks working everyday to make them better. This include partical walkthroughs such as &lt;A href="http://ajax.asp.net/docs/Overview/installing/default.aspx" mce_href="http://ajax.asp.net/docs/Overview/installing/default.aspx"&gt;&lt;SPAN style="FONT-SIZE: 8pt; COLOR: #3366cc; FONT-FAMILY: Tahoma"&gt;&lt;STRONG&gt;Installing ASP.NET AJAX &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-SIZE: 8pt; COLOR: #3366cc; FONT-FAMILY: Tahoma"&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;and &lt;A href="http://ajax.asp.net/docs/tutorials/useWebServiceProxy.aspx" mce_href="http://ajax.asp.net/docs/tutorials/useWebServiceProxy.aspx"&gt;&lt;SPAN style="FONT-SIZE: 8pt; COLOR: #3366cc; FONT-FAMILY: Tahoma"&gt;&lt;STRONG&gt;How To: Call a Web Service from JavaScript &lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/A&gt;as well as details such as the &lt;A href="http://ajax.asp.net/docs/mref/3e7151a5-ed79-74fa-8ba9-5956d05e6542.aspx" mce_href="http://ajax.asp.net/docs/mref/3e7151a5-ed79-74fa-8ba9-5956d05e6542.aspx"&gt;JavaScriptSerializer&lt;/A&gt; class. &lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Community Support&lt;/STRONG&gt; – John measured this by how active the lists are. Which is a proxy for how quickly you get answers when you get blocked. As of right now, &lt;A href="http://forums.asp.net/default.aspx?GroupID=34" mce_href="http://forums.asp.net/default.aspx?GroupID=34"&gt;our community site&lt;/A&gt; have 383 people on line, 140 unique threads just today. As if that is not enough, when we ship, the Microsoft AJAX Library will 100% supported by Microsoft Product Support Services. That is 24x7x365 phone and forums support by fulltime people that are focused on finding solutions or we will fix the product. No other AJAX library offers this level of support. &lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;File Size&lt;/STRONG&gt; – The Microsoft AJAX Library is just over 20Kb when it is scrunched and compressed. Based on John's analysis of this very much in line with other AJAX frameworks. &lt;BR&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Popularity&lt;/STRONG&gt; – This is a question of who is already using the framework. Helps to speak to maturity and completeness. At least you will know you are not in it on your own. The Microsoft AJAX Library has a good set of &lt;A href="http://ajax.asp.net/default.aspx?tabid=47&amp;amp;subtabid=472" mce_href="http://ajax.asp.net/default.aspx?tabid=47&amp;amp;subtabid=472"&gt;case studies&lt;/A&gt;, and Microsoft has some big name sites that we will be looking at for the Microsoft AJAX Library very soon. This is not to mention the HUGE number of ASP.NET developers that will undoubtedly make big usage of this technology when it ships! &lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN-LEFT: 18pt"&gt;While I am not sure these are the definitive set of attributes to use in making your decision, it is good to know that the Microsoft AJAX Library stacks up pretty well on these attributes. &lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;My talk was a lot of fun. I was not surprised to have several folks that were already using ASP.NET and the Microsoft AJAX Library, but I was happy to see a fair number of folks checking out the Microsoft AJAX Library for the first time. A few things that I think really resonated with this crew. 
&lt;UL&gt;
&lt;LI&gt;The Microsoft AJAX Library works in all major browsers (Safari, FireFox and IE) &lt;/LI&gt;
&lt;LI&gt;The Microsoft AJAX Library does NOT require ASP.NET, IIS, or even Windows on the server. &lt;/LI&gt;
&lt;LI&gt;The Microsoft AJAX Library has great support for WebServices and JSON. &lt;/LI&gt;
&lt;LI&gt;The ASP.NET AJAX Extensions use of the AJAX Library making it super easy to build AJAX apps with no JavaScript… or even code required! &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;A couple of the very simple examples I showed how easy the framework is to use… Think of what this would look like with using XmlHttp directly? Think of all the amazing things you can with the full power of the .NET Framework on the server and the Microsoft AJAX Library on the client! &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Default.html 
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;html&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;Untitled Page&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;body&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;form&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;id&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="form1"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server"&amp;gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;ScriptManager&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="ScriptManager1"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="server"&amp;gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Services&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;ServiceReference&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Path&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="WebService.asmx"&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;/&amp;gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;Services&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;asp&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;:&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;ScriptManager&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;button&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;onclick&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;='WebService.HelloWorld(onComplete)'&amp;gt;&lt;/SPAN&gt;ClickMe&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;button&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;div&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;id&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;=myDiv&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;div&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;form&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;script&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;type&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="text/javascript"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;function&lt;/SPAN&gt; onComplete (results) { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;var&lt;/SPAN&gt; mydiv = $get(&lt;SPAN style="COLOR: maroon"&gt;'myDiv'&lt;/SPAN&gt;); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;mydiv.innerHTML = results; &lt;BR&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;} &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;script&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;body&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;html&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;
&lt;LI&gt;WebServices.asmx 
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;&amp;lt;%&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;@&lt;/SPAN&gt; &lt;SPAN style="COLOR: maroon"&gt;WebService&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Language&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="C#"&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;Class&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;="WebService"&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR: yellow"&gt;%&amp;gt; &lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.Web; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.Web.Services; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.Web.Services.Protocols; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; Microsoft.Web.Script.Services; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;[&lt;SPAN style="COLOR: teal"&gt;ScriptService&lt;/SPAN&gt;] &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;[&lt;SPAN style="COLOR: teal"&gt;WebService&lt;/SPAN&gt;(Namespace = &lt;SPAN style="COLOR: maroon"&gt;&lt;A href="http://tempuri.org/"&gt;http://tempuri.org/&lt;/A&gt;&lt;/SPAN&gt;)] &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;[&lt;SPAN style="COLOR: teal"&gt;WebServiceBinding&lt;/SPAN&gt;(ConformsTo = &lt;SPAN style="COLOR: teal"&gt;WsiProfiles&lt;/SPAN&gt;.BasicProfile1_1)] &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR: teal"&gt;WebService&lt;/SPAN&gt; : System.Web.Services.&lt;SPAN style="COLOR: teal"&gt;WebService&lt;/SPAN&gt; { &lt;BR&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp; [&lt;SPAN style="COLOR: teal"&gt;WebMethod&lt;/SPAN&gt;] &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;nbsp;&amp;nbsp; public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;string&lt;/SPAN&gt; HelloWorld() &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&lt;SPAN style="COLOR: blue"&gt;return&lt;/SPAN&gt; &lt;SPAN style="COLOR: maroon"&gt;"Hello World!"&lt;/SPAN&gt;; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Courier New"&gt;} &lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The other simple example I showed is about using UpdatePanel to make an ASP.NET 2.0 app look like a first class AJAX app. See attached for &lt;A class="" href="http://blogs.msdn.com/brada/attachment/866687.ashx" mce_href="http://blogs.msdn.com/brada/attachment/866687.ashx"&gt;the project files&lt;/A&gt; and &lt;A href="http://blogs.msdn.com/brada/attachment/859722.ashx" mce_href="http://blogs.msdn.com/brada/attachment/859722.ashx"&gt;my slides&lt;/A&gt;. &lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;UL&gt;
&lt;LI&gt;The panel tonight was a really great. I know I learned some stuff. Here are a few things that stood out to me: 
&lt;UL&gt;
&lt;LI&gt;Someone in the audience pointed out that the debate about AJAX libraries seem to have moved up the stack. More around what UI widgets they offer rather than basic XmlHttp abstractions and JavaScript language extensions. I totally agree, there is only so much differentiation frameworks can do at that level. Now it gets more interesting as these UI widgets can't easily be ported from one base framework to another, so this will start to really draw some interesting differentiations over the next 6 months to a year. &lt;/LI&gt;
&lt;LI&gt;Someone on the panel mentioned that "Better is Simpler". When we talk about a web app getting "better" by using AJAX, what we *should* mean is the app got easier to use, has less surface area and is more intuitive. &lt;/LI&gt;
&lt;LI&gt;It is clear that the Atlas name is still sticking at the ASP.NET AJAX Extentions is mouth full for this group… so, as you can see from this post, I have decided to be more precise and refer to just the JavaScript implementation by its new official name… the Microsoft AJAX Library. &lt;/LI&gt;
&lt;LI&gt;Several of the questions centered on doing as much as possible in the browser rather than on the web server. I (and many of the panelest) suggested balance is what is needed here. There will always be a need for server side code. The AJAX model just changes the focus from being a project UI model to being more about providing an integrated set of application level services (authentication, role management, profile, etc). The marriage between ASP.NET and the Microsoft AJAX Library is a perfect fit for this. &lt;/LI&gt;
&lt;LI&gt;There was another set of questions on performance or network load of AJAX apps. Clearly there is no definitive answer here as it varies hugely based on your scenarios. However one of the panelists pointed out that in many cases you should be measuring the user perception of performance of the app rather than just raw throughput. That it is might technically be more bites of the wire to do several async network calls to populate a list rather than one big request, but the forum likely offers a better user experience. &lt;/LI&gt;
&lt;LI&gt;An interesting question was asked about the ethics of using AJAX techniques to say, send user data to the server while the user is in the middle of filling out a form so you have it even if the user doesn't hit submit. This is of course easy to with AJAX, but is it right? IMHO, this not a technical question – it is a question of what the users mental model of what happens is. Users have been trained to understand that their data isn't recorded until they hit submit. In fact IE has long warned users of this the first time there is a form post-back. Does this mean you can't cache user data or even implement an AutoComplete textbox? I don't think so… I believe all those are fine as long as you don't record the users data as if they had submitted the form. &lt;/LI&gt;&lt;/UL&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;I am looking forward to tomorrow! If you are at the show, drop by the booth and say "hi". I'd love to hear your thoughts. &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=866687" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/brada/attachment/866687.ashx" length="705542" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/brada/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://blogs.msdn.com/brada/archive/tags/Microsoft+AJAX+Library/default.aspx">Microsoft AJAX Library</category><category domain="http://blogs.msdn.com/brada/archive/tags/TheAjaxExperience/default.aspx">TheAjaxExperience</category></item><item><title>Already a blast at the Ajax Experience</title><link>http://blogs.msdn.com/brada/archive/2006/10/22/already-a-blast-at-the-ajax-experience.aspx</link><pubDate>Mon, 23 Oct 2006 08:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:859722</guid><dc:creator>BradA</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/brada/comments/859722.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=859722</wfw:commentRss><description>&lt;P&gt;The conference has not even officially started and I am already having a blast. The &lt;A href="http://local.live.com/default.aspx?v=2&amp;amp;cp=42.358736~-71.056603&amp;amp;style=r&amp;amp;lvl=10" mce_href="http://local.live.com/default.aspx?v=2&amp;amp;cp=42.358736~-71.056603&amp;amp;style=r&amp;amp;lvl=10"&gt;long trip down here&lt;/A&gt; gave me a chance to do some coding with &lt;A href="http://weblogs.asp.net/scottgu/archive/2006/10/20/ASP.NET-AJAX-Beta-1-Released.aspx" mce_href="http://weblogs.asp.net/scottgu/archive/2006/10/20/ASP.NET-AJAX-Beta-1-Released.aspx"&gt;the new Beta of&lt;/A&gt; the &lt;A href="http://ajax.asp.net/" mce_href="http://ajax.asp.net/"&gt;ASP.NET Ajax Extensions&lt;/A&gt;. This is definitely fun stuff… If you have not already, I suggest you check it out. I was mostly working on the demos for my talk tomorrow a 3p.. if you are at &lt;A href="http://theajaxexperience.com/show_view.jsp?showId=58" mce_href="http://theajaxexperience.com/show_view.jsp?showId=58"&gt;The Ajax Experience&lt;/A&gt;, please drop by… I'd love to have your feedback. &lt;/P&gt;
&lt;P&gt;Here is an &lt;A class="" href="http://blogs.msdn.com/brada/attachment/859722.ashx" mce_href="http://blogs.msdn.com/brada/attachment/859722.ashx"&gt;early look at my slides&lt;/A&gt;… Love to have your comments… &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=859722" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/brada/attachment/859722.ashx" length="2341605" type="application/x-zip-compressed" /><category domain="http://blogs.msdn.com/brada/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://blogs.msdn.com/brada/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>Heading to Boston for the Ajax Experience Conference</title><link>http://blogs.msdn.com/brada/archive/2006/10/11/Heading-to-Boston-for-the-Ajax-Experince-Conference.aspx</link><pubDate>Wed, 11 Oct 2006 17:52:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:807263</guid><dc:creator>BradA</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/brada/comments/807263.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=807263</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri&gt;October 23-25&lt;SUP&gt;th&lt;/SUP&gt; the next installment of the &lt;/FONT&gt;&lt;A href="http://www.theajaxexperience.com/show_view.jsp?showId=59" mce_href="http://www.theajaxexperience.com/show_view.jsp?showId=59"&gt;&lt;FONT face=Calibri&gt;Ajax Experience Conference&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt; is being held in Boston.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;I am looking forward to hearing from many of the big names in the Ajax space…. Looks like all the major folks offering Ajax frameworks and the JavaScript experts will be there. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/brada/archive/2006/04/06/570610.aspx" mce_href="http://blogs.msdn.com/brada/archive/2006/04/06/570610.aspx"&gt;&lt;FONT face=Calibri color=#0000ff&gt;Last time in the bay area&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt; I learned a ton from these guys.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;I’ll of course be talking a bit of Atlas… &lt;/FONT&gt;&lt;A href="http://weblogs.asp.net/scottgu/archive/2006/09/11/_2200_Atlas_2200_-1.0-Naming-and-Roadmap.aspx" mce_href="http://weblogs.asp.net/scottgu/archive/2006/09/11/_2200_Atlas_2200_-1.0-Naming-and-Roadmap.aspx"&gt;&lt;FONT face=Calibri&gt;er&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt;, I mean the &lt;/FONT&gt;&lt;A href="http://atlas.asp.net/" mce_href="http://atlas.asp.net/"&gt;&lt;FONT face=Calibri color=#0000ff&gt;ASP.NET Ajax Extensions and the Microsoft Ajax Library&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt;… We have been doing some &lt;/FONT&gt;&lt;A href="http://atlas.asp.net/default.aspx?tabid=47&amp;amp;subtabid=477" mce_href="http://atlas.asp.net/default.aspx?tabid=47&amp;amp;subtabid=477"&gt;&lt;FONT face=Calibri&gt;cool stuff recently&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt;, I hope to show off the latest of it.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;/FONT&gt;&lt;/o:p&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri&gt;If you are going, &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/brada/contact.aspx" mce_href="http://blogs.msdn.com/brada/contact.aspx"&gt;&lt;FONT face=Calibri&gt;please drop me a line&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt; and let me know what you are looking forward to hearing… and please come by and chat with us… &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;A href="http://www.theajaxexperience.com/show_register.jsp?showId=59" mce_href="http://www.theajaxexperience.com/show_register.jsp?showId=59"&gt;&lt;FONT face=Calibri&gt;See you there!&lt;/FONT&gt;&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=807263" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brada/archive/tags/Atlas/default.aspx">Atlas</category><category domain="http://blogs.msdn.com/brada/archive/tags/TheAjaxExperience/default.aspx">TheAjaxExperience</category></item><item><title>From Atlas to the ASP.NET 2.0 AJAX Extensions</title><link>http://blogs.msdn.com/brada/archive/2006/09/11/749720.aspx</link><pubDate>Mon, 11 Sep 2006 20:39:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:749720</guid><dc:creator>BradA</dc:creator><slash:comments>12</slash:comments><comments>http://blogs.msdn.com/brada/comments/749720.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=749720</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri&gt;As you saw from &lt;/FONT&gt;&lt;A href="http://weblogs.asp.net/scottgu/archive/2006/09/11/_2200_Atlas_2200_-1.0-Naming-and-Roadmap.aspx"&gt;&lt;FONT face=Calibri&gt;ScottGu’s blog,&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt; we gave &lt;/FONT&gt;&lt;A href="http://atlas.asp.net/"&gt;&lt;FONT face=Calibri color=#0000ff&gt;Atlas&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Calibri&gt; an official name and, in response to strong customer feedback, have it on a plan to ship 1.0 around the end of the year on top of VS2005 and ASP.NET 2.0. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;The team is super focused on this goal and I am very pumped to be able to deliver it!&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=749720" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brada/archive/tags/Atlas/default.aspx">Atlas</category></item><item><title>Want to name Atlas?</title><link>http://blogs.msdn.com/brada/archive/2006/08/16/703441.aspx</link><pubDate>Thu, 17 Aug 2006 08:30:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:703441</guid><dc:creator>BradA</dc:creator><slash:comments>80</slash:comments><comments>http://blogs.msdn.com/brada/comments/703441.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=703441</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://aspadvice.com/blogs/ssmith/"&gt;Steven Smith&lt;/a&gt; has a good discussion going on about what we should name "Atlas"... I can confirm that "Atlas" will not be the final name, and clearly we are listening, so add your funny and serious suggestions a like...&lt;/p&gt; &lt;p&gt;&lt;a href="http://aspadvice.com/blogs/ssmith/archive/2006/08/16/Atlas_Naming_Game.aspx"&gt;Atlas Naming Game&lt;/a&gt;&amp;nbsp; (note, you gotta check out all the comments.. that is where the fun is)&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=703441" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brada/archive/tags/Atlas/default.aspx">Atlas</category></item><item><title>Atlas Talk and demo in Spanish</title><link>http://blogs.msdn.com/brada/archive/2006/07/31/684112.aspx</link><pubDate>Mon, 31 Jul 2006 17:03:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:684112</guid><dc:creator>BradA</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/brada/comments/684112.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=684112</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://www.msguayaquil.com/blogs/jcasal"&gt;Julio&lt;/a&gt; translated a recent &lt;a href="http://atlas.asp.net"&gt;atlas&lt;/a&gt; talk and demo I did into Spanish.. Great to see Atlas reaching a much broader community.&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;a href="http://www.msguayaquil.com/Descargas/3/Atlas-Diapositivas.zip"&gt;Spanish translated slides&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.msguayaquil.com/Descargas/3/Atlas-Demos.zip"&gt;Spanish translated demo&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Enjoy!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=684112" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brada/archive/tags/Atlas/default.aspx">Atlas</category></item><item><title>Video from Web Design World Talk...</title><link>http://blogs.msdn.com/brada/archive/2006/07/26/679041.aspx</link><pubDate>Wed, 26 Jul 2006 17:51:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:679041</guid><dc:creator>BradA</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/brada/comments/679041.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=679041</wfw:commentRss><description>&lt;p&gt;The video of my &lt;a href="http://blogs.msdn.com/brada/archive/2006/07/16/667659.aspx"&gt;Web Design World talk&lt;/a&gt; was just posted...&amp;nbsp;&amp;nbsp; Take a look... I'd love to hear your feedback, thoughts.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.ftponline.com/channels/web/reports/wdwseattle/2006/abrams/. "&gt;http://www.ftponline.com/channels/web/reports/wdws...&lt;/a&gt;&lt;/p&gt; &lt;p&gt;There is a free registration required to watch it... &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=679041" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brada/archive/tags/Atlas/default.aspx">Atlas</category></item><item><title>Web Design World Slides...</title><link>http://blogs.msdn.com/brada/archive/2006/07/16/667659.aspx</link><pubDate>Mon, 17 Jul 2006 00:28:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:667659</guid><dc:creator>BradA</dc:creator><slash:comments>8</slash:comments><comments>http://blogs.msdn.com/brada/comments/667659.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=667659</wfw:commentRss><description>&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;A href="http://www.multimediadev.net/"&gt;&lt;FONT color=#800080&gt;Arturo&lt;/FONT&gt;&lt;/A&gt; and I had &lt;A href="http://blogs.msdn.com/brada/archive/2006/05/30/608911.aspx"&gt;&lt;FONT color=#800080&gt;a great time&lt;/FONT&gt;&lt;/A&gt; at &lt;A href="http://www.ftponline.com/conferences/webdesignworld/2006/seattle/default.aspx"&gt;Web Design World&lt;/A&gt; in &lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;&lt;st1:City w:st="on"&gt;&lt;st1:place w:st="on"&gt;Seattle&lt;/st1:place&gt;&lt;/st1:City&gt; this past week... It was really good to see there is so much passion about getting developers and designers working well together. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;I am still not sure I am “seeing the world in CSS” yet, but I am working on it ;-) &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;At any rate, here are the &lt;A href="http://static.asp.net/asp.net/files/BAbrams/WDWKeynote.brada.ppt"&gt;&lt;FONT color=#800080&gt;slides from my talk&lt;/FONT&gt;&lt;/A&gt;... enjoy!&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Oh, and BTW, I am sure some of you were wondering how we got the 3-D dice look in the Xaml part of the demo... Of course we had some help from the great folks over at &lt;A href="http://www.erain.com/"&gt;Electronic Rain&lt;/A&gt;... They even &lt;A href="http://www.erain.com/support/Tutorials/v4/Dice/"&gt;&lt;FONT color=#800080&gt;posted a tutorial&lt;/FONT&gt;&lt;/A&gt; on how they did it &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=667659" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brada/archive/tags/Atlas/default.aspx">Atlas</category></item><item><title>What is Atlas?</title><link>http://blogs.msdn.com/brada/archive/2006/07/13/664588.aspx</link><pubDate>Thu, 13 Jul 2006 18:07:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:664588</guid><dc:creator>BradA</dc:creator><slash:comments>33</slash:comments><comments>http://blogs.msdn.com/brada/comments/664588.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=664588</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Matt Gibbs (the dev manager for Atlas) recently posted a great article on Atlas... &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;A very good introduction.. have a read!&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;A href="http://msdn.microsoft.com/msdnmag/issues/06/07/AtlasAtLast/"&gt;&lt;FONT color=#800080&gt;http://msdn.microsoft.com/msdnmag/issues/06/07/AtlasAtLast/&lt;/FONT&gt;&lt;/A&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=664588" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brada/archive/tags/Atlas/default.aspx">Atlas</category></item><item><title>Slide and Demo from my Keynote at CFUnited </title><link>http://blogs.msdn.com/brada/archive/2006/06/29/slide-and-demo-from-my-keynote-at-cfunited.aspx</link><pubDate>Thu, 29 Jun 2006 12:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:649944</guid><dc:creator>BradA</dc:creator><slash:comments>28</slash:comments><comments>http://blogs.msdn.com/brada/comments/649944.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=649944</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;I am having a blast &lt;A href="http://blogs.msdn.com/brada/archive/2006/06/21/640843.aspx" mce_href="http://blogs.msdn.com/brada/archive/2006/06/21/640843.aspx"&gt;this week&lt;/A&gt; at the &lt;A href="http://www.adobe.com/products/coldfusion/" mce_href="http://www.adobe.com/products/coldfusion/"&gt;ColdFusion&lt;/A&gt; conference &lt;A href="http://www.cfunited.com/" mce_href="http://www.cfunited.com/"&gt;&lt;FONT color=#800080&gt;CFUnited&lt;/FONT&gt;&lt;/A&gt;. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Here are the &lt;A href="http://brad_abrams.members.winisp.net/Projects/CFUnited06/CFUnitedAtlas6.06.ppt" mce_href="http://brad_abrams.members.winisp.net/Projects/CFUnited06/CFUnitedAtlas6.06.ppt"&gt;slides&lt;/A&gt; from my keynote today... One interesting demo I did was a &lt;A href="http://download.microsoft.com/download/7/e/a/7eaa49aa-3c45-41bb-b399-9a1c590b46dd/AtlasCF.zip" mce_href="http://download.microsoft.com/download/7/e/a/7eaa49aa-3c45-41bb-b399-9a1c590b46dd/AtlasCF.zip"&gt;Atlas\ColdFusion demo&lt;/A&gt;.. Check it out and let me here what you think!&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;Update (11/21/2006): I reader wrote in with a comment that I thought would help folks... &lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-bidi-font-family: 'Times New Roman'; mso-bidi-theme-font: minor-bidi; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;There is a simple fix to a problem that's keeping the CF/Atlas example working for folks. Most CF developers will have what's called "CF debugging" turned on, and that will cause your CFM page (called from the Atlas client) from responding correctly, because it's sending a big load of HTML at the bottom of the output--which your client won't be expecting. The simple solution is to drop a CFSETTING ShowDebugOutput="no" into the application.cfm. If you can add that to both the zip and as a comment (for others who may visit after downloading it previously, or who hear of grief from earlier readers) that may help increase the positive regard of CFers toward using Atlas.&lt;/SPAN&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=649944" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brada/archive/tags/Atlas/default.aspx">Atlas</category></item><item><title>Atlas in Spanish...</title><link>http://blogs.msdn.com/brada/archive/2006/06/23/640858.aspx</link><pubDate>Fri, 23 Jun 2006 19:04:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:640858</guid><dc:creator>BradA</dc:creator><slash:comments>10</slash:comments><comments>http://blogs.msdn.com/brada/comments/640858.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=640858</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Andres Sanabria, the lead PM for ASP.NET and Atlas, happens to be from glorious &lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;&lt;st1:City w:st="on"&gt;&lt;st1:place w:st="on"&gt;&lt;FONT face="Times New Roman" size=3&gt;Colombia &lt;/FONT&gt;&lt;/st1:place&gt;&lt;/st1:City&gt;recently did an interview in &lt;A href="http://www.microsoft.com/spanish/msdn/latam/mediacenter/radio/default.asp"&gt;&lt;FONT color=#800080&gt;Spanish about Atlas&lt;/FONT&gt;&lt;/A&gt;... While my &lt;A href="http://athensdrivehs.wcpss.net/"&gt;&lt;FONT color=#800080&gt;high school Spanish&lt;/FONT&gt;&lt;/A&gt; clearly fails me, knowing Anders I know this is good stuff! &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;If you can understand Spanish give it a listen and let the rest of us know what he says ;-)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=640858" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brada/archive/tags/Atlas/default.aspx">Atlas</category></item><item><title>Check out Blinq...</title><link>http://blogs.msdn.com/brada/archive/2006/06/22/640978.aspx</link><pubDate>Fri, 23 Jun 2006 07:26:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:640978</guid><dc:creator>BradA</dc:creator><slash:comments>24</slash:comments><comments>http://blogs.msdn.com/brada/comments/640978.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=640978</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;What percentage of web applications would you say fall into the category of glorified View-Add-Update-Delete operations over a database?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;That is, you have data stored in a database and you want to expose a web front to look at the data in interesting ways (master details, etc) and add/update/delete the content.. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Seems like there is tons of information stored in relational database that can make generating those types of web applications MUCH easier. &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;That is what we have done with the BLinq project...This is effectively a preview of some work we are considering for the next release of the free Visual Web Developer tool in Orcas.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It leverages the new LINQ support to get the OR-Mapping then does some very cool page generation stuff. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;BTW, that is where we get the name... We&lt;B style="mso-bidi-font-weight: normal"&gt;b Linq..&lt;/B&gt; or Blinq... Can you guess that the developer named it rather than our &lt;A href="http://www.netfx3.com/"&gt;&lt;FONT color=#800080&gt;marketing department&lt;/FONT&gt;&lt;/A&gt; ;-)&lt;B style="mso-bidi-font-weight: normal"&gt; &lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;A href="http://www.asp.net/sandbox/app_blinq.aspx?tabid=62"&gt;&lt;FONT color=#800080&gt;Take a look&lt;/FONT&gt;&lt;/A&gt; at let &lt;A href="http://forums.asp.net/1076/ShowForum.aspx"&gt;&lt;FONT color=#800080&gt;us hear what you think&lt;/FONT&gt;&lt;/A&gt;!&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 15.5pt"&gt;&lt;A href="http://www.asp.net/sandbox/app_blinq.aspx?tabid=62"&gt;&lt;FONT color=#800080&gt;Microsoft Blinq Prototype&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Overview&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Blinq is a tool for generating ASP.NET websites for displaying, creating, and manipulating data based on database schema. Just point Blinq at a SQL database and it will create a website with pages that display sorted and paged data, allow you to update or delete records, create new records, and follow relationships between tables in your database. You don't need to write SQL queries to use Blinq; LINQ will generate optimized queries for you that request just the data you want to show. Blinq uses the May LINQ Community Tech Preview to access data. The code Blinq creates is simple and easy to customize to fit your needs. Everything in the website Blinq creates is meant as a starting point for a website that meets your needs perfectly, so have fun customizing the pages, experimenting with the code, and making it yours!&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Features&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;The Blinq tool autogenerates web forms from database schema which enable the following by default: &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Select, insert, update, and delete functionality &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Details and foreign key navigation &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Sorting and Pagination of records &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;A default style and design which provide a consistent layout&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=640978" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brada/archive/tags/.NET+Framework/default.aspx">.NET Framework</category><category domain="http://blogs.msdn.com/brada/archive/tags/Atlas/default.aspx">Atlas</category></item><item><title>CFUnited here I come....</title><link>http://blogs.msdn.com/brada/archive/2006/06/21/640843.aspx</link><pubDate>Wed, 21 Jun 2006 18:34:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:640843</guid><dc:creator>BradA</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/brada/comments/640843.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=640843</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Next week I head out to the DC area for a &lt;A href="http://www.adobe.com/products/coldfusion/"&gt;&lt;FONT color=#800080&gt;ColdFusion&lt;/FONT&gt;&lt;/A&gt; conference called &lt;A href="http://www.cfunited.com/"&gt;&lt;FONT color=#800080&gt;CFUnited&lt;/FONT&gt;&lt;/A&gt;... At the conference I will do &lt;A href="http://www.cfunited.com/topics.cfm#603"&gt;a keynote&lt;/A&gt; that covers a building a great web 2.0 user experiences and I can’t help but demo a little of Atlas. &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Anyone else going?&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;What do you want\expect to hear from a Microsoft keynote at this event? &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=640843" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brada/archive/tags/Atlas/default.aspx">Atlas</category></item><item><title>Two books on Atlas already?</title><link>http://blogs.msdn.com/brada/archive/2006/06/20/636548.aspx</link><pubDate>Tue, 20 Jun 2006 20:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:636548</guid><dc:creator>BradA</dc:creator><slash:comments>9</slash:comments><comments>http://blogs.msdn.com/brada/comments/636548.aspx</comments><wfw:commentRss>http://blogs.msdn.com/brada/commentrss.aspx?PostID=636548</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Can you believe we already have two books published on Atlas? Makes me think we have hit on something big here ;-)&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;A href="http://www.amazon.com/gp/redirect.html?link_code=ur2&amp;amp;tag=bradabramsblo-20&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;location=http%3A%2F%2Fwww.amazon.com%2Fexec%2Fobidos%2Ftg%2Fdetail%2F-%2F1590596471%2Fqid%3D1150694967%2Fsr%3D2-1%2Fref%3Dpd_bbs_b_2_1%3Fv%3Dglance%26s%3Dbook"&gt;Foundations of Atlas: Rapid Ajax Development with ASP.NET 2.0&lt;/A&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;A href="http://www.amazon.com/gp/redirect.html?link_code=ur2&amp;amp;tag=bradabramsblo-20&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;location=http%3A%2F%2Fwww.amazon.com%2Fgp%2Fproduct%2F0596526725%2Fqid%3D1150695326%2Fsr%3D2-2%2Fref%3Dpd_bbs_b_2_2%3Fs%3Dbooks%26v%3Dglance%26n%3D283155"&gt;Programming Atlas&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;Oh and I just noticed that &lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;Matt Gibbs and &lt;A href="http://weblogs.asp.net/bleroy/default.aspx"&gt;&lt;FONT color=#800080&gt;Bertrand Le Roy&lt;/FONT&gt;&lt;/A&gt; (both developers on the Microsoft Atlas team) recently published a nice short overview of Atlas server side support, mostly around using UpdatePanel correctly.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I learned stuff when I read it so I am sure you will too! &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;A href="http://www.oreilly.com/catalog/atlasupc"&gt;&lt;FONT color=#800080 size=3&gt;Atlas UpdatePanel Control &lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;BR&gt;&lt;FONT size=3&gt;Add &lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;&lt;st1:City w:st="on"&gt;&lt;st1:place w:st="on"&gt;Ajax&lt;/st1:place&gt;&lt;/st1:City&gt; interactivity to your ASP.NET 2.0 web pages&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"&gt;How about you? &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Any favorite &lt;st1:City w:st="on"&gt;&lt;st1:place w:st="on"&gt;Ajax&lt;/st1:place&gt;&lt;/st1:City&gt; books? &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;What book really needs to be written?&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=636548" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/brada/archive/tags/Atlas/default.aspx">Atlas</category></item></channel></rss>