<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>davidpoll.com &#187; PDC</title>
	<atom:link href="http://www.davidpoll.com/tag/pdc/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.davidpoll.com</link>
	<description>Silverlight, RIA development, and other goofy geeky goodness.</description>
	<lastBuildDate>Mon, 26 Jul 2010 02:17:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Silverlight 4 and building business applications (PDC09-CL19)</title>
		<link>http://www.davidpoll.com/2009/11/19/silverlight-4-and-building-business-applications-pdc09-cl19/</link>
		<comments>http://www.davidpoll.com/2009/11/19/silverlight-4-and-building-business-applications-pdc09-cl19/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 17:28:56 +0000</pubDate>
		<dc:creator>david.poll</dc:creator>
				<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[.NET RIA Services]]></category>
		<category><![CDATA[BusyIndicator]]></category>
		<category><![CDATA[CollectionView]]></category>
		<category><![CDATA[Data Binding]]></category>
		<category><![CDATA[PDC]]></category>
		<category><![CDATA[PDC09]]></category>
		<category><![CDATA[Silverlight 4 Beta]]></category>
		<category><![CDATA[Validation]]></category>
		<category><![CDATA[Visual Studio 2010]]></category>
		<category><![CDATA[WCF RIA Services]]></category>

		<guid isPermaLink="false">http://www.davidpoll.com/2009/11/19/silverlight-4-and-building-business-applications-pdc09-cl19/</guid>
		<description><![CDATA[Hi everyone!&#160; Wow – yesterday was a big day, with a lot of amazing announcements at PDC ‘09 – especially the announcement that the Silverlight 4 Beta was publicly available.&#160; I was very excited to be given an opportunity to give a talk at PDC this year, and it was a real treat.&#160; My talk [...]]]></description>
			<content:encoded><![CDATA[<!-- Advanced AdSense by Jim Gaudet --><!-- google_ad_section_start --><!-- AdSense Now! V1.90 -->
<!-- Post[count: 3] -->
<div class="adsense adsense-leadin" style="float:right;margin: 12px;"><script type="text/javascript"><!--
google_ad_client = "pub-0397559301561409";
/* 234x60, created 9/21/09 */
google_ad_slot = "7066877373";
google_ad_width = 234;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></div><p>Hi everyone!&#160; Wow – yesterday was a big day, with a lot of amazing announcements at <a href="http://www.microsoftpdc.com">PDC ‘09</a> – especially the announcement that the <a href="http://www.silverlight.net/getstarted/silverlight-4-beta/">Silverlight 4 Beta was publicly available</a>.&#160; I was very excited to be given an opportunity to give a talk at PDC this year, and it was a real treat.&#160; My talk – <a href="http://microsoftpdc.com/Sessions/CL19">Building Line of Business Applications with Silverlight 4 (PDC09-CL19)</a> – focused on the new features in Silverlight 4 that are particularly useful in business applications, especially those that are data-centric. <em>(Please ignore the abstract given on that page for the talk – it wasn’t updated properly from a change we made to it early on! <img src='http://www.davidpoll.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> )</em></p>
<p><img style="border-right-width: 0px; margin: 0px 0px 10px 15px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="After the announcement of Silverlight 4, my talk appeared on the big board!" border="0" alt="After the announcement of Silverlight 4, my talk appeared on the big board!" align="right" src="http://www.davidpoll.com/Images/Silverlight4andbuildingbusinessapplicati_82ED/43685563_3.jpg" width="287" height="475" /></p>
<p>The talk covered a wide array of features, but I broke things down into three conceptual categories around data:</p>
<ul>
<li>Data Interactivity (i.e. how do I drill down into my data to find what I’m looking for?) </li>
<li>Data Entry (i.e. how do users add/edit data and what kind of feedback do you give them to minimize mistakes?) </li>
<li>Data Presentation (i.e. how do I communicate data to a user, but also how do I communicate intent for data entry, such as “choose from this list of options” to a user?) </li>
</ul>
<p>The Silverlight 4 features I covered generally fit into these categories:</p>
<ul>
<li>Data Interactivity
<ul>
<li>Data sources window (VS2010) </li>
<li>Selector support (i.e. SelectedValue/SelectedValuePath on ComboBox and related controls) </li>
<li>Binding TargetNullValue </li>
<li>Binding FallbackValue </li>
<li>ICommand support on ButtonBase (i.e. Command and CommandParameter) and Hyperlink </li>
</ul>
</li>
<li>Data Entry
<ul>
<li>Asynchronous validation </li>
<li>Cross-field validation </li>
</ul>
</li>
<li>Data Presentation
<ul>
<li>Binding StringFormat </li>
<li>CollectionViewSource Grouping </li>
<li>Printing and pagination </li>
<li>DataGrid * Columns (*-based column sizing, as with the Grid control) </li>
</ul>
</li>
</ul>
<p>And all of this is just the short list of features I could cover in my 50-minute talk!&#160; There are certainly other business application-friendly features out there, but more importantly, the feature list for Silverlight 4 is just <a href="http://www.silverlight.net/getstarted/silverlight-4-beta/#whatsnew">huge</a>!&#160; The talk also used <a href="http://www.microsoft.com/visualstudio/en-us/products/2010/default.mspx">Visual Studio 2010 Beta 2</a>, which provides an awesome development environment for Silverlight.</p>
<p>I won’t go into too much detail here, but I wanted to share out my powerpoint deck and sample/demo code so that those who were in attendance at the talk can look back for reference, and those that weren’t can see what they were missing.&#160; I don’t know for sure yet, but I think there will be a webcast of the talk online at some point, and I’ll be happy to link to that once it’s available.</p>
<p>So, without further ado, here are the links:</p>
<ul>
<li><a href="http://www.davidpoll.com/Download/CL19_POLL.pptx">PDC ‘09 PPT deck</a> </li>
<li>Issue tracker demo application (<a href="http://www.davidpoll.com/Download/IssueTracker_Final.zip">source</a>) </li>
</ul>
<p>Before I leave you, I’d like to just give a brief overview of the sample application.&#160; The application itself is an issue tracker – allowing you to file bugs/issues, assign them to people, resolve the bugs, etc.&#160; It has 4 functional pages:</p>
<ul>
<li>New Issue
<ul>
<li>Allows users to file a new bug/issue </li>
</ul>
</li>
<li>All Issues
<ul>
<li>Allows users to see a list of all bugs in the database </li>
</ul>
</li>
<li>My Issues
<ul>
<li>Allows users to see un-fixed issues that are assigned to them </li>
</ul>
</li>
<li>Reports
<ul>
<li>Allows users to see a report of all of the issues in the database and print them if he/she so desires </li>
</ul>
</li>
</ul>
<p>The application was built using LINQ-to-SQL and <a href="http://www.silverlight.net/getstarted/riaservices/">WCF RIA Services</a> (formerly .NET RIA Services), which made getting off the ground with real data running on a real database extremely quick and easy.&#160; If you’re still around at PDC, there are a few talks later today on RIA Services by <a href="http://blogs.msdn.com/brada">Brad Abrams</a> and <a href="http://blogs.msdn.com/dinesh.kulkarni/">Dinesh Kulkarni</a> you should check out.</p>
<p>A few things to try in the application (some of which I didn’t go over in the talk):</p>
<ul>
<li>Right-click and change the theme of the application
<ul>
<li>Many thanks to my co-worker <a href="http://www.jebishop.com/">Jesse Bishop</a> for his <a href="http://www.jebishop.com/2009/11/18/implementing-a-contextmenu-in-silverlight-4-beta/">ContextMenu control</a> </li>
<li>This feature uses implicit styles (new in SL4) to change the entire look of the application </li>
</ul>
</li>
<li>Set the priority on a bug to be lower than (i.e. a larger number than) severity and see the validation UI (cross-field validation) </li>
<li>Set the title of an issue to be something wholly contained in another issue’s title to see the validation UI (asynchronously querying the server for “similar” bugs) </li>
<li>Drag and drop a file from your disk into the list of files on a bug (one of the tabs at the bottom) </li>
<li>Print out a set of reports on the reports page (click the “Print” button) </li>
<li>Set a value in the “Tags” field and then change it in the DataGrid under the Attributes tab on a bug, noticing that they stay in sync (thanks to bindings to string indexers) </li>
<li>Use the mouse-wheel almost anywhere and note that it works without any code to make it happen! </li>
<li>Explore the code!&#160; I know there are some bugs in the application and in our beta product, but the hope is to give you an idea of how you can use these features in a business application.&#160; I’m sure there will be lots of content out there about all of these features – but this should help introduce you to them! </li>
</ul>
<p>Well, thanks again everyone who was able to join me for my talk, and to all those who’ve been following me on twitter through this exciting announcement.&#160; Let me know if you have questions or if there’s anything you’d like me to expand on, and I’ll be more than happy to chime in!</p>
<p>&#160;</p>
<p><em>Links to materials repeated here for convenience:</em></p>
<ul>
<li><a href="http://www.davidpoll.com/Download/CL19_POLL.pptx">PDC ‘09 PPT deck</a> </li>
<li>Issue tracker demo application (<a href="http://www.davidpoll.com/Download/IssueTracker_Final.zip">source</a>) </li>
</ul>
<p><strong><em>Update (11/19/2009): </em></strong>Video of the talk is now available here: <a title="http://microsoftpdc.com/Sessions/CL19" href="http://microsoftpdc.com/Sessions/CL19">http://microsoftpdc.com/Sessions/CL19</a></p>
<p><strong><em>Update (11/20/2009): </em></strong>Video of the talk is embedded below:</p>
<p> <object data="data:application/x-silverlight-2," height="337.5" type="application/x-silverlight-2" width="600"><param name="source" value="http://microsoftpdc.com/Skins/PDC09/Styles/players/VideoPlayer2009_03_27.xap" /><param name="initParams" value="m=http://ecn.channel9.msdn.com/o9/pdc09/wmvhigh/CL19.wmv,autostart=false,autohide=true,showembed=true, thumbnail=http://microsoftpdc.com/Skins/PDC09/Styles/images/DefaultPlayerBackground.png, postid=0" /><param name="background" value="#00FFFFFF" /><a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;"> 	 	<img alt="Get Microsoft Silverlight" src="http://go.microsoft.com/fwlink/?LinkId=108181" style="border-style: none" /> 	 	</a> </object>
<p>P.S.&#160; Sorry for the lack of posts recently – I’ve got a bunch of new topics lined up, but it was a pity not to be able to write about Silverlight 4 before it was announced.&#160; Expect another series on Navigation coming soon!</p>
<p>&#160;</p>
<p><em><strong>Update (12/21/2009):</strong> </em>I think I’ve figured out the issue people were having with the downloaded project.</p>
<p>If you’re receiving an error like this when you try to build my project:</p>
<p><a href="http://www.davidpoll.com/wp-content/uploads/2009/12/image.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Error	4	The &quot;ValidateXaml&quot; task failed unexpectedly." border="0" alt="Error	4	The &quot;ValidateXaml&quot; task failed unexpectedly." src="http://www.davidpoll.com/wp-content/uploads/2009/12/image_thumb.png" width="644" height="205" /></a> </p>
<p>This is happening because Windows protects you from downloaded files by default (VS2010 will warn you when you open the project that they come from “untrusted sources.”&#160; Fixing this is pretty straightforward.</p>
<ol>
<li>Download the <a href="http://www.davidpoll.com/Download/IssueTracker_Final.zip">zip</a>.</li>
<li>Right-click the downloaded zip file and choose “Properties”</li>
<li>At the bottom of the “General” tab, there is a “Security” section, saying “This file came from another computer and might be blocked to help protect this computer.”&#160; Click the “Unblock” button.     <br /><a href="http://www.davidpoll.com/wp-content/uploads/2009/12/image1.png"><img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Click the &quot;Unblock&quot; button." border="0" alt="Click the &quot;Unblock&quot; button." src="http://www.davidpoll.com/wp-content/uploads/2009/12/image_thumb1.png" width="381" height="519" /></a> </li>
<li>Unzip and open the solution.</li>
<li>Build and run!</li>
</ol>
<p>Sorry it took me so long to figure this one out!&#160; It had me stumped for a while.</p>
<!-- Advanced AdSense by Jim Gaudet --><!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://www.davidpoll.com/2009/11/19/silverlight-4-and-building-business-applications-pdc09-cl19/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
<enclosure url="http://ecn.channel9.msdn.com/o9/pdc09/wmvhigh/CL19.wmv" length="669448911" type="video/x-ms-wmv" />
		</item>
	</channel>
</rss>
