<?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>Jared Bienz's Blog</title><link>http://blogs.msdn.com/jbienz/default.aspx</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Free Architect for Windows 7 (9/15 - 9/18)</title><link>http://blogs.msdn.com/jbienz/archive/2009/09/01/free-architect-for-windows-7-9-15-9-18.aspx</link><pubDate>Wed, 02 Sep 2009 01:17:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9890104</guid><dc:creator>jbienz</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jbienz/comments/9890104.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jbienz/commentrss.aspx?PostID=9890104</wfw:commentRss><description>&lt;p&gt;Windows 7 is important to all of us in the PC ecosystem, and my team is striving to provide you with every resource we can to help you be confident supporting the platform. With that in mind, I’ve asked our Windows 7 specialist team fly into Dallas and be available 9/15 through 9/18. These architects are highly skilled in testing for compatibility as well as isolating, troubleshooting and resolving compatibility issues. We are offering multiple slots each day to accommodate your schedule and I urge you to take advantage of these free resources. &lt;/p&gt;  &lt;p&gt;Very little (if any) prep is required on your part, and you can sign up to work with these folks at the link below. Please let me know if you have any questions at all about leveraging this resource.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;What&lt;/b&gt;: Windows 7 Remediation Lab&lt;/p&gt;  &lt;p&gt;&lt;b&gt;When&lt;/b&gt;: Tuesday, September 15, 2009 9:30 AM - Friday, September 18, 2009 12:30 PM Central Time (US &amp;amp; Canada)&lt;/p&gt;  &lt;p&gt;&lt;b&gt;Where&lt;/b&gt;: &lt;/p&gt;  &lt;p&gt;Microsoft Corporation   &lt;br /&gt;7000 N. State Highway 161    &lt;br /&gt;Irving Texas 75039&lt;/p&gt;  &lt;p&gt;&lt;b&gt;How&lt;/b&gt;: &lt;a href="http://msevents.microsoft.com/cui/EventDetail.aspx?culture=en-US&amp;amp;EventID=1032423925&amp;amp;IO=wqA2MtlsdI%2bPxNmtl4Z0UQ%3d%3d"&gt;Sign Up - Windows 7 Compatibility Assistance&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9890104" width="1" height="1"&gt;</description></item><item><title>Windows 7 Compatibility - We’re Here to Help</title><link>http://blogs.msdn.com/jbienz/archive/2009/08/06/windows-7-compatibility-we-re-here-to-help.aspx</link><pubDate>Fri, 07 Aug 2009 01:24:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9859650</guid><dc:creator>jbienz</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jbienz/comments/9859650.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jbienz/commentrss.aspx?PostID=9859650</wfw:commentRss><description>&lt;p&gt;&lt;font size="3"&gt;&lt;font face="Century Gothic"&gt;&lt;i&gt;Did you know Windows 7 was released to manufacturing on July 22&lt;sup&gt;nd&lt;/sup&gt; and is already available for download on &lt;/i&gt;&lt;i&gt;MSDN and TechNet? &lt;/i&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;&lt;font size="3" face="Century Gothic"&gt;&lt;/font&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;&lt;i&gt;&lt;font size="3" face="Century Gothic"&gt;Did you know computer manufacturers could begin shipping Windows 7 PCs as early as this month?&lt;/font&gt;&lt;/i&gt;&lt;/p&gt;  &lt;p&gt;Many large IT departments have been saving their upgrade budgets for Windows 7, and we want to do everything we can to help ISVs confidently state their support for this exciting new OS.&lt;/p&gt;  &lt;p&gt;Getting compatible with Windows 7 is probably easier than you think, and here are the five easy steps every ISV should know.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font size="4" face="Calisto MT"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="4" face="Calisto MT"&gt;&lt;font color="#e17100"&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Get Windows 7&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;There are several ways to get a copy of Windows 7 (see this &lt;a href="http://blogs.msdn.com/usisvde/archive/2009/08/06/windows-7-available-to-isvs-today.aspx"&gt;post&lt;/a&gt;), and &lt;a href="https://msdn.microsoft.com/subscriptions/securedownloads/default.aspx"&gt;MSDN&lt;/a&gt; and &lt;a href="http://technet.microsoft.com/subscriptions/securedownloads/default.aspx"&gt;TechNet&lt;/a&gt; customers can download the RTM bits &lt;i&gt;today&lt;/i&gt;. If you don’t have MSDN or TechNet you can start with the &lt;a href="http://technet.microsoft.com/en-us/evalcenter/dd353205.aspx"&gt;Release Candidate&lt;/a&gt; and Windows 7 will be on store shelves in October.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font size="4" face="Calisto MT"&gt;&lt;font color="#e17100"&gt;&lt;strong&gt;Step 2:&lt;/strong&gt; Test on Windows 7 in Your Next QA Pass&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;This part is easy. Windows 7 installs in less than 45 minutes and runs great in virtual environments. Just install your application, run your tests and uninstall your application the same as you would on Windows Vista. And if you want to increase your testing coverage, why not grab the free testing tool available in the Windows 7 &lt;a href="https://connect.microsoft.com/site/sitehome.aspx?SiteID=831"&gt;Logo Toolkit&lt;/a&gt;? If your application passes these tests, you’ve already met most of the requirements for logo compatibility!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font size="4" face="Calisto MT"&gt;&lt;font color="#e17100"&gt;&lt;strong&gt;Step 3:&lt;/strong&gt; Fix any Incompatibilities&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Don’t worry! The &lt;i&gt;vast&lt;/i&gt; majority of applications compatible with Windows Vista area already compatible with Windows 7. If you run on Vista, chances are your tests will pass with flying colors. And if not, we’re here to help. The Microsoft &lt;a href="http://www.msdev.com/frontrunner"&gt;Front Runner&lt;/a&gt; program has engineers standing by to help resolve problems via phone and e-mail. We even have a field response team ready if the issue can’t be resolved remotely. Best of all, each of these resources are free to use!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font size="4" face="Calisto MT"&gt;&lt;font color="#e17100"&gt;&lt;strong&gt;Step 4:&lt;/strong&gt; State Your Compatibility in Front Runner&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;Congratulations, you’re compatible! Now it’s time to share the good news with your customers and get some marketing benefits along the way. Just log into &lt;a href="http://www.msdev.com/frontrunner"&gt;Front Runner&lt;/a&gt; and add or update your product information. When you mark your solution as compatible, your product will be added to the Compatibility Center and your marketing benefits will become available.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font size="4" face="Calisto MT"&gt;&lt;font color="#e17100"&gt;&lt;strong&gt;Step 5:&lt;/strong&gt; Relax and Enjoy the Benefits&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;You’ve earned it! Put those marketing dollars to good use. And while you’re at it, why not show you’re an early adopter by displaying the Front Runner logo? &lt;/p&gt;  &lt;p&gt;Finally, relax! We’ll be here to assist you long after you’ve stated your support. If anything happens in the wild, we’ll be standing by to help.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9859650" width="1" height="1"&gt;</description></item><item><title>Application Skinning in WPF and Silverlight</title><link>http://blogs.msdn.com/jbienz/archive/2009/06/22/application-skinning-in-wpf-and-silverlight.aspx</link><pubDate>Tue, 23 Jun 2009 02:34:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9798503</guid><dc:creator>jbienz</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/jbienz/comments/9798503.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jbienz/commentrss.aspx?PostID=9798503</wfw:commentRss><description>&lt;p&gt;Over the past two years we’ve seen some incredible applications built on WPF and Silverlight. But application style doesn’t happen on its own, and many of the questions I’m asked these days are centered around application styling and custom controls.&lt;/p&gt;  &lt;p&gt;As our fiscal year comes to an end, and with Silverlight 3 and WPF 4 are rapidly approaching, I thought it’d be a great time to put together a few short videos on skinning and custom controls. I hope these two ~20 minute videos help demystify a topic that’s really not as elusive as it seems.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://channel9.msdn.com/posts/jbienz/Skins-for-WPF-and-Silverlight/"&gt;Skins for WPF and Silverlight&lt;/a&gt; (20:15)&lt;/p&gt;  &lt;p&gt;&lt;a href="http://channel9.msdn.com/posts/jbienz/Creating-Lookless-Controls-for-WPF-and-Silverlight/"&gt;Creating ‘Lookless’ Controls for WPF and Silverlight&lt;/a&gt; (14:26)&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;-&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9798503" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jbienz/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Design/default.aspx">Design</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Expression/default.aspx">Expression</category></item><item><title>Clean Prototyping with Compositions</title><link>http://blogs.msdn.com/jbienz/archive/2009/06/10/clean-prototyping-with-compositions.aspx</link><pubDate>Wed, 10 Jun 2009 23:02:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9724903</guid><dc:creator>jbienz</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/jbienz/comments/9724903.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jbienz/commentrss.aspx?PostID=9724903</wfw:commentRss><description>&lt;p&gt;By now you’ve hopefully seen SketchFlow and how it can help you conceptualize your projects before turning them into reality. If not, I highly recommend you check out the Mix ‘09 session &lt;a href="http://sessions.visitmix.com/MIX09/C01F"&gt;Sketch Flow: From Concept to Production&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;One of the tasks common to prototyping and actual development is planning navigation between pages (or screens). Luckily, Blend make this as easy as right-clicking on any button and choosing &lt;em&gt;Navigate To – &amp;lt;Screen Name&amp;gt;&lt;/em&gt;. When you do this, Blend builds links into the application flow so that the SketchFlow player and the live application understand how the user can get around. These links show up in blue and look something like this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/CleanPrototypingwithCompositions_D2B7/clip_image004_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image004" border="0" alt="clip_image004" src="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/CleanPrototypingwithCompositions_D2B7/clip_image004_thumb.jpg" width="464" height="131" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You’ll notice in the image above that both the Start page and Winary page can get to any other page in the application. That’s because both the Start page and the Winery page have a set of buttons that look like this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/CleanPrototypingwithCompositions_D2B7/clip_image002_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image002" border="0" alt="clip_image002" src="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/CleanPrototypingwithCompositions_D2B7/clip_image002_thumb.jpg" width="452" height="56" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In fact it’s very common to want some piece of navigation shared across all the pages in an application. For example a navigation bar on the left side of a page or across the top is very common on websites and in SharePoint. In Blend 3 we can support the same concept by converting a group of controls into a ‘Composition Screen’. That composition can then be shared across all pages, and the navigation it provides comes along as well. In the application flow, it ends up looking something like this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/CleanPrototypingwithCompositions_D2B7/clip_image006_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image006" border="0" alt="clip_image006" src="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/CleanPrototypingwithCompositions_D2B7/clip_image006_thumb.jpg" width="486" height="140" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;But you might notice that things have become a bit messy and we have blue lines and green lines that seem to go to the same places. That’s because Blend is showing the new composition lines in green and the old manually defined navigation links still remain in blue. Luckily, with the composition in place the manual links are extraneous and can be removed. This is done by right-clicking the line and choosing &lt;em&gt;Remove Connection&lt;/em&gt;. The Sketchflow player and navigation system are smart enough to realize the composition still provides navigation routes, even if the manual links are gone. So the player still works just like it did before:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/CleanPrototypingwithCompositions_D2B7/clip_image008_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image008" border="0" alt="clip_image008" src="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/CleanPrototypingwithCompositions_D2B7/clip_image008_thumb.jpg" width="218" height="131" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;With the extra links removed, here’s one possible cleaned up flow for this application:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/CleanPrototypingwithCompositions_D2B7/clip_image010_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image010" border="0" alt="clip_image010" src="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/CleanPrototypingwithCompositions_D2B7/clip_image010_thumb.jpg" width="324" height="165" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Of course it doesn’t hurt to leave the original links defined, and it may even be desirable to have them there to clarify intent&lt;em&gt;.&lt;/em&gt; For example, just because the user can navigate directly from login to an empty shopping cart doesn’t necessarily mean we expect them to do it often. &lt;/p&gt;  &lt;p&gt;Finally, I’ll close with a cool new feature I noticed in one of the latest builds: It’s now possible to dim out navigation lines and / or composition lines for the screens you’re not currently viewing. Pretty cool.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/CleanPrototypingwithCompositions_D2B7/clip_image012_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="clip_image012" border="0" alt="clip_image012" src="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/CleanPrototypingwithCompositions_D2B7/clip_image012_thumb.jpg" width="323" height="165" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9724903" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jbienz/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Design/default.aspx">Design</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Blend/default.aspx">Blend</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Expression/default.aspx">Expression</category></item><item><title>The Role of Sketching in Software Development</title><link>http://blogs.msdn.com/jbienz/archive/2009/05/26/the-role-of-sketching-in-software-development.aspx</link><pubDate>Wed, 27 May 2009 01:11:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9642430</guid><dc:creator>jbienz</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/jbienz/comments/9642430.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jbienz/commentrss.aspx?PostID=9642430</wfw:commentRss><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/TheRoleofSketchinginSoftwareDevelopment_F183/3387445879_da06f0508b_o%5B1%5D_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="Sketch" border="0" alt="Sketch" align="right" src="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/TheRoleofSketchinginSoftwareDevelopment_F183/3387445879_da06f0508b_o%5B1%5D_thumb.jpg" width="362" height="269" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;It only been since 2006 that we seriously started to drive WPF adoption, and Silverlight 2 hit the web just a scant 11 months ago. Still, in such short time ISVs have created some amazing things with these platforms. &lt;/p&gt;  &lt;p&gt;Unfortunately, though the platforms themselves have seen some serious adoption, inclusion of design in the software development lifecycle still has a long way to go.&lt;/p&gt;  &lt;p&gt;The good news is that methodologies and best practices are starting to emerge and I look forward to some great articles on the subject over the coming months. I’ve personally had the opportunity to present on this topic with one of our User Experience Evangelists, &lt;a href="http://www.uxarray.com/?tag=sketchflow"&gt;Sara Summers&lt;/a&gt;, and we cover something every ISV can add to their methodology: Sketching. &lt;/p&gt;  &lt;p&gt;Sketching isn’t hard and anyone can do it (though I’ll freely admit I was uneasy at first drawing my little stick figures next to what felt like Sara’s “creative art”). But the point of a sketch isn’t how well it’s drawn; it’s how well the sketch captures a moment or an experience for a user in an application. &lt;/p&gt;  &lt;p&gt;Sketches are informal. They’re lightweight, and they can be thrown away. Sketches can be used throughout the development process and, when used correctly, can significantly reduce the need to revisit code that’s already complete. People need to see and ‘feel’ an application before they can accept its design, but unfortunately it’s costly and time consuming to build interactive user interfaces that will just be thrown away. That’s why we so often end up with ‘bugs’ or feature requests involving design after an iteration goes to QA. &lt;/p&gt;  &lt;p&gt;Sketches help people see the vision of an application and &lt;i&gt;interactive&lt;/i&gt; sketches help the user ‘feel’ how it will work. These alone solve many of the problems that exist in application design today, but there’s still the costly issue of building interactive UI that can’t be reused. Luckily, with Expression Blend 3, tools are on the way to help with reuse.&lt;/p&gt;  &lt;p&gt;On her blog Sara talks about &lt;a href="http://www.uxarray.com/?p=195"&gt;Why Static Wireframing is Dead&lt;/a&gt; or, to put it another way, why static sketches shouldn’t be “good enough”. She also does a great job introducing SketchFlow with &lt;a href="http://www.uxarray.com/?p=179"&gt;Non-Destructive Iterative Design&lt;/a&gt; and &lt;a href="http://www.uxarray.com/?p=243"&gt;Fast and Easy Interactivity&lt;/a&gt;. Finally, if you haven’t yet seen SketchFlow in action, the Mix ’09 session &lt;a href="http://sessions.visitmix.com/MIX09/C01F"&gt;SketchFlow: From Concept to Production&lt;/a&gt; is definitely worth a watch.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9642430" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jbienz/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Design/default.aspx">Design</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Blend/default.aspx">Blend</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Expression/default.aspx">Expression</category></item><item><title>Silverlight and WPF Controls</title><link>http://blogs.msdn.com/jbienz/archive/2009/05/26/silverlight-and-wpf-controls.aspx</link><pubDate>Tue, 26 May 2009 22:46:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9641999</guid><dc:creator>jbienz</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/jbienz/comments/9641999.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jbienz/commentrss.aspx?PostID=9641999</wfw:commentRss><description>&lt;p&gt;WPF and Silverlight have been out for a while now, and the number of controls available for these platforms is surprising. Consider this rather comprehensive list of &lt;a href="http://timheuer.com/blog/archive/2009/01/28/comprehensive-list-of-silverlight-controls.aspx"&gt;Silverlight controls&lt;/a&gt; by Tim Heuer with at least 17 vendors and over 160 controls. Or &lt;a href="http://blogs.msdn.com/mswanson/articles/WPFToolsAndControls.aspx"&gt;this list&lt;/a&gt; of around 30 tools and libraries for WPF.&lt;/p&gt;  &lt;p&gt;If you need to quickly check out and &lt;em&gt;try out&lt;/em&gt; many of the available controls, Mike Taulty’s &lt;a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/02/03/silverlight-wpf-control-browser.aspx"&gt;Control Browser&lt;/a&gt; is here to help. It shows all the built-in controls for both platforms as well as the controls included in the toolkit and many of the 3rd-party libraries available. It’s a great little click-once app, so head over to &lt;a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/02/03/silverlight-wpf-control-browser.aspx"&gt;Mike’s Blog&lt;/a&gt; to read about it or click here to &lt;a href="http://www.mtaulty.com/downloads/WpfControlBrowser/WpfControlBrowser.application"&gt;install&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://mtaulty.com/CommunityServer/blogs/mike_taultys_blog/archive/2009/02/03/silverlight-wpf-control-browser.aspx"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="WPF Control Browser" border="0" alt="WPF Control Browser" src="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/SilverlightandWPFControls_CF4C/image_5.png" width="525" height="382" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9641999" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jbienz/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Expression/default.aspx">Expression</category></item><item><title>XAMLfest Going Online</title><link>http://blogs.msdn.com/jbienz/archive/2009/05/12/xamlfest-going-online.aspx</link><pubDate>Tue, 12 May 2009 23:46:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9608124</guid><dc:creator>jbienz</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/jbienz/comments/9608124.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jbienz/commentrss.aspx?PostID=9608124</wfw:commentRss><description>&lt;p&gt;Several of you joined us last October for the pilot XAMLfest in Houston Texas. The tour has grown up quite a bit since then, and we’re now starting to cover Silverlight 3 and Blend 3. Even better, we’re taking the tour online so you don’t have to leave the office to attend or get a refresher.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="4"&gt;So what is XAMLfest?&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Are you excited about WPF but concerned about the learning curve?&amp;#160; Have you seen Silverlight but don’t know where to get started?&amp;#160; Or are you curious about how tools like Expression Blend help designers and developers deliver great user experiences together? If so, join us at XAMLfest! &lt;/p&gt;  &lt;p&gt;&lt;i&gt;XAMLfest Online&lt;/i&gt; is a five day event delivered through a combination of live sessions and recorded training. The recorded training can be viewed at any time, but each segment should be watched before you participate in a related live session. The table below should help illustrate how each session relates to another: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.xamlfestonline.com"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="xamlfestonline.com" border="0" alt="xamlfestonline.com" src="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/XAMLfestGoingOnline_DDC0/image_3.png" width="531" height="297" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Sessions are geared to both designer and developer audiences and attendees can participate in both tracks. Live sessions start 6/1 and recorded content is available starting 5/25. For more information and to register, please visit &lt;a href="http://www.xamlfestonline.com/"&gt;xamlfestonline.com&lt;/a&gt;. These sessions are open to the public as well, so feel free to pass this invitation on.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;i&gt;Please note:&lt;/i&gt;&lt;/b&gt;&lt;i&gt; Participants must currently register for each session individually. We realize this is not convenient for those that plan to attend every session and we're working with msdev.com on a better solution. Thank you for taking the time to register.&lt;/i&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9608124" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jbienz/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Fun/default.aspx">Fun</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Smart+Client/default.aspx">Smart Client</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Design/default.aspx">Design</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Blend/default.aspx">Blend</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Expression/default.aspx">Expression</category></item><item><title>Blend Tips and Tricks</title><link>http://blogs.msdn.com/jbienz/archive/2009/04/06/blend-tips-and-tricks.aspx</link><pubDate>Tue, 07 Apr 2009 03:45:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9534829</guid><dc:creator>jbienz</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/jbienz/comments/9534829.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jbienz/commentrss.aspx?PostID=9534829</wfw:commentRss><description>&lt;p&gt;I’ll be presenting Blend Tips and Tricks for application designers in a few venues over the next two months. The first session is tomorrow night at the &lt;a href="http://www.d2sig.org"&gt;D2Sig&lt;/a&gt; user group here in Houston.&lt;/p&gt;  &lt;p&gt;As usual, I’m ‘borrowing’ from other excellent resources created by excellent people within Microsoft to do this presentation. I’d like to give those authors credit and give folks an option to view the wealth of other resources I couldn’t fit into my talk. So here they are!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Arturo’s Design Assets &amp;amp; Recordings     &lt;br /&gt;&lt;/strong&gt;&lt;a href="http://ux.artu.tv/?p=121"&gt;ux.artu.tv&lt;/a&gt;&lt;a href="http://ux.artu.tv/?p=121"&gt;/?&lt;/a&gt;&lt;a href="http://ux.artu.tv/?p=121"&gt;p=121&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The Future of Expression Blend (Mix 2009)     &lt;br /&gt;&lt;/strong&gt;&lt;a href="http://sessions.visitmix.com/MIX09/C04F"&gt;sessions.visitmix.com/MIX09/C04F&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Sara Summer’s Blog     &lt;br /&gt;&lt;/strong&gt;&lt;a href="http://www.uxarray.com"&gt;uxarray.com&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9534829" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jbienz/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Design/default.aspx">Design</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Blend/default.aspx">Blend</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Expression/default.aspx">Expression</category></item><item><title>Always-Available Social Applications</title><link>http://blogs.msdn.com/jbienz/archive/2009/01/27/always-available-social-applications.aspx</link><pubDate>Wed, 28 Jan 2009 02:20:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9378957</guid><dc:creator>jbienz</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jbienz/comments/9378957.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jbienz/commentrss.aspx?PostID=9378957</wfw:commentRss><description>&lt;p&gt;There are several challenges that need to be solved when building social applications. The ability for users to invite friends and share data amongst themselves is one example. If you want to add support for loosely-connected portable devices, synchronization and conflict resolution add significant complexity on top of an already difficult problem.&lt;/p&gt;  &lt;p&gt;The Live Framework is a set of libraries and services for building connected applications that can reach millions of users. Live Mesh is a set of services for synchronizing user and application data between multiple devices and multiple people. I’ve recently posted a short screencast that illustrates using these technologies to make building ‘Always-Available Social Applications’ much easier. You can view the &lt;a href="http://channel9.msdn.com/posts/jbienz/Live-Framework-and-Always-Available-Social-Applications/"&gt;10 minute screencast&lt;/a&gt; on Channel 9.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This is an abbreviated version of the content I presented at Houston TechFest.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9378957" width="1" height="1"&gt;</description></item><item><title>Houston TechFest Tomorrow</title><link>http://blogs.msdn.com/jbienz/archive/2009/01/23/houston-techfest-tomorrow.aspx</link><pubDate>Sat, 24 Jan 2009 06:14:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9373581</guid><dc:creator>jbienz</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/jbienz/comments/9373581.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jbienz/commentrss.aspx?PostID=9373581</wfw:commentRss><description>&lt;p&gt;It’s a rare occasion that I get out of bed before 10 AM on a Saturday. Even less common is that I’m doing it to present. But the good news is I’m really looking forward to my sessions tomorrow at &lt;a href="http://www.houstontechfest.com"&gt;Houston TechFest&lt;/a&gt;. I hope to meet cool people that have interesting questions. Though maybe a few less questions in my Azure and Mesh session (which keeps coming in at one hour no matter how many times I practice it). I hope people don’t mind sticking around a little afterward for questions.&lt;/p&gt;  &lt;p&gt;At any rate, here are the links to my two sessions and to the sample files that accompany them. I hope to see you there!&lt;/p&gt;  &lt;p&gt;Session: &lt;a href="http://www.houstontechfest.com/dotnetnuke/HoustonTechFest/Sessions/tabid/56/CodecampId/1/SessionId/112/Default.aspx"&gt;Business Logic and Data Separation in WPF&lt;/a&gt;    &lt;br /&gt;Sample: &lt;a href="http://cid-4994f4872cc827a1.skydrive.live.com/self.aspx/Public/BusinessUISep.zip"&gt;BusinessUISep.zip&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Session: &lt;a href="http://www.houstontechfest.com/dotnetnuke/HoustonTechFest/Sessions/tabid/56/CodecampId/1/SessionId/77/Default.aspx"&gt;Mesh and Azure for the Real World&lt;/a&gt;    &lt;br /&gt;Samples: &lt;a href="http://cid-4994f4872cc827a1.skydrive.live.com/self.aspx/Public/MeshSamples.zip"&gt;MeshSamples.zip&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9373581" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jbienz/archive/tags/WPF/default.aspx">WPF</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Azure/default.aspx">Azure</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Mesh/default.aspx">Mesh</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/TechFest/default.aspx">TechFest</category></item><item><title>Launching a Smart Client from the Web - With Context!</title><link>http://blogs.msdn.com/jbienz/archive/2008/11/10/launching-a-smart-client-from-the-web-with-context.aspx</link><pubDate>Mon, 10 Nov 2008 18:22:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9057994</guid><dc:creator>jbienz</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/jbienz/comments/9057994.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jbienz/commentrss.aspx?PostID=9057994</wfw:commentRss><description>&lt;p&gt;SharePoint interest is growing with leaps and bounds, but there are still many scenarios that make more sense to leave in rich client applications. The question I've been asked a lot lately is how to bring these two worlds closer together.&lt;/p&gt;  &lt;p&gt;Say, for example, you've got a web page that displays some basic information about a customer. How can you create a hyperlink that launches a smart client &lt;em&gt;and&lt;/em&gt; takes you to that same customer inside the application? The solution is probably easier than you suspect, and in this post I'll walk through the steps.&lt;/p&gt;  &lt;p&gt;The method we'll use to transfer context between the web site and our application is a simple file. I refer to these files 'Launch Files' and the real trick is getting windows to open our application when it sees them instead of prompting the user to save to disk.&lt;/p&gt;  &lt;p&gt;You may not realize it but you've probably seen this before. Outlook does this with V-Card, V-Calendar and ics files. It's the same mechanism that allows you to subscribe to a SharePoint calendar in Outlook with a single click. (In truth it's 2 clicks in Vista because UAC asks the user if it's OK to send data to the app. But that's a topic for another day.)&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font size="4"&gt;The Launch File&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;The first thing you need to do is determine the structure for your launch file. I recommend XML because it's easy to generate and the format can grow with your application over time. You can place any data you want in this file, but keep in mind that it serves as context between your web site and your smart client.&lt;/p&gt;  &lt;p&gt;In most cases you'll probably want to generate this file procedurally using query string parameters. This allows easy integration with the rest of your site, and a launch URL might look something like this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.mywebsite.com/AppLauncher.aspx?AppType=FirstApp&amp;amp;CustomerNumber=5"&gt;http://www.mywebsite.com/AppLauncher.aspx?AppType=FirstApp&amp;amp;CustomerNumber=5&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;AppLauncher.aspx&lt;/b&gt; could look at the &lt;b&gt;AppType&lt;/b&gt; parameter to determine which XML schema and file extension to use. The remaining parameters (&lt;b&gt;CustomerNumber&lt;/b&gt; in this example) could be used to determine which data to include in the generated file.&lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font size="4"&gt;File Extensions and Associations&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;Once you've determined the file format you need to settle on a unique file extension. It doesn't really matter what the extension is, it just has to be unique. This is no different than files intended for the local disk.&lt;/p&gt;  &lt;p&gt;With the extension in mind, next you need to modify your application installer to include the new file type. The file type association registry keys are where you instruct Windows to launch your application whenever it sees a link for your file. Here's an example screenshot from a setup project in Visual Studio:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/HowtoLaunchaSmartClientfromtheWebWithCon_90C1/clip_image0024.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="151" alt="clip_image002[4]" src="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/HowtoLaunchaSmartClientfromtheWebWithCon_90C1/clip_image0024_thumb.jpg" width="410" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;b&gt;BrowserFlags&lt;/b&gt; 0x8 or 0x9 indicates that a particular app should open in its own window when its associated file is clicked (as opposed to opening within IE).&lt;/p&gt;  &lt;p&gt;&lt;b&gt;EditFlags&lt;/b&gt; indicates what explorer should do with a particular file type and/or defines what class it is. 0x10000 turns off the &amp;quot;Confirm open after download&amp;quot; box in IE. If this flag is set, the file will be automatically downloaded to the browsers temporary folder and its 'open' verb will be executed.&lt;/p&gt;  &lt;p&gt;For more details, read the &lt;a href="http://msdn.microsoft.com/en-us/library/cc144148(VS.85).aspx"&gt;File Types&lt;/a&gt; article on MSDN. &lt;/p&gt;  &lt;p&gt;&lt;b&gt;&lt;font size="4"&gt;Existing Application Instances&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p&gt;The next thing you want to consider is what to do if the application is already running. By default, the registry settings above will simply start another instance of your application. Instead, you probably want to notify an existing instance. That's why in the screenshots below you will see the 'open' verb is associated with a DDE command (ddeexec). If the application is not already running, Windows starts it before the DDE command is sent.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/HowtoLaunchaSmartClientfromtheWebWithCon_90C1/clip_image0044.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="152" alt="clip_image004[4]" src="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/HowtoLaunchaSmartClientfromtheWebWithCon_90C1/clip_image0044_thumb.jpg" width="491" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/HowtoLaunchaSmartClientfromtheWebWithCon_90C1/clip_image0064.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="152" alt="clip_image006[4]" src="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/HowtoLaunchaSmartClientfromtheWebWithCon_90C1/clip_image0064_thumb.jpg" width="455" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/HowtoLaunchaSmartClientfromtheWebWithCon_90C1/clip_image0084.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="152" alt="clip_image008[4]" src="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/HowtoLaunchaSmartClientfromtheWebWithCon_90C1/clip_image0084_thumb.jpg" width="424" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In this example, Windows will send the DDE command &lt;b&gt;[Import(&amp;quot;&amp;lt;FilePath&amp;gt;&amp;quot;)]&lt;/b&gt;. The Application and Topic names are flexible, but you'll want to filter on them later.&lt;/p&gt;  &lt;p&gt;Unfortunately, .Net doesn't have built-in support for handling DDE messages and DDE can seem a bit complex. I wrote a managed wrapper class for dealing with this some time ago and you can get it here:&amp;#160; &lt;/p&gt; &lt;a href="http://cid-4994f4872cc827a1.skydrive.live.com/self.aspx/Public/DDE.zip"&gt;Net DDE&lt;/a&gt;. I'm including this for sample purposes only and it doesn't come with any kind of warranty. :)   &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Here's an example of how to use DDE Client. The application entry point looks something like this:&lt;/p&gt; &lt;span style="color: green"&gt;   &lt;div style="font-size: 10pt; background: white; color: black; font-family: consolas"&gt;     &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;static&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; Main() &lt;/p&gt;      &lt;p style="margin: 0px"&gt;{&lt;/p&gt;   &lt;/div&gt;    &lt;blockquote&gt;&lt;!--EndFragment--&gt;     &lt;div style="font-size: 10pt; background: white; color: black; font-family: consolas"&gt;       &lt;p style="margin: 0px"&gt;&lt;span style="color: green"&gt;// Create DDE client&lt;/span&gt;&lt;/p&gt;        &lt;p style="margin: 0px"&gt;dde = &lt;span style="color: blue"&gt;new&lt;/span&gt; DDEClient();&lt;/p&gt;        &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;        &lt;p style="margin: 0px"&gt;&lt;span style="color: green"&gt;// Filter on app name&lt;/span&gt;&lt;/p&gt;        &lt;p style="margin: 0px"&gt;dde.AppName = &lt;span style="color: #a31515"&gt;&amp;quot;Cartographer&amp;quot;&lt;/span&gt;;&lt;/p&gt;        &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;        &lt;p style="margin: 0px"&gt;&lt;span style="color: green"&gt;// Start listening for DDE messages&lt;/span&gt;&lt;/p&gt;        &lt;p style="margin: 0px"&gt;dde.Execute += &lt;span style="color: blue"&gt;new&lt;/span&gt; DDEExecuteHandler(dde_Execute);&lt;/p&gt;        &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;        &lt;p style="margin: 0px"&gt;&lt;span style="color: green"&gt;// Run application as normal&lt;/span&gt;&lt;/p&gt;        &lt;p style="margin: 0px"&gt;&lt;span style="color: #2b91af"&gt;Application&lt;/span&gt;.Run(&lt;span style="color: blue"&gt;new&lt;/span&gt; MainUI());&lt;/p&gt;     &lt;/div&gt; &lt;!--EndFragment--&gt;&lt;/blockquote&gt; &lt;/span&gt;  &lt;p style="margin: 0px"&gt;}&lt;/p&gt;  &lt;p&gt;And the DDE message handler looks something like this:&lt;/p&gt;  &lt;div style="font-size: 10pt; background: white; color: black; font-family: consolas"&gt;   &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;private&lt;/span&gt; &lt;span style="color: blue"&gt;static&lt;/span&gt; &lt;span style="color: blue"&gt;void&lt;/span&gt; dde_Execute(&lt;font color="#2b91af"&gt;DDEClient&lt;/font&gt; sender, &lt;font color="#2b91af"&gt;DDECommand&lt;/font&gt;[] commands)&lt;/p&gt;    &lt;p style="margin: 0px"&gt;{&lt;/p&gt;    &lt;blockquote&gt;     &lt;p style="margin: 0px"&gt;&lt;span style="color: green"&gt;// We only pay attention to the first command&lt;/span&gt;&lt;/p&gt;      &lt;p style="margin: 0px"&gt;&lt;font color="#2b91af"&gt;DDECommand&lt;/font&gt; command = commands[0];&lt;/p&gt;      &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;      &lt;p style="margin: 0px"&gt;&lt;span style="color: green"&gt;// The only command we support is Import.&lt;/span&gt;&lt;/p&gt;      &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;if&lt;/span&gt; (command.Name != &lt;span style="color: #a31515"&gt;&amp;quot;Import&amp;quot;&lt;/span&gt;) &lt;span style="color: blue"&gt;return&lt;/span&gt;;&lt;/p&gt;      &lt;p style="margin: 0px"&gt;&amp;#160;&lt;/p&gt;      &lt;p style="margin: 0px"&gt;&lt;span style="color: green"&gt;// Get the launch file path&lt;/span&gt;&lt;/p&gt;      &lt;p style="margin: 0px"&gt;&lt;span style="color: blue"&gt;string&lt;/span&gt; launchFilePath = command.Params;&lt;/p&gt;   &lt;/blockquote&gt;    &lt;blockquote&gt;     &lt;p style="margin: 0px"&gt;&lt;span style="color: green"&gt;// TODO: Open the launch file and do something&lt;/span&gt;&lt;/p&gt;      &lt;p style="margin: 0px"&gt;&lt;span style="color: green"&gt;&lt;font color="#000000"&gt;...&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;   &lt;/blockquote&gt;    &lt;p style="margin: 0px"&gt;}&lt;/p&gt; &lt;/div&gt;  &lt;p&gt;I hope this helps, and happy coding.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9057994" width="1" height="1"&gt;</description></item><item><title>Virtual Earth in Silverlight with VIEWS</title><link>http://blogs.msdn.com/jbienz/archive/2008/07/01/virtual-earth-in-silverlight-with-views.aspx</link><pubDate>Tue, 01 Jul 2008 08:09:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8675213</guid><dc:creator>jbienz</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/jbienz/comments/8675213.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jbienz/commentrss.aspx?PostID=8675213</wfw:commentRss><description>&lt;p&gt;I recently had the honor of participate in &lt;a href="http://www.facebook.com/event.php?eid=18613742313"&gt;Incubation Week&lt;/a&gt; out in Silicon Valley. Leading up to the event we realized that at least two out of our six participants wanted to integrate Virtual Earth and Silverlight. I searched for guidance online but only turned up a few browser interop samples. I didn't find any really good &lt;em&gt;managed&lt;/em&gt; wrappers for Virtual Earth until I started digging around internally. Then I found VIEWS.&lt;/p&gt;  &lt;p&gt;VIEWS was originally created by Adam Eversole in Microsoft Research and it was an internal-only project when I found it. But with Adams assistance I was able to refine it, polish it and get it ready for public consumption in about 8 days; just in time for Incubation Week.&lt;/p&gt;  &lt;p&gt;Today I'm happy to announce that VIEWS is &lt;a href="http://www.codeplex.com/views"&gt;live on CodePlex&lt;/a&gt;. You can download the binaries and the source, but to get acquainted quickly simply head on over to Channel 9 for a &lt;a href="http://channel9.msdn.com/posts/jbienz/Virtual-Earth-Mapping-in-Silverlight-with-VIEWS"&gt;video introduction&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8675213" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jbienz/archive/tags/Open+Source/default.aspx">Open Source</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Virtual+Earth/default.aspx">Virtual Earth</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Mapping/default.aspx">Mapping</category></item><item><title>Silverlight Image Search</title><link>http://blogs.msdn.com/jbienz/archive/2008/06/11/silverlight-image-search.aspx</link><pubDate>Wed, 11 Jun 2008 22:50:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8592026</guid><dc:creator>jbienz</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/jbienz/comments/8592026.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jbienz/commentrss.aspx?PostID=8592026</wfw:commentRss><description>&lt;p&gt;I finally turned a demo I do frequently for my ISVs into a MSDN Screencast:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://channel9.msdn.com/posts/jbienz/Silverlight-Image-Search-with-LINQ-to-XML/" href="http://channel9.msdn.com/posts/jbienz/Silverlight-Image-Search-with-LINQ-to-XML/"&gt;http://channel9.msdn.com/posts/jbienz/Silverlight-Image-Search-with-LINQ-to-XML/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Check it out. This was based on Scott Guthrie's &lt;a href="http://weblogs.asp.net/scottgu/pages/silverlight-tutorial-part-8-creating-a-digg-desktop-application-using-wpf.aspx"&gt;Digg sample&lt;/a&gt;. &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8592026" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jbienz/archive/tags/Fun/default.aspx">Fun</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/XML/default.aspx">XML</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Flickr/default.aspx">Flickr</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/LINQ/default.aspx">LINQ</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>Transitionals is Live!</title><link>http://blogs.msdn.com/jbienz/archive/2008/04/29/transitionals-is-live.aspx</link><pubDate>Tue, 29 Apr 2008 21:44:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8438697</guid><dc:creator>jbienz</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/jbienz/comments/8438697.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jbienz/commentrss.aspx?PostID=8438697</wfw:commentRss><description>&lt;p&gt;&lt;img style="margin: 0px 10px 0px 0px" align="left" src="http://www.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=transitionals&amp;amp;DownloadId=33365" /&gt;Transitionals has finally been released to the public!&lt;/p&gt;  &lt;p&gt;I know it's been some time since I last posted on Transitionals but it turns out it took longer to get approval for the project through legal than I had anticipated. I suppose I &lt;em&gt;should&lt;/em&gt; have anticipated it, being that the code came from a Microsoft project that was previously available only in binary form. But that's all behind us now and people can start downloading, testing and even using the bits in their own products.&lt;/p&gt;  &lt;p&gt;It seemed to take forever in my mind, but the truth is it only took around two months. And it still amazes me that I joined Microsoft only two and a half years ago and yet I've been able to bring this code to the community. Times are changing, and I'm excited to be here right now.&lt;/p&gt;  &lt;p&gt;Without further adieu, let me present to you Transitionals:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.codeplex.com/transitionals" href="http://www.codeplex.com/transitionals"&gt;http://www.codeplex.com/transitionals&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8438697" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jbienz/archive/tags/Open+Source/default.aspx">Open Source</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Transitionals/default.aspx">Transitionals</category></item><item><title>Houston, We've Got a Problem</title><link>http://blogs.msdn.com/jbienz/archive/2008/04/07/houston-we-ve-got-a-problem.aspx</link><pubDate>Tue, 08 Apr 2008 01:28:38 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8366723</guid><dc:creator>jbienz</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jbienz/comments/8366723.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jbienz/commentrss.aspx?PostID=8366723</wfw:commentRss><description>&lt;p&gt;I mentioned in my last post that Nick worked for a while at NASA. Well, last Thursday I had the opportunity to take a special private tour with Nick and Frank Hughes who also worked at NASA for over 20 years.&lt;/p&gt;  &lt;p&gt;I'm too young to have my own memories of Apollo 13, but I was awed and inspired by the Hollywood retelling of it. Here's an original picture of Eugene F. Kranz, flight director, at his console in the Gemini era. Kranz was also one of the flight directors for Apollo 13 and was played by Ed Harris in the movie. &lt;/p&gt;  &lt;p&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/8/84/KranzConsole.jpg" width="513" height="372" /&gt; &lt;/p&gt;  &lt;p&gt;And here's me:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/HoustonWeveGotaProblem_F373/JaredFD_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" border="0" alt="JaredFD" src="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/HoustonWeveGotaProblem_F373/JaredFD_thumb.jpg" width="516" height="388" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Any guess where I'm sitting? No, that isn't a reconstruction or something created after the fact. That's the actual room and the actual equipment used for the Apollo 13 flight!&lt;/p&gt;  &lt;p&gt;I stood close enough to a flag that's been to the moon to touch it (I didn't dare) and I walked right up to a &lt;strong&gt;&lt;em&gt;&lt;u&gt;massive&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt; five story high vacuum chamber that's used to test parachutes in extremely thin atmospheres.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/HoustonWeveGotaProblem_F373/Chamber_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" border="0" alt="Chamber" src="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/HoustonWeveGotaProblem_F373/Chamber_thumb.jpg" width="504" height="671" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;And finally, I got to stand at the front of a new control center. One that's actually in use today for the International Space Station. Here's a shot of it from the viewing room. This is the off shift while all the astronauts are sleeping and I got to be in the room toward the front near the flag.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/HoustonWeveGotaProblem_F373/ISSControl_4.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" border="0" alt="ISSControl" src="http://blogs.msdn.com/blogfiles/jbienz/WindowsLiveWriter/HoustonWeveGotaProblem_F373/ISSControl_thumb_1.jpg" width="516" height="388" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;It was a special afternoon that I won't forget. Thanks Nick and Frank for the memorable opportunity.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8366723" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jbienz/archive/tags/Personal/default.aspx">Personal</category><category domain="http://blogs.msdn.com/jbienz/archive/tags/Fun/default.aspx">Fun</category></item></channel></rss>