<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-US"><title type="html">You can check out any time you like, but you can never...</title><subtitle type="html" /><id>http://blogs.msdn.com/kashif/atom.xml</id><link rel="alternate" type="text/html" href="http://blogs.msdn.com/kashif/default.aspx" /><link rel="self" type="application/atom+xml" href="http://blogs.msdn.com/kashif/atom.xml" /><generator uri="http://communityserver.org" version="2.1.61025.2">Community Server</generator><updated>2006-11-10T15:35:00Z</updated><entry><title>Silverlight 2 Beta 2 - an overview</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/kashif/archive/2008/09/23/silverlight-2-start-your-engines.aspx" /><id>http://blogs.msdn.com/kashif/archive/2008/09/23/silverlight-2-start-your-engines.aspx</id><published>2008-09-23T19:51:00Z</published><updated>2008-09-23T19:51:00Z</updated><content type="html">&lt;P&gt;If you are based in the US and had a chance to experience Olympics 2008 over the web on &lt;A href="http://nbcolympics.com/" mce_href="http://nbcolympics.com"&gt;http://nbcolympics.com&lt;/A&gt; - you probably saw some of the power of Silverlight for immersive media experiences. Silverlight 2 Beta 2 enables much more than media experiences so let us look at some of these aspects in detail .&lt;/P&gt;
&lt;P&gt;Let us start with the &lt;STRONG&gt;Application Model &lt;/STRONG&gt;for Silverlight2. The install is a one-time (system wide) phenomenon and updates happen automatically to the runtime and would not require a browser restart. The instantiation of the Silverlight application can be done via the &amp;lt;object &amp;gt; tag or programmatically using the Silverlight javascript. On the server hosting the Silverlight content, the correct mime-type needs to be set (XAP - Application/x-silverlight-app). The application package contains the app.dll, business assembly and the manifest file. Once the XAP is loaded all the objects are available in memory - this implies less round-tripping, better performance. Offline scenarios can rely on the IsolatedStorage feature for building durable experiences. All Silverlight applications can use a splash screen which is composed of pure XAML and javascript. There are also events raised which can be handled as the Silverlight content is downloaded the first time around. There can be multiple plug-in instances per-page and one App-domain per instance. Exception handling can be done by using the plug-in's onError event.&lt;/P&gt;
&lt;P&gt;Next, lets look at &lt;STRONG&gt;Controls&lt;/STRONG&gt;. Silverlight ships with a rich and functional control set. For layout, the following controls are available - Canvas, Panel, StackPanel, Grid. Other feature controls include Button, Calendar, CheckBox, DataGrid, DateTimePicker, GridSplitter, Hyperlink, ListBox, Popup, Radio, Slider, Toggle, Tooltip and this list will continue to grow. Silverlight also has a strong partner ecosystem building domain specific controls. Another important aspect in using framework control is the ability to style and apply skins to the controls to get the desired rendering. Silverlight fully supports these mechanisms and shown below are examples of applying skins and styles to the TreeView control to change its look and feel. The first image is the normal rendering, the second image applies styling to change background and imagery and the final image shows the transformation of the Treeview control into a dial-based UI to highlight full control over the UI. There are also ASP.Net controls available based on Silverlight - such as MediaPlayer control and the XAML control.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/kashif/WindowsLiveWriter/Silverlight2Startyourengines_93E6/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/kashif/WindowsLiveWriter/Silverlight2Startyourengines_93E6/image_2.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=230 alt=image src="http://blogs.msdn.com/blogfiles/kashif/WindowsLiveWriter/Silverlight2Startyourengines_93E6/image_thumb.png" width=244 border=0 mce_src="http://blogs.msdn.com/blogfiles/kashif/WindowsLiveWriter/Silverlight2Startyourengines_93E6/image_thumb.png"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/kashif/WindowsLiveWriter/Silverlight2Startyourengines_93E6/image_4.png" mce_href="http://blogs.msdn.com/blogfiles/kashif/WindowsLiveWriter/Silverlight2Startyourengines_93E6/image_4.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=230 alt=image src="http://blogs.msdn.com/blogfiles/kashif/WindowsLiveWriter/Silverlight2Startyourengines_93E6/image_thumb_1.png" width=200 border=0 mce_src="http://blogs.msdn.com/blogfiles/kashif/WindowsLiveWriter/Silverlight2Startyourengines_93E6/image_thumb_1.png"&gt;&lt;/A&gt; &lt;A href="http://blogs.msdn.com/blogfiles/kashif/WindowsLiveWriter/Silverlight2Startyourengines_93E6/image_6.png" mce_href="http://blogs.msdn.com/blogfiles/kashif/WindowsLiveWriter/Silverlight2Startyourengines_93E6/image_6.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=230 alt=image src="http://blogs.msdn.com/blogfiles/kashif/WindowsLiveWriter/Silverlight2Startyourengines_93E6/image_thumb_2.png" width=380 border=0 mce_src="http://blogs.msdn.com/blogfiles/kashif/WindowsLiveWriter/Silverlight2Startyourengines_93E6/image_thumb_2.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Another important feature in this regard is the VisualStateManager which provides a notion of state and transition and supports visual transition along with minimizing state explosion. Silverlight also supports &lt;STRONG&gt;Animations&lt;/STRONG&gt;&amp;nbsp; - changing the value of a property over time, use different animation (double/color/point/object) and interpolating(linear/discrete/spline) types. Animations can be defined both declaratively and programmatically.&lt;/P&gt;
&lt;P&gt;Another key aspect for Silverlight is &lt;STRONG&gt;Media&lt;/STRONG&gt;. The key tenets for&amp;nbsp; Silverlight in this space are - highest quality, lowest cost of operation, best overall user experience, and monetization. There is support for VC-1, WMV, WMA, mp3, and WMA 10 Pro. One of the most feature for media capabilities is the support for DRM, this is applicable for streaming content. The support for playlists allows for delivery of a set of assets to any user. The 3 primary types of playlist are&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;.asx - resides on the client PC, simple to author and deploy, the urls are exposed to the client, ad content can be skipped &lt;/LI&gt;
&lt;LI&gt;.wsx - resides on streaming server, can hide location of assets from the client, seek/skip disabled &lt;/LI&gt;
&lt;LI&gt;.isx - web playlist, requested from web server which returns obfuscated urls for client playlist, location of assets remains hidden &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;As Silverlight content is displayed in the browser - it is important to understand the &lt;STRONG&gt;Browser Integration&lt;/STRONG&gt; capabilities. This feature allows for seamless communication between javascript and .Net in the browser. There are 3 core scenarios - .Net functions exposed in browser and called from within javascript, javascript code on Html page could come from .Net code-behind and manipulate the Xaml tree from javascript (this is supported in Silverlight 1.0 only) . A Silvelright object can be registered as scriptable and specific members can be attributed with [Scriptable Member] to enable calling from javascript. For manipulating the Html DOM the HtmlPage class can be used.&lt;/P&gt;
&lt;P&gt;An important aspect of any application is &lt;STRONG&gt;Data&lt;/STRONG&gt;, so let us look at this in Silverlight 2. The first thing you will notice is LINQ support - in addition to LINQ to Xml and LINQ to objects, we now have support for LINQ to JSON. There is also support for in-memory filtering and sorting, compile-time syntax checking and 2-way binding support. DataTemplates are used for UI representation of data and can exist in Content controls or Item control. DataGrid is the main control for data and it supports data-binding, scrolling, row selection, text/template.checkbox columns, skinning, editing, resizable rows and columns, auto-sizing for rows and columns, frozen columns, filtering, detail view etc.&lt;/P&gt;
&lt;P&gt;Finally a web application warrants a strong &lt;STRONG&gt;Networking&lt;/STRONG&gt; support, so let us look at the Silverlight 2 networking features. One of the primary things to take note of is the WebClient - this supports asynchronous, cross-domain access to network assets. The HttpWebRequest and HttpWebResponse classes are also available and provide fine grained control of Http messaging. This allows to consume existing form-based assets. Silverlight supports WCF based services for consumption. SOAP-based web services can expose WSDL and deploy the x-domain xml and ClientAccessPolicy.xml to support access from other servers. Socket based communications require a policy server to be defined. The first handshake with the policy server determines which ports/protocols acceptable to connect.&lt;/P&gt;
&lt;P&gt;One fun feature I wanted to touch upon to get everyone excited around Silverlight is &lt;STRONG&gt;DeepZoom &lt;/STRONG&gt;- see it in action &lt;A href="http://memorabilia.hardrock.com/" mce_href="http://memorabilia.hardrock.com/"&gt;here&lt;/A&gt; (zoom-in and out to see the feature in action. This really provides a seamless viewing and zooming experience for large images or sparse images (more resolution in some parts of the image than others). The way this functions is to load only required data for showing a specific part of the image. The lowest resolution tiles are shown first and then higher quality tiles blend in. The DeepZoom composer tool can be used to transform regular images to multi-scale images so that these are ready for consumption.&lt;/P&gt;
&lt;P&gt;Hopefully, this primer gets you to look at Silverlight more closely.&amp;nbsp; &lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8962468" width="1" height="1"&gt;</content><author><name>kashif</name><uri>http://blogs.msdn.com/members/kashif.aspx</uri></author></entry><entry><title>Bringing Outlook Contacts to life using Virtual Earth and VSTO 3.0</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/kashif/archive/2008/03/24/bringing-outlook-contacts-to-life-using-virtual-earth-and-vsto-3-0.aspx" /><id>http://blogs.msdn.com/kashif/archive/2008/03/24/bringing-outlook-contacts-to-life-using-virtual-earth-and-vsto-3-0.aspx</id><published>2008-03-25T03:23:46Z</published><updated>2008-03-25T03:23:46Z</updated><content type="html">&lt;p&gt;Late last year .Net Fx 3.5 and VS 2008 was released and part of this release was the Visual Studio Tools for Office 3.0 which enhance the Office development experience and also make it extremely trivial. One of my favorites as part of VSTO 3.0 is Outlook Form Regions which allows the developer to bring custom content into Outlook forms using Windows Forms controls within OFRs. The walk through I will tackle in this post is building an Outlook form region for outlook contact which maps the contact address on a Virtual Earth map in a hosted web browser control and it only actually takes a single line of code to enable this.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/kashif/WindowsLiveWriter/BringingOutlookContactstolifeusingVirt.0_F46F/image_2.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="321" alt="image" src="http://blogs.msdn.com/blogfiles/kashif/WindowsLiveWriter/BringingOutlookContactstolifeusingVirt.0_F46F/image_thumb.png" width="452" border="0" /&gt;&lt;/a&gt; Begin by creating a new Office project in Visual Studio 2008, notice the true multi-targeting capabilities are inherent with VS 2008. For our exercise, create a Outlook 2007 add-in. Next add a new item of the type Outlook Form Region (name it something like MapIt) to the project. This will kick off a wizard to walk through for designing the OFR. The step look like the following&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/kashif/WindowsLiveWriter/BringingOutlookContactstolifeusingVirt.0_F46F/image_4.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="214" alt="image" src="http://blogs.msdn.com/blogfiles/kashif/WindowsLiveWriter/BringingOutlookContactstolifeusingVirt.0_F46F/image_thumb_1.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/kashif/WindowsLiveWriter/BringingOutlookContactstolifeusingVirt.0_F46F/image_6.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="214" alt="image" src="http://blogs.msdn.com/blogfiles/kashif/WindowsLiveWriter/BringingOutlookContactstolifeusingVirt.0_F46F/image_thumb_2.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/kashif/WindowsLiveWriter/BringingOutlookContactstolifeusingVirt.0_F46F/image_8.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="214" alt="image" src="http://blogs.msdn.com/blogfiles/kashif/WindowsLiveWriter/BringingOutlookContactstolifeusingVirt.0_F46F/image_thumb_3.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;a href="http://blogs.msdn.com/blogfiles/kashif/WindowsLiveWriter/BringingOutlookContactstolifeusingVirt.0_F46F/image_10.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="214" alt="image" src="http://blogs.msdn.com/blogfiles/kashif/WindowsLiveWriter/BringingOutlookContactstolifeusingVirt.0_F46F/image_thumb_4.png" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The last step defines the Outlook Items for which this form region is enabled and we have selected the Contact Item. Next in the designer drop a WebBrowser control into the form region and open the C# code file for the form region in VS. Locate the formRegionShowing method and add the following line of code&lt;/p&gt;  &lt;p&gt;if (this.OutlookItem is Outlook.ContactItem)   &lt;br /&gt;{    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; webBrowser1.Url = new Uri(String.Format(&amp;quot;&lt;a href="http://maps.live.com?q={0}""&gt;http://maps.live.com?q={0}&amp;quot;&lt;/a&gt;, ((Outlook.ContactItem)this.OutlookItem).BusinessAddress));    &lt;br /&gt;}&lt;/p&gt;  &lt;p&gt;You are set to run the application and see the code in action - this will launch outlook, switch to contacts and open one up. Click on the MapIt link in the ribbon.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Voila!&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8334589" width="1" height="1"&gt;</content><author><name>kashif</name><uri>http://blogs.msdn.com/members/kashif.aspx</uri></author></entry><entry><title>Internet Explorer 8 Beta 1 - the developer perspective</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/kashif/archive/2008/03/24/internet-explorer-8-beta-1-the-developer-perspective.aspx" /><id>http://blogs.msdn.com/kashif/archive/2008/03/24/internet-explorer-8-beta-1-the-developer-perspective.aspx</id><published>2008-03-25T02:11:00Z</published><updated>2008-03-25T02:11:00Z</updated><content type="html">&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;SPAN class=posttitle1&gt;&lt;SPAN style="FONT-SIZE: 17pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Trebuchet MS','sans-serif'"&gt;Internet Explorer 8 Beta - Making the Web Work For You&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-FAMILY: 'Trebuchet MS','sans-serif'"&gt;&lt;FONT size=3&gt;Earlier this month at the Mix ‘08 conference in Las Vegas the Beta release of the newest version of Internet Explorer was announced. There was particular&amp;nbsp;developer excitement around this release given that the core focus for Beta 1 has been developer experience. In the following write up I will look at some of the key changes coming through&amp;nbsp;with this version and also encourage you to download the new beta and start experiencing it.&amp;nbsp;&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;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: 0.5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Trebuchet MS','sans-serif'"&gt;&lt;FONT size=3&gt;One of the first things to note about the new browser is the strong focus on standards based rendering which includes not only improved CSS 2.1 support (and also a look towards the future with CSS 3.0) but also provides better support for various Html namespaces. As part of this the Internet Explorer product group has contributed more than 700 test cases to the W3C CSS working group – these tests are provided to build a comprehensive testing suite for CSS and also help resolve some ambiguities in the CSS specification thus benefiting web designers and developers. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: 0.5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Trebuchet MS','sans-serif'"&gt;&lt;FONT size=3&gt;Moving on, one of my favorites is a new feature called 'Activities' which is exposed via the context menu when content is selected on the web page being browsed. The feature allows for specific action to be taken on the selected content, thus improving the user experience. The activity is represented as XML - the key elements being &lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Trebuchet MS','sans-serif'"&gt;homepageUrl&lt;/SPAN&gt;&lt;/EM&gt;, &lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Trebuchet MS','sans-serif'"&gt;activity&lt;/SPAN&gt;&lt;/EM&gt; and &lt;EM&gt;&lt;SPAN style="FONT-FAMILY: 'Trebuchet MS','sans-serif'"&gt;display&lt;/SPAN&gt;&lt;/EM&gt;. Activities provide an ideal way for services to integrate with the user’s browsing workflow. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: 0.5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Trebuchet MS','sans-serif'"&gt;&lt;FONT size=3&gt;Another interesting feature is the concept of subscribing to a specific part of a page on web site with the help of "WebSlices" - the content is added to the Favorites bar and the user is presented with updates and notification of changes along with the possibility of expiring the WebSlice (which can be handy for auction based content or news postings). The WebSlice Format specification is available under the Microsoft Open Specification Promise.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: 0.5in"&gt;&lt;SPAN style="FONT-FAMILY: 'Trebuchet MS','sans-serif'"&gt;&lt;FONT size=3&gt;There are numerous other features that are part of the Beta and I would highly recommend you to take a deeper look at the core features of the Beta by starting at the &lt;/FONT&gt;&lt;/SPAN&gt;&lt;A href="http://www.microsoft.com/windows/products/winfamily/ie/ie8/default.mspx"&gt;&lt;SPAN style="FONT-FAMILY: 'Trebuchet MS','sans-serif'"&gt;&lt;FONT size=3&gt;landing page&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-FAMILY: 'Trebuchet MS','sans-serif'"&gt;&lt;FONT size=3&gt;. Another important thing to remember is that given the&amp;nbsp;standards related changes between IE7&amp;nbsp;and the IE8 Beta, some of the sites that run correctly on IE7 might not appear optimal on IE8. In the short term this can be reverted by adding the following meta tag to the rendering: &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Trebuchet MS','sans-serif'"&gt;&amp;lt;meta http-equiv="X-UA-Compatible" content="IE=7" /&amp;gt;&lt;/SPAN&gt;&lt;/STRONG&gt; Or by setting the following HTTP header: &lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: 'Trebuchet MS','sans-serif'"&gt;X-UA-Compatible: IE=7;&lt;/SPAN&gt;&lt;/STRONG&gt;. These are workarounds but a more permanent fix would be to ensure that the html being outputted by the page is standards compliant.Some very useful links are for the &lt;/FONT&gt;&lt;/SPAN&gt;&lt;A href="http://forums.microsoft.com/MSDN/default.aspx?ForumGroupID=253&amp;amp;SiteID=1"&gt;&lt;SPAN style="FONT-FAMILY: 'Trebuchet MS','sans-serif'"&gt;&lt;FONT color=#669966 size=3&gt;Developer forum&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-FAMILY: 'Trebuchet MS','sans-serif'"&gt;&lt;FONT size=3&gt; and the &lt;/FONT&gt;&lt;/SPAN&gt;&lt;A href="http://www.microsoft.com/communities/newsgroups/list/en-us/default.aspx?dg=microsoft.public.internetexplorer.beta&amp;amp;cat=en_us_2BAF8EC5-645C-4477-A380-0F1CF6C102F9&amp;amp;lang=en&amp;amp;cr=us"&gt;&lt;SPAN style="FONT-FAMILY: 'Trebuchet MS','sans-serif'"&gt;&lt;FONT color=#669966 size=3&gt;Beta newsgroup site&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;SPAN style="FONT-FAMILY: 'Trebuchet MS','sans-serif'"&gt;&lt;FONT size=3&gt; which is a good place to provide feedback regarding your experience with IE 8 Beta. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8334488" width="1" height="1"&gt;</content><author><name>kashif</name><uri>http://blogs.msdn.com/members/kashif.aspx</uri></author></entry><entry><title>Unveiling .Net Framework 3.5</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/kashif/archive/2007/11/24/unveiling-net-framework-3-5.aspx" /><id>http://blogs.msdn.com/kashif/archive/2007/11/24/unveiling-net-framework-3-5.aspx</id><published>2007-11-24T13:47:39Z</published><updated>2007-11-24T13:47:39Z</updated><content type="html">&lt;p&gt;Earlier this week, on November 19&lt;sup&gt;th&lt;/sup&gt; to be precise, the Developer Division group at Microsoft announced the RTM of the fourth major installment of .Net Framework (for anyone counting we have had .Net Fx 1.0, 2.0 and 3.0 and though 1.1 is not counted the same way it brought a lot of necessary features to the fore such as CAS). The release has gone through numerous technology previews and 2 significant betas so I am hoping a lot of you reading this are already evaluating the light up features in this release. For those who have not gotten there yet, I am hoping this write-up will excite you to take the next step and get up, close and personal with .Net Fx 3.5 and Visual Studio 2008. &lt;/p&gt;  &lt;p&gt;One of the core concepts to understand with .Net 3.5 and its predecessor .Net 3.0 is the additive nature of features/components thus minimizing compatibility impacts and requiring lesser effort to move to the 3.5 platform compared to the move from 1.1 to 2.0. The idea here is the distinction in the bits shipping divided into red-bits and green-bits. Red-bits are the once that shipped with .Net 2.0 and these have been minimally modified to account for bug fixes and accommodate certain features but looking broadly have been left pristine, thus reducing the possibility of incompatibilities (these bits are equivalent to .Net 2.0 SP1). The green-bits represent the new features shipping in Orcas and are installed under 3.5 folder in windows system directory.&lt;/p&gt;  &lt;p&gt;Looking at the features, the first one that catches the eye is &amp;#8216;LINQ&amp;#8217; or &lt;a href="http://msdn2.microsoft.com/en-us/netframework/aa904594.aspx"&gt;&lt;b&gt;L&lt;/b&gt;anguage &lt;b&gt;In&lt;/b&gt;tegrated &lt;b&gt;Q&lt;/b&gt;uery&lt;/a&gt;. As the name suggests this new programming model integrates data access and query support within the language. The query could spawn object collections, xml , entities, or even relational data. Not only does LINQ ship with a set of standard query operators but also provides an extensibility model that can be used to build and replace custom operators as needed. As the enhancements are part of the ,Net languages (C# and VB.Net), you reap the benefits of compile-time checking, Intellisense in Visual Studio and a consistent way of querying data across different types of data sources as described earlier. A simple example of LINQ working against a relational database follows&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/kashif/WindowsLiveWriter/Unveiling.NetFramework3.5_2745/clip_image002_2.gif"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="148" alt="clip_image002" src="http://blogs.msdn.com/blogfiles/kashif/WindowsLiveWriter/Unveiling.NetFramework3.5_2745/clip_image002_thumb.gif" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In the Services realm, .Net 3.5 adds some very exciting features to the &lt;a href="http://wcf.netfx3.com/"&gt;Windows Communication Foundation&lt;/a&gt; stack. The first one is an HTTP programming model via AJAX-enabled WCF services. Also, WCF features an improved RSS and ATOM syndication support with 3.5.Thirdly, moving forward WCF services will support running in partial trust. Last but not the least 3.5 provides for greater integration between Workflow Foundation and WCF which implies WF can expose WCF end-points to receive or transmit messages in a state-machine or sequential workflow. Finally, there are numerous improvements in the Visual Studio designer to improve the service development workflow &amp;#8211; to name a few &amp;#8211; adding a service reference support, an integrated WF designer, project templates, item templates for services and a test client is also included.&lt;/p&gt;  &lt;p&gt;For web applications, benefits abound with the integrated support for &lt;a href="http://www.asp.net/ajax/"&gt;ASP.Net AJAX&lt;/a&gt;. ASP.Net AJAX 1.0 which was released earlier this year in January as a standalone release on top of .Net Fx 2.0 provides a framework for building RIAs, with a great cross-browser and cross-platform story, built for developer productivity and efficiency with extensive Visual Studio integration and bringing the goodness of many of the server based ASP.Net services to the AJAX world. There is also improved support for JavaScript intellisense and debugging within the designer. Also included in this release are new data controls such as ListView, DataPager, and LinqDataSource. The ListView enables enhanced layout and template control for governing the look and feel of your data representation. The control is described in much detail in one of my blog post &lt;a href="http://blogs.msdn.com/kashif/archive/2007/01/10/the-server-side-listview-control-in-visual-studio-orcas.aspx"&gt;here&lt;/a&gt;. The DataPager control enables various pager visualizations, providing full extensibility support for the layout by the use of templates. The LinqDataSource control enables declarative binding of ASP.Net data bound controls to data models using LINQ to SQL.&lt;/p&gt;  &lt;p&gt;The .Net Framework 3.5 also includes specific enhancements around building office applications and the compact framework for building Mobile applications. I will cover these enhancements in a subsequent post. Hope this got you thinking of enhancements that you could leverage in your products. If you do have any questions, please contact your GISV technical counterpart for more details.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6499511" width="1" height="1"&gt;</content><author><name>kashif</name><uri>http://blogs.msdn.com/members/kashif.aspx</uri></author></entry><entry><title>Presentation decks from recent talks at the ESRI dev summit</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/kashif/archive/2007/03/28/presentation-decks-from-recent-talks-at-the-esri-dev-summit.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="2281683" href="http://blogs.msdn.com/kashif/attachment/1979365.ashx" /><id>http://blogs.msdn.com/kashif/archive/2007/03/28/presentation-decks-from-recent-talks-at-the-esri-dev-summit.aspx</id><published>2007-03-28T21:51:00Z</published><updated>2007-03-28T21:51:00Z</updated><content type="html">&lt;P&gt;Last week I was at the ESRI dev summit in Palm Springs and gave a couple of talks on ASP.Net AJAX and WPF. Attached are the slide decks for the same. The slides are in Office 2007 format, if someone needs them in any other formats please contact me.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Thanks, Kashif&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1979365" width="1" height="1"&gt;</content><author><name>kashif</name><uri>http://blogs.msdn.com/members/kashif.aspx</uri></author></entry><entry><title>Session Initiation Protocol 101</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/kashif/archive/2007/03/13/session-initiation-protocol-101.aspx" /><id>http://blogs.msdn.com/kashif/archive/2007/03/13/session-initiation-protocol-101.aspx</id><published>2007-03-14T02:41:00Z</published><updated>2007-03-14T02:41:00Z</updated><content type="html">&lt;P&gt;Last week I was at the Aspect Consumer Experience conference and attended a session on SIP - here are some notes from the session providing you with all the basic things you need to know about SIP&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;FONT face=Calibri size=3&gt;&lt;EM&gt;Steps in VOIP are similar to a phone call&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l2 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Caller specifies&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l2 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Called Party receives&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l2 level1 lfo1"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Communication happens&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;&lt;EM&gt;Importance of SIP&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l3 level1 lfo2"&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;Ø&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;New hot standard for VOIP&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l3 level1 lfo2"&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;Ø&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Almost every vendor moving to it&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l3 level1 lfo2"&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;Ø&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Focus on P2P connections without controller authentication&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l3 level1 lfo2"&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;Ø&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Not only for voice but also IM, audio, video, data -&amp;gt; this is a key differentiator&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l3 level1 lfo2"&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;Ø&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Supports addressing by URI -&amp;gt; phone, name, email&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l3 level1 lfo2"&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;Ø&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Supports presence for user and not just for the device&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l3 level1 lfo2"&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-fareast-font-family: Wingdings; mso-bidi-font-family: Wingdings"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;Ø&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Vendors can add proprietary extensions as part of VOIP call – device can ignore data if it is not understood&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;&lt;EM&gt;Benefits of VOIP&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo3"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Runs over the same wiring as the computer network&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo3"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Free – no toll charges for local, international, long distance&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo3"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Mobility and Instant communication&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo3"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Not just voice – multimedia enabled&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo3"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Presence enabled&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo3"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Toll bypass – connect to agents anywhere&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l0 level1 lfo3"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Security – run calls on private network, VPN, encrypted network&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;SIP components -&amp;gt; Session Border Controller (SIP Firewall), Media Gateway, Media Server, User Agent (End point), SIP proxy (routing and additional resolution). Registrar allows for UA to register with SIP proxy and enable plug and play capabilities. Redirect Server aids redirecting and is used by the proxy. The Presence server is used to determine the state of UA. SIP proxy can be of 2 types – Pass through, B2B UA (provides additional capabilities – call forwarding, conferencing)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Each Request type has an appropriate response associated, for e.g. for an invite the response might be OK or Trying or Ringing. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;SIP follows the RFC 3261 specification&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Codec – coder/decoder -&amp;gt; takes audio and encodes for sharing over the internet, &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;most common is G711 which is equivalent to PSTN quality (64 kbps -&amp;gt; 64 kbps)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;G729 -&amp;gt; compresses (64 kbps -&amp;gt; 8 kbps)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;G722 -&amp;gt; better quality than PSTN, hi-fi voice quality&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Voice packetization – broken-down, sent and then recompiled&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Network considerations&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Start with big pipes (minimum of 100 Mb on switched LAN)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;VLAN – segregation of traffic (ensures bandwidth for audio)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Firewall with network (may cause a delay, open application ports, could pose additional translation issues)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Distance affects audio delay&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Bandwidth requirements&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Bandwidth calculation tools available&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Compression codec&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Silence suppression (can cause clipping)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Header compression&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Audio quality&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Jitter buffers – keep a set of packets to allow for smooth playback, recorder packets, deal with packets coming in at faster or slower rate&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Dynamic jitter buffers – changes buffer based on how packets are received&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Echo cancellation&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Delay of less than 150 ms is considered good&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Clipping of greater than 20 ms is perceptible to humans&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Presence&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;SIP is provided via SIP Instant Messaging Presence Leveraging Extensions aka SIMPLE&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Can provide rules to govern presence&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Intl&amp;nbsp; chars supported&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;IPV6 supported&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Authentication, Security and Encryption&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Phone/users identify themselves&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;VPN for remote users&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Encryption not widely supported as will cause delay&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;High availability with SIP – points of failure are as follows&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;PSTN communication, SIP proxy, IP phone, IP PBX, Network connectivity, Power&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;SIP trunking – remove media gateway, directly from carrier, reduce jitter, pass non-telephony data, IP multimedia sub-systems – send application info&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Cons of SIP&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;As good as the network&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo4"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Courier New'"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;o&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Emergency service is an issue&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1in; TEXT-INDENT: -0.25in; mso-list: l1 level2 lfo4"&gt;&lt;SPAN style="FONT-SIZE: 11pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-bidi-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA; mso-fareast-theme-font: minor-latin"&gt;Other applications running on same network will cause lag&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1876491" width="1" height="1"&gt;</content><author><name>kashif</name><uri>http://blogs.msdn.com/members/kashif.aspx</uri></author></entry><entry><title>ListView Presentation - slides and samples</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/kashif/archive/2007/01/30/listview-presentation-slides-and-samples.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="757721" href="http://blogs.msdn.com/kashif/attachment/1558116.ashx" /><id>http://blogs.msdn.com/kashif/archive/2007/01/30/listview-presentation-slides-and-samples.aspx</id><published>2007-01-30T21:04:00Z</published><updated>2007-01-30T21:04:00Z</updated><content type="html">&lt;P&gt;Here are the presentation slides and samples from today's webcast 'An In-depth Look at the ListView Control'. Please let me know if you have any comments on the control herewith. I&amp;nbsp;will post the webcast recording&amp;nbsp;once it is available.&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Kashif&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1558116" width="1" height="1"&gt;</content><author><name>kashif</name><uri>http://blogs.msdn.com/members/kashif.aspx</uri></author></entry><entry><title>Moving from ASP.Net AJAX Beta2 to RTM</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/kashif/archive/2007/01/24/moving-from-asp-net-ajax-beta2-to-rtm.aspx" /><id>http://blogs.msdn.com/kashif/archive/2007/01/24/moving-from-asp-net-ajax-beta2-to-rtm.aspx</id><published>2007-01-24T11:42:00Z</published><updated>2007-01-24T11:42:00Z</updated><content type="html">&lt;P&gt;Yesterday, I was moving some of my samples written for ASP.Net AJAX Beta 2 over to RTM and here are some of the things I encountered that might be useful to you&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;The assembly name has changed from Microsoft.Web.Extensions.* to System.Web.Extensions.* - the change aligns nomenclature to already existing assemblies in .Net frameworks. This will require to change references to the assembly in web.config&lt;/LI&gt;
&lt;LI&gt;The &amp;lt;httpModule&amp;gt; ScriptModule's namespace changed from Microsoft.Web.UI to System.Web.Handlers, another update in config. Also any other references to Microsoft.Web.* should be changed to System.Web.*&lt;/LI&gt;
&lt;LI&gt;The new validator controls have been removed and thus the tag mapping section in configg should be commented out. For scenarios involving validators in UpdatePanel these will be made to work by updating the existing ASP.Net v2.0 validators and providing a patch with these updates soon&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Voila, the application should work again. There is also a handy and much more detailed whitpaper available for this on the &lt;A href="http://ajax.asp.net/"&gt;http://ajax.asp.net&lt;/A&gt; site.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Thanks,&lt;/P&gt;
&lt;P&gt;Kashif&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1520512" width="1" height="1"&gt;</content><author><name>kashif</name><uri>http://blogs.msdn.com/members/kashif.aspx</uri></author></entry><entry><title>Drum roll please - ASP.Net AJAX v1.0 is now available</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/kashif/archive/2007/01/23/drum-roll-please-asp-net-ajax-v1-0-is-now-available.aspx" /><link rel="enclosure" type="image/jpeg" length="55609" href="http://blogs.msdn.com/kashif/attachment/1516187.ashx" /><id>http://blogs.msdn.com/kashif/archive/2007/01/23/drum-roll-please-asp-net-ajax-v1-0-is-now-available.aspx</id><published>2007-01-23T21:39:00Z</published><updated>2007-01-23T21:39:00Z</updated><content type="html">&lt;P&gt;ASP.Net AJAX&amp;nbsp;v1.0 debuted this morning and is now available for download. Check &lt;A class="" href="http://ajax.asp.net/" mce_href="http://ajax.asp.net/"&gt;this&lt;/A&gt; out or read more on Scott's &lt;A class="" href="http://weblogs.asp.net/scottgu" mce_href="http://weblogs.asp.net/scottgu"&gt;blog&lt;/A&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A class="" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ca9d90fa-e8c9-42e3-aa19-08e2c027f5d6&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ca9d90fa-e8c9-42e3-aa19-08e2c027f5d6&amp;amp;displaylang=en"&gt;&lt;IMG src="http://blogs.msdn.com/kashif/attachment/1516187.ashx" mce_src="http://blogs.msdn.com/kashif/attachment/1516187.ashx"&gt;&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1516187" width="1" height="1"&gt;</content><author><name>kashif</name><uri>http://blogs.msdn.com/members/kashif.aspx</uri></author></entry><entry><title>The ASP.Net ListView control in Visual Studio 'Orcas'</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/kashif/archive/2007/01/10/the-server-side-listview-control-in-visual-studio-orcas.aspx" /><id>http://blogs.msdn.com/kashif/archive/2007/01/10/the-server-side-listview-control-in-visual-studio-orcas.aspx</id><published>2007-01-10T23:48:00Z</published><updated>2007-01-10T23:48:00Z</updated><content type="html">&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;When 'ASP.Net AJAX' (formerly codenamed Atlas) was first released for preview back in Sep 2005, one of the controls that was released as part of the preview was the 'ListView' client-side control - the control created the rendering on the fly on the client based on xml-script and the html skeletons defined on the page for the control. The data binding was also done on the client and data was fetched asynchronously using the ClientDataSource component. The server-side ListView is&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt; very different&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt; from the client-side control. The goals for creating a server-side data presentation control were multiple - mainly&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;UL type=disc&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;leverage existing datasource controls, support declarative binding and common data operations such as insert, edit, delete, sort, page etc.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;a &lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;fully customizable &lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;UI with the support of templates&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;WYSIWYG previews and rich design-time support in Visual Studio&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; tab-stops: list .5in; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;can be extended to build more complex UI.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;I&gt;&lt;U&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;Rendering&lt;/SPAN&gt;&lt;/U&gt;&lt;/I&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;ListView allows for fully customizable UI rendering with the use of LayoutTemplate. This also obviates the need for having certain templates such as header, footer, and pager. The EmptyDataTemplate can be used to configure the view when no data is available to the ListView.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;The EmptyDataTemplate when defined takes over the control rendering when the ListView is empty. It renders by itself and not inside the LayoutTemplate.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&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; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;The templates follow the following general hierarchy&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&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; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;LayoutTemplate [root template, container for ListView rendering]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&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;- GroupTemplate [Optional, required for&amp;nbsp;tiled layout]&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-tab-count: 2"&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; &lt;/SPAN&gt;- ItemTemplate&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-tab-count: 2"&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; &lt;/SPAN&gt;- AlternatingItemTemplate&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-tab-count: 2"&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; &lt;/SPAN&gt;- EditItemTemplate&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-tab-count: 2"&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; &lt;/SPAN&gt;- InsertItemTemplate&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-tab-count: 2"&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; &lt;/SPAN&gt;- ItemSeparatorTemplate&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-tab-count: 2"&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; &lt;/SPAN&gt;- EmptyItemTemplate&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-tab-count: 2"&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; &lt;/SPAN&gt;- SelectedItemTemplate&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&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;- GroupSeparatorTemplate&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;or &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;EmptyDataTemplate&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&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; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;The id property is added to UI elements to define where this rendering would come from – possible values for the id are – ‘&lt;EM&gt;GroupContainer&lt;/EM&gt;’ or ‘&lt;EM&gt;ItemContainer&lt;/EM&gt;’. This implies the element marked as a GroupContainer will be used as the container for instantiating the GroupTemplate and the element marked as itemContainer will be used as the container for instantiating the ItemTemplates.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&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; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;The GroupSeparatorTemplate is displayed at the end of each GroupTemplate except the last one. The ItemSeparatorTemplate is displayed at the end of each ItemTemplate except the last one. The EmptyItemTemplate is displayed for filling up dummy columns when building a xhtml conformant layout.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;Styling can be handled by applying css to the various html elements defining the various ListView template. ListView comes with certain pre-defined configurations for styling and layouts and these can be selected inside of Visual Studio via the 'Configure ListView' task from the chrome.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&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; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;I&gt;&lt;U&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;DataBinding and Common Data Operations&lt;/SPAN&gt;&lt;/U&gt;&lt;/I&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;ListView provides databinding model akin to V2.0 data bound controls. Developers can leverage declarative databinding by setting the DataSourceID on the control or can employ the DataSource property programmatically. Apart from Select, Update and Delete which are available with GridView - the listView also provides for an Insert option and the InsertItemTemplate can be displayed by setting the InsertItemPosition property on the ListView.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&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; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;The control also provides for Sorting and Paging capabilities though for Paging the DataPager control should be used in conjunction with the ListView. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&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; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;This is a simple overview of the control. I will be writing more on specific topics in detail in the coming weeks.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&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; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;Please post comments or questions regarding the control to this blog.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&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; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;Thanks,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 10pt; mso-line-height-rule: exactly"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;Kashif&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1445789" width="1" height="1"&gt;</content><author><name>kashif</name><uri>http://blogs.msdn.com/members/kashif.aspx</uri></author></entry><entry><title>ASP.Net AJAX presentation </title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/kashif/archive/2007/01/04/asp-net-ajax-presentation.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="444599" href="http://blogs.msdn.com/kashif/attachment/1412201.ashx" /><id>http://blogs.msdn.com/kashif/archive/2007/01/04/asp-net-ajax-presentation.aspx</id><published>2007-01-04T22:02:00Z</published><updated>2007-01-04T22:02:00Z</updated><content type="html">&lt;P&gt;A couple of weeks back I&amp;nbsp;delivered a presentation on ASP.Net AJAX to our ISV partners. Attached are the slides and the follow up Q &amp;amp; A log.&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Kashif&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1412201" width="1" height="1"&gt;</content><author><name>kashif</name><uri>http://blogs.msdn.com/members/kashif.aspx</uri></author></entry><entry><title>Mix 07 - registration is now open...</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/kashif/archive/2007/01/04/mix-07-registration-is-now-open.aspx" /><id>http://blogs.msdn.com/kashif/archive/2007/01/04/mix-07-registration-is-now-open.aspx</id><published>2007-01-04T08:13:00Z</published><updated>2007-01-04T08:13:00Z</updated><content type="html">&lt;P&gt;Check out the &lt;A class="" href="http://www.visitmix.com/" mce_href="http://www.visitmix.com/"&gt;Mix 07&lt;/A&gt; site and register at an early bird discounted price. Keynotes being delivered Ray Ozzie and &lt;A class="" href="http://weblogs.asp.net/scottgu" mce_href="http://weblogs.asp.net/scottgu"&gt;Scott Guthrie&lt;/A&gt;...&lt;/P&gt;
&lt;P&gt;-Kashif&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1409456" width="1" height="1"&gt;</content><author><name>kashif</name><uri>http://blogs.msdn.com/members/kashif.aspx</uri></author></entry><entry><title>ASP.Net AJAX 1.0 Release Candidate </title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/kashif/archive/2006/12/18/asp-net-ajax-1-0-release-candidate.aspx" /><id>http://blogs.msdn.com/kashif/archive/2006/12/18/asp-net-ajax-1-0-release-candidate.aspx</id><published>2006-12-18T21:39:00Z</published><updated>2006-12-18T21:39:00Z</updated><content type="html">&lt;P&gt;Last week, the ASP.Net AJAX team took a major step towards getting web developers closer to&amp;nbsp;moving their web applications based on ASP.Net AJAX into production with the release of the &lt;A class="" href="http://ajax.asp.net/default.aspx?tabid=47&amp;amp;subtabid=471" mce_href="http://ajax.asp.net/default.aspx?tabid=47&amp;amp;subtabid=471"&gt;RC&lt;/A&gt; (the AJAX Futures Dec&amp;nbsp;CTP has also been made available). The release also further aligned ASP.Net AJAX with previous ASP.Net releases by&amp;nbsp;changing the namespace&amp;nbsp;from Microsoft.Web.* to System.Web.* and also the assembly name changing from Microsoft.Web.Extensions* to System.Web.Extensions* (this also helps in aligning the 1.0 with future Framework releases).&lt;/P&gt;
&lt;P&gt;I would encourage everyone to move to the RC and provide feedback to the team via the forums.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Thanks,&lt;/P&gt;
&lt;P&gt;Kashif&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1317946" width="1" height="1"&gt;</content><author><name>kashif</name><uri>http://blogs.msdn.com/members/kashif.aspx</uri></author></entry><entry><title>ScreenReader Accessibility and Partial Updates in ASP.Net AJAX</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/kashif/archive/2006/12/05/screenreader-accessibility-and-partial-updates-in-asp-net-ajax.aspx" /><link rel="enclosure" type="application/x-zip-compressed" length="3418" href="http://blogs.msdn.com/kashif/attachment/1215242.ashx" /><id>http://blogs.msdn.com/kashif/archive/2006/12/05/screenreader-accessibility-and-partial-updates-in-asp-net-ajax.aspx</id><published>2006-12-06T02:07:00Z</published><updated>2006-12-06T02:07:00Z</updated><content type="html">&lt;P&gt;Accessibility is an important aspect of software applications. It is ever so important on the web especially to ensure that everyone visiting your site is enabled to access the content. It is also required by a number of government organizations. The current state of UpdatePanel doesn't allow for complete screenreader accessibility with the popular screenrreaders currently available in the market. Window Eyes works correctly and is able to read updated content in a partial postback&amp;nbsp;in simple cases but doesn't work well when triggers are used. Also Jaws doesn't handle re-reading content on partial updates. &lt;/P&gt;
&lt;P&gt;To fix this issue I wrote a simple control which provides for this screen-reader accessibility. On any page that will participate in partial rendering, you can employ this control - nothing else needs to be set - just drop this control on your page participating in partial rendering and you are set for screen reader accessiblity -&amp;nbsp;and it will take care of causing the screen reader to re-read content after a partial post-back. I am posting the control herewith - please let me know if you find it useful or any other comments you might have regarding this. I tested with Window Eyes and it works well.&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Kashif&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1215242" width="1" height="1"&gt;</content><author><name>kashif</name><uri>http://blogs.msdn.com/members/kashif.aspx</uri></author></entry><entry><title>Error Handling in Partial Rendering Scenarios</title><link rel="alternate" type="text/html" href="http://blogs.msdn.com/kashif/archive/2006/11/10/error-handling-in-partial-rendering-scenarios.aspx" /><id>http://blogs.msdn.com/kashif/archive/2006/11/10/error-handling-in-partial-rendering-scenarios.aspx</id><published>2006-11-10T23:35:00Z</published><updated>2006-11-10T23:35:00Z</updated><content type="html">&lt;P&gt;When using the UpdatePanel feature in ASP.Net AJAX to update portions of the page using async post-backs, there are many different approaches available to handle errors that happen on the server during the async post-back. Let's consider some of these choices in detail.&lt;/P&gt;
&lt;P&gt;1. Traditional error handling - redirecting to a custom error page, that contains more details about the error. In v1.0/v1.1/v2.0 ASP.Net applications - the application developer will usually set the customErrors mode to 'ON' and define a redirect url to point to a custom error page or handle the Application_onError event, log the error and redirect to a custom error page [using Response.Redirect()]. The same approach will continue to work in ASP.Net AJAX and redirections to custom error pages will happen if one is defined. &lt;/P&gt;
&lt;P&gt;The issue with the above approach is that the user loses the ajax kind of behavior in the app - it would be much more intuitive to keep the user on the same page and notify them that an error occured on the server without causing a redirect to a different page. The ASP.Net AJAX framework provides OM for handling the error on the server and the client. On the server the page developer can avail the following properties on the ScriptManager to customize error handling - 'AllowCustomErrorsRedirect', 'AsyncPostBackErrorMessage' and the 'AsyncPostBackError' event. On the client the page developer can handle the PageRequestManager's endRequest event which provides the following properties on the event args - errorHandled and error. By diagnosing the 'error' property and setting 'errorHandled' to true - the error can be displayed in a UI of choice on the same page and keep an integrated behavior for the user. For the error to be handled in such a manner - the AllowCustomErrorsRedirect must be set to false (default is true) if customErrors are 'On' in config. Secondly, the user can also set the 'AsyncPostBackErrorMessage' to send down a standard error message, the AsyncPostBackError event can be handled for customizing the error sent down to the client based on the actual error that happened on the server.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Thus all in all the framework provides for extensive error handling techniques in page partial rendering scenarios in ASP.Net AJAX.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;I would love to hear any comments / feedback&amp;nbsp;that users might have regarding the error handling support in such scenarios.&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Kashif&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1055266" width="1" height="1"&gt;</content><author><name>kashif</name><uri>http://blogs.msdn.com/members/kashif.aspx</uri></author><category term="ASP.Net &amp;amp; Technology" scheme="http://blogs.msdn.com/kashif/archive/tags/ASP.Net+_2600_amp_3B00_+Technology/default.aspx" /></entry></feed>