<?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>Adam Nathan's Blog : WCF</title><link>http://blogs.msdn.com/adam_nathan/archive/tags/WCF/default.aspx</link><description>Tags: WCF</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Light up on Windows Vista: The "Top 10" List</title><link>http://blogs.msdn.com/adam_nathan/archive/2005/09/12/463211.aspx</link><pubDate>Tue, 13 Sep 2005 08:42:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:463211</guid><dc:creator>Adam Nathan</dc:creator><slash:comments>9</slash:comments><comments>http://blogs.msdn.com/adam_nathan/comments/463211.aspx</comments><wfw:commentRss>http://blogs.msdn.com/adam_nathan/commentrss.aspx?PostID=463211</wfw:commentRss><wfw:comment>http://blogs.msdn.com/adam_nathan/rsscomments.aspx?PostID=463211</wfw:comment><description>&lt;P&gt;PDC attendees got a "top 10" poster, but the details are now live on MSDN: "&lt;A href="http://msdn.microsoft.com/windowsvista/top10/"&gt;10 things you can do to make your application shine when it runs on Windows Vista&lt;/A&gt;."&amp;nbsp; They are, in no particular order:&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/windowsvista/top10/#CTA1"&gt;1. Follow the Windows Vista style guidelines&lt;/A&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/windowsvista/top10/#CTA2"&gt;2. Enrich the user experience&lt;/A&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/windowsvista/top10/#CTA3"&gt;3. Enable users to visualize, organize, and search&lt;/A&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/windowsvista/top10/#CTA4"&gt;4. Run securely&lt;/A&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/windowsvista/top10/#CTA5"&gt;5. Design for reliability and manageability&lt;/A&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/windowsvista/top10/#CTA6"&gt;6. Establish a customer feedback loop&lt;/A&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/windowsvista/top10/#CTA7"&gt;7. Build for connected systems&lt;/A&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/windowsvista/top10/#CTA8"&gt;8. Bring data to the user with RSS&lt;/A&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/windowsvista/top10/#CTA9"&gt;9. Make document data accessible&lt;/A&gt;&lt;BR&gt;&lt;A href="http://msdn.microsoft.com/windowsvista/top10/#CTA10"&gt;10. Build for mobility&lt;/A&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;This helps frame my talk on Thursday (FUN318), since I'll be digging into 6 out of these 10 themes and show how I applied them to Internet Hearts.&amp;nbsp; I won't be covering #1 because that's not very exciting, or #3 and #9 because they don't apply to this application, or #10 (which would have been nice) because that's too much to cram into one hour.&lt;/P&gt;
&lt;P&gt;As a side note, "Light Up on Longhorn" had a much better ring than "Light Up on Windows Vista."&amp;nbsp; Does anyone have a better term for "light up"?&lt;/P&gt;
&lt;P&gt;Tags: &lt;A href="http://technorati.com/tag/pdc" rel=tag&gt;PDC&lt;/A&gt;, &lt;A href="http://technorati.com/tag/pdc05" rel=tag&gt;PDC05&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=463211" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/adam_nathan/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/adam_nathan/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.msdn.com/adam_nathan/archive/tags/Managed+Code/default.aspx">Managed Code</category></item><item><title>Internet Hearts: 112,000 Lines of Code</title><link>http://blogs.msdn.com/adam_nathan/archive/2005/06/15/429446.aspx</link><pubDate>Wed, 15 Jun 2005 23:39:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:429446</guid><dc:creator>Adam Nathan</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/adam_nathan/comments/429446.aspx</comments><wfw:commentRss>http://blogs.msdn.com/adam_nathan/commentrss.aspx?PostID=429446</wfw:commentRss><wfw:comment>http://blogs.msdn.com/adam_nathan/rsscomments.aspx?PostID=429446</wfw:comment><description>&lt;P&gt;On Monday &lt;a href="http://blogs.msdn.com/adam_nathan/archive/2005/06/13/428610.aspx"&gt;I asked for guesses on the size of the Internet Hearts source base&lt;/A&gt;, and the highest (public) one was 45,000 lines of code.&amp;nbsp; The answer: approximately &lt;STRONG&gt;112,000&lt;/STRONG&gt; lines of code!&amp;nbsp; 51,000 are client-specific, 35,000 are server-specific, and 26,000 are shared by both.&lt;/P&gt;
&lt;P&gt;Higher than you expected? Well, there's a lot of functionality on the server end. And the application is actually a general-purpose game client &amp;amp; server designed to support multiple games (Internet Backgammon/Checkers/Hearts/Reversi/Spades).&amp;nbsp; For the purpose of turning this app into a shareable sample, I've already removed the non-Hearts pieces, but the generic nature of the architecture definitely contributes to the code size.&lt;/P&gt;
&lt;P&gt;When I apply today's technologies to this older code base, I'm pretty sure I'll be able to "do more with less":&amp;nbsp; Less lines of code, less time &amp;amp; effort, less bugs, etc.&amp;nbsp; So we should see the application shrink.&lt;/P&gt;
&lt;P&gt;Here are some diagrams to illustrate how the baseline Internet Hearts application is structured (prior to any improvements).&amp;nbsp; The orange-colored components involve UI, so they're candidates for an Avalon makeover.&amp;nbsp; The indigo-colored components involve networking, so they're candidates for... you guessed it... Indigo!&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The Client:&lt;/STRONG&gt;&lt;/P&gt;&lt;IMG src="http://www.pinvoke.net/blog/images/heartsclient.gif"&gt; 
&lt;P&gt;&lt;STRONG&gt;The Server:&lt;/STRONG&gt;&lt;/P&gt;&lt;IMG src="http://www.pinvoke.net/blog/images/heartsserver.gif"&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=429446" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/adam_nathan/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/adam_nathan/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.msdn.com/adam_nathan/archive/tags/Managed+Code/default.aspx">Managed Code</category><category domain="http://blogs.msdn.com/adam_nathan/archive/tags/Hearts/default.aspx">Hearts</category></item><item><title>Now available: Beta 1 RC of Avalon and Indigo</title><link>http://blogs.msdn.com/adam_nathan/archive/2005/05/23/421206.aspx</link><pubDate>Tue, 24 May 2005 03:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:421206</guid><dc:creator>Adam Nathan</dc:creator><slash:comments>9</slash:comments><comments>http://blogs.msdn.com/adam_nathan/comments/421206.aspx</comments><wfw:commentRss>http://blogs.msdn.com/adam_nathan/commentrss.aspx?PostID=421206</wfw:commentRss><wfw:comment>http://blogs.msdn.com/adam_nathan/rsscomments.aspx?PostID=421206</wfw:comment><description>&lt;P&gt;I'm happy to say that the Beta 1 RC of Avalon &amp;amp; Indigo is now available &lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=B789BC8D-4F25-4823-B6AA-C5EDF432D0C1&amp;amp;displaylang=en"&gt;here&lt;/A&gt;.&amp;nbsp; This version is compatible with Visual Studio 2005 Beta 2!&lt;/P&gt;
&lt;P&gt;As promised, I've updated my &lt;a href="https://blogs.msdn.com:443/adam_nathan/archive/2005/05/03/414148.aspx"&gt;XAML playing cards&lt;/A&gt; sample &lt;A href="http://www.pinvoke.net/blog/downloads/CardsBeta1RC.zip"&gt;here&lt;/A&gt;, and I've updated &lt;A href="http://www.xamlshare.com/default.aspx/Objects.PlayingCardHand"&gt;the two pages on XAMLshare&lt;/A&gt; as well.&amp;nbsp; I see that &lt;A href="http://www.valil.com/"&gt;Valentin&lt;/A&gt; already updated his &lt;A href="http://www.xamlshare.com/default.aspx/Other/Chess.html"&gt;chess sample&lt;/A&gt; on XAMLshare to match Beta 1 RC!&amp;nbsp; Great!&lt;/P&gt;
&lt;P&gt;Next time, we'll look at some of the Avalon changes from March CTP to Beta 1 RC.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=421206" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/adam_nathan/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/adam_nathan/archive/tags/WCF/default.aspx">WCF</category></item><item><title>Migrating Internet Hearts to WinFX</title><link>http://blogs.msdn.com/adam_nathan/archive/2005/05/02/414174.aspx</link><pubDate>Tue, 03 May 2005 09:59:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:414174</guid><dc:creator>Adam Nathan</dc:creator><slash:comments>14</slash:comments><comments>http://blogs.msdn.com/adam_nathan/comments/414174.aspx</comments><wfw:commentRss>http://blogs.msdn.com/adam_nathan/commentrss.aspx?PostID=414174</wfw:commentRss><wfw:comment>http://blogs.msdn.com/adam_nathan/rsscomments.aspx?PostID=414174</wfw:comment><description>&lt;P&gt;Last year, &lt;A href="http://sellsbrothers.com/"&gt;Chris Sells&lt;/A&gt; wrote &lt;A href="http://msdn.microsoft.com/longhorn/understanding/columns/default.aspx?pull=/library/en-us/dnfoghorn/html/foghorn02112004.asp"&gt;a series of articles&lt;/A&gt; in which he set out to rewrite Solitaire using Avalon.&amp;nbsp; The lack of scaling graphics in the Win32 version (and lack of access to&amp;nbsp;its source code, I suppose) forced him down the road of rewriting the app from scratch.&amp;nbsp; Plus, the point was to explore "the initial decisions developers will make when building new applications targeting Longhorn."&amp;nbsp; (This was before &lt;a href="http://blogs.msdn.com/brada/archive/2004/08/29/222489.aspx"&gt;WinFX got decoupled from Longhorn&lt;/A&gt; and made available for Windows XP &amp;amp; Windows Server 2003.)&lt;/P&gt;
&lt;P&gt;This year, I'm going to create a new WinFX-enabled version of Internet Hearts (the not-as-popular card game that also ships with Windows XP).&amp;nbsp; But the focus is going to be on &lt;EM&gt;migration&lt;/EM&gt;&amp;nbsp;rather than starting from scratch.&amp;nbsp; I'll&amp;nbsp;gradually replace the UI with Avalon and the communication with Indigo.&amp;nbsp; After all, I want to focus on the cool stuff; not rewriting the basic logic.&amp;nbsp; I'll share results as I go along, and hopefully I'll be able to share the source code, pre-migration and post-migration!&lt;/P&gt;
&lt;P&gt;I want to give special thanks to Steven Goulet (one of the folks on my new team), who came up with Internet Hearts as a great example application that could benefit from Avalon &amp;amp; Indigo.&amp;nbsp; He also did the legwork of getting permission&amp;nbsp;for the original source code.&amp;nbsp; So without him, this would not be possible!&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=414174" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/adam_nathan/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/adam_nathan/archive/tags/WCF/default.aspx">WCF</category><category domain="http://blogs.msdn.com/adam_nathan/archive/tags/Managed+Code/default.aspx">Managed Code</category><category domain="http://blogs.msdn.com/adam_nathan/archive/tags/Hearts/default.aspx">Hearts</category></item></channel></rss>