<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/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>Share Intelligence : Data Visualization</title><link>http://weblogs.asp.net/tvanfleet/archive/tags/Data+Visualization/default.aspx</link><description>Tags: Data Visualization</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Microsoft Silverlight 2 Beta 2 Released &amp; Upgrading</title><link>http://weblogs.asp.net/tvanfleet/archive/2008/06/09/microsoft-silverlight-2-beta-2-released-amp-upgrading.aspx</link><pubDate>Mon, 09 Jun 2008 14:22:01 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6261938</guid><dc:creator>tvanfleet</dc:creator><author>tvanfleet</author><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tvanfleet/rsscomments.aspx?PostID=6261938</wfw:commentRss><comments>http://weblogs.asp.net/tvanfleet/archive/2008/06/09/microsoft-silverlight-2-beta-2-released-amp-upgrading.aspx#comments</comments><description>&lt;p&gt;Last Monday at TechEd, it was announced that &lt;a href="http://silverlight.net/GetStarted/"&gt;Silverlight 2 Beta 2&lt;/a&gt; would available later in the week.&amp;#160; Well, it hit the streets late last Friday.&amp;#160;&amp;#160; So I decided to upgrade my &lt;a href="http://www.share-this.net/FreeAgency/FreeAgency.aspx"&gt;NFL Free Agency app&lt;/a&gt; to the new beta.&amp;#160; I got it upgraded but it wasn't a smooth process.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;My first order was to &lt;a href="http://silverlight.net/GetStarted/"&gt;download&lt;/a&gt; the new bits.&amp;#160; I downloaded the silverlight chainer which contains the run-time, SDK, KB950630, KB950632, and the Tools for VS 2008.&amp;#160; I also downloaded the June preview of Expression Blend 2.5.&amp;#160; Once, I downloaded them I launched the silverlight chainer and it when through the install without a hitch.&amp;#160; Of course, I should have know that was too easy.&amp;#160; I tried opening the Free Agency project, low and behold an error.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/bradleyb/WindowsLiveWriter/UpgradingtoSilverlightBeta2andVisualStud_A6F8/SLB2_SP1Bx_OpenProject_2.jpg"&gt;&lt;img height="215" alt="SLB2_SP1Bx_OpenProject" src="http://weblogs.asp.net/blogs/bradleyb/WindowsLiveWriter/UpgradingtoSilverlightBeta2andVisualStud_A6F8/SLB2_SP1Bx_OpenProject_thumb.jpg" width="374" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;So let me try a new project.&amp;#160; Nope that didn't work either.&lt;/p&gt;  &lt;p&gt;&lt;img src="http://weblogs.asp.net/blogs/bradleyb/WindowsLiveWriter/UpgradingtoSilverlightBeta2andVisualStud_A6F8/SLB2_SP1Bx_NewProject_2.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;I tried to uninstall everything and reinstalling along with rebooting.&amp;#160; Nothing.&amp;#160; After a little digging I came across a post, &lt;a href="http://weblogs.asp.net/bradleyb/archive/2008/06/06/upgrading-to-silverlight-beta-2-and-visual-studio-2008-sp1-beta.aspx"&gt;Upgrading to Silverlight Tools Beta 2 and Visual Studio 2008 SP1 Beta&lt;/a&gt;, which described the problem I was having.&amp;#160; Unfortunately, he stated that as long as I didn't have the beta of VS 2008 SP1 installed it should work fine.&amp;#160; That the installer should install KB949325 so the new Silverlight bits would install correctly.&amp;#160; I check through Control Panel and I did not see hotfix installed.&amp;#160; I then remembered, I had to manual install the bits for beta 1.&amp;#160; So, I thought I would manually uninstall KB949325.&amp;#160; What I thought was the correct command to uninstall the hotfix was actually a command to uninstall Visual Studio 2008.&amp;#160; After MSDN download and install of a fresh copy of Visual Studio, I tried to install the chainer again.&amp;#160; This time everything when smoothly along with the install of Expression Blend.&lt;/p&gt;  &lt;p&gt;I finally opened my project, it prompted that it was built with an earlier beta and do I want to update the project.&amp;#160; Of course I answered yes and everything looked good.&amp;#160; &lt;/p&gt;  &lt;p&gt;Next, I tried to build the project and there were errors.&amp;#160; So I started to go through the errors along with the list of &lt;a href="http://msdn.microsoft.com/en-us/library/cc645049(VS.95).aspx"&gt;breaking changes&lt;/a&gt; between Beta 1 and Beta 2.&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;DependencyProperty.Register and DependencyProperty.RegisterAttached functions now take PropertyMetadata as a parameter instead of PropertyChangedCallback&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The first change I came accross was with a lot of my properties on my custom Silverlight controls.&amp;#160; Most were setup as dependency properties.&amp;#160; The method now took a PropertyMetadata type instead of a PropertyChanged Callback.&amp;#160; The easy way to fix was to wrap the PropertyChangeCallback class with a PropertyMetadata class. I noticed I really wasn't using the Callbacks anyway so I set them to null and that fixed that issue.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;ToolTip is being hidden and can no longer be used directly&amp;#8212;ToolTips can now only be added to controls through the ToolTipService&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The next problem I had was with the close button.&amp;#160; It had a tooltip set for it.&amp;#160; The Tooltip class is now hidden and you have to set the Tooltips through the ToolTipService.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;this.FindName vs this.Layout.FindName&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Those were the only design time errors I ran into.&amp;#160; Not too bad.&amp;#160; Now to fire the app up.&amp;#160; I launch the app in debugging mode, I hit a null reference exception when it tries to set the logos for the team list on the left side.&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;em&gt;Canvas teamCanvas = this.FindName(selectedTeam.ToString()) as Canvas;&lt;/em&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;The FindName was no longer working.&amp;#160; It used to be able to search through all the UI Elements including sub controls.&amp;#160; However, it no longer worked.&amp;#160; I changed it to the following and it was able to find the canvas.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Canvas teamCanvas = this.Layout.FindName(selectedTeam.ToString()) as Canvas;&lt;/em&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;ActualHeight vs Height&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I launched the app again and it loads.&amp;#160; However, all the player controls are stacked on top each other in the middle.&amp;#160; The layout function is not working correctly.&amp;#160; Back into the code I go.&amp;#160; The application uses a example player control at run-time to determine a standard player controls dimensions.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;em&gt;double playerLayoutSize = playerCount * example.ActualHeight + spacerCount * 10;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;When debugging the preceding ling the ActualHeight now returned 0.&amp;#160; Height now seems to return the correct value of 40.&amp;#160; So I changed all the lines to use Height and Width properties for the example control.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;double playerLayoutSize = playerCount * example.Height + spacerCount * 10;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Once I made all these changes everything worked correctly.&amp;#160; I uploaded my new XAP file to my hosting provided.&amp;#160; I also uploaded the BIN directory which contains all the new Silverlight controls and libraries.&amp;#160; &lt;/p&gt;  &lt;p&gt;Overall, my upgrade experience was not the worse one I've ever done, but wasn't the smoothest either.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6261938" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/tvanfleet/archive/tags/Data+Visualization/default.aspx">Data Visualization</category><category domain="http://weblogs.asp.net/tvanfleet/archive/tags/NFL/default.aspx">NFL</category><category domain="http://weblogs.asp.net/tvanfleet/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>My Personal Project - NFL Free Agency Movement</title><link>http://weblogs.asp.net/tvanfleet/archive/2008/05/07/my-personal-project-nfl-free-agency-movement.aspx</link><pubDate>Wed, 07 May 2008 18:05:49 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:6166177</guid><dc:creator>tvanfleet</dc:creator><author>tvanfleet</author><slash:comments>11</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/tvanfleet/rsscomments.aspx?PostID=6166177</wfw:commentRss><comments>http://weblogs.asp.net/tvanfleet/archive/2008/05/07/my-personal-project-nfl-free-agency-movement.aspx#comments</comments><description>&lt;p&gt;Its been awhile since I posted.&amp;#160; I haven't been sitting on my thumbs though.&amp;#160; I've been working on a personal project, &lt;a href="http://www.share-this.net/FreeAgency/FreeAgency.aspx"&gt;NFL Free Agency Movement&lt;/a&gt;.&amp;#160; Anyone that knows me knows I'm a big sports guy, especially the NFL.&amp;#160; I'm also a big advocate of data visualization as seen by some of my posts.&amp;#160; Well, this lead to my side project.&amp;#160; &lt;/p&gt;  &lt;p&gt;I wanted to do a visualization of NFL free agent movements between teams.&amp;#160; I've been kicking the idea around for awhile.&amp;#160; When Microsoft released the beta for &lt;a href="http://www.microsoft.com/silverlight/"&gt;Silverlight 2&lt;/a&gt;, I figured it was about time to take a crack at it while learning Silverlight 2.&amp;#160; The basic concept was to map players to teams through an input / output diagram.&amp;#160;&amp;#160; The players on the left are players signed with the team, while the players on right are the ones that have left. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.share-this.net/FreeAgency/FreeAgency.aspx"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="284" alt="image" src="http://weblogs.asp.net/blogs/tvanfleet/WindowsLiveWriter/MyPersonalProjectNFLFreeAgencyMovement_C655/image_5.png" width="467" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I also link the players to their profiles on Wikipedia to give a full background to them. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/tvanfleet/WindowsLiveWriter/MyPersonalProjectNFLFreeAgencyMovement_C655/image_4.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="284" alt="image" src="http://weblogs.asp.net/blogs/tvanfleet/WindowsLiveWriter/MyPersonalProjectNFLFreeAgencyMovement_C655/image_thumb_1.png" width="465" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I also add some basic analytics to show players by conference, in division, offense/ defense,&amp;#160; and player ranking.&amp;#160; The data for the the application is pulled from open sources and press clippings.&amp;#160; The ratings are based on my experience and also information provided on public sites.&amp;#160; The data itself is stored in a simple XML document.&amp;#160; In another post, I'll go into details on the architecture, design, and the maintenance of the application.&lt;/p&gt;  &lt;p&gt;I've certainly learned a lot about Silverlight 2 in building the application and hope others enjoy the application as much as I did in creating it.&amp;#160; I'll keep tweaking it over time.&amp;#160; I do have some know issues like the delay on loading when a team is selected in the list.&amp;#160; BTW, if you really want to see a massive overhaul of a team, click on Miami.&amp;#160; You can see Parcell's influence.&lt;/p&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=6166177" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/tvanfleet/archive/tags/Data+Visualization/default.aspx">Data Visualization</category><category domain="http://weblogs.asp.net/tvanfleet/archive/tags/NFL/default.aspx">NFL</category><category domain="http://weblogs.asp.net/tvanfleet/archive/tags/Silverlight/default.aspx">Silverlight</category></item></channel></rss>