<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Sean's Stuff &#187; expression blend</title>
	<atom:link href="http://stuff.seans.com/tag/expression-blend/feed/" rel="self" type="application/rss+xml" />
	<link>http://stuff.seans.com</link>
	<description>Learning new software development technologies out loud</description>
	<lastBuildDate>Fri, 15 Jan 2010 16:26:34 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='stuff.seans.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/d76ce1ec7c63ae00d0599773d2710def?s=96&#038;d=http://s2.wp.com/i/buttonw-com.png</url>
		<title>Sean's Stuff &#187; expression blend</title>
		<link>http://stuff.seans.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://stuff.seans.com/osd.xml" title="Sean&#8217;s Stuff" />
	<atom:link rel='hub' href='http://stuff.seans.com/?pushpress=hub'/>
		<item>
		<title>Silverlight, Day 1 &#8211; Installing Everything</title>
		<link>http://stuff.seans.com/2009/01/16/silverlight-day-1-installing-everything/</link>
		<comments>http://stuff.seans.com/2009/01/16/silverlight-day-1-installing-everything/#comments</comments>
		<pubDate>Fri, 16 Jan 2009 05:26:16 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Deep Zoom]]></category>
		<category><![CDATA[expression blend]]></category>
		<category><![CDATA[Installing Silverlight]]></category>
		<category><![CDATA[Silverlight Toolkit]]></category>
		<category><![CDATA[Silverlight Tools]]></category>
		<category><![CDATA[Taskbar]]></category>
		<category><![CDATA[Windows 7]]></category>

		<guid isPermaLink="false">http://stuff.seans.com/?p=522</guid>
		<description><![CDATA[Silverlight is the new framework for delivering rich client functionality in a web browsers.  It&#8217;s an important architecture to consider when thinking about creating a new application&#8211;along with WPF (classic thick client) and ASP.NET/AJAX (thinner client).  The three framework choices&#8211;WPF, Silverlight, and ASP.NET/AJAX&#8211;live on different spots on the thick-to-thin client continuum.  Each is a valid [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stuff.seans.com&blog=4003566&post=522&subd=spsexton&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Silverlight is the new framework for delivering rich client functionality in a web browsers.  It&#8217;s an important architecture to consider when thinking about creating a new application&#8211;along with WPF (classic thick client) and ASP.NET/AJAX (thinner client).  The three framework choices&#8211;WPF, Silverlight, and ASP.NET/AJAX&#8211;live on different spots on the thick-to-thin client continuum.  Each is a valid choice as a framework for creating an application, depending on the customer or the needs.  Which one you choose depends on what the customer goals are.  It&#8217;s also possible to craft a solution that is a mix of one or more technologies&#8211;e.g. Silverlight controls as part of a broader ASP.NET site.</p>
<p>Given what I think is Silverlight&#8217;s importance in the Microsoft ecosystem, I think that it&#8217;s important for all Microsoft (or .NET) developers to be at least a little familiar with the platform.  So here&#8217;s a step-by-step recipe for getting a Silerlight development environment set up on your machine.  I&#8217;ve been setting up a new VM over the past few days that will be my &#8220;virgin&#8221; Silverlight development box.  There&#8217;s a lot to be said for just starting fresh and installing exactly what you need&#8212;no more, no less.</p>
<p>This has been written about at length at the <a href="http://www.silverlight.net">silverlight.net</a> site&#8211;how to get started with Silverlight.  But I thought it worth doing a post that walks through the exact steps required.</p>
<p><strong>Virtual Machines and the Windows 7 Taskbar<br />
</strong></p>
<p>As always, creating a new VM makes me feel all fresh, clean and wonderful.  I&#8217;m using VMware 6.5.1, which I really love.  I created a 32-bit bit VM and installed the Windows 7 beta that was just released last week (build 7000).  I can&#8217;t say enough good stuff about Windows 7, from what I&#8217;ve seen so far.  The performance is incredibly snappy, even in the VM, with 1GB of virtual memory.  The boot time is lightning fast.  And, with a little tweaking, I&#8217;m now really enjoying the new taskbar (the &#8220;superbar&#8221;).  I&#8217;m not remotely a Vista hater (I&#8217;ve been running it on all my home machines forever), so I wouldn&#8217;t call Window 7 &#8220;the Windows that Vista should have been&#8221;.  Vista has been great for me.  But Win 7 takes Vista and just pushes it a bit further, improving various things.</p>
<p>Just as a quick side note, here is the tweak that I made to the taskbar behavior, after hearing <a href="http://www.winsupersite.com/">Paul Thurrott</a> talk about this on <a href="http://twit.tv/ww">Windows Weekly</a>.  As Paul said, this should really be the default behavior.</p>
<p>Here&#8217;s how the taskbar looks out of the box.</p>
<p><img class="alignnone size-full wp-image-524" title="Default Taskbar" src="http://spsexton.files.wordpress.com/2009/01/1-oldtaskbar.jpg?w=519&#038;h=55" alt="Default Taskbar" width="519" height="55" /></p>
<p>Each button on the taskbar (in this case) represents a running application, which may contain one or more instances/windows.  What&#8217;s confusing about this is that you need to first click on an icon to get a popup of the individual windows.  Paul recommends, and I very much prefer, changing the default look and feel so that taskbar buttons are <strong>not</strong> grouped.</p>
<p>Here&#8217;s where you set the option, under Taskbar properties:</p>
<p><img class="alignnone size-full wp-image-525" title="Change Taskbar" src="http://spsexton.files.wordpress.com/2009/01/2-changetaskbar.jpg?w=394&#038;h=180" alt="Change Taskbar" width="394" height="180" /></p>
<p>Notice that the default Button grouping setting is &#8220;Always group&#8221;.  If you change it to &#8220;Group when taskbar is full&#8221; or &#8220;Never group&#8221;, the taskbar then looks like this:</p>
<p><img class="alignnone size-full wp-image-527" title="Better Taskbar" src="http://spsexton.files.wordpress.com/2009/01/3-bettertaskbar1.jpg?w=1024&#038;h=43" alt="Better Taskbar" width="1024" height="43" /></p>
<p>This is much nicer, because: a) you can click on individual windows, if more than one instance of an app is running and b) the text that is displayed makes it much easier to find what you&#8217;re looking for.</p>
<p><em>(Note: These screen grabs are actually from the M3 build distributed at PDC in Oct, 2008.  In the Jan, 2009 beta, you won&#8217;t see the Quick Launch icons).</em></p>
<p>Ok, enough fauning over Windows 7.  Let&#8217;s move on to installing all the Silverlight bits.</p>
<p><strong>The Plan</strong></p>
<p>The silverlight.net site has a nice <a href="http://silverlight.net/GetStarted/">Getting Started</a> post listing the bits that you need to install, to get Silverlight fully functional.  [<strong>Note</strong>:<strong> </strong>Throughout this post, and from now on in my life, whenever I say "Silverlight", I always mean "Silverlight 2"].  Here&#8217;s what the list looks like:</p>
<p><img class="alignnone size-full wp-image-528" title="Getting Started with Silverlight" src="http://spsexton.files.wordpress.com/2009/01/4-gettingstarted.jpg?w=640&#038;h=349" alt="Getting Started with Silverlight" width="640" height="349" /></p>
<p>I&#8217;ll work through this entire list, to get everything installed.</p>
<p>Oh by the way, I&#8217;m assuming that you&#8217;ve already installed <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=fbee1648-7106-44a7-9649-6d9f6d58056e&amp;DisplayLang=en">Visual Studio 2008 SP1</a>, which also includes the .NET Framework 3.5 SP1.</p>
<p><img class="alignnone size-full wp-image-535" title="Visual Studio 2008 SP1" src="http://spsexton.files.wordpress.com/2009/01/5-visualstudio1.jpg?w=562&#038;h=201" alt="Visual Studio 2008 SP1" width="562" height="201" /></p>
<p><strong>Installing Silverlight Tools for Visual Studio 2008 SP1</strong></p>
<p>To start with, we download and install <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=c22d6a7b-546f-4407-8ef6-d60c8ee221ed&amp;DisplayLang=en">Silverlight Tools for Visual Studio 2008 SP1</a>.  This is version 9.0.30729.146, released on 10/30/2008.  The download is 72.7MB.</p>
<p>Download the Silverlight_Tools.exe file and launch it.</p>
<p><img class="alignnone size-full wp-image-537" title="Welcome" src="http://spsexton.files.wordpress.com/2009/01/6-1.jpg?w=503&#038;h=468" alt="Welcome" width="503" height="468" /></p>
<p>Soak up the EULA:</p>
<p><img class="alignnone size-full wp-image-540" title="License Agreement" src="http://spsexton.files.wordpress.com/2009/01/6-22.jpg?w=503&#038;h=468" alt="License Agreement" width="503" height="468" /></p>
<p>At this point, the install may tell you that there are processes running that you need to shut down:</p>
<p><img class="alignnone size-full wp-image-541" title="Incompatible Processes" src="http://spsexton.files.wordpress.com/2009/01/6-3.jpg?w=503&#038;h=468" alt="Incompatible Processes" width="503" height="468" /></p>
<p>After closing Firefox, I click the Refresh button and now get a clean bill of health:</p>
<p><img class="alignnone size-full wp-image-543" title="No Incompatible Processes" src="http://spsexton.files.wordpress.com/2009/01/6-4.jpg?w=503&#038;h=468" alt="No Incompatible Processes" width="503" height="468" /></p>
<p>The install then starts:</p>
<p><img class="alignnone size-full wp-image-544" title="Install Progress" src="http://spsexton.files.wordpress.com/2009/01/6-5.jpg?w=503&#038;h=468" alt="Install Progress" width="503" height="468" /></p>
<p>And we&#8217;re done.</p>
<p><img class="alignnone size-full wp-image-545" title="Silverlight Install Complete" src="http://spsexton.files.wordpress.com/2009/01/6-6.jpg?w=503&#038;h=468" alt="Silverlight Install Complete" width="503" height="468" /></p>
<p>At this point, you&#8217;ve installed:</p>
<ul>
<li>Silverlight 2 developer runtime  (2.0.31005.0)</li>
<li>Silverlight 2 SDK  (2.0.31005.0)</li>
<li>KB956453 for Visual Studio 2008 SP1</li>
<li>Silverlight Tools for Visual Studio 2008 SP1</li>
</ul>
<p>You can find an installation log file at:  C:\Users\myname\AppData\Local\Temp\Silverlight%20Tools%20RTW_20090108_121446406.html .  It also contains hyperlinks to the textual MSI log files for the different products installed.</p>
<p><strong>Silverlight 2 DataGrid Update</strong></p>
<p>Next, you&#8217;ll want to download and install the <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=084a1bb2-0078-4009-94ee-e659c6409db0&amp;DisplayLang=en">Silverlight 2 DataGrid December 2008 Release</a>, released on 12/19/2008.  This release apparently fixes a number of bugs with the DataGrid.</p>
<p>Expanding on the instructions on the download page, here are the steps:</p>
<ol>
<li>Close all instances of Visual Studio 2008</li>
<li>Run SL2DataGridDec08.exe to extract the files<br />
<img class="alignnone size-full wp-image-552" title="Extract Files" src="http://spsexton.files.wordpress.com/2009/01/7-1-extract.jpg?w=351&#038;h=216" alt="Extract Files" width="351" height="216" /></li>
<li><span>Delete all cached toolbox items by removing all files beginning with &#8220;toolbox&#8221; from C:\Users\<em>UserName</em>\AppData\Local\Microsoft\VisualStudio\9.0.<br />
<img class="alignnone size-full wp-image-553" title="Delete Toolbox Files" src="http://spsexton.files.wordpress.com/2009/01/7-2-delete-toolbox.jpg?w=528&#038;h=229" alt="Delete Toolbox Files" width="528" height="229" /><br />
</span></li>
<li><span>Replace the following assemblies with the ones in this package:<br />
</span></p>
<ul>
<li><span>%ProgramFiles%\Microsoft SDKs\Silverlight\v2.0\Libraries\Client\System.Windows.Controls.Data.dll</span></li>
<li><span>%ProgramFiles%\Microsoft SDKs\Silverlight\v2.0\Libraries\Client\System.Windows.Controls.Data.Design.dll</span></li>
</ul>
</li>
</ol>
<p><strong>Installing Expression Blend 2</strong></p>
<p>Next on the agenda is downloading and installing <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=5FF08106-B9F4-43CD-ABAD-4CC9D9C208D7&amp;displaylang=en">Expression Blend 2</a>&#8212;the tool used for designing Silverlight and WPF GUIs.  Expression Blend 2 supports Silverlight 1.0.  SP1 for Expression Blend 2 (see below) adds support for Silverlight 2.0.</p>
<p>I&#8217;m installing a full version that I get through the Empower ISV program.  The link above will take you to a page where you can download a 30-day trial version.  You can purchase the full version from <a href="http://www.amazon.com/Microsoft-45116G-Expression-Blend-2/dp/B0013ITQ9Y/ref=pd_bbs_sr_5?ie=UTF8&amp;s=electronics&amp;qid=1231783562&amp;sr=8-5">Amazon</a> for roughly $479, or upgrade from Expression Blend 1 for $95.</p>
<p>This is version 2.0.1523.0.</p>
<p>Wow, snazzy install screen&#8212;exactly what you&#8217;d expect for a design-focused tool.</p>
<p><img class="alignnone size-full wp-image-556" title="Installing Expression Blend" src="http://spsexton.files.wordpress.com/2009/01/8-1.jpg?w=800&#038;h=600" alt="Installing Expression Blend" width="800" height="600" /></p>
<p>By the way, the Expression family consists of the following different tools:</p>
<ul>
<li>Expression Web ($245) &#8211; for designing web sites  (think Front Page replacement)</li>
<li>Expression Blend ($479) &#8211; for creating WPF and Silverlight user interfaces</li>
<li>Expression Design &#8211; graphical design tool (partner tool for Blend, adding some add&#8217;l drawing capabilities)</li>
<li>Expression Media ($186) -  for organizing your media (assets)</li>
<li>Expression Encoder ($190) &#8211; for producing webcasts and publishing via Silverlight</li>
</ul>
<p>You can get the whole lot&#8212;Expression Studio 2&#8212;for $666.  [Odd number to use for a retail price].</p>
<p>Decide where to install Blend:</p>
<p><img class="alignnone size-full wp-image-558" title="Install Location" src="http://spsexton.files.wordpress.com/2009/01/8-2.jpg?w=800&#038;h=600" alt="Install Location" width="800" height="600" /></p>
<p>And off we go..</p>
<p><img class="alignnone size-full wp-image-559" title="Blend Install Starts" src="http://spsexton.files.wordpress.com/2009/01/8-3.jpg?w=800&#038;h=600" alt="Blend Install Starts" width="800" height="600" /></p>
<p>Blend 2 is now installed.  But <strong>wait</strong>!  If you&#8217;re running on a VMware VM, don&#8217;t try running it yet.  It appears that the Expression products don&#8217;t run properly in VMs if 3D graphics acceleration is enabled.  Shut down your VM and disable 3D graphics acceleration (go to Settings, select your Display, look for the &#8220;3D graphics&#8221; section and uncheck &#8220;Accelerate 3D graphics (DirectX 9.0c).  Expression Blend was locking up my VM, but when I disabled 3D graphics acceleration, everything started working fine.</p>
<p><strong>Install Expression Blend 2 Service Pack 1</strong></p>
<p>Next you&#8217;ll want to install the service pack for Expression Blend 2 that adds support for Silverlight 2.  You can find it here: <a href="http://www.microsoft.com/downloads/thankyou.aspx?familyId=eb9b5c48-ba2b-4c39-a1c3-135c60bbbe66&amp;displayLang=en">Expression Blend 2 Service Pack 1</a>.</p>
<p>Note that this service pack <strong>replaces</strong> the Expression Blend 2.5 June 2008 Preview (which existed to support beta Silverlight 2 functionality).  So you don&#8217;t need Blend 2.5.</p>
<p>The service pack is small (18MB), and downloads and installs quickly.  The listed version is 2.1.1760.0.  So perhaps we can think of what we end up with as Blend 2.1, rather than Blend 2 or Blend 2.5.</p>
<p><img class="alignnone size-full wp-image-574" title="Blend 2 Service Pack 1" src="http://spsexton.files.wordpress.com/2009/01/9-blendsp1.jpg?w=472&#038;h=158" alt="Blend 2 Service Pack 1" width="472" height="158" /></p>
<p><strong>Install Deep Zoom Composer  (optional)</strong></p>
<p>Next on the Getting Started list is to install Deep Zoom Composer.  Deep Zoom is a technology built on top of Silverlight that allows you to publish a very high resolution image on a web site and allow zooming <strong>way</strong> into the image.  This is done by pre-processing the image to generate many different chunks of the image at many different resolutions.  You then publish all of these files to your server and visitors to your site can then zoom in and out of the original high-res image.</p>
<p>For an example of Deep Zoom in action, take a look at this collage of <a href="http://www.famthings.com/sexton/john/">photos of my Dad</a>.  I started with 191 different images and, after running everything through Deep Zoom Composer, ended up with 18,433 unique images on my server, taking up about 1.5GB of space.  The end result is pretty cool.  There&#8217;s another excellent example of Deep Zoom in action at the Hard Rock <a href="http://memorabilia.hardrock.com/">Memorabilia</a> web site.</p>
<p>This step is optional because you&#8217;ll only want/need the Deep Zoom Composer if you intend to author some Deep Zoom images.  You can find the download for Deep Zoom Composer here: <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=457B17B7-52BF-4BDA-87A3-FA8A4673F8BF&amp;displaylang=en">Deep Zoom Composer</a>.  This is also small (4MB).  It&#8217;s listed as version 0.9.000.6.</p>
<p>For completeness, here&#8217;s the install sequence (which is pretty brainless):</p>
<p><img class="alignnone size-full wp-image-577" title="Welcome" src="http://spsexton.files.wordpress.com/2009/01/10-1-welcome.jpg?w=503&#038;h=408" alt="Welcome" width="503" height="408" /></p>
<p>Note&#8211;when selecting an install location, I also set it up so that Everyone on the machine can run it.  That&#8217;s just my preference.</p>
<p><img class="alignnone size-full wp-image-578" title="Location" src="http://spsexton.files.wordpress.com/2009/01/10-2-location.jpg?w=503&#038;h=408" alt="Location" width="503" height="408" /></p>
<p>Confirm that you&#8217;re ready to start the install:</p>
<p><img class="alignnone size-full wp-image-579" title="Confirm" src="http://spsexton.files.wordpress.com/2009/01/10-3-confirm.jpg?w=503&#038;h=408" alt="Confirm" width="503" height="408" /></p>
<p>And we&#8217;re done.  Note the mention of checking for updates to the .NET Framework.  If you&#8217;ve followed all of the steps above, there should be no framework updates.</p>
<p><img class="alignnone size-full wp-image-580" title="Done" src="http://spsexton.files.wordpress.com/2009/01/10-4-done.jpg?w=503&#038;h=408" alt="Done" width="503" height="408" /></p>
<p><strong>Install the Silverlight Toolkit</strong></p>
<p>Finally, you&#8217;ll want to install the latest version of the <a href="http://www.codeplex.com/Silverlight">Silverlight Toolkit</a>.  This is a collection of Silverlight controls (announced/released during the PDC in Oct 2008) and other goodies that the team has made available on <a href="http://www.codeplex.com">codeplex</a>.  The components have different levels of quality, depending on where in the release cycle they are.  But this is all stuff that is intended to eventually find its way into the mainline Silverlight product/release.  For more information on what&#8217;s in the Silverlight Toolkit, see <a href="http://blogs.msdn.com/sburke/archive/2008/10/28/silverlight-toolkit-now-available-for-download.aspx">Shawn Burke&#8217;s blog post</a>.</p>
<p>You can download the Silverlight Toolkit here: <a href="http://www.codeplex.com/Silverlight/Release/ProjectReleases.aspx?ReleaseId=19172">download Silverlight Toolkit</a>.  The current version was released on 9 Dec 2008.</p>
<p>The toolkit will come down as a .zip file.  There&#8217;s nothing really to install.  The idea is to unzip everything to a location of your choice and then just add references from your projects to the appropriate assemblies.</p>
<p>If you want to just play around with the controls, there&#8217;s a nice sample project included in the distribution, at \Samples\Controls.Samples.html &#8212; just open up the HTML page and you&#8217;ll be able to see and interact with the various controls.</p>
<p>Here&#8217;s a quick overview of how you make use of these controls from your Silverlight project.  Assume that we&#8217;ve already unzipped everything to \My Documents\Silverlight Toolkit.  Now fire up a new Silverlight project.  Once you&#8217;ve loaded the project, you&#8217;ll want to add the various controls to your toolbox, as follows:</p>
<p>Right-click in the Toolbox and select Choose Items.</p>
<p><img class="alignnone size-full wp-image-588" title="Choose Items" src="http://spsexton.files.wordpress.com/2009/01/chooseitems.jpg?w=210&#038;h=324" alt="Choose Items" width="210" height="324" /></p>
<p>In the dialog that comes up, go to the Silverlight tab and then click Browse.  Locate one of the assemblies from the Silverlight Toolkit and click the Open button.  The controls from that assembly will now show up in the dialog.  (And, if checked, in your Toolbox):</p>
<p><img class="alignnone size-full wp-image-589" title="Silverlight Components" src="http://spsexton.files.wordpress.com/2009/01/silverlightcomponents.jpg?w=663&#038;h=471" alt="Silverlight Components" width="663" height="471" /></p>
<p>For example, notice that we now have the AutoCompleteBox in our toolbox:</p>
<p><img class="alignnone size-full wp-image-590" title="toolbox" src="http://spsexton.files.wordpress.com/2009/01/toolbox.jpg?w=250&#038;h=283" alt="toolbox" width="250" height="283" /></p>
<p><strong>Wrapping Up</strong></p>
<p>That&#8217;s really all there is to it.  Once you&#8217;ve followed all of these steps, you have all of the Silverlight bits and are now ready to create great Silverlight applications!</p>
<br />Posted in Silverlight Tagged: Deep Zoom, expression blend, Installing Silverlight, Silverlight, Silverlight Toolkit, Silverlight Tools, Taskbar, Windows 7 <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/spsexton.wordpress.com/522/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/spsexton.wordpress.com/522/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/spsexton.wordpress.com/522/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/spsexton.wordpress.com/522/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/spsexton.wordpress.com/522/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/spsexton.wordpress.com/522/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/spsexton.wordpress.com/522/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/spsexton.wordpress.com/522/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/spsexton.wordpress.com/522/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/spsexton.wordpress.com/522/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stuff.seans.com&blog=4003566&post=522&subd=spsexton&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://stuff.seans.com/2009/01/16/silverlight-day-1-installing-everything/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8922e4d5254d602ba3ed32dd073b5a4e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">spsexton</media:title>
		</media:content>

		<media:content url="http://spsexton.files.wordpress.com/2009/01/1-oldtaskbar.jpg" medium="image">
			<media:title type="html">Default Taskbar</media:title>
		</media:content>

		<media:content url="http://spsexton.files.wordpress.com/2009/01/2-changetaskbar.jpg" medium="image">
			<media:title type="html">Change Taskbar</media:title>
		</media:content>

		<media:content url="http://spsexton.files.wordpress.com/2009/01/3-bettertaskbar1.jpg" medium="image">
			<media:title type="html">Better Taskbar</media:title>
		</media:content>

		<media:content url="http://spsexton.files.wordpress.com/2009/01/4-gettingstarted.jpg" medium="image">
			<media:title type="html">Getting Started with Silverlight</media:title>
		</media:content>

		<media:content url="http://spsexton.files.wordpress.com/2009/01/5-visualstudio1.jpg" medium="image">
			<media:title type="html">Visual Studio 2008 SP1</media:title>
		</media:content>

		<media:content url="http://spsexton.files.wordpress.com/2009/01/6-1.jpg" medium="image">
			<media:title type="html">Welcome</media:title>
		</media:content>

		<media:content url="http://spsexton.files.wordpress.com/2009/01/6-22.jpg" medium="image">
			<media:title type="html">License Agreement</media:title>
		</media:content>

		<media:content url="http://spsexton.files.wordpress.com/2009/01/6-3.jpg" medium="image">
			<media:title type="html">Incompatible Processes</media:title>
		</media:content>

		<media:content url="http://spsexton.files.wordpress.com/2009/01/6-4.jpg" medium="image">
			<media:title type="html">No Incompatible Processes</media:title>
		</media:content>

		<media:content url="http://spsexton.files.wordpress.com/2009/01/6-5.jpg" medium="image">
			<media:title type="html">Install Progress</media:title>
		</media:content>

		<media:content url="http://spsexton.files.wordpress.com/2009/01/6-6.jpg" medium="image">
			<media:title type="html">Silverlight Install Complete</media:title>
		</media:content>

		<media:content url="http://spsexton.files.wordpress.com/2009/01/7-1-extract.jpg" medium="image">
			<media:title type="html">Extract Files</media:title>
		</media:content>

		<media:content url="http://spsexton.files.wordpress.com/2009/01/7-2-delete-toolbox.jpg" medium="image">
			<media:title type="html">Delete Toolbox Files</media:title>
		</media:content>

		<media:content url="http://spsexton.files.wordpress.com/2009/01/8-1.jpg" medium="image">
			<media:title type="html">Installing Expression Blend</media:title>
		</media:content>

		<media:content url="http://spsexton.files.wordpress.com/2009/01/8-2.jpg" medium="image">
			<media:title type="html">Install Location</media:title>
		</media:content>

		<media:content url="http://spsexton.files.wordpress.com/2009/01/8-3.jpg" medium="image">
			<media:title type="html">Blend Install Starts</media:title>
		</media:content>

		<media:content url="http://spsexton.files.wordpress.com/2009/01/9-blendsp1.jpg" medium="image">
			<media:title type="html">Blend 2 Service Pack 1</media:title>
		</media:content>

		<media:content url="http://spsexton.files.wordpress.com/2009/01/10-1-welcome.jpg" medium="image">
			<media:title type="html">Welcome</media:title>
		</media:content>

		<media:content url="http://spsexton.files.wordpress.com/2009/01/10-2-location.jpg" medium="image">
			<media:title type="html">Location</media:title>
		</media:content>

		<media:content url="http://spsexton.files.wordpress.com/2009/01/10-3-confirm.jpg" medium="image">
			<media:title type="html">Confirm</media:title>
		</media:content>

		<media:content url="http://spsexton.files.wordpress.com/2009/01/10-4-done.jpg" medium="image">
			<media:title type="html">Done</media:title>
		</media:content>

		<media:content url="http://spsexton.files.wordpress.com/2009/01/chooseitems.jpg" medium="image">
			<media:title type="html">Choose Items</media:title>
		</media:content>

		<media:content url="http://spsexton.files.wordpress.com/2009/01/silverlightcomponents.jpg" medium="image">
			<media:title type="html">Silverlight Components</media:title>
		</media:content>

		<media:content url="http://spsexton.files.wordpress.com/2009/01/toolbox.jpg" medium="image">
			<media:title type="html">toolbox</media:title>
		</media:content>
	</item>
		<item>
		<title>I WPF, Therefore I Blend</title>
		<link>http://stuff.seans.com/2008/09/26/i-wpf-therefore-i-blend/</link>
		<comments>http://stuff.seans.com/2008/09/26/i-wpf-therefore-i-blend/#comments</comments>
		<pubDate>Fri, 26 Sep 2008 10:29:32 +0000</pubDate>
		<dc:creator>Sean</dc:creator>
				<category><![CDATA[Blend]]></category>
		<category><![CDATA[WPF]]></category>
		<category><![CDATA[designer]]></category>
		<category><![CDATA[developer]]></category>
		<category><![CDATA[expression blend]]></category>
		<category><![CDATA[GUI]]></category>
		<category><![CDATA[prototypes]]></category>
		<category><![CDATA[user interaction]]></category>

		<guid isPermaLink="false">http://spsexton.wordpress.com/?p=223</guid>
		<description><![CDATA[If you&#8217;re a developer doing WPF development, you really need to be using Expression Blend.
Yes, I know the party line on WPF development runs something like this:

Every dev team should have at least 1 developer and 1 designer
Developers can&#8217;t design decent-looking GUIs to save their soul
Designers can&#8217;t be trusted with code, or anything close to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stuff.seans.com&blog=4003566&post=223&subd=spsexton&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re a developer doing WPF development, you really need to be using Expression Blend.</p>
<p>Yes, I know the party line on WPF development runs something like this:</p>
<ul>
<li>Every dev team should have at least 1 developer and 1 designer</li>
<li>Developers can&#8217;t design decent-looking GUIs to save their soul</li>
<li>Designers can&#8217;t be trusted with code, or anything close to code (excepting XAML)</li>
<li>Devs will open a project in Visual Studio and do all of their work there</li>
<li>Designers will open the same project in Blend and do all of their work there</li>
<li>Devs wear button-up shirts that don&#8217;t match their Dockers</li>
<li>Designers wear brand-name labels and artsy little berets</li>
</ul>
<p>I don&#8217;t quite buy into the idea of a simple developer/designer separation, with one tool for each of them.  (I also don&#8217;t wear Dockers).</p>
<p>It&#8217;s absolutely true that Blend makes it easier for a designer to be part of the team and work directly on the product.  The old model was to have the designers do static mockups in Photoshop and then have your devs painstakingly reproduce the images, working in Visual Studio.  The old model sucks.</p>
<p>The new model, having Blend work directly with XAML and even open the same solution file as Visual Studio, is a huge advancement.  Designers get access to all of the flashy photoshoppy features in Blend, which means that they can do their magic and create something that actually looks great.  And devs will instantly get the new GUI layout when they use Visual Studio to open/run the project.</p>
<p>The problem that I have with the designer/developer divide is as follows.  To achieve an excellent <strong>user experience</strong> takes more than just independently creating form and function and then marrying the two together.  A designer might create GUI screens that are the most beautiful thing on the planet.  And the dev working with him might write the most efficient and elegant code-behind imaginable.  But this isn&#8217;t nearly enough to guarantee a great user experience.</p>
<p>User experience is all about <strong>user interaction</strong>.  Poorly done user interaction will lead to a failed or unused application far more quickly than either an ugly GUI or poorly performing code.</p>
<p>So what exactly is &#8220;user interaction&#8221;?  In my opinion, it&#8217;s everything in the application <strong>except</strong> for the code and the GUI.  User interaction is all about how the user <strong>uses </strong>your application to get her work done (or to create what she wants to create).  Does the application make sense to her?  Does using it feel natural?  Allow her to be efficient?  Are features discoverable?  Does the flow of the application match her existing workflow?</p>
<p>The only way to get user interaction correct is to <strong>know your user</strong>.  This means truly understanding the problem that your users are trying to solve, as well as what knowledge they have about the problem space.</p>
<p>There is an easy four step process to get at this information: 1) talk to the users; 2) prototype; 3) observe them using the prototype; 4) repeat.</p>
<p>There are a whole host of specific strategies to help you in this process, including things like: use cases, user stories, storyboarding, etc.  The literature is full of good processes and techniques for working early and often with users to get both the right set of functionality and a great user experience.</p>
<p>But let&#8217;s get back to designers and developers.  The reason that I don&#8217;t buy into the clean GUI/code split (or code + markup, if you&#8217;re a Petzold fan) is that good user interaction requires <strong>both code and markup</strong>.  Somebody needs to be responsible for the user interaction model and it should come first, requiring some code and some markup.</p>
<p>If you do buy into the devs-Studio/designers-Blend party line for WPF development, there are two simplistic approaches that you might be tempted to take, both equally bad:</p>
<ul>
<li>Developer codes up all required functionality, puts API on it and designer creates screens that call into the API</li>
<li>Designer mocks up screens and then developers create code behind those screens to get desired functionality</li>
</ul>
<p>The problem behind both approaches is, of course, that no one is focused on how the user is using the application.  The designer is thinking about the user in aesthetic terms and that&#8217;s a huge improvement over a battleship grey GUI.  But it&#8217;s not nearly enough&#8211;not if your goal is to achieve a great user experience.</p>
<p>If someone needs to be responsible for the user experience, it should be the developer.  If you <strong>are</strong> lucky enough to be working with a designer, the developer is still the team member that drives the entire process.  The designer is likely working in support of the developer, not the other way around.  (Note: I&#8217;m talking here about developing rich WPF client software, rather than web-based sites or applications.  With web-based projects, it&#8217;s likely the designer that is driving the project).</p>
<p>My vote is for a process that looks something like the following:</p>
<ul>
<li>Developer initiates requirements gathering through user stories and use cases</li>
<li>Developer starts sketching up storyboards, with input from designer</li>
<li>Developer builds prototype, using both Visual Studio and Blend</li>
<li>Team presents prototype to user, walks through use cases, gets feedback, iterates
<ul>
<li>Important to focus here on how the user works w/application, rather than how it looks</li>
</ul>
</li>
<li>As pieces of user interaction solidify
<ul>
<li>Designer begins refining those pieces of GUI for aesthetics, branding, etc.</li>
<li>Developer begins fleshing out code behind and full functionality</li>
</ul>
</li>
<li>Continue iterating/reviewing with user</li>
</ul>
<p>You might agree with this process, but say that the developer should work exclusively in Visual Studio to generate the prototypes.  Why is it important for them to use Blend for prototyping and iterating with the user?</p>
<p>The simple truth is that Blend is far superior to Visual Studio for doing basic GUI layout.  Using Visual Studio, you can definitely set property values using the property grid or by entering XAML directly.  But the property editors in Blend make it <strong>much</strong> easier to quickly set properties and tweak controls.</p>
<p>Given that the developer should be doing the GUI prototyping, I think it makes sense for them to use both Blend and Visual Studio, rather than just Visual Studio alone.</p>
<p>The bottom line is this: the choice of using Blend vs. Visual Studio should be based on the task that you are doing, rather than who is doing that task.  Instead of Blend just being a tool for designers and Visual Studio a tool for developers, it&#8217;s more true that Blend is a tool for doing GUI design and Visual Studio a tool for writing/debugging code.  Given that I think the developer should be the person responsible for early prototyping of the GUI, they should be using both Blend and Visual Studio during the early phases of a project.</p>
<p>So if you&#8217;re a developer just getting into WPF, don&#8217;t write off Blend as an artsy-fartsy tool for designers.  Instead, just think of it as a GUI design tool.  Though you may not be great at putting together beautiful user interfaces, it&#8217;s definitely your job to create the early GUI prototypes.  You may not be responsible for the <strong>design of the GUI</strong>, but you should be responsible for <strong>designing the GUI</strong>.  So if you WPF, you really ought to Blend.  Who knows?  You might like it so much that you start wearing a beret.</p>
<br />Posted in Blend, WPF Tagged: designer, developer, expression blend, GUI, prototypes, user interaction, WPF <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/spsexton.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/spsexton.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/spsexton.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/spsexton.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/spsexton.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/spsexton.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/spsexton.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/spsexton.wordpress.com/223/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/spsexton.wordpress.com/223/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/spsexton.wordpress.com/223/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=stuff.seans.com&blog=4003566&post=223&subd=spsexton&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://stuff.seans.com/2008/09/26/i-wpf-therefore-i-blend/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/8922e4d5254d602ba3ed32dd073b5a4e?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">spsexton</media:title>
		</media:content>
	</item>
	</channel>
</rss>