<?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>Jeff Wilcox &#187; Conferences</title>
	<atom:link href="http://www.jeff.wilcox.name/topics/conferences/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jeff.wilcox.name</link>
	<description>Silverlight, rich client apps and web development</description>
	<lastBuildDate>Wed, 01 Feb 2012 14:42:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Friday at //BUILD/: Jeff Wilcox on Windows Phone Performance</title>
		<link>http://www.jeff.wilcox.name/2011/09/build-wp-performance/</link>
		<comments>http://www.jeff.wilcox.name/2011/09/build-wp-performance/#comments</comments>
		<pubDate>Tue, 13 Sep 2011 21:02:57 +0000</pubDate>
		<dc:creator>Jeff Wilcox</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Windows Phone]]></category>

		<guid isPermaLink="false">http://www.jeff.wilcox.name/2011/09/build-wp-performance/</guid>
		<description><![CDATA[It’s an exciting week here at //BUILD/, things are off to a good start. Now that the sessions are public, I wanted to let my readers know that I am giving a talk on Friday about Windows Phone Performance. Windows Phone application performance and optimization 9/16/11 from 12:30 PM to 1:30 PM Room: Marriott Orange [...]]]></description>
			<content:encoded><![CDATA[<p>It’s an exciting week here at //BUILD/, things are off to a good start. Now that the sessions are public, I wanted to let my readers know that I am giving a talk on Friday about Windows Phone Performance.</p>
<p><img src="http://www.buildwindows.com/themes/buildtheme/content/build_logo_small.png" /></p>
<p><strong><em>Windows Phone application performance and optimization</em></strong>    <br />9/16/11 from 12:30 PM to 1:30 PM    <br />Room: Marriott Orange County 4</p>
<p>Here’s a link to the <a href="http://channel9.msdn.com/events/BUILD/BUILD2011/APP-827T">session page</a> on C9.</p>
<p>The talk will cover:</p>
<ul>
<li>Performance counters and performance basics</li>
<li>The new Windows Phone profiler</li>
<li>Strategies for improving app performance</li>
<li>General Q&amp;A session at the end</li>
</ul>
<p>Note to MIX 11 attendees: this talk is very similar to my MIX presentation, though the app is slightly different.</p>
<p>Hope to see you at the talk!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeff.wilcox.name/2011/09/build-wp-performance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Speaker evaluations: they&#8217;re important, please turn them in!</title>
		<link>http://www.jeff.wilcox.name/2011/04/speaker-evaluations-please/</link>
		<comments>http://www.jeff.wilcox.name/2011/04/speaker-evaluations-please/#comments</comments>
		<pubDate>Mon, 18 Apr 2011 01:40:57 +0000</pubDate>
		<dc:creator>Jeff Wilcox</dc:creator>
				<category><![CDATA[MIX]]></category>

		<guid isPermaLink="false">http://www.jeff.wilcox.name/2011/04/speaker-evaluations-please/</guid>
		<description><![CDATA[Please, oh please, take the time to fill out the evaluations – whether you loved or hated the talk, or even left early. The data’s good to have and the only other thing we can really go off of to understand a session is the tweets that come during and after the talk. MIX 11 [...]]]></description>
			<content:encoded><![CDATA[<p>Please, oh please, take the time to fill out the evaluations – whether you loved or hated the talk, or even left early. The data’s good to have and the only other thing we can really go off of to understand a session is the tweets that come during and after the talk.</p>
<p><a href="http://live.visitmix.com/">MIX 11</a> was a great success in my mind, as always it’s just a lot of fun to actually interact with everyone in the ecosystem, gather feedback, and sometimes even get praise for what we’re doing. We live in the Redmond echo chamber sometimes and it’s good to get out and see the “real world” (even if it is Las Vegas).</p>
<h3>The kind of data we get</h3>
<p>Once all the evaluations are together, the stellar event management staff compiles the results and we get a big Excel sheet with the data. I didn’t think it would be appropriate to post data from others, so here’s a look at just my entry.</p>
<p>The speaker metric is up to 4 (4 rocks), and the relevant material metric goes to 5.</p>
<p>The fields are: </p>
<ul>
<li>Date and Time, </li>
<li>Session Code, </li>
<li>Speaker, </li>
<li>Title, </li>
<li>Overall Satisfaction with the speaker’s presentation (to 4),</li>
<li>Usefulness of the information presented (to 5),</li>
<li>People in attendance,</li>
<li>Evaluations turned in,</li>
<li>% of people who turned in evaluations</li>
</ul>
<p>You can also assume that attendance numbers drop a little on the last day (I was on day 3 of 3).</p>
<p>My results were in the top tier overall, an overall number of <strong>3.89</strong>, a usefulness indicator of <strong>5.00</strong>, attendance of <strong>118</strong>, and turned in <strong>9</strong> (8%).</p>
<p>Oh, and the comments are always fun. In this case I’m pretty sure that one of my co-workers turned in the dreamy comment. But the others are useful. We get all verbatim feedback:</p>
<ul>
<li>Best session of the conference.</li>
<li>AWESOME! This is exactly what I needed and I almost didn’t come because of the description.</li>
<li>I can’t believe I got to see THE Jeff Wilcox. He’s soooo dreamy!</li>
<li>Great session, I will use a lot of what I have learned.</li>
</ul>
<h3>How we use the feedback</h3>
<p>It’s mostly interesting to check how speakers rank – you can assume that this plays into opportunities to give talks a few years in a row, etc. From a presentation standpoint, the other important metric is how relevant the material was to those that gave feedback.</p>
<p>Unfortunately the low number of forms – often hovering around 10% – doesn’t provide a ton of data. A lot like Yelp, we kind of assume we hear either about the best or the worst, but it would be very nice to have higher response rates to actually know how folks feel.</p>
<p>I’m sure event people also compare numbers between talk tracks, etc., but I just usually focus on my particular track. The Windows Phone track was short coded DVC.</p>
<p>Reading my own feedback, I should not have received a 5.00. Statistically somebody should have given a lower scale, I’m not that awesome. So this is a sign that the 8% turn-in rate is a little low; it would be better to have more data.</p>
<h3>About paper vs electronic evals</h3>
<p>I’ve heard that apparently paper return rate is much higher than electronic, but wow, 8% just hurts. When I attended a few European conferences last year (GOTO – formerly JAOO, and also Øredev), they also had paper evaluations – but much more simple (you didn’t even need a pen or pencil to complete). I loved the format.</p>
<p>When you exited the room of a talk, there would be three bins of paper: red, yellow, and green. You just take one and place it into the big box with the attendant – or if you want, you can write comments on the page as well.</p>
<p>I’m going to guess that they easily get more than a 50% response rate in terms of the basic “was it an OK talk or not?” feedback. Would love to see that format at MIX.</p>
<p>Please fill out those evaluations next time!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeff.wilcox.name/2011/04/speaker-evaluations-please/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Windows Phone App Performance: My session from MIX11</title>
		<link>http://www.jeff.wilcox.name/2011/04/mix11-wilcox-talk/</link>
		<comments>http://www.jeff.wilcox.name/2011/04/mix11-wilcox-talk/#comments</comments>
		<pubDate>Fri, 15 Apr 2011 23:56:41 +0000</pubDate>
		<dc:creator>Jeff Wilcox</dc:creator>
				<category><![CDATA[MIX]]></category>
		<category><![CDATA[Windows Phone]]></category>

		<guid isPermaLink="false">http://www.jeff.wilcox.name/2011/04/mix11-wilcox-talk/</guid>
		<description><![CDATA[MIX was a blast this year. The excitement sure was palpable around the Windows Phone, and it’s always just quite amplified by the Las Vegas energy and the strong, passionate community that we have. My Windows Phone app performance talk is now online, so check that out if you weren’t able to attend. I’ll be [...]]]></description>
			<content:encoded><![CDATA[<p>MIX was a blast this year. The excitement sure was palpable around the Windows Phone, and it’s always just quite amplified by the Las Vegas energy and the strong, passionate community that we have.</p>
<p>My Windows Phone app performance talk is now online, so check that out if you weren’t able to attend. I’ll be sharing the components I talked about pretty soon.</p>
<p>This year I decided to frame the discussion a little differently: we’ve talked about raw graphics performance, but for most apps, that’s not what developers are interested in touching. We’re all building list-based apps and those need to be best of breed.</p>
<p>The message I’m delivering is 3-fold:</p>
<ul>
<li>We’re doing work in ‘Mango’ (the next release of the Windows Phone) to improve performance by fixing bugs, optimizing, moving touch to its own thread, etc. Plus we’ve got that working set shrinking down (sweet!) </li>
<li>You need to be doing work to optimize and simplify your apps. Reducing layout cost and the number of elements will give you the biggest bang for the buck. </li>
<li>Perception of performance is as important as raw performance numbers. Consider what you can do here. </li>
</ul>
<p>You can get the <a href="http://files.ch9.ms/mix/2011/ppt/DVC01.pptx">PowerPoint slide deck here</a> and the talk is online at <a title="http://channel9.msdn.com/events/MIX/MIX11/DVC01" href="http://channel9.msdn.com/events/MIX/MIX11/DVC01">http://channel9.msdn.com/events/MIX/MIX11/DVC01</a>.</p>
<p> <object type="application/x-silverlight-2" data="data:application/x-silverlight-2," width="685" height="388"><param name="minRuntimeVersion" value="4.0.50401.0"/><param name="source" value="http://channel9.msdn.com/scripts/Channel9.xap?v=1.5"/><param name="initParams" value="mediaurl=http://files.ch9.ms/mix/2011/wmv/DVC01.wmv,thumbnail=http://files.ch9.ms/mix/2011/thumbs/DVC01_lg.jpg,deliverymethod=,autoplay=false,entryid=3403256beeb34172a5059ea700ea77e4"/></object>
<p>Let me know what you think, Jeff.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeff.wilcox.name/2011/04/mix11-wilcox-talk/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
<enclosure url="http://files.ch9.ms/mix/2011/wmv/DVC01.wmv" length="364502371" type="video/asf" />
		</item>
		<item>
		<title>Upcoming speaking engagements on the Windows Phone</title>
		<link>http://www.jeff.wilcox.name/2011/03/upcoming-2011-speaking-engagements/</link>
		<comments>http://www.jeff.wilcox.name/2011/03/upcoming-2011-speaking-engagements/#comments</comments>
		<pubDate>Wed, 16 Mar 2011 21:45:15 +0000</pubDate>
		<dc:creator>Jeff Wilcox</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[MIX]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Windows Phone]]></category>

		<guid isPermaLink="false">http://www.jeff.wilcox.name/2011/03/upcoming-2011-speaking-engagements/</guid>
		<description><![CDATA[I wanted to share info on a few of the upcoming talks that I will be giving at a few conferences. If you’re thinking of attending any of these, I think there will be plenty to learn! MIX 2011 (April) At Microsoft’s own MIX 11 conference in Vegas, I will be presenting on Windows Phone [...]]]></description>
			<content:encoded><![CDATA[<p>I wanted to share info on a few of the upcoming talks that I will be giving at a few conferences. If you’re thinking of attending any of these, I think there will be plenty to learn!</p>
<h1>MIX 2011 (April)</h1>
<p>At Microsoft’s own <a href="http://live.visitmix.com/mix11">MIX 11 conference in Vegas</a>, I will be presenting on <a href="http://channel9.msdn.com/events/MIX/MIX11/DVC01">Windows Phone application performance</a> (session DVC01), with an emphasis on lessons learned, what’s improving in the performance space, and a look at the new Windows Phone profiler.</p>
<p>I’ve had the honor of attending MIX several years now and each year it gets better, more refined, and remains an outliner in the Microsoft conference line-up (it’s more fun, casual, and Las Vegas is always fun).</p>
<p>You can see the <a href="http://live.visitmix.com/mix11">current session list</a> for MIX 2011 <a href="http://live.visitmix.com/mix11">online</a>. Also, the Silverlight Toolkit has been nominated for one of the Nineny awards, so that will be exciting! MIX is held in Las Vegas at the Mandalay Bay convention center April 12-14. The keynote speakers on day one are Scott Guthrie and Joe Belfiore.</p>
<h1>NDC 2011 (June)</h1>
<p>I’ll be presenting a few sessions on Windows Phone developer at the <a href="http://ndc2011.no/index.aspx">Norwegian Developers Conference (NDC 2011)</a> in Oslo, Norway. The event is held from June 8-10. Here’s the <a href="http://ndc2011.no/agenda.aspx?cat=1071">current session lineup and schedule</a> for NDC 2011. Scott Guthrie is giving the keynote on 6/8.</p>
<p>I’m presenting 2 talks:</p>
<ul>
<li>On the morning of 6/7, a talk on “Peeking at the source of a successful Windows Phone app”. This is a 300-level talk that looks into what it takes to have a <em>large</em> Windows Phone app, from dealing with the marketplace, solving common problems, and a look at a smart data caching and loading system for pulling down data from web services.</li>
<li>In the afternoon, “Making a beautiful and rock-solid Windows Phone app”. This talk is more of a 200-level one that takes a simple Windows Phone app (like you could create in a matter of hours) and then takes it to the next level by adding visual effects, addressing usability and design issues, as well as adding error reporting and other key app services. It would be great for any developer thinking about building an app, to find out how to polish it and make a difference.</li>
</ul>
<p>There are a <a href="http://ndc2011.no/index.aspx?cat=1070">ton of other great speakers</a> going including Jon Skeet, Rob Conery, Jonas Follesø, and the .NET Rocks guys, just to name a few.</p>
<p>Hope to see you out in the wild this conference season!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeff.wilcox.name/2011/03/upcoming-2011-speaking-engagements/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MyPhotoApp: Sample project from my Windows Phone development series at &#216;redev</title>
		<link>http://www.jeff.wilcox.name/2010/11/demo-myphotoapp/</link>
		<comments>http://www.jeff.wilcox.name/2010/11/demo-myphotoapp/#comments</comments>
		<pubDate>Tue, 16 Nov 2010 17:52:51 +0000</pubDate>
		<dc:creator>Jeff Wilcox</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Windows Phone]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[demos]]></category>
		<category><![CDATA[mvvm]]></category>
		<category><![CDATA[oredev]]></category>
		<category><![CDATA[pivot]]></category>
		<category><![CDATA[samples]]></category>

		<guid isPermaLink="false">http://www.jeff.wilcox.name/2010/11/demo-myphotoapp/</guid>
		<description><![CDATA[Last week I gave a multi-part series on Windows Phone development at the Øredev conference in Malmö, Sweden. Here is the sample app that was built throughout the talk. It’s a simple app that lets you pick a photoset from Flickr for a given user, then browse the photos in a nice slideshow format (swipe&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I gave a multi-part series on Windows Phone development at the <a href="http://www.oredev.org/2010">Øredev conference</a> in Malmö, Sweden. Here is the sample app that was built throughout the talk. It’s a simple app that lets you pick a photoset from Flickr for a given user, then browse the photos in a nice slideshow format (swipe&#160; to move between the photos). It’s all setup with sweet data binding and goodness.</p>
<p><a href="http://www.jeff.wilcox.name/wp-content/uploads/2010/11/MyPhotoApp.zip">Download the zip</a> and make sure that you have the <a href="http://create.msdn.com/">Windows Phone Development Tools</a> and also the <a href="http://silverlight.codeplex.com/">Silverlight for Windows Phone Toolkit</a>.</p>
<p>This app has a number of things inside it:</p>
<ul>
<li>Simple view models</li>
<li>Simple Flickr web service layer</li>
<li>Integration of the service into the view model</li>
<li>Navigation service passing parameters to pages</li>
<li>Makes use of the <a href="http://json.codeplex.com/">JSON</a> library on CodePlex</li>
<li>Makes use of the Silverlight Toolkit for page transitions and the list picker control</li>
<li>Various examples of templating and styling</li>
<li>The Pivot control for the phone is used as a photo slide show with built-in flick and pan manipulations by not using the header or title properties, and binding the actual items to the photos to be shown</li>
<li>PerformanceProgressBar</li>
</ul>
<p>Things you need to do to get this working:</p>
<ul>
<li>You may need to add the references to the <a href="http://json.codeplex.com/">JSON library</a> as well as the toolkit before it will build for you.</li>
<li>You need a Flickr API key, <a href="http://www.flickr.com/services/apps/create/apply/">get one here</a>.</li>
<li>You need to put your API key inside the FlickrService.cs file on line 23.</li>
<li>Unless you want to browse all my photosets, you’ll want to put your own Flickr user ID string inside of MainPageViewModel.cs line 74.</li>
</ul>
<p>The talks in the series will be uploaded in the coming weeks I’ve been told, but they are not yet available.</p>
<h2>Pivot as a slide show component for photos</h2>
<p>Since pivot has the nice manipulations support built into it, it was super simple to use as a slide show-style photo viewer. Here’s the XAML I used for the slide show page:</p>
<p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:887EC618-8FBE-49a5-A908-2339AF2EC720:4e3632a9-9910-4c5c-80fd-455485423650" class="wlWriterEditableSmartContent">
<pre class="xml" name="code">&lt;controls:Pivot
    ItemsSource="{Binding Photos}"&gt;
    &lt;controls:Pivot.HeaderTemplate&gt;
        &lt;DataTemplate&gt;
            &lt;Grid Height="1" Width="1"/&gt;
        &lt;/DataTemplate&gt;
    &lt;/controls:Pivot.HeaderTemplate&gt;
    &lt;controls:Pivot.ItemTemplate&gt;
        &lt;DataTemplate&gt;
            &lt;Image Source="{Binding ImageUrl}"
                    /&gt;
        &lt;/DataTemplate&gt;
    &lt;/controls:Pivot.ItemTemplate&gt;
    &lt;controls:Pivot.ItemContainerStyle&gt;
        &lt;Style TargetType="controls:PivotItem"&gt;
            &lt;Setter Property="Margin" Value="0"/&gt;
            &lt;Setter Property="Padding" Value="0"/&gt;
        &lt;/Style&gt;
    &lt;/controls:Pivot.ItemContainerStyle&gt;
&lt;/controls:Pivot&gt;</pre>
</div>
<p>Walking through the elements, here is what they do.</p>
<h3>ItemsSource binding</h3>
<p>The view model for the slide show page includes a property that exposes the photo objects. This binds the pivot to that list. This means that without any of the other elements and templates being set, the pivot control will show the type name (Photo) instead of the actual photos.</p>
<p>Here’s the slide show view model file btw:</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:887EC618-8FBE-49a5-A908-2339AF2EC720:fd4331ad-ca66-49f3-843a-ffd56e1de05c" class="wlWriterEditableSmartContent">
<pre class="c-sharp" name="code">public class SlideshowViewModel : ViewModel
{
    private readonly IFlickrService _flickr;
    private bool _isLoading;
    private IEnumerable&lt;Photo&gt; _photos;

    public SlideshowViewModel()
        : this(new FlickrService())
    {
    }

    public SlideshowViewModel(IFlickrService flickrService)
    {
        _flickr = flickrService;
    }

    public bool IsLoading
    {
        get { return _isLoading; }
        private set
        {
            _isLoading = value;
            RaisePropertyChanged("IsLoading");
        }
    }

    public IEnumerable&lt;Photo&gt; Photos
    {
        get { return _photos; }
        set
        {
            _photos = value;
            RaisePropertyChanged("Photos");
        }
    }

    public void LoadPhotos(string photosetId)
    {
        IsLoading = true;
        _flickr.LoadPhotoset(photosetId, photos =&gt; Dispatch(() =&gt;
            {
                if (photos != null)
                {
                    Photos = photos;
                }
                IsLoading = false;
            }));
    }
}</pre>
</div>
<h3>HeaderTemplate data template</h3>
<p>This is a little bit of a Pivot control hack. You actually can set the header to x:Null, but then when you run this under the debugger, you may get a first-chance exception. The pivot control catches and continues, but it’s annoying as a developer.</p>
<p>This workaround, a 1&#215;1 grid, enables a “screen capture” to be taken of the header, avoiding the exception when it isn’t of size:</p>
<p><div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:887EC618-8FBE-49a5-A908-2339AF2EC720:31221d9d-7cf4-4cb7-885f-2839df85da02" class="wlWriterEditableSmartContent">
<pre class="xml" name="code">&lt;controls:Pivot.HeaderTemplate&gt;
    &lt;DataTemplate&gt;
        &lt;Grid Height="1" Width="1"/&gt;
    &lt;/DataTemplate&gt;
&lt;/controls:Pivot.HeaderTemplate&gt;</pre>
</div>
<p>This is all because for this slide show page, we don’t even want to show any headers, we aren’t using that visual part of the pivot ux – we’re just using the slick built-in manipulations logic and animations plus data binding.</p>
<h3>ItemTemplate data template</h3>
<p>This is what translates the data object (Photo) into an actual image that can be loaded.</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:887EC618-8FBE-49a5-A908-2339AF2EC720:ada8f8f9-4a63-4fce-9168-957f065bd307" class="wlWriterEditableSmartContent">
<pre class="xml" name="code">&lt;controls:Pivot.ItemTemplate&gt;
    &lt;DataTemplate&gt;
        &lt;Image Source="{Binding ImageUrl}"
                /&gt;
    &lt;/DataTemplate&gt;
&lt;/controls:Pivot.ItemTemplate&gt;</pre>
</div>
<p>The binding to ImageUrl is for the property on the Photo data object. Sorry it was a string instead of a Uri, cheap and easy on my side I suppose.</p>
<p><div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:887EC618-8FBE-49a5-A908-2339AF2EC720:b0ad5a43-253a-44f7-8085-79cd22a7296e" class="wlWriterEditableSmartContent">
<pre class="c-sharp" name="code">namespace MyPhotoApp.Flickr
{
    public class Photo
    {
        public string Id { get; set; }
        public string Title { get; set; }
        public string ImageUrl { get; set; }
    }
}
</pre>
</div>
<p>So this way the image will automatically load. A nice improvement I should have made was write some better code to make sure the images are ready to go and maybe even fade in as they’re downloaded, but for a two-minute slide show, this was all pretty easy.</p>
<h3>ItemContainerStyle for PivotItems</h3>
<p>By default, the user experience guidelines for the pivot control and pivot items are nicely set in the default styles and templates. You’ll note without using the item container style that there is spacing between the edge of the photos and the edge of the phone’s screen.</p>
<p>This is the 12 pixel margin on the left and right of the pivot items; when using the standard phone styles for things like buttons and textblocks, which include another 12px margin, this means there should be 24px on the left and right of the actual visual things inside the pivot. Things align nicely in that situation.</p>
<p>But this is a photo viewer, so we actually want to show as much of the photos as possible – so this container style says “for each new item we are creating, let’s just set the margin and padding properties to 0!”.</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:887EC618-8FBE-49a5-A908-2339AF2EC720:3010caac-244d-49bd-9501-20d2479d30bd" class="wlWriterEditableSmartContent">
<pre class="xml" name="code">&lt;controls:Pivot.ItemContainerStyle&gt;
    &lt;Style TargetType="controls:PivotItem"&gt;
        &lt;Setter Property="Margin" Value="0"/&gt;
        &lt;Setter Property="Padding" Value="0"/&gt;
    &lt;/Style&gt;
&lt;/controls:Pivot.ItemContainerStyle&gt;</pre>
</div>
<h2>Navigation service usage</h2>
<p>Inside this app, the navigation service is used to go to the slideshow page. Since the slideshow page has its nice view model data bound into the DataContext, I need to use the navigation service to get the photoset ID into the page. By using the URI inside the nav service instead of using a global variable or app-level call or property set, this means that the tombstoning for the app just works.</p>
<p>If you press the Start key while in a photoset, then hit back, you’ll come back to that photoset instead of the homepage for the app.</p>
<p>Now being a sample/demo app, I didn’t fully implement the right tombstoning behavior: I also should have actually stored the pivot selected index and restored that, so they would be on the same photo, etc. I also don’t using isolated storage in this app for simplicity sake, but that must be done for a real production app of course.</p>
<p>I also don’t properly do null/empty string checks in the calls, so if no photosets are returned and you try navigating, you’ll get a null ref exception. It’s demo code!</p>
<h3>Moving to the sub-page</h3>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:887EC618-8FBE-49a5-A908-2339AF2EC720:bff2b55a-702b-4780-8075-74eb3c8981fa" class="wlWriterEditableSmartContent">
<pre class="c-sharp" name="code">private void OnButtonClick(object sender, RoutedEventArgs e)
{
    NavigationService.Navigate(new Uri(
        string.Format(
        "/Views/SlideshowPage.xaml?id={0}",
        ((Photoset)SetList.SelectedItem).Id),
        UriKind.Relative));
}</pre>
</div>
<h3>Getting the photoset from the URI in the slideshow page</h3>
<p>In the page’s OnNavigatedTo event handler, I read the property from the query string if I can. I only load photos if I find a photoset ID. This does have the trouble that you’ll see a blank bit of nothing if there are no photos returned.</p>
<p>Also if you look at the implementation, you’ll note that the loading automatically happens in the view model – so I don’t have to have the code in the slideshow file worry at all about whether to show the loading indicator or not. That’s all declaratively setup in XAML. Nice.</p>
<p><div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:887EC618-8FBE-49a5-A908-2339AF2EC720:959455a6-6054-43c1-bd52-7195040c4e1b" class="wlWriterEditableSmartContent">
<pre class="c-sharp" name="code">protected override void OnNavigatedTo(NavigationEventArgs e)
{
    base.OnNavigatedTo(e);

    var context = DataContext as SlideshowViewModel;
    if (context != null)
    {
        string id;
        if (NavigationContext.QueryString.TryGetValue("id", out id))
        {
            context.LoadPhotos(id);
        }
    }
}
</pre>
</div>
<p>And since all IDs in Flickr are to be treated as UTF8 strings, I don’t have to parse or convert the string value from the query string into an integer or anything like that.</p>
<h4>General memory note</h4>
<p>Note that you’ll want to watch your <a href="http://blogs.msdn.com/b/ptorr/archive/2010/10/30/that-memory-thing-i-promised-you.aspx">memory consumption</a> if you go this route.</p>
<p><a href="http://www.jeff.wilcox.name/wp-content/uploads/2010/11/MyPhotoApp.zip">MyPhotoApp.zip download</a>. Hope this helps.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeff.wilcox.name/2010/11/demo-myphotoapp/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Silverlight and Windows Phone sessions at &#216;redev next week</title>
		<link>http://www.jeff.wilcox.name/2010/11/oredev-talks-2010/</link>
		<comments>http://www.jeff.wilcox.name/2010/11/oredev-talks-2010/#comments</comments>
		<pubDate>Mon, 01 Nov 2010 21:50:07 +0000</pubDate>
		<dc:creator>Jeff Wilcox</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Windows Phone]]></category>

		<guid isPermaLink="false">http://www.jeff.wilcox.name/2010/11/oredev-talks-2010/</guid>
		<description><![CDATA[Next week in Malmö, Sweden, there will be several great sessions on Windows Phone and Silverlight development at the Øredev Conference. I look forward to having a chance to present on some great topics and have some fun conversations as well. There’s a good presence of Microsoft presenters at the event, and I wanted to [...]]]></description>
			<content:encoded><![CDATA[<p>Next week in Malmö, Sweden, there will be several great sessions on Windows Phone and Silverlight development at the <a href="http://www.oredev.org/2010">Øredev Conference</a>. I look forward to having a chance to present on some great topics and have some fun conversations as well. There’s a good presence of Microsoft presenters at the event, and I wanted to highlight the phone and Silverlight sessions today.</p>
<h2>Getting Started with Silverlight Development</h2>
<p>Monday, 8/11, all day   <br />Tim Heuer, Jeff Wilcox, and others    <br />Firestarter session on Silverlight    <br /><a href="http://www.oredev.org/2010/sessions/getting-started-with-silverlight-development">Link</a></p>
<p><em>In this Firestarted themed session, Tim Heuer and Jeff Wilcox will give you the quick ramp up on creating Silverlight applications for the web, the desktop and the Windows Phone 7 platform. This day-long session will cover the basics of XAML, the programming model and how Silverlight differs from traditional .NET development.</em></p>
<h2>The Developer Who Played With XAML: Silverlight code and fables</h2>
<p>Wednesday, 10/11, .NET Track, 14:15-15:05   <br />Jeff Wilcox    <br /><a href="http://www.oredev.org/2010/sessions/the-developer-who-played-with-xaml-silverlight-code-and-fables">Link</a></p>
<p><em>Come hear about some of the history, a look ahead, and a tour of advanced Silverlight topics that should be intriguing to everyone and insightful to advanced Silverlight developers. Learn about why Silverlight has a native core, what AG_E_UNKNOWN_ERROR means, the importance of look-less controls (and how they differ from user controls), and what makes XAML rock. Learn about some of the great and not-so-great things that people do in their applications paired with recommendations and ideas for developers.</em></p>
<h2>Whirlwind Tour of Silverlight and Windows Phone 7 – Part 1</h2>
<p>Wednesday, 10/11, Smart Phone Track, 16:40-17:30   <br />Tim Heuer    <br /><a href="http://www.oredev.org/2010/sessions/whirlwind-tour-of-silverlight-and-windows-phone-7-with-tips-and-tricks">Link</a></p>
<p><em>With Windows Phone 7 launch happening, developers should be informed on how to build applications for the platform.&#160; If you know Silverlight, you know how to write an application for Windows Phone!&#160; This session will cover the core specifics of the Silverlight platform on the device and you&#8217;ll leave with some tips and tricks on creating the best experiences for your applications.</em></p>
<h2>Exploring Windows Phone Development – Part 2</h2>
<p>Thursday, 11/11, Smart Phone Track, 11:20-12:10   <br />Jeff Wilcox    <br /><a href="http://www.oredev.org/2010/sessions/exploring-windows-phone-development--part-2">Link</a></p>
<p><em>Learn about intermediate Windows Phone concepts including the application lifecycle model, data binding, navigation system, and how to build the best app experience through 10 very useful tips.</em></p>
<p>Hope to see some of you there! Oh, and p.s., <a href="http://team.silverlight.net/announcement/pdc-and-silverlight/">it ain’t dead</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeff.wilcox.name/2010/11/oredev-talks-2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Exploring Windows Phone Application Development Talk at JAOO Conference 4.10.10</title>
		<link>http://www.jeff.wilcox.name/2010/10/my-jaoo-2010-talk/</link>
		<comments>http://www.jeff.wilcox.name/2010/10/my-jaoo-2010-talk/#comments</comments>
		<pubDate>Sun, 03 Oct 2010 15:21:28 +0000</pubDate>
		<dc:creator>Jeff Wilcox</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Windows Phone]]></category>

		<guid isPermaLink="false">http://www.jeff.wilcox.name/2010/10/my-jaoo-2010-talk/</guid>
		<description><![CDATA[Updated 10/4 post-talk: Slides are available for 4.5MB either as PPTX or PDF. There is a lot more information in the slide deck, I wish I had time to review it all properly at a more leisurely pace! Thank you for everyone who attended. Original post before the talk This week is the JAOO Conference [...]]]></description>
			<content:encoded><![CDATA[<p>Updated 10/4 post-talk: Slides are available for 4.5MB either as <a href="http://d2bk44826ux9xe.cloudfront.net/wilcox_jaoo_2010.pptx">PPTX</a> or <a href="http://d2bk44826ux9xe.cloudfront.net/wilcox_jaoo_2010.pdf">PDF</a>. There is a lot more information in the slide deck, I wish I had time to review it all properly at a more leisurely pace!</p>
<p>Thank you for everyone who attended.</p>
<h2>Original post before the talk</h2>
<p>This week is the <a href="http://jaoo.dk/">JAOO Conference in Aarhus, Denmark</a> (Oct. 3-8), and I’m happy to be presenting on Monday 10/4 in the afternoon on Windows Phone 7 app dev. More information on my talk is <a href="http://jaoo.dk/aarhus-2010/presentation/Exploring%20Windows%20Phone%207%20Application%20Development">available here</a>, and the full line-up for <a href="http://jaoo.dk/aarhus-2010/schedule/monday.jsp">Monday is here</a>.</p>
<ul>
<li>Mobile Track </li>
<li>14:45 – 15:45 </li>
<li>Location: Filuren, Musikhuset </li>
</ul>
<p>The talk will be a whirlwind adventure over the hour, so even if you aren’t familiar with the Silverlight development platform, you’ll still be able to learn plenty about the phone, the development story for apps, and what features and capabilities there are. And yes, I’ll even cover a few limitations and offer performance tips.</p>
<p>A very rough outline of the talk is:</p>
<ul>
<li>Introduction to Windows Phone 7 </li>
<li>About Silverlight for Windows Phone </li>
<li>Controls </li>
<li>Threading </li>
<li>Navigation &amp; Pages </li>
<li>Specialized Controls </li>
<li>Pivot </li>
<li>Panorama </li>
<li>Application Lifetime </li>
<li>Launchers &amp; Choosers </li>
<li>Hardware APIs </li>
<li>Performance </li>
<li>Limitations </li>
<li>Marketplace </li>
</ul>
<p>I look forward to meeting everyone in Aarhus!</p>
<p>After the talk I will also be posting online the slides.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeff.wilcox.name/2010/10/my-jaoo-2010-talk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Deep dive on Silverlight unit testing at Tech Ed next month</title>
		<link>http://www.jeff.wilcox.name/2010/05/silverlight-testing-at-teched-2010/</link>
		<comments>http://www.jeff.wilcox.name/2010/05/silverlight-testing-at-teched-2010/#comments</comments>
		<pubDate>Tue, 11 May 2010 18:30:12 +0000</pubDate>
		<dc:creator>Jeff Wilcox</dc:creator>
				<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[TechEd]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://www.jeff.wilcox.name/2010/05/silverlight-testing-at-teched-2010/</guid>
		<description><![CDATA[Jeff Wilcox will be presenting a 200-level deep dive talk on Silverlight unit testing at the TechEd North America 2010 conference next month in New Orleans.]]></description>
			<content:encoded><![CDATA[<p>In about a month I will be presenting a 200-level session on Silverlight unit testing at <a href="http://northamerica.msteched.com/">Tech Ed North America in New Orleans</a>. The talk will be an hour with questions, so you can arrive new to Silverlight testing and leave with all the tools you need to be successful in building high-quality applications with the right level of regression coverage that your management can smile about.</p>
<p>The session will be more comprehensive than the overview talk I presented at <a href="http://www.jeff.wilcox.name/2010/03/mix10-testing-talk-online/">MIX 10 (which is available as a free online video stream now)</a>.</p>
<p><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="TechEd_2010" border="0" alt="TechEd_2010" src="http://www.jeff.wilcox.name/wp-content/uploads/2010/05/TechEd_2010.png" width="300" height="123" /> </p>
<p><a href="http://northamerica.msteched.com/topic/list?keyword=WEB205">Click here to view the talk information</a> on the Tech Ed site. The tentative information is as follows, but please double-check with the conference schedule builder before showing up:</p>
<blockquote><p><a href="http://northamerica.msteched.com/topic/list?keyword=WEB205"><strong>Unit Testing in Microsoft Silverlight</strong></a>       <br />Wednesday, June 9, 2010       <br />11:45 AM – 1:00 PM       <br />Room 287       <br />Session Code WEB205       <br /><a title="http://northamerica.msteched.com/topic/list?keyword=WEB205" href="http://northamerica.msteched.com/topic/list?keyword=WEB205">http://northamerica.msteched.com/topic/list?keyword=WEB205</a></p>
</blockquote>
<p>Hope to see some friendly faces in the audience! I’ll be up there in some sort of speaker polo shirt uniform with khakis, apparently this conference isn’t quite as trendy and cool as MIX in Vegas <img src='http://www.jeff.wilcox.name/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .</p>
<p>If you’re going to be attending Tech Ed, I’d appreciate any early comments you have as there is still time to shape the content of the talk.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeff.wilcox.name/2010/05/silverlight-testing-at-teched-2010/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>&#8220;Peppermint&#8221; MIX demo sources</title>
		<link>http://www.jeff.wilcox.name/2010/03/peppermint-src/</link>
		<comments>http://www.jeff.wilcox.name/2010/03/peppermint-src/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 21:30:53 +0000</pubDate>
		<dc:creator>Jeff Wilcox</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[MIX]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Windows Phone]]></category>

		<guid isPermaLink="false">http://www.jeff.wilcox.name/2010/03/peppermint-src/</guid>
		<description><![CDATA[At MIX, during my talk on unit testing Silverlight and Windows Phone applications, I demoed a simple application called ‘Peppermint’. Here’s the source; I’ll be writing up a full tutorial on Windows Phone later, so these are just ‘bleeding-edge bits’. Peppermint-Demo.zip [Zip, 1.2 MB] Silverlight: Requires Visual Studio 2010 (or express) Requires the Silverlight Toolkit [...]]]></description>
			<content:encoded><![CDATA[<p>At MIX, during my talk on <a href="http://live.visitmix.com/MIX10/Sessions/CL59">unit testing Silverlight and Windows Phone applications</a>, I demoed a simple application called ‘Peppermint’. Here’s the source; I’ll be writing up a full tutorial on Windows Phone later, so these are just ‘bleeding-edge bits’.</p>
<p><a href="http://www.jeff.wilcox.name/wp-content/uploads/2010/03/Peppermint-Demo.zip"><strong>Peppermint-Demo.zip</strong></a> [Zip, 1.2 MB]</p>
<p>Silverlight:</p>
<blockquote><p>Requires Visual Studio 2010 (or express)     <br />Requires the <a href="http://silverlight.codeplex.com/">Silverlight Toolkit</a>      <br />Requires the test framework binaries included in the zip</p>
</blockquote>
<p>Windows Phone:</p>
<blockquote><p>Requires the <a href="http://www.silverlight.net/getstarted/devices/windows-phone/">Windows Phone development tools CTP</a>      <br />Requires the test framework binaries included in the zip</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.jeff.wilcox.name/2010/03/peppermint-src/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Unit Testing Silverlight &amp; Windows Phone Applications &#8211; talk now online</title>
		<link>http://www.jeff.wilcox.name/2010/03/mix10-testing-talk-online/</link>
		<comments>http://www.jeff.wilcox.name/2010/03/mix10-testing-talk-online/#comments</comments>
		<pubDate>Wed, 17 Mar 2010 22:07:26 +0000</pubDate>
		<dc:creator>Jeff Wilcox</dc:creator>
				<category><![CDATA[MIX]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Silverlight Toolkit]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Windows Phone]]></category>

		<guid isPermaLink="false">http://www.jeff.wilcox.name/2010/03/mix10-testing-talk-online/</guid>
		<description><![CDATA[My MIX 10 talk, an introduction to unit testing on Silverlight and the Windows Phone, is now online for streaming and download. Thank you to everyone who attended. An early preview set of bits are online at http://jeffatmix.com/ – and the next release of the Silverlight Toolkit when Silverlight 4 ships will contain support for [...]]]></description>
			<content:encoded><![CDATA[<p>My <a href="http://live.visitmix.com/MIX10/Sessions/CL59">MIX 10 talk</a>, an introduction to unit testing on Silverlight and the Windows Phone, <a href="http://live.visitmix.com/MIX10/Sessions/CL59">is now online</a> for streaming and download. Thank you to everyone who attended.</p>
<p>An early preview set of bits are online at <a href="http://jeffatmix.com/">http://jeffatmix.com/</a> – and the next release of the Silverlight Toolkit when Silverlight 4 ships will contain support for the phone officially. Stay tuned for more.</p>
<p><a href="http://www.jeff.wilcox.name/2010/03/mix10-testing-talk-online/"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="SilverlightUnitTestFrameworkforWindowsPhone[1]" border="0" alt="SilverlightUnitTestFrameworkforWindowsPhone[1]" src="http://www.jeff.wilcox.name/wp-content/uploads/2010/03/SilverlightUnitTestFrameworkforWindowsPhone1_thumb.jpg" width="360" height="480" /></a> </p>
<p>Over the next few weeks, I’ll be blogging plenty on these subjects.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeff.wilcox.name/2010/03/mix10-testing-talk-online/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Ready to test those Silverlight and Windows Phone 7 Series apps?</title>
		<link>http://www.jeff.wilcox.name/2010/03/mix10-cl59-intro/</link>
		<comments>http://www.jeff.wilcox.name/2010/03/mix10-cl59-intro/#comments</comments>
		<pubDate>Mon, 08 Mar 2010 02:54:33 +0000</pubDate>
		<dc:creator>Jeff Wilcox</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[MIX]]></category>
		<category><![CDATA[Presentations]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Silverlight Toolkit]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Windows Phone]]></category>

		<guid isPermaLink="false">http://www.jeff.wilcox.name/2010/03/mix10-cl59-intro/</guid>
		<description><![CDATA[At MIX 10 this year, Tues. 3/16 at 2pm: Learn from Jeff Wilcox how to create and maintain Silverlight and Windows Phone 7 Series applications using the Silverlight Unit Test Framework.]]></description>
			<content:encoded><![CDATA[<p><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="Mix10_LoveTheWeb_blk_240" border="0" alt="Mix10_LoveTheWeb_blk_240" align="right" src="http://www.jeff.wilcox.name/wp-content/uploads/2010/03/Mix10_LoveTheWeb_blk_240.jpg" width="240" height="320" /> That’s right, my MIX 10 session’s been announced! Come learn about testing those apps.</p>
<p><a href="http://live.visitmix.com/MIX10/Sessions/CL59"><strong>UNIT TESTING SILVERLIGHT AND WINDOWS PHONE APPLICATIONS</strong></a>    <br />Jeff Wilcox in Lagoon B (Mandalay Bay)    <br />Tuesday, March 16, 2010 2:05 PM (30 minutes)</p>
<p>Session materials, slides and code will be posted after the session at <a href="http://jeffatmix.com/">http://jeffatmix.com/</a>.</p>
<p>Synposis from <a href="http://live.visitmix.com/MIX10/Sessions/CL59">http://live.visitmix.com/MIX10/Sessions/CL59</a>:</p>
<blockquote><p>Learn how to create and maintain Silverlight and Windows Phone 7 Series applications using the Silverlight Unit Test Framework. See what tools are available to easily validate controls and application interfaces, add automatic testing to builds, and gain a solid understanding of test principles to deliver great experiences for your clients and customers.</p>
</blockquote>
<p><em>What’ll be new at MIX for testing?</em></p>
<ul>
<li>Support for testing those Windows Phone 7 Series apps!</li>
<li>New release of the Silverlight Unit Test Framework, with a modern user interface, Out of Browser support, and more.</li>
</ul>
<p>Hope to see you all in Vegas! And if not – these sessions always make it online super quick. Let me know if there’s anything in particular you want covered in the talk.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeff.wilcox.name/2010/03/mix10-cl59-intro/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>WPF Toolkit: Charting release</title>
		<link>http://www.jeff.wilcox.name/2009/06/wpf-charting-release/</link>
		<comments>http://www.jeff.wilcox.name/2009/06/wpf-charting-release/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 20:04:41 +0000</pubDate>
		<dc:creator>Jeff Wilcox</dc:creator>
				<category><![CDATA[MIX]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Silverlight Toolkit]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://www.jeff.wilcox.name/?p=417</guid>
		<description><![CDATA[The Silverlight Toolkit's chart controls have made their way into the WPF Toolkit! More details on David's blog.]]></description>
			<content:encoded><![CDATA[<p>Just passing along the word, if you caught my <a href="http://www.jeff.wilcox.name/2009/03/mymix09-session/">MIX &#8217;09 talk</a> this year (or grabbed the <a href="http://www.jeff.wilcox.name/2009/04/mix09-source/">sources</a>), I demonstrated the Silverlight Toolkit&#8217;s charting components running on WPF. At the time, I mentioned that we had high hopes to bring them into WPF, and that has finally happened!</p>
<p><img alt="Charting in WPF" src="http://media.jeff.wilcox.name/blog/mix09/HousingPricesWpfApp.png" class="alignnone" width="685" height="528" /></p>
<p>More on <a href="http://blogs.msdn.com/delay/archive/2009/06/25/wpf-charting-it-s-official-june-2009-release-of-the-wpf-toolkit-is-now-available.aspx">David Anson&#8217;s blog post</a> about the WPF charting components.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeff.wilcox.name/2009/06/wpf-charting-release/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Engineering Excellence recognition for the Silverlight Unit Test Framework</title>
		<link>http://www.jeff.wilcox.name/2009/06/09-ee-awards/</link>
		<comments>http://www.jeff.wilcox.name/2009/06/09-ee-awards/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 06:04:38 +0000</pubDate>
		<dc:creator>Jeff Wilcox</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.jeff.wilcox.name/?p=410</guid>
		<description><![CDATA[I&#8217;m pleased to announce that the Silverlight Unit Test Framework received honorable mention at the Microsoft Engineering Excellence awards ceremony this evening. It&#8217;s great having the tool recognized as an important contribution to not only the success of Silverlight, but also to the success of so many development and test partners, both inside and outside [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m pleased to announce that the <b>Silverlight Unit Test Framework</b> received honorable mention at the Microsoft Engineering Excellence awards ceremony this evening. It&#8217;s great having the tool recognized as an important contribution to not only the success of Silverlight, but also to the success of so many development and test partners, both inside and outside Microsoft.</p>
<p>I really would like to thank each and every person who&#8217;s been able to use the tool. I really appreciate the feedback and conversations many of us have had to work to make improvements over the years (<em>Wow, has it been so long?!</em>).</p>
<h3>What&#8217;s this all about?</h3>
<p>Each year, Microsoft holds an Engineering Forum, jam-packed with sessions and talks much like an industry conference, focusing on everything from the core engineering disciplines to trustworthy computing and everything inbetween.</p>
<p>During the forum, a select set of awards are given out to a select innovations, recognizing teams and individuals for their successful engineering feats helping the company to ship safer, quicker, and better all-around software to the world. The criteria is challenging, nomination count very high, and the selection process intense.</p>
<p>Although the test framework wasn&#8217;t selected as a finalist, it did receive honorable mention, which is enough to make me happy.</p>
<p>It was also great hearing a little bit from some of the senior engineering leaders inside the company, including Ray Ozzie and Jon DeVaan.</p>
<p>A lot of great tools, processes, and accomplishments have been recognized over the years, and the bar is high, with great tools like <a href="http://www.nikhilk.net/Entry.aspx?id=196">Script#</a>, Nikhil Kothari&#8217;s famous C#/JavaScript tool, as well as Brad, Krzysztof, and Michael&#8217;s <a href="http://blogs.msdn.com/brada/archive/2007/07/05/fxcop-honored-with-chairman-s-award-for-engineering-excellence.aspx">FxCop</a> (now built into Visual Studio).</p>
<p>I hope that, with some of the plans I have in place for the framework, that maybe someday it&#8217;ll be a finalist for a future award of this nature &#8211; there&#8217;s a nice shiny crystal award that would look great on the bookshelf!</p>
<h3>What&#8217;s the Silverlight Unit Test Framework?</h3>
<p>The Silverlight Unit Test Framework is a simple unit and functional test system specially designed for Silverlight, building on existing desktop unit testing knowledge and metadata. You&#8217;ll find the test framework inside of the <a href="http://www.codeplex.com/Silverlight/">Silverlight Toolkit&#8217;s</a> source code package, and in use in a lot of places.</p>
<p>Thanks for everyone helping to make this a success!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeff.wilcox.name/2009/06/09-ee-awards/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Sharing Source and Skills &#8211; Source download</title>
		<link>http://www.jeff.wilcox.name/2009/04/mix09-source/</link>
		<comments>http://www.jeff.wilcox.name/2009/04/mix09-source/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 19:30:15 +0000</pubDate>
		<dc:creator>Jeff Wilcox</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[MIX]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Silverlight Toolkit]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://www.jeff.wilcox.name/?p=378</guid>
		<description><![CDATA[This post contains the sample app and control source code from Jeff Wilcox's MIX '09 talk, Sharing Skills and Code with Silverlight and WPF.]]></description>
			<content:encoded><![CDATA[<p>At the MIX &#8217;09 conference this year, I presented a talk, &#8220;<a href="http://www.jeff.wilcox.name/2009/03/mymix09-session/">Sharing Skills and Code with Silverlight &amp; WPF</a>&#8220;. Here&#8217;s the sample application and control source code that was used throughout the talk.</p>
<p>It demonstrates simple concepts for linking files from a Silverlight to WPF project, using partial classes and partial methods, preprocessor directives, and other tools to create projects that work throughout the Microsoft Client Platform.</p>
<h4>Silverlight sample application</h4>
<p><img alt="Silverlight Application" src="http://media.jeff.wilcox.name/blog/mix09/HousingPricesApp.png" title="Housing prices - Silverlight Application" width="685" height="620" /></p>
<h4>WPF sample application -100% the same source</h4>
<p><img alt="WPF Application" src="http://media.jeff.wilcox.name/blog/mix09/HousingPricesWpfApp.png" title="Housing prices - WPF Application" width="685" height="528" /></p>
<p><a href="http://media.jeff.wilcox.name/blog/mix09/SharingSkillsAndCode.zip">Download the samples</a> &#8211; Zip, 596 KB<br />
The Zip contains the following work:</p>
<ul>
<li>Toolbar control for Silverlight and WPF</li>
<li>Sample application for the Toolbox</li>
<li>Continuum application &#8211; same XAML and CS shared between a Silverlight and WPF application that uses the DataGrid, charting controls, and our custom Toolbar control</li>
<li>Value-add code, Awesome.cs, that adds some simple functionality to the WPF application only</li>
</ul>
<p>Hope this helps.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeff.wilcox.name/2009/04/mix09-source/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>The Silverlight Toolkit grows up a little with an install experience</title>
		<link>http://www.jeff.wilcox.name/2009/03/silverlight-toolkit-installer/</link>
		<comments>http://www.jeff.wilcox.name/2009/03/silverlight-toolkit-installer/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 08:06:24 +0000</pubDate>
		<dc:creator>Jeff Wilcox</dc:creator>
				<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[MIX]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Silverlight Toolkit]]></category>

		<guid isPermaLink="false">http://www.jeff.wilcox.name/?p=330</guid>
		<description><![CDATA[The Silverlight Toolkit's March 2009 release is out, now with an installation experience that adds controls to the Visual Studio and Expression Blend toolbox, and improves the design experience.]]></description>
			<content:encoded><![CDATA[<p><img alt="Silverlight 3 Visual Studio Toolbox" src="http://media.jeff.wilcox.name/blog/mix09/Silverlight3Toolbox.png" title="Silverlight 3 Visual Studio Toolbox" width="240" height="1946" align="right" hspace="4" vspace="4" />The <a href="http://silverlight.codeplex.com/">Silverlight Toolkit March 2009</a> includes an install experience for the first time. Instead of having to download a Zip file with all the bits and little instruction, we now have a complete installation experience for Windows.</p>
<p>This provides a very nice experience when using Visual Studio 2008 and Expression Blend 3, since the Toolkit&#8217;s controls appear alongside all other Silverlight SDK controls now.</p>
<p>I wanted to take a few minutes and record a few questions and answers about the new experience. Let me know if there are some other questions you&#8217;d like answered.</p>
<h3>Why are there two setup downloads for the March 2009 release?</h3>
<p>The March 2009 release is available for targeting Silverlight 2 applications (recommended for most developers and designers working on current production Silverlight 2 apps), and a Silverlight 3 Beta release.</p>
<p>Since the target platform is important, you can make a choice. Of course, both the Silverlight 2 and Silverlight 3 Beta installs for the Silverlight Toolkit support side-by-side; however, the Visual Studio 2008&#8242;s Silverlight Tools do not support &#8220;multi-targeting,&#8221; so you really should decide and stick to a single target development environment for Silverlight coding today.</p>
<h3>What are the system requirements?</h3>
<p>The Silverlight Toolkit only requires a recent version of the .NET framework to install. However, for the best experience, you should have one of these development environments installed and configured:</p>
<ul>
<li>Visual Studio 2008 SP1 with the Silverlight Tools (Silverlight 2 or Silverlight 3 Beta)</li>
<li>Visual Web Developer Express with the Silverlight Tools (Silverlight 2 or Silverlight 3 Beta)</li>
<li>Expression Blend 2 SP1 with Silverlight 2</li>
<li>Expression Blend 3 MIX &#8217;09 Preview with Silverlight 3 Beta</li>
</ul>
<p>More information about these tools and downloads is available at <a href="http://silverlight.net/getstarted/silverlight3/default.aspx">http://silverlight.net/getstarted/silverlight3/default.aspx</a>.</p>
<p>You can install the Silverlight Toolkit before or after the Silverlight Tools installation.</p>
<h3>What&#8217;s with the namespace change to System.Windows.Controls?</h3>
<p>As the Silverlight Toolkit has begun delivering controls into the official Silverlight SDK, it became apparent that we should be consistent across the Silverlight platform with regard to the namespace used for the Microsoft controls. As a result, we decided to make this namespace change along with the new &#8220;.Toolkit&#8221; assembly name scheme.</p>
<h3>Where&#8217;s the AutoCompleteBox control? How about TreeView?</h3>
<p>Some of the &#8220;Stable&#8221; controls were moved to the official Microsoft Silverlight 3 Beta SDK, since they are trending towards the &#8220;Mature&#8221; quality band. As a result, the controls live in different assemblies depending on whether you are performing Silverlight 2 or Silverlight 3 Beta development.</p>
<p>In the Silverlight 2 Toolkit March 2009 release, AutoCompleteBox is in System.Windows.Controls.Input.Toolkit. TreeView is in System.Windows.Controls.Toolkit.</p>
<p>In the Silverlight 3 Toolkit March 2009 release, AutoCompleteBox is in System.Windows.Controls.Input. TreeView is in System.Windows.Controls. <i>These assemblies are part of the Silverlight 3 Beta SDK and DO NOT require installation of the Silverlight Toolkit.</i></p>
<p>The Silverlight 2 controls are compatible with Silverlight 3, so existing applications will continue to work &#8211; but we do highly recommend that you update to the appropriate Silverlight Toolkit for your target Silverlight version, since we  do add version-enhanced features, such as animation easing for the Silverlight Toolkit charts in the Silverlight 3 Beta.</p>
<p>More information about the assembly and namespace name changes is available in <a href="http://blogs.msdn.com/sburke/archive/2009/03/20/silverlight-toolkit-march-2009-release.aspx">this post by Shawn Burke</a>.</p>
<h3>What is installed with the Silverlight Toolkit now?</h3>
<p>You&#8217;ll find the same basics as before, plus some. You&#8217;ll find these in the &#8220;Microsoft Silverlight 3 Toolkit March 2009&#8243; (or similarly named folder for the Silverlight 2 version) folder in your Start Menu.<br />
<img alt="" src="http://media.jeff.wilcox.name/blog/mix09/StartMenu.png" title="Start Menu" class="alignnone" width="267" height="295" /></p>
<ul>
<li>New &#8220;Welcome&#8221; page with general information about the release, plus a link to the breaking changes and release notes for the release.</li>
<li>Links to the CodePlex site for the Toolkit, plus the Silverlight.net discussion forums</li>
<li>A link to the sample application for the Toolkit, served from the local system</li>
<li>Links to Zip files containing the control source code and/or the sample source code</li>
<li>The documentation for the Toolkit controls in CHM format. The documentation file no longer requires the &#8220;Unlock&#8221; workaround step on Windows Vista and Windows 7. Do note that the documentation for former Silverlight Toolkit controls that now appear in the Silverlight 3 SDK, such as AutoCompleteBox, are now located in the official Silverlight documentation. An <a href="http://blogs.msdn.com/silverlight_sdk/archive/2009/03/18/silverlight-3-beta-offline-msdn-docs-chm-is-available.aspx">offline download of the SDK documentation</a> is also available.</li>
</ul>
<h3>What rocked about the Zip?</h3>
<p>Well, in my mind, it was:</p>
<ul>
<li>Transparent experience</li>
<li>Nothing fancy</li>
<li>Lightweight. Nothing to install, so if you didn&#8217;t want it anymore, you could just delete the files, for instance.</li>
</ul>
<h3>What was so bad about the Zip?</h3>
<ul>
<li>No integration into Visual Studio or Expression Blend out-of-the-box, without doing some manual file copy or registry work</li>
<li>Confusing to users used to a setup experience</li>
<li>CHM documentation files downloaded in a Zip require &#8220;Unlocking&#8221; before they work. Until then, they appear broken.</li>
</ul>
<h3>Would you consider offering releases in a Zip file, optionally, still?</h3>
<p>We&#8217;re open to the idea. Especially now that there&#8217;s an Eclipse Silverlight development experience, we do need to be mindful of the need to use the releases on other platforms.</p>
<p>Since our packaging infrastructure was initially designed to output these nice .Zip files, it wouldn&#8217;t be too tough for us to get this going. We&#8217;ll see what the customer requests look like.</p>
<h3>How do I select whether I want to get the source code to the controls?</h3>
<p>There is an installation option for a feature called &#8220;Source code,&#8221; you can click on the box to the left of the item and remove the component if you would not like to install the source package.</p>
<p>If you do select this feature (per the default), a .Zip file is placed on the system that contains the source code. You can extract the zip file into a location of your selection to build or view the source.</p>
<p><img alt="Setup Options" src="http://media.jeff.wilcox.name/blog/mix09/SetupOptions.png" title="Setup Options" class="alignnone" width="509" height="398" /></p>
<p>As always, the source is also available on the <a href="http://silverlight.codeplex.com/">Silverlight Toolkit CodePlex site</a>.</p>
<h3>What about Microsoft Expression Blend integration?</h3>
<p>The Blend 3 MIX09 Preview release includes support for having the Silverlight Toolkit appear in the &#8220;Custom Controls&#8221; tab of the Asset Library. This is only available for Silverlight 3 Beta, not the Silverlight 2 / Expression Blend 2 product.</p>
<p><img alt="" src="http://media.jeff.wilcox.name/blog/mix09/Blend3Toolbox.png" title="Blend 3 Toolbox" class="alignnone" width="685" height="323" /></p>
<p>There is some really great design time support in this release. For instance, if you just drop a &#8220;Chart&#8221; control onto your Blend design canvas, you&#8217;re greeted with a chart that has simple design time data! It might look a little like one of those &#8220;the most bars anywhere&#8221; cell phone commercials, but it is very helpful for styling.</p>
<p><img alt="" src="http://media.jeff.wilcox.name/blog/mix09/ChartDesignTime.png" title="Chart design time" class="alignnone" width="685" height="347" /></p>
<h3>What powers the installer?</h3>
<p>We leveraged the open source <a href="http://wix.sourceforge.net/">Windows Installer XML (WiX) toolset</a>, an excellent and easy way to build Windows Installer packages. Kudos to Eric St. John, a Microsoft developer who contributes to WiX, for excellent advice, btw!</p>
<p><img alt="" src="http://media.jeff.wilcox.name/blog/mix09/SilverlightToolkitInstaller.png" title="Silverlight Toolkit Installer" class="alignnone" width="509" height="398" /></p>
<p>This was important to our small development team, since we wanted to spend time working on new features like <b>awesome design-time integration</b> and new controls like <b>accordion</b> instead of assigning a developer to the setup full-time.</p>
<p>Hope you like the new experience. Let us know!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.jeff.wilcox.name/2009/03/silverlight-toolkit-installer/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

