﻿<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title>Nigel Spencer's Blog</title>
	<updated>2010-03-22T13:14:53Z</updated>
	<id>http://blog.spencen.com/atom.aspx</id>
	<link href="http://blog.spencen.com/atom.aspx" rel="self" type="application/rss+xml" />
	<link href="http://blog.spencen.com" rel="alternate" type="application/rss+xml" />
	<generator uri="http://app.onlinequickblog.com/" version="2.0">Quick Blogcast</generator>
	<entry>
		<title>Wrapping up a contract</title>
		<link rel="alternate" href="http://blog.spencen.com/2010/01/28/wrapping-up-a-contract.aspx?ref=rss" />
		<id>tag:blog.spencen.com,2010-01-28:954b200d-c740-4a91-acf9-a809de1539ae</id>
		<author>
			<name>Nigel Spencer</name>
		</author>
		<category term="General" />
		<updated>2010-01-28T11:56:04Z</updated>
		<published>2010-01-28T11:56:04Z</published>
		<content type="html">&lt;p&gt;This is my last week at my current employer. I’ve been spending most of my time updating the Wiki, doing some last minute branding changes, commenting code and general housekeeping.&lt;/p&gt;  &lt;p&gt;The project I’ve been working on for the last 18 months was called “Automation of Movements” – nicknamed to AoM. I came across the little gem that &lt;a href="http://david.gardiner.net.au/"&gt;Dave&lt;/a&gt; posted to the project Wiki very early in the development cycle.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.spencen.com/images/83489-72989/The%20AoM%20Team_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 15px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="The AoM Team" border="0" alt="The AoM Team" align="left" src="http://blog.spencen.com/images/83489-72989/The%20AoM%20Team_thumb.png" width="179" height="91" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;em&gt;Ten years ago, a crack IT-commando unit was sent to prison by a static code analyser for a bug they didn't create. These men promptly escaped from a Triple-DES security stockade to the Adelaide underground. Today, still wanted by the government/higher education and private sectors, they survive as developers of fortune. If you have a software problem, if no one else can help, and if you can find them, maybe you can hire... The AoM-Team.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Gold Dave, pure gold.&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>New Opportunities</title>
		<link rel="alternate" href="http://blog.spencen.com/2010/01/18/new-opportunities.aspx?ref=rss" />
		<id>tag:blog.spencen.com,2010-01-18:b2f24e6a-3e46-4403-bfb8-991650c2f5d0</id>
		<author>
			<name>Nigel Spencer</name>
		</author>
		<category term="Development" />
		<category term="General" />
		<updated>2010-01-18T01:35:10Z</updated>
		<published>2010-01-18T01:35:10Z</published>
		<content type="html">&lt;p&gt;I’ve lived and worked in Adelaide for my entire professional career. I’m lucky enough never to have been without interesting work to do. In fact I look back on some of the positions that I’ve had and I feel very lucky. There is no doubt within my mind that the Adelaide job market has been very kind to me over the years.&lt;/p&gt;  &lt;p&gt;However, I feel that maybe the time has finally come that I need to look further afield to make the next progression in my career path. &lt;/p&gt;  &lt;p&gt;With my current contract coming to the end its been time to think about what may lie ahead. This contract lasted 18 months and all the feedback we’ve had (dev team, business stakeholders and end users) has indicated that the project was a resounding success. I can vouch for the fact that this unanimous approval is more unusual than common and hence makes the feedback even more rewarding.&lt;/p&gt;  &lt;p&gt;Something else that I can take away from this project is that I thoroughly enjoy working with a team of high calibre developers. It would be true to say that I have learnt a lot from them over the course of this project. When the team was originally formed I had some concerns about how effectively we could work together given that the team structure was so “top heavy”. We had four guys that would normally have held lead developer/architect positions and only two “juniors”. It turned out that my fears were unfounded and we managed to work very well together – each of us seemingly effortlessly taking charge of one component of the project and managing the resource pool of juniors among us. There were plenty of constructive discussions too. Almost every architectural decision was challenged, which led not just to a more robust product but also enabled a great deal of knowledge sharing. &lt;/p&gt;  &lt;p&gt;So was it a perfectly executed project? Of course not. In hind-sight we still made plenty of mistakes and a number of compromises – but then again that’s probably a very healthy sign. With only 4 months to roll out version 1 of the product we couldn’t afford the luxury of too much prototyping, nor could we procrastinate on decisions that had to be made. Make an informed choice – move on.&lt;/p&gt;  &lt;p&gt;Given the outcome of my current role its clear to me that I need to be looking for the next new challenge that’s going to progress my development. So I need to consider what that role should include right?&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Surround myself with great developers &lt;/li&gt;    &lt;li&gt;Look for an inspiring leadership team&lt;/li&gt;    &lt;li&gt;Work for a software company – everyone’s mileage (kilometreage?) will vary on this one, but my experience is that a software company treats their developers well – they are the “talent”, in most other businesses they are sometimes considered just an overhead. &lt;/li&gt;    &lt;li&gt;The work is challenging – almost left this one off because its just so obvious – why would anyone want to work on something that is easy – what would keep you coming to work? &lt;/li&gt;    &lt;li&gt;It pays well. Sounds evil right? Well sorry but I’m a realist – if I had unlimited funds I’d write free software for a living because that’s what I love doing. Unfortunately my funds are most definitely limited. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Hmm… reading this back its probably the most philosophical blog post I’ve written to date. Not sure if its simply me getting older, or it has something to do with me writing this 11 km above sea level whilst travelling to another continent. And no it’s not a holiday – its a job interview.&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>Lego Mindstorms NXT 2.0</title>
		<link rel="alternate" href="http://blog.spencen.com/2010/01/14/lego-mindstorms-nxt-20.aspx?ref=rss" />
		<id>tag:blog.spencen.com,2010-01-14:8facb288-dca9-4613-93e5-8fa346c998f0</id>
		<author>
			<name>Nigel Spencer</name>
		</author>
		<category term="Development" />
		<category term="General" />
		<updated>2010-01-14T13:39:00Z</updated>
		<published>2010-01-14T13:39:00Z</published>
		<content type="html">&lt;P&gt;Unlike &lt;A href="http://blogs.msdn.com/acoat/archive/2010/01/13/lego-mindstorms-nxt2-0-trophybot.aspx"&gt;Andrew Coates&lt;/A&gt; I have a legitimate reason for buying a &lt;A href="http://mindstorms.lego.com/eng/default.aspx"&gt;Lego Mindstorms NXT 2.0&lt;/A&gt; Robotics kit. I have a young son who’s very keen on Lego and has been building his own robots out of cardboard and Sellotape for the last three months.&lt;/P&gt;
&lt;P&gt;I must admit that I had expected to be building and programming the first few robots myself whilst my son got the hang of it all. However, that was not the case. &lt;/P&gt;
&lt;P&gt;Here’s the robot that is currently built with our kit.&lt;/P&gt;
&lt;P&gt;&lt;A href="$MindstormsCrawlerwithFan11.png"&gt;&lt;/A&gt;&lt;IMG src="http://images.quickblogcast.com/83489-72989/Mindstorms Crawler with Fan_thumb.png?a=65"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Not very impressive I hear you say? Well take the following into consideration:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;It was built in just over 1 hour with no instructions – including the programming &lt;/LI&gt;
&lt;LI&gt;It can crawl quite effectively – moving forward and backward with no wheels &lt;/LI&gt;
&lt;LI&gt;It is programmed to stop when it nears a wall (using Ultrasonic sensor) &lt;/LI&gt;
&lt;LI&gt;It has two touch sensors that operate the linked fan as programmed with two speed settings &lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;I wasn’t involved at all&lt;/STRONG&gt; &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;It is a real testament to the Mindstorms kit that a child who has yet to learn multiplication at school (several years under the kits “official” minimum age) could put all this together himself. The bundled software for programming the robot really is that easy to use. &lt;/P&gt;
&lt;P&gt;My only involvement was to write a simple Window Mobile application that could be used to control the robot. This is done via an exposed Direct Command API supported by the NXT 2.0 block’s Bluetooth interface.&lt;/P&gt;
&lt;P&gt;This kit is already a winner in our house. There’s even a good blog for it &lt;A href="http://thenxtstep.blogspot.com/"&gt;here&lt;/A&gt;.&lt;/P&gt;</content>
	</entry>
	<entry>
		<title>A New Aussie Flavoured Podcast</title>
		<link rel="alternate" href="http://blog.spencen.com/2009/12/22/a-new-aussie-flavoured-podcast.aspx?ref=rss" />
		<id>tag:blog.spencen.com,2009-12-22:4bc2863b-1dc0-4aa4-8239-7e0c12e22b60</id>
		<author>
			<name>Nigel Spencer</name>
		</author>
		<category term="General" />
		<updated>2009-12-22T12:40:31Z</updated>
		<published>2009-12-22T12:40:31Z</published>
		<content type="html">&lt;p&gt;&lt;img style="margin: 0px 0px 0px 10px; display: inline" align="right" src="http://www.noisetosignal.com.au/franklyspeaking/wp-content/assets/logo_speaker_300.jpg" width="240" height="240" /&gt;I’ve just started listened to the new &lt;em&gt;&lt;a href="http://noisetosignal.com.au/franklyspeaking/"&gt;Frankly Speaking&lt;/a&gt;&lt;/em&gt; podcast created by Australian Microsoft DPEs &lt;a href="http://blogs.msdn.com/acoat"&gt;Andrew Coates&lt;/a&gt; and &lt;a href="http://delicategeniusblog.com/"&gt;Michael Kordahi&lt;/a&gt;. The guys are new to podcasting – and in the early episodes it shows – the sound levels are all over the place. What is great about the podcast however, is that it has a really Aussie flavour – for instance did you know:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Australia currently has around 115 MVPs&lt;/li&gt;    &lt;li&gt;Azure will be officially launched in Australia in March&lt;/li&gt;    &lt;li&gt;Shane Morris (UX guy) has career aspirations&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;What’s great about the podcast&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The Aussie bent – Australian guests, what’s happening in Microsoft Australia etc.&lt;/li&gt;    &lt;li&gt;Laid back, conversational style – I class it an “easy listening” podcast as compared to something like &lt;em&gt;&lt;a href="http://www.se-radio.net/"&gt;Software Engineering Radio&lt;/a&gt;.&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;The funny Australian accents – hey its a change from &lt;a href="http://david.gardiner.net.au/2009/08/podcasts-i-listening-too.html"&gt;most other podcasts I listen to&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;The album art – damn why can’t I come up with that stuff? Wonder if &lt;a href="http://blogs.msdn.com/shanemo/"&gt;ShaneMo&lt;/a&gt; had a hand in that?&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;What can be improved&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Sounds levels – seriously guys – within a single show the sound levels are all over the place. Even within a single conversation the levels vary widely – presumably as people move their heads instead of talking into the mic. The second show was so quiet I couldn’t hear it over the bus even with the volume turned to full!     &lt;br /&gt;Only fair to say though that each shows sound quality seems to be an improvement on the last, so the guys are learning fast.&lt;/li&gt;    &lt;li&gt;Missing property metadata, they’ve got Track number, Year and Artists but I’d also like to see:     &lt;br /&gt;Genre: Podcast (not “Other”)      &lt;br /&gt;Album: Frankly Speaking&lt;/li&gt; &lt;/ul&gt;</content>
	</entry>
	<entry>
		<title>Developing for Windows Mobile &amp;ndash; XAML for Win Forms</title>
		<link rel="alternate" href="http://blog.spencen.com/2009/11/06/developing-for-windows-mobile-ndash-xaml-for-win-forms.aspx?ref=rss" />
		<id>tag:blog.spencen.com,2009-11-07:2452195b-d550-41ff-8dd3-ba0fc37a6ca3</id>
		<author>
			<name>Nigel Spencer</name>
		</author>
		<category term="Development" />
		<category term=".NET" />
		<category term="Windows Phone" />
		<updated>2009-11-06T14:51:27Z</updated>
		<published>2009-11-06T14:51:27Z</published>
		<content type="html">&lt;p&gt;Many years ago (2004/5?) I was given the task of writing a XAML engine for System.Windows.Forms. It was a great experience and to do the job properly (I hope) it took quite some time. It had support for most of what’s available in WPF’s XAML – namespaces, markup extensions, attached properites (IExtenderProviders in WinForms speak), type converters, late bound binding, styles, triggers etc. plus a bunch of stuff that isn’t - #include, using parameterized constructors, simplified referencing etc.&lt;/p&gt;  &lt;p&gt;In my Windows Mobile UI Framework the idea of having the capability of defining screens in XAML was kind of an afterthought. I had truly forgotten how painful it is to define UI’s programmatically. I’ve also never been a fan of form designers – I think they are slow, in-accurate and generate hard to maintain code/XAML. To this day I do 90% of my XAML using an XML editor (VS or Kaxaml).&lt;/p&gt;  &lt;p&gt;So as per my &lt;a href="http://blog.spencen.com/2009/10/27/developing-for-windows-mobile-ndash-mobile-xaml.aspx"&gt;last post&lt;/a&gt; I whipped up a very simplified XAML parser/renderer to use with my Mobile UI Framework. However, the latest control that I added to the framework was &lt;strong&gt;FormHost&lt;/strong&gt; which allows a System.Windows.Forms control to be hosted within a &lt;strong&gt;DrawingElement&lt;/strong&gt; (my UI base class). Of course when I say “hosted” the FormHost is really just acting as a placeholder so that the hosted control can be positioned during the render pass.&lt;/p&gt;  &lt;p&gt;Here’s the code I had to add for FormHost:&lt;/p&gt;  &lt;pre class="code"&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;using &lt;/span&gt;System;
&lt;span style="color: blue"&gt;using &lt;/span&gt;System.Drawing;
&lt;span style="color: blue"&gt;using &lt;/span&gt;System.Windows.Forms;

&lt;span style="color: blue"&gt;using &lt;/span&gt;Spencen.Mobile.UI.Primitives;

&lt;span style="color: blue"&gt;namespace &lt;/span&gt;Spencen.Mobile.UI.Controls
{
    &lt;span style="color: blue"&gt;public class &lt;/span&gt;&lt;span style="color: #2b91af"&gt;FormHost &lt;/span&gt;: &lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: #2b91af"&gt;DrawingContainer
    &lt;/span&gt;{
        &lt;span style="color: blue"&gt;private &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Control &lt;/span&gt;_hostControl;

        &lt;span style="color: blue"&gt;public &lt;/span&gt;FormHost( &lt;span style="color: #2b91af"&gt;IDrawingHost &lt;/span&gt;host ) : &lt;span style="color: blue"&gt;base&lt;/span&gt;( host )
        {
            _hostControl = host &lt;span style="color: blue"&gt;as &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Control&lt;/span&gt;;
            &lt;span style="color: blue"&gt;if &lt;/span&gt;( _hostControl == &lt;span style="color: blue"&gt;null &lt;/span&gt;)
                &lt;span style="color: blue"&gt;throw new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;ArgumentException&lt;/span&gt;(&lt;br /&gt;                   &lt;span style="color: #a31515"&gt;&amp;quot;FormHost must have an IDrawingHost that is a Windows.Forms.Control.&amp;quot;&lt;/span&gt;, &lt;span style="color: #a31515"&gt;&amp;quot;host&amp;quot;&lt;/span&gt;);

            &lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: green"&gt;// By default we have no background or border
            &lt;/span&gt;Background = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SolidBrush&lt;/span&gt;( &lt;span style="color: #2b91af"&gt;Color&lt;/span&gt;.Transparent );
            Stroke = &lt;span style="color: blue"&gt;null&lt;/span&gt;;
        }

        &lt;span style="color: blue"&gt;public &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Control &lt;/span&gt;HostedControl { &lt;span style="color: blue"&gt;get&lt;/span&gt;; &lt;span style="color: blue"&gt;set&lt;/span&gt;; }

        &lt;span style="color: blue"&gt;public override bool &lt;/span&gt;SupportsRotation { &lt;span style="color: blue"&gt;get &lt;/span&gt;{ &lt;span style="color: blue"&gt;return false&lt;/span&gt;; } }

        &lt;span style="color: blue"&gt;protected override void &lt;/span&gt;OnRender( &lt;span style="color: #2b91af"&gt;GraphicsContext &lt;/span&gt;context )
        {
            &lt;span style="color: blue"&gt;base&lt;/span&gt;.OnRender( context );

            &lt;span style="color: blue"&gt;var &lt;/span&gt;transformedBounds = TransformedBounds( context );

            &lt;span style="color: blue"&gt;if &lt;/span&gt;( !_hostControl.Controls.Contains( HostedControl ) )
                _hostControl.Controls.Add( HostedControl );
            
            &lt;span style="color: blue"&gt;var &lt;/span&gt;newLocation = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Point&lt;/span&gt;( transformedBounds.Left, transformedBounds.Top );
            &lt;span style="color: blue"&gt;if &lt;/span&gt;( newLocation != HostedControl.Location )
                HostedControl.Location = newLocation;
            &lt;span style="color: blue"&gt;var &lt;/span&gt;newSize = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Size&lt;/span&gt;( transformedBounds.Width + 1, transformedBounds.Height + 1);
            &lt;span style="color: blue"&gt;if &lt;/span&gt;( newSize != HostedControl.Size )
                HostedControl.Size = newSize;
        }
    }
}&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;

&lt;p&gt;&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;So pretty simple – but what was extra nice was the fact that it meant I could immediately declare my hosted System.Windows.Forms controls using XAML without any changes to the XAML parser/renderer at all.&lt;/p&gt;

&lt;pre class="code"&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #a31515"&gt;xml &lt;/span&gt;&lt;span style="color: red"&gt;version&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;1.0&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;encoding&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;utf-8&lt;/span&gt;&amp;quot; &lt;/font&gt;&lt;/font&gt;&lt;span style="color: blue"&gt;&lt;font size="1" face="Verdana"&gt;?&amp;gt;
&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: #a31515"&gt;View
  &lt;/span&gt;&lt;span style="color: red"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;http://mobileui.codeplex.com/v1&lt;/span&gt;&amp;quot;
  &lt;span style="color: red"&gt;xmlns:x&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;&lt;a href="http://mobileui.codeplex.com/xaml&amp;quot;"&gt;http://mobileui.codeplex.com/xaml&lt;/span&gt;&amp;quot;
&lt;/a&gt;  &lt;span style="color: red"&gt;xmlns:WinForms&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;System.Windows.Forms,System.Windows.Forms&lt;/span&gt;&amp;quot;
  &lt;span style="color: red"&gt;DesiredSize&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Unbound&lt;/span&gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;  
  &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;DrawingPanel &lt;/span&gt;&lt;span style="color: red"&gt;x:Name&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;container&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;DesiredSize&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Unbound&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;Background&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;{null}&lt;/span&gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;gt;

    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;TextElement &lt;/span&gt;&lt;span style="color: red"&gt;Text&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Text&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;DesiredSize&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;150,60&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;AutoSize&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;True&lt;/span&gt;&amp;quot;/&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;gt; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;RectangleElement &lt;/span&gt;&lt;span style="color: red"&gt;DesiredSize&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;50,80&lt;/span&gt;&amp;quot;/&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;EllipseElement &lt;/span&gt;&lt;span style="color: red"&gt;DesiredSize&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;40,70&lt;/span&gt;&amp;quot;/&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;gt;
    &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;RegularPolygonElement &lt;/span&gt;&lt;span style="color: red"&gt;NumberOfSides&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;6&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;DesiredSize&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;80,80&lt;/span&gt;&amp;quot;/&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;gt;
    &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;RegularPolygonElement &lt;/span&gt;&lt;span style="color: red"&gt;NumberOfSides&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;3&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;DesiredSize&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;90,70&lt;/span&gt;&amp;quot;/&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;br /&gt;    &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;RegularPolygonElement &lt;/span&gt;&lt;span style="color: red"&gt;NumberOfSides&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;8&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;DesiredSize&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;80,80&lt;/span&gt;&amp;quot;/&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Star &lt;/span&gt;&lt;span style="color: red"&gt;NumberOfPoints&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;5&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;DesiredSize&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;80,80&lt;/span&gt;&amp;quot;/&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;gt;
&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;
    &amp;lt;!-- &lt;/span&gt;&lt;span style="color: green"&gt;Just to spice things up - here's some WinForms controls - just don't expect them to rotate! &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;--&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;FormHost &lt;/span&gt;&lt;span style="color: red"&gt;DesiredSize&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;240,40&lt;/span&gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;gt;
      &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;FormHost.HostedControl&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;WinForms:TextBox &lt;/span&gt;&lt;span style="color: red"&gt;Text&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Hello WinForms&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;Multiline&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;True&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;BackColor&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;240,255,240&lt;/span&gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;/&amp;gt;
      &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;FormHost.HostedControl&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;FormHost&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;FormHost &lt;/span&gt;&lt;span style="color: red"&gt;DesiredSize&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;240,80&lt;/span&gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;gt;
      &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;FormHost.HostedControl&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;gt;
        &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;WinForms&lt;img src="http://blog.spencen.com/emoticons/tongue.png" border="0" /&gt;anel&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;gt;
          &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;WinForms&lt;img src="http://blog.spencen.com/emoticons/tongue.png" border="0" /&gt;anel.Controls&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;WinForms:RadioButton &lt;/span&gt;&lt;span style="color: red"&gt;Checked&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;True&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;Text&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Is WinForms?&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;BackColor&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;255,255,223&lt;/span&gt;&amp;quot; &lt;br /&gt;                                               &lt;span style="color: red"&gt;Dock&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Top&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;Height&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;20&lt;/span&gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;/&amp;gt;
            &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;WinForms:RadioButton &lt;/span&gt;&lt;span style="color: red"&gt;Checked&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;True&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;Text&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Is MobileUI?&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;BackColor&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;255,255,223&lt;/span&gt;&amp;quot; &lt;br /&gt;                                               &lt;span style="color: red"&gt;Dock&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Fill&lt;/span&gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;/&amp;gt;
          &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;WinForms&lt;img src="http://blog.spencen.com/emoticons/tongue.png" border="0" /&gt;anel.Controls&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;gt;
        &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;WinForms&lt;img src="http://blog.spencen.com/emoticons/tongue.png" border="0" /&gt;anel&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;gt;
      &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;FormHost.HostedControl&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;FormHost&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;gt;

  &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;DrawingPanel&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;gt;
  
&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;View&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="MobileUI_Screenshot 5" border="0" alt="MobileUI_Screenshot 5" src="http://blog.spencen.com/images/83489-72989/MobileUI_Screenshot%205_1.png" width="240" height="400" /&gt;&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>Windows Mobile 6.5 Update for HTC Touch Diamond 2 (SE Asia)</title>
		<link rel="alternate" href="http://blog.spencen.com/2009/11/06/windows-mobile-65-update-for-htc-touch-diamond-2-se-asia.aspx?ref=rss" />
		<id>tag:blog.spencen.com,2009-11-06:242bf249-6e6e-4c22-a95e-cbc4274c52c2</id>
		<author>
			<name>Nigel Spencer</name>
		</author>
		<category term="Windows Phone" />
		<updated>2009-11-06T14:05:39Z</updated>
		<published>2009-11-06T14:05:39Z</published>
		<content type="html">&lt;p&gt;Tonight I downloaded and installed the official &lt;a href="http://www.htc.com/sea/SupportViewNews.aspx?dl_id=737&amp;amp;news_id=319"&gt;Windows Mobile 6.5 ROM (SE Asia)&lt;/a&gt; on my &lt;a href="http://blog.spencen.com/2009/06/24/htc-touch-diamond2.aspx"&gt;HTC Touch Diamond 2&lt;/a&gt;. I’d previously used &lt;a href="http://myphone.microsoft.com"&gt;Microsoft My Phone&lt;/a&gt; software to back up all my personal data (excluding SD card) to the cloud. The re-install process worked flawlessly putting ringtones, contacts, &lt;strike&gt;favourites&lt;/strike&gt;, text message history etc. back just the way they were prior to flashing the ROM – very nice.&lt;/p&gt;  &lt;p&gt;However, I’d like to see My Phone do more, specifically:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Backup/restore mail settings (most importantly POP) &lt;/li&gt;    &lt;li&gt;Backup/restore bookmarks for Opera Browser (default on HTC device) – even if converted to IE8 favourites &lt;/li&gt;    &lt;li&gt;Merge duplicate contacts – the option is there on the website – but it seems to just check for exact duplicates. I want it to merge details for entries that have the same name, e.g. contact listing with IM details, another with phone, yet another with email – merged into a single contact. &lt;/li&gt;    &lt;li&gt;Less obnoxious advertisements on the website. &lt;/li&gt; &lt;/ul&gt;</content>
	</entry>
	<entry>
		<title>Developing for Windows Mobile &amp;ndash; Mobile XAML?</title>
		<link rel="alternate" href="http://blog.spencen.com/2009/10/27/developing-for-windows-mobile-ndash-mobile-xaml.aspx?ref=rss" />
		<id>tag:blog.spencen.com,2009-10-27:713ce12d-b84d-433d-81dc-bcb4152608b5</id>
		<author>
			<name>Nigel Spencer</name>
		</author>
		<category term="Development" />
		<category term=".NET" />
		<category term="Windows Phone" />
		<updated>2009-10-26T15:39:59Z</updated>
		<published>2009-10-26T15:39:59Z</published>
		<content type="html">&lt;p&gt;I’ve now included a “first cut” XAML parser (ultra simplistic) within v0.2 of my &lt;a href="http://mobileui.codeplex.com/"&gt;Mobile UI Framework&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Allows me to convert:&lt;/p&gt;  &lt;pre class="code"&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;lt;?&lt;/span&gt;&lt;span style="color: #a31515"&gt;xml &lt;/span&gt;&lt;span style="color: red"&gt;version&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;1.0&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;encoding&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;utf-8&lt;/span&gt;&amp;quot; &lt;/font&gt;&lt;/font&gt;&lt;span style="color: blue"&gt;&lt;font size="1" face="Verdana"&gt;?&amp;gt;
&amp;lt;&lt;/font&gt;&lt;/span&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: #a31515"&gt;DrawingPanel 
  &lt;/span&gt;&lt;span style="color: red"&gt;xmlns&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;http://mobileui.codeplex.com/v1&lt;/span&gt;&amp;quot; 
  &lt;span style="color: red"&gt;xmlns:sysDrawing&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;System.Drawing&lt;/span&gt;&amp;quot;
  &lt;span style="color: red"&gt;DesiredSize&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Unbound&lt;/span&gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;gt;

  &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;GradientRectangleElement &lt;/span&gt;&lt;span style="color: red"&gt;DesiredSize&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Unbound&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;StartColor&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;240,240,240&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;EndColor&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;20&lt;span style="color: blue"&gt;0,80,0&lt;/span&gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;/&amp;gt;

  &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;TextElement &lt;/span&gt;&lt;span style="color: red"&gt;DesiredSize&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;400,500&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;Foreground&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;200,200,200&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;Text&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Demo&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;Angle&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;315&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;AutoSize&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;True&lt;/span&gt;&amp;quot; &lt;br /&gt;                      &lt;span style="color: red"&gt;HorizontalAlignment&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Center&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;VerticalAlignment&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Center&lt;/span&gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;/&amp;gt;
  
  &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;DrawingPanel &lt;/span&gt;&lt;span style="color: red"&gt;DesiredSize&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Unbound&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;Background&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;{null}&lt;/span&gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;DrawingPanel.LayoutEngine&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;gt;
      &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;StackLayout &lt;/span&gt;&lt;span style="color: red"&gt;Margin&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;8,4&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;Padding&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;4&lt;/span&gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;/&amp;gt;
    &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;DrawingPanel.LayoutEngine&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;gt;

    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ButtonBar &lt;/span&gt;&lt;span style="color: red"&gt;Text&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Animations&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;SecondaryText&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Animate properties of graph primitives&lt;/span&gt;&amp;quot; &lt;br /&gt;                     &lt;span style="color: red"&gt;DesiredSize&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;UnboundAxis, 80&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;Background&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;{null}&lt;/span&gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;/&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ButtonBar &lt;/span&gt;&lt;span style="color: red"&gt;Text&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Trasitions&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;SecondaryText&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Optimized bitmap animations&lt;/span&gt;&amp;quot; &lt;br /&gt;                     &lt;span style="color: red"&gt;DesiredSize&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;UnboundAxis, 80&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;Background&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;{null}&lt;/span&gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;/&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ButtonBar &lt;/span&gt;&lt;span style="color: red"&gt;Text&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Primitives&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;SecondaryText&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Polygon, Ellipse, Image, Text&lt;/span&gt;&amp;quot; &lt;br /&gt;                     &lt;span style="color: red"&gt;DesiredSize&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;UnboundAxis, 80&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;Background&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;{null}&lt;/span&gt;&amp;quot; &lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;/&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ButtonBar &lt;/span&gt;&lt;span style="color: red"&gt;Text&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Behaviours&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;SecondaryText&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Drag with slide&lt;/span&gt;&amp;quot; &lt;br /&gt;                     &lt;span style="color: red"&gt;DesiredSize&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;UnboundAxis, 80&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;Background&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;{null}&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;Command&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;{Binding DragDemoCommand}&lt;/span&gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;/&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ButtonBar &lt;/span&gt;&lt;span style="color: red"&gt;Text&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Layout&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;SecondaryText&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;Stack, Wrap and Radial&lt;/span&gt;&amp;quot; &lt;br /&gt;                      &lt;span style="color: red"&gt;DesiredSize&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;UnboundAxis, 80&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;Background&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;{null}&lt;/span&gt;&amp;quot; &lt;span style="color: red"&gt;Command&lt;/span&gt;&lt;span style="color: blue"&gt;=&lt;/span&gt;&amp;quot;&lt;span style="color: blue"&gt;{Binding LayoutDemoCommand}&lt;/span&gt;&amp;quot;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;/&amp;gt;

  &amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;DrawingPanel&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;&amp;gt;

&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;DrawingPanel&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;Into:&lt;/p&gt;
&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=mobileui&amp;amp;DownloadId=89373" /&gt; 

&lt;p&gt;I was getting really sick of doing it the “old fashioned way” &lt;img src="http://blog.spencen.com/emoticons/smile.png" border="0" /&gt;&lt;/p&gt;

&lt;p&gt;So far I support simple value type converters (float, bool), pen and brush converters, size and padding converters, resource naming (x:Name), complex properties (DrawingPanel.LayoutEngine) and loading types from other CLR namespaces via XML namespace (xmlns:sysDrawing).&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>Microsoft&amp;rsquo;s Pressure Sensitive Keyboard</title>
		<link rel="alternate" href="http://blog.spencen.com/2009/10/22/microsoftrsquos-pressure-sensitive-keyboard.aspx?ref=rss" />
		<id>tag:blog.spencen.com,2009-10-22:40db044b-ff1c-4978-a183-7df4d4dc0e68</id>
		<author>
			<name>Nigel Spencer</name>
		</author>
		<category term="General" />
		<updated>2009-10-22T11:52:39Z</updated>
		<published>2009-10-22T11:52:39Z</published>
		<content type="html">&lt;p&gt;I want one of these!&lt;/p&gt;  &lt;p&gt;&lt;a title="http://channel9.msdn.com/posts/LauraFoy/Pressure-Sensitive-Keyboards/" href="http://channel9.msdn.com/posts/LauraFoy/Pressure-Sensitive-Keyboards/"&gt;http://channel9.msdn.com/posts/LauraFoy/Pressure-Sensitive-Keyboards/&lt;/a&gt;&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>Developing for Windows Mobile &amp;ndash; Guru Meditation</title>
		<link rel="alternate" href="http://blog.spencen.com/2009/10/09/developing-for-windows-mobile-ndash-guru-meditation.aspx?ref=rss" />
		<id>tag:blog.spencen.com,2009-10-09:1490d774-5864-4704-9844-daaa6bde5878</id>
		<author>
			<name>Nigel Spencer</name>
		</author>
		<category term="Development" />
		<category term=".NET" />
		<category term="Windows Phone" />
		<category term="General" />
		<updated>2009-10-08T14:51:33Z</updated>
		<published>2009-10-08T14:51:33Z</published>
		<content type="html">&lt;P&gt;I’ve been working away for a few nights now trying to put together a simple framework for building user interfaces on a Windows Mobile device. It’s only taken a few nights to build something that I’m pretty happy with… and I was thinking of maybe even posting some source code.&lt;/P&gt;
&lt;P&gt;It was at this moment of course that I had a visit from my Inner Guru. You know the one… that little voice in your head that sniggers impolitely whenever you struggle to convert a loop into a LINQ expression. Or when you’re hacking out some prototype code and you need to new up an instance. You know that really its going to need an IOC container, you look around, no-ones watching… in goes the explicit “new Foo()”. Immediately your Inner Guru can be heard muttering to themselves, “tut… tut.. will he &lt;EM&gt;never&lt;/EM&gt; learn…”.&lt;/P&gt;
&lt;P&gt;Anyhow, my Inner Guru popped in for a visit just the other day and we had a quick chat about the work I’d been doing on my mobile framework. The conversation went something like this:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;Me&lt;/STRONG&gt;: Hey – check out this framework I’ve been building for Windows Mobile – pretty cool huh?&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Guru&lt;/STRONG&gt;: Hmm… yes it appears you’ve made quite some progress.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Me&lt;/STRONG&gt;: Yeah – look it can do animations.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Guru&lt;/STRONG&gt;: Very impressive. Did you have trouble using the DirectX libraries?&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Me&lt;/STRONG&gt;: Ah well, err no it’s just using GDI.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Guru&lt;/STRONG&gt;: Ah, I see. Does that give you full hardware acceleration on the device?&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Me&lt;/STRONG&gt;: Um… no I don’t think so.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Guru&lt;/STRONG&gt;: Ah, I see. Commendable that you have support for an opacity on each element.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Me&lt;/STRONG&gt;: Yeah, well I mean no. It seemed like a good idea at the time but I haven’t done that yet.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Guru&lt;/STRONG&gt;: Ah, I see. It appears all objects support using a RotateTransform?&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Me&lt;/STRONG&gt;: Yeah, well I mean no. I couldn’t figure out how to rotate images an arbitrary amount with decent performance.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Guru&lt;/STRONG&gt;: Ah, I see. I notice that your transforms all inherit from a base class which of course must perform the Matrix calculations.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Me&lt;/STRONG&gt;: Yeah, well actually no. I mean there is a base class but I haven’t bothered implementing the transforms using Matrix math – they’re just, you-know, hard coded.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Guru&lt;/STRONG&gt;: Ah, I see. It seems you’ve done some work building the framework for a layout engine that can be plugged into any container control. Seems a bit WinForms’ish to me, not very WPF like.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Me&lt;/STRONG&gt;: Well I didn’t think it was so bad, although I haven’t actually written that bit yet.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Guru&lt;/STRONG&gt;: Ah, I see. So no actual layout panels yet, not even the most simple stack panel?&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Me&lt;/STRONG&gt;: Err, well no – but it wouldn’t be hard to add.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Guru&lt;/STRONG&gt;: But you haven’t done it – even though it wouldn’t be hard.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Me&lt;/STRONG&gt;: Well no.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Guru&lt;/STRONG&gt;: Hmm.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Me&lt;/STRONG&gt;: I was thinking of posting the source code.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Guru&lt;/STRONG&gt;: I see. So despite the obvious architectural flaws, the missing classes, the lacklustre performance, the questionable code formatting you feel it adequate for public viewing, or perhaps that may be ridicule? I see you’re still using foreach loops – can’t quite seem to wrap your head around LINQ can you dear boy?&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;STRONG&gt;Me&lt;/STRONG&gt;: Umm…&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Fortunately it was at this point that my Inner Guru hit an untrapped exception deep in his runtime. The following image began blinking away in my head. &lt;/P&gt;&lt;IMG src="http://upload.wikimedia.org/wikipedia/commons/d/db/Guru_meditation.gif"&gt; 
&lt;P&gt;I suppressed an evil chuckle and posted the code: &lt;A href="http://mobileui.codeplex.com"&gt;http://mobileui.codeplex.com&lt;/A&gt;&lt;/P&gt;</content>
	</entry>
	<entry>
		<title>Developing for Windows Mobile &amp;ndash; Marketplace Sign-up (Part 2)</title>
		<link rel="alternate" href="http://blog.spencen.com/2009/09/29/developing-for-windows-mobile-ndash-marketplace-signup-part-2.aspx?ref=rss" />
		<id>tag:blog.spencen.com,2009-09-29:0dccd46e-ed63-4cd8-a880-49c1517e44a3</id>
		<author>
			<name>Nigel Spencer</name>
		</author>
		<category term="Windows Phone" />
		<category term="General" />
		<updated>2009-09-29T14:03:55Z</updated>
		<published>2009-09-29T14:03:55Z</published>
		<content type="html">&lt;p&gt;Contacted GeoTrust again and got an immediate verification over the phone. Was told that the Microsoft website would update the verified status within a few minutes. Several hours later… still waiting…&lt;/p&gt;  &lt;p&gt;Decided to fill in the &lt;a href="http://developer.windowsmobile.com/Help.aspx?id=90e41e47-0a39-4c40-88be-92df843e2ef6"&gt;Payment section&lt;/a&gt; of the User Profile. Got to learning about banking Routing Numbers (not applicable within Australia) and banking &lt;a href="http://swift-codes.blogspot.com/2008/01/australian-bank-swift-codes.html"&gt;Swift Codes&lt;/a&gt;. Have no idea whether the details are filled in correctly, but I’m guessing any income will be forwarded on to some lucky individual.&lt;/p&gt;  &lt;p&gt;Tried asking the local Microsoft Mobile contact for some assistance. Took a week to reply and told me nothing. They do have a &lt;a href="http://www.codemasons.com.au/"&gt;lovely web site&lt;/a&gt; though – no original content mind – but it is pretty.&lt;/p&gt;  &lt;p&gt;Maybe its time to face that fact that Windows Mobile 6.5 is a “lipstick on a pig” release and I should just hold out for &lt;a href="http://silverlight.net/learn/mobile/"&gt;Silverlight&lt;/a&gt; on &lt;a href="http://wmpoweruser.com/?p=8162"&gt;Windows Phone 7&lt;/a&gt;? At least by that stage (mid 2010?) I may have managed to complete the registration process…&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>Fun with Microsoft Tag</title>
		<link rel="alternate" href="http://blog.spencen.com/2009/09/25/fun-with-microsoft-tag.aspx?ref=rss" />
		<id>tag:blog.spencen.com,2009-09-25:1ea497fa-b0c7-4e3d-8861-f7ca65fe80ac</id>
		<author>
			<name>Nigel Spencer</name>
		</author>
		<category term="General" />
		<updated>2009-09-25T01:05:53Z</updated>
		<published>2009-09-25T01:05:53Z</published>
		<content type="html">&lt;p&gt;Not convinced on the business case for these tags yet – but they are fun to play with. Here’s one I created…&lt;/p&gt;  &lt;p&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Nigel&amp;#39;s_Blog_MSTag" border="0" alt="Nigel&amp;#39;s_Blog_MSTag" src="http://blog.spencen.com/images/83489-72989/Nigel's_Blog_MSTag_3.png" width="334" height="279" /&gt; &lt;/p&gt;  &lt;p&gt;The &lt;a href="http://www.microsoft.com/tag/"&gt;MsTag site&lt;/a&gt; has some pretty cool examples where rather than just construct the tag out of triangles they &lt;a href="http://www.microsoft.com/tag/content/overview/CustomTags.aspx"&gt;merge the tag data&lt;/a&gt; into an existing graphic. Nice!&lt;/p&gt; &lt;img src="http://www.microsoft.com/tag/images/BalloonTag.jpg" /&gt; &lt;img src="http://www.microsoft.com/tag/images/JellyBeanTag.jpg" /&gt;</content>
	</entry>
	<entry>
		<title>Developing for Windows Mobile &amp;ndash; Marketplace Sign-up</title>
		<link rel="alternate" href="http://blog.spencen.com/2009/09/25/developing-for-windows-mobile-ndash-marketplace-signup.aspx?ref=rss" />
		<id>tag:blog.spencen.com,2009-09-25:ef9c4bf1-bd9c-453b-adb0-627b3e85f27d</id>
		<author>
			<name>Nigel Spencer</name>
		</author>
		<category term="Development" />
		<category term="Windows Phone" />
		<updated>2009-09-24T15:05:22Z</updated>
		<published>2009-09-24T15:05:22Z</published>
		<content type="html">&lt;p&gt;&lt;a href="http://blog.spencen.com/images/83489-72989/Windows%20Marketplace.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="Windows Marketplace" border="0" alt="Windows Marketplace" align="right" src="http://blog.spencen.com/images/83489-72989/Windows%20Marketplace_thumb.png" width="169" height="240" /&gt;&lt;/a&gt; I’ve decided it would be fun and educational to launch a product through the soon to be released &lt;a href="http://developer.windowsmobile.com/Marketplace.aspx"&gt;Windows Phone Marketplace&lt;/a&gt;. Obviously all the major phone/mobile OS vendors have already beaten Microsoft to market – so you would expect them to have taken some of the learnings from these ventures onboard. In other words – I expect them to do a good job of this – both from a customer and developer perspective.&lt;/p&gt;  &lt;p&gt;The following is a summary of my experiences in getting an application into the Marketplace thus far… &lt;/p&gt;  &lt;h4&gt;Sign-up Process&lt;/h4&gt;  &lt;p&gt;Microsoft have been very crafty with their Marketplace registration process. Its obviously designed to weed out those individuals who are anything less that desperate to get their product into the app store. If you can answer “no” to two or more of the questions below then I suggest thinking twice before you consider signing-up.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Do you enjoy trawling &lt;a href="http://www.irs.gov/individuals/article/0,,id=96287,00.html"&gt;IRS websites&lt;/a&gt; to learn about the various US tax forms? &lt;/li&gt;    &lt;li&gt;Do you enjoy reading about country tax laws and specific treaty clauses? &lt;/li&gt;    &lt;li&gt;Do you want to know the difference between &lt;a href="http://www.irs.gov/individuals/article/0,,id=96287,00.html#how"&gt;SSNs and ITINs&lt;/a&gt;? &lt;/li&gt;    &lt;li&gt;Do you have easy access to a non-expired passport else birth certificate plus other government photo id? &lt;/li&gt;    &lt;li&gt;Do you enjoy &lt;a href="http://www.irs.gov/pub/irs-pdf/fw7.pdf"&gt;filling out paperwork&lt;/a&gt; and posting (yes snail-mail) your documents overseas? &lt;/li&gt;    &lt;li&gt;Do you mind taking a PDF signed by a Microsoft rep, on Microsoft letterhead, modifying it yourself and then sending it off to the IRS as an official sanction for an ITIN? [What is the point of this step?] &lt;/li&gt;    &lt;li&gt;Are you really expecting to make a killer mobile app that will make this all worthwhile? &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;[Note: If you are a US taxpayer already then most of this will be irrelevant and the process will be a breeze.]&lt;/p&gt;  &lt;p&gt;Of course I answered “no” to all of these but as I stated before I’m writing the whole thing off as an “educational experience”. Nothing worthwhile is meant to be easy… right?&lt;/p&gt;  &lt;p&gt;[Note: There is actually a pretty good walkthrough/slideshow of the registration process &lt;a href="http://www.slideshare.net/mymobilehome/windows-marketplacefor-mobile-developer-registration-walk-through-081209-pr"&gt;here&lt;/a&gt;.]&lt;/p&gt;  &lt;h4&gt;Artwork&lt;/h4&gt;  &lt;p&gt;If you got through the sign-up process don’t think you’ve beaten them. You now have to create your application icon/logo in a wide variety of resolutions (dpi) and sizes. Then you have to tweak the install process to pick out the right imagery for the particular device its being installed on. When I say tweak – I mean write some C code and inject that into the installer. OK – maybe that’s a little unfair – but go check out some of the following blog posts and their related comments.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a title="http://windowsteamblog.com/blogs/windowsphone/archive/2009/07/24/creating-custom-icons-for-windows-mobile-6-5.aspx" href="http://windowsteamblog.com/blogs/windowsphone/archive/2009/07/24/creating-custom-icons-for-windows-mobile-6-5.aspx"&gt;http://windowsteamblog.com/blogs/windowsphone/archive/2009/07/24/creating-custom-icons-for-windows-mobile-6-5.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a title="http://windowsteamblog.com/blogs/windowsphone/archive/2009/08/11/using-custom-icons-in-windows-mobile-6-5.aspx" href="http://windowsteamblog.com/blogs/windowsphone/archive/2009/08/11/using-custom-icons-in-windows-mobile-6-5.aspx"&gt;http://windowsteamblog.com/blogs/windowsphone/archive/2009/08/11/using-custom-icons-in-windows-mobile-6-5.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a title="http://windowsteamblog.com/blogs/windowsphone/pages/start-screen-png-icon-faq.aspx" href="http://windowsteamblog.com/blogs/windowsphone/pages/start-screen-png-icon-faq.aspx"&gt;http://windowsteamblog.com/blogs/windowsphone/pages/start-screen-png-icon-faq.aspx&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;As one tongue-in-cheek commenter put it:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;“Was there some sort of requirement to do this in the most developer-hostile way possible, or was that just a happy accident?”&lt;/p&gt; &lt;/blockquote&gt;  &lt;h4&gt;Getting Verified&lt;/h4&gt;  &lt;p&gt;During the sign-up process an email verification is sent out to you by the third-party identity verification company (&lt;a href="http://www.geotrust.com"&gt;GeoTrust&lt;/a&gt;) that are issuing the code-signing certificates. Make sure you respond to this email immediately because it takes a week or two after that for their poor over-worked web server to send out the next email which actually asks you to provide some credentials.&lt;/p&gt;  &lt;p&gt;The good news is that you can supply these credentials back to them via email (unlike the IRS).&lt;/p&gt;  &lt;p&gt;The bad news is that their systems are a little flaky and four days later they send your exactly the same email by mistake. Luckily their online chat staff seem to be a little more competent than their computer systems and will tell you to ignore the second email whilst they manually forward your details on to the next verification step.&lt;/p&gt;  &lt;p&gt;I’m still waiting on a final outcome…&lt;/p&gt;  &lt;h4&gt;&lt;/h4&gt;  &lt;h4&gt;Submitting Your Application&lt;/h4&gt;  &lt;p&gt;This is the part of the process that I expected to be more challenging but unfortunately I haven’t gotten this far yet. Submitting your application to the Marketplace and have it pass all the internal testing. There are a number of tools that Microsoft have published which they use internally during the testing process. One such is &lt;a href="http://msdn.microsoft.com/en-us/library/bb158517.aspx"&gt;Hopper&lt;/a&gt; – which jumps between your application and others – presumably to detect your applications ability to quickly switch (i.e. for incoming call), to use minimal resources particularly whilst switched out and to be stable over a long (2 hour) period.&lt;/p&gt;  &lt;p&gt;One major gotcha with some of the test tools and those supplied with the Windows Mobile SDK is that they only work on 32 bit machines. This is annoying to say the least. They only 32 bit machine I have left is the new HP Netbook which my wife had grown rather fond of.&lt;/p&gt;  &lt;p&gt;Well – assuming I every get past the verification process I may post some further thoughts on submission and publication.&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>Tech-Ed Australia 2009 &amp;ndash; Day Two</title>
		<link rel="alternate" href="http://blog.spencen.com/2009/09/11/teched-2009-ndash-day-two.aspx?ref=rss" />
		<id>tag:blog.spencen.com,2009-09-11:9a7020a5-beb9-447b-b03f-f42d674ad8f3</id>
		<author>
			<name>Nigel Spencer</name>
		</author>
		<category term="Development" />
		<category term=".NET" />
		<category term="General" />
		<updated>2009-09-10T15:19:04Z</updated>
		<published>2009-09-10T15:19:04Z</published>
		<content type="html">&lt;p&gt;First – here’s a few blog posts which cover some of the sessions I went to yesterday – but in much more detail. I’d recommend both blogs if you’re not already subscribed.&lt;/p&gt;  &lt;p&gt;Windows Mobile Marketplace - &lt;a title="http://www.techau.tv/blog/?p=2106" href="http://www.techau.tv/blog/?p=2106"&gt;http://www.techau.tv/blog/?p=2106&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Starting a Small Software Enterprise - &lt;a title="http://richardsbraindump.blogspot.com/2009/09/how-to-build-small-software-enterprise.html" href="http://richardsbraindump.blogspot.com/2009/09/how-to-build-small-software-enterprise.html"&gt;http://richardsbraindump.blogspot.com/2009/09/how-to-build-small-software-enterprise.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Everyone that attended yesterday’s session on the Windows Mobile Marketplace was also sent an e-mail this afternoon to let us know the information we were given regarding the regional pricing policy was incorrect. The price is actually an additional $10 per region, not $99 which I think it quite acceptable. See &lt;a href="http://blogs.msdn.com/lokeuei/archive/2009/09/09/clarification-submitting-apps-to-additional-regions-through-marketplace.aspx"&gt;Jame’s blog post&lt;/a&gt; for details.&lt;/p&gt;  &lt;h4&gt;DEV310 Make Some Magic! Shake, Flip and Flick Your Application for Windows Mobile 6.5! &lt;/h4&gt;  &lt;p&gt;This talk began with a brief introduction of marketplace and the Race to Market Challenge. This was then followed by a good discussion around new and emerging phone capabilities which included an interesting video of some folk who have developed a multi-touch resistive screen technology. This means you get multi-touch, pressure sensitivity and fine grain accuracy.&lt;/p&gt;  &lt;p&gt;Unfortunately for me a large part of the talk was based around how you can use the great open source &lt;a href="http://sensorapi.codeplex.com "&gt;sensor API&lt;/a&gt; to access hardware specific phone features such as accelerometers and light sensors.Would have been interesting for those that hadn’t seen it before – but otherwise just a run through of the provided demos apps.&lt;/p&gt;  &lt;p&gt;There was also a quick demonstration of how easy it is to write your own gesture recognition engine for pre 6.5 phones. Simple but very effective.&lt;/p&gt;  &lt;h4&gt;DEV350 What is new in VS2010 &amp;amp; .NET FX 4.0... and what should you be using in your next project?&lt;/h4&gt;  &lt;p&gt;The session speaker was Adam Cogan. I tried to listen to him… I really did. But he’s just so annoying!&lt;/p&gt;  &lt;p&gt;He spends all his time going off on irrelevant tangents or trying to amuse the audience. Then creeps through the content at a snails pace [hmm… can snails creep?]. His endless audience questions quickly become tiresome too. What makes it even more annoying is that he’s always getting/picking great topics for Tech-Ed sessions. Its just that the delivery is so poor. But then its probably just me. I I always give him a 1 on the review and if everybody else did the same he wouldn’t get the gigs right? Guess I’ll just notch it down to a personality clash – just hoping next year that he decides to do a talk on something less interesting. &lt;/p&gt;  &lt;p&gt;I didn’t manage to sit through this talk to the end. A good coffee was much more enjoyable.&lt;/p&gt;  &lt;h4&gt;DEV320 Visual Studio 2008 IDE Tips&lt;/h4&gt;  &lt;p&gt;I thought this session would be entertaining though I consider myself fairly familiar with Visual Studio’s IDE (I should be after 7 years) and wasn’t expecting too many surprises. Having said that I came away with at least 5 tips that I certainly intend to apply to my everyday workflow. We didn’t even have to take notes because Sara had &lt;a href="http://blogs.msdn.com/saraford/archive/2009/09/09/teched-australia-25-visual-studio-2008-ide-tips.aspx"&gt;posted them&lt;/a&gt; just prior to her talk. My favourites were 5, 15 (esp. when used to execute from find combo) and 22. Another great session by Sara.&lt;/p&gt;  &lt;h4&gt;SQL209 Project Gemini: Self-Service Business Intelligence&lt;/h4&gt;  &lt;p&gt;This was all new for me. Essentially it seems to be providing business analysis functionality using Excel as the design tool – very much end-user oriented. Support for Excel Services (via SharePoint), using Analysis Services transparently with scheduled updating of data sources. The demo was very well delivered I was impressed in how the convergence of Excel, SharePoint, Silverlight, Reporting Services and Analysis Services worked seamlessly to produce the output.&lt;/p&gt;  &lt;p&gt;To top it off the presenter showed how the project Gemini Excel add-in could sort and filter 101 million rows in real time (sub-second) even when running on a HP Mini netbook. All via an in-memory data engine and clever use of compression.&lt;/p&gt;  &lt;p&gt;Its being delivered as part of SQL 2008 R2 together with Office 2010.&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>Tech-Ed Australia 2009</title>
		<link rel="alternate" href="http://blog.spencen.com/2009/09/09/teched-australia-2009.aspx?ref=rss" />
		<id>tag:blog.spencen.com,2009-09-09:ed6145dd-0331-44e1-9510-18393f5b561e</id>
		<author>
			<name>Nigel Spencer</name>
		</author>
		<category term="Development" />
		<category term=".NET" />
		<category term="General" />
		<updated>2009-09-09T11:28:48Z</updated>
		<published>2009-09-09T11:28:48Z</published>
		<content type="html">&lt;p&gt;&lt;a href="http://blog.spencen.com/images/83489-72989/IMAG0042_4.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 0px 0px 15px; display: inline; border-top: 0px; border-right: 0px" title="IMAG0042" border="0" alt="IMAG0042" align="right" src="http://blog.spencen.com/images/83489-72989/IMAG0042_thumb_1.jpg" width="270" height="194" /&gt;&lt;/a&gt; I’m at Tech-Ed again this year (that’s three in a row!). Unfortunately this year I had to pay for the privilege since neither the company I’m currently working for nor Microsoft came to the party. Being an independent contractor I hardly expected my client to foot the bill – but I did try and get a ticket off of Microsoft – after all they footed the bill &lt;a href="http://blog.spencen.com/2008/08/28/tech-ed-2008.aspx"&gt;last year&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Day One of the main event has just finished and I was generally very impressed with the sessions I attended. I don’t really expect to learn a great deal at Tech-Ed. I figure its geared mainly towards corporate developers/IT pros who don’t necessarily have the passion/inclination to keep right up with emerging technologies and processes outside of company time. So if I don’t come to Tech-Ed to learn about the future of WPF, MVVM trends, ORMS and MEF then what am I doing here?&lt;/p&gt;  &lt;p&gt;Well – to answer that he’s a quick recount of the sessions I attended today.&lt;/p&gt;  &lt;h4&gt;Keynote&lt;/h4&gt;  &lt;p&gt;Pretty much on target this year. Some opening spiel about how now is a good time to be innovating which was further enforced by a HP representative. Then into some demos – Office 2010, a glimpse at VS 2010 CodePlex and Blend 3 and some Windows 7.&lt;/p&gt;  &lt;h4&gt;SOA303 A Lap around Microsoft Code Name &amp;quot;Oslo&amp;quot;&lt;/h4&gt;  &lt;p&gt;This Oslo thing has got to go somewhere… eventually… right? The presenter certainly did the best job I’ve heard yet of describing Oslo with demos of M, Quadrant and Intellipad. The talk was done well, the demos flawless but i still came away wondering whether this is really going to mature into a product that will be accepted in the real world.&lt;/p&gt;  &lt;h4&gt;DEV230 A Tour of CodePlex&lt;/h4&gt;  &lt;p&gt;I was one of the many that joined the &lt;a href="http://blogs.msdn.com/ceibner/archive/2009/08/05/sara-ford-is-coming-to-tech-ed-australia.aspx"&gt;petition&lt;/a&gt; to get Sara Ford to come down to Oz. I’m a relatively new subscriber to Sara’s blog – having caught the end of her VS 2008 tips and then her musings and tips for her new role as Codeplex PM. &lt;/p&gt;  &lt;p&gt;She seemed a little nervous in her part of the Keynote (looking up at 2500+ strangers) but in this session she was on fire. Its always a little awkward watching how the US speakers react to the subdued Australian audiences – but Sara didn’t miss a beat – she just steam-rolled ahead with a level of enthusiasm that was truly contagious.&lt;/p&gt;  &lt;p&gt;SaraFord.FanClub.Membership++;&lt;/p&gt;  &lt;p&gt;In fact - so inspired I’m going to post my latest project (Windows Mobile stuff) on Codeplex.&lt;/p&gt;  &lt;h4&gt;ARC203 How to build a small software enterprise from zero&lt;/h4&gt;  &lt;p&gt;I picked this session at the very last minute and as it turns out that was a choice very well made.&lt;/p&gt;  &lt;p&gt;The speaker was a Perth based book author ( {yawn} - so who isn’t) by the name of Joseph Albahari. But then I discover he also happens to be the author of &lt;a href="http://www.linqpad.net/"&gt;Linqpad&lt;/a&gt; (automatically elevating him to Legend status)! Just last week I was considering upgrading his most excellent utility to the premium version that includes &lt;strike&gt;intellisense&lt;/strike&gt; auto-completion.&lt;/p&gt;  &lt;p&gt;This talk was full of practical advice on how to make your own business out of developing software, with plenty of good examples from Joseph’s own journey with Linqpad. The slides, delivery and content in this talk were all first class.&lt;/p&gt;  &lt;h4&gt;WEB303 Free up the UX Bottleneck&lt;/h4&gt;  &lt;p&gt;This session was an overview of Sketchflow (within Expression Blend 3) by Shane Morris. Of all the sessions I attended today this one was the least rewarding. That was through no fault of Shane’s who covered the topic well – simply that I was already to familiar with the content. Particularly considering I’d seen Matt Morphet’s similar (dare I say superior) presentation at Remix and since then had a chance to play quite a bit with Sketchflow myself. Bad choice on my behalf – but then there wasn’t any other compelling content in this timeslot. &lt;/p&gt;  &lt;h4&gt;DEV260 Distributing and Monetizing Windows Mobile Applications through the Windows Marketplace for Mobile&lt;/h4&gt;  &lt;p&gt;I’ve been &lt;a href="http://blog.spencen.com/2009/08/05/developing-for-windows-mobile-ndash-composing-user-controls.aspx"&gt;messing around&lt;/a&gt; building a few simple apps for my &lt;a href="http://blog.spencen.com/2009/07/01/screen-resolution.aspx"&gt;new HTC Touch Diamond 2 device&lt;/a&gt; and have considered launching an app or two on Microsoft’s new Windows Mobile Marketplace. I’d even gone so far as to entering a couple of very simple entries into the &lt;a href="http://www.codemasons.com.au/"&gt;Codemason’s competition&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;This talk became a very frank discussion about the good and bad points of the new Marketplace. It was definitely worth going to and the speaker was very open about the shortfalls in the scheme. For instance, although the marketplace will allow apps to be delivered to any of 29 countries you have to target each country individually – effectively taking a US$99 hit for registering each application instance in each country. Seems to make sense to initially target any application for the US only – I can’t see Australia or New Zealand having the volume of Windows Mobile users to support anything but a very locale specific application.&lt;/p&gt;  &lt;p&gt;I got the general impression that most people leaving this talk would be less inclined to launch applications via Windows Mobile Marketplace. Seems a shame – like Microsoft almost got it right but then the marketing team came along at the last moment and crippled their solution.&lt;/p&gt;  &lt;h4&gt;Some random negatives:&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;Seriously – invest in a schedule builder that works. Please! How hard can this really be? Every year they insist on having some terrible web interface that has an awful user experience. It takes forever to get things into your schedule. This year is the worst yet. Its truly appalling – it doesn’t seem to work at all. Doesn’t matter how many times you click add/remove the schedule just won’t update. Most annoying!&lt;/li&gt;    &lt;li&gt;With so many delegates with mobile devices Telstra’s NextG network seems a little saturated. It’s been a bit hit and miss and early in the evening I’ve been getting some really poor throughput. &lt;/li&gt; &lt;/ul&gt;  &lt;h4&gt;And the flip side:&lt;/h4&gt;  &lt;ul&gt;   &lt;li&gt;All delegates at Tech-Ed Australia 2009 receive a HP Mini 2140.&lt;/li&gt;    &lt;li&gt;Mine was scheduled to be given to my mother-in-law as a lame-ass cheapo computer that will let her surf the net. The more time I spend with it though the more I’m starting to like it. The build finish is really very nice, performance seems not as bad as I expected and it seems to run Windows 7 Ultimate very nicely. The only thing about the device that is anything other than sweet is that it seems very loud. In a quiet hotel room my Fujitsu tablet PC can’t be heard at all over the HP Mini’s constant whirring even though its not in use.&lt;/li&gt;    &lt;li&gt;Wireless connectivity at the event has been very good so far. After a few initial attempts at getting a connection the HP Mini worked flawlessly with the wireless. Resuming from sleep it connects back to the network in a matter of seconds. Good job!&lt;/li&gt;    &lt;li&gt;Weather is awesome.&lt;/li&gt;    &lt;li&gt;Got a good room at Jupiter’s Casino which is connected to the venue by a walkway.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Phew – that post was a little longer than I had originally intended. Anyone who has read this far is probably a work colleague – and yes I’m about to order room service then connect via VPN and start working on those bugs.&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>Developing for Windows Mobile &amp;ndash; Composing User Controls</title>
		<link rel="alternate" href="http://blog.spencen.com/2009/08/05/developing-for-windows-mobile-ndash-composing-user-controls.aspx?ref=rss" />
		<id>tag:blog.spencen.com,2009-08-05:90f67633-3f24-4981-878f-52557d8fef82</id>
		<author>
			<name>Nigel Spencer</name>
		</author>
		<category term="Development" />
		<category term=".NET" />
		<updated>2009-08-04T16:37:46Z</updated>
		<published>2009-08-04T16:37:46Z</published>
		<content type="html">&lt;p&gt;Tonight I finished refactoring the mobile UI framework I’ve been putting together so that it can correctly handle composite elements. Previously I’d been able to handle a collection of polygons (Rectangles, Stars etc.). I’ve now introduced the concept of DrawingContainers that themselves have a collection of elements, any of which may be another DrawingContainer.&lt;/p&gt;  &lt;p&gt;The idea is that I can now construct UI &lt;em&gt;controls&lt;/em&gt; that themselves are composed of simple graphic primitives. Just like WPF right? Each graphic element can have its own animations and hit test capabilities and controls can be composed within each other to form richer&lt;em&gt; user controls&lt;/em&gt;. All this is rendered to the hosting Windows.Forms.Control in a single double-buffered render.&lt;/p&gt;  &lt;p&gt;The class diagram below gives an indication of where I’m currently at. Everything in the diagram has been implemented.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.spencen.com/images/83489-72989/Spencen.Mobile.UI_2.png" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Spencen.Mobile.UI" border="0" alt="Spencen.Mobile.UI" src="http://blog.spencen.com/images/83489-72989/Spencen.Mobile.UI_thumb.png" width="640" height="424" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;As one example of compositing controls I used a multi-part windmill.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.spencen.com/Downloads/winmo_animation_spinning.wmv"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Windows Mobile Spinning Wheel Thing_Thumb" border="0" alt="Windows Mobile Spinning Wheel Thing_Thumb" src="http://blog.spencen.com/images/83489-72989/Windows%20Mobile%20Spinning%20Wheel%20Thing_Thumb_3.jpg" width="236" height="388" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Defined in code as:&lt;/p&gt;  &lt;pre class="code"&gt;&lt;font size="1"&gt;&lt;font face="Verdana"&gt;&lt;span style="color: blue"&gt;var &lt;/span&gt;center = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Point&lt;/span&gt;( hostCanvas.Width / 2, hostCanvas.Height / 2 );
&lt;span style="color: blue"&gt;var &lt;/span&gt;yellowBrush = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;SolidBrush&lt;/span&gt;( &lt;span style="color: #2b91af"&gt;Color&lt;/span&gt;.Yellow );
&lt;span style="color: blue"&gt;var &lt;/span&gt;panel = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Panel&lt;/span&gt;( hostCanvas ) { Size = hostCanvas.Size, Center = center };
&lt;span style="color: blue"&gt;var &lt;/span&gt;bar1 = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Panel&lt;/span&gt;( hostCanvas ) { Size = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Size&lt;/span&gt;( 200, 20 ), Center = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Point&lt;/span&gt;( center.X, center.Y - 190 ) };
&lt;span style="color: blue"&gt;var &lt;/span&gt;bar2 = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Panel&lt;/span&gt;( hostCanvas ) { Size = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Size&lt;/span&gt;( 200, 20 ), Center = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Point&lt;/span&gt;( center.X, center.Y + 190 ) };
panel.Children.Add( &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Rectangle&lt;/span&gt;() { Size = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Size&lt;/span&gt;( 50, 400 ), Center = center } );
bar1.Children.Add( &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Rectangle&lt;/span&gt;() { Size = bar1.Size, Position = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Point&lt;/span&gt;( 0, 0 ) } );
bar2.Children.Add( &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Rectangle&lt;/span&gt;() { Size = bar1.Size, Position = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Point&lt;/span&gt;( 0, 0 ) } );
bar1.Children.Add( &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Star&lt;/span&gt;() { Size = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Size&lt;/span&gt;( 75, 75 ), &lt;br /&gt;                                             Center = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Point&lt;/span&gt;( bar1.Size.Width / 2 - 90, bar1.Size.Height / 2 ), &lt;br /&gt;                                             Background = yellowBrush } );
bar1.Children.Add( &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Star&lt;/span&gt;() { Size = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Size&lt;/span&gt;( 75, 75 ), &lt;br /&gt;                                             Center = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Point&lt;/span&gt;( bar1.Size.Width / 2 + 90, bar1.Size.Height / 2 ), &lt;br /&gt;                                             Background = yellowBrush } );
bar2.Children.Add( &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Star&lt;/span&gt;() { Size = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Size&lt;/span&gt;( 75, 75 ), &lt;br /&gt;                                             Center = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Point&lt;/span&gt;( bar2.Size.Width / 2 - 90, bar2.Size.Height / 2 ), &lt;br /&gt;                                             Background = yellowBrush } );
bar2.Children.Add( &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Star&lt;/span&gt;() { Size = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Size&lt;/span&gt;( 75, 75 ), &lt;br /&gt;                                             Center = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Point&lt;/span&gt;( bar2.Size.Width / 2 + 90, bar2.Size.Height / 2 ), &lt;br /&gt;                                             Background = yellowBrush } );
panel.Children.Add( bar1 );
panel.Children.Add( bar2 );

panel.Transforms.Add( _rotateTransform );
_rotateTransform.RenderCenter = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;Point&lt;/span&gt;( hostCanvas.Width / 2, hostCanvas.Height / 2 );

panel.Host.AnimationManager.AddAnimation( &lt;br /&gt;                  &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;FloatAnimation&lt;/span&gt;( _rotateTransform, &lt;span style="color: #a31515"&gt;&amp;quot;Angle&amp;quot;&lt;/span&gt;, &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;TimeSpan&lt;/span&gt;( 0, 0, 50 ) ) { FinalValue = 3600 } );

&lt;span style="color: blue"&gt;var &lt;/span&gt;barRotation = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;RotateTransform&lt;/span&gt;();
bar1.Transforms.Add( barRotation );
bar2.Transforms.Add( barRotation );

panel.Host.AnimationManager.AddAnimation( &lt;br /&gt;                 &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;FloatAnimation&lt;/span&gt;( barRotation, &lt;span style="color: #a31515"&gt;&amp;quot;Angle&amp;quot;&lt;/span&gt;, &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;TimeSpan&lt;/span&gt;( 0, 0, 50 ) ) { FinalValue = -7200 } );

&lt;span style="color: blue"&gt;var &lt;/span&gt;starRotation = &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;RotateTransform&lt;/span&gt;();
bar1.Children[ 1 ].Transforms.Add( starRotation );
bar1.Children[ 2 ].Transforms.Add( starRotation );
bar2.Children[ 1 ].Transforms.Add( starRotation );
bar2.Children[ 2 ].Transforms.Add( starRotation );

panel.Host.AnimationManager.AddAnimation( &lt;br /&gt;                &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;FloatAnimation&lt;/span&gt;( starRotation, &lt;span style="color: #a31515"&gt;&amp;quot;Angle&amp;quot;&lt;/span&gt;, &lt;span style="color: blue"&gt;new &lt;/span&gt;&lt;span style="color: #2b91af"&gt;TimeSpan&lt;/span&gt;( 0, 0, 50 ) ) { FinalValue = 18000 } );

hostCanvas.View.Children.Add( panel );&lt;/font&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt;

&lt;p&gt;Other features so that I’ve got so far:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Support for Behaviours. So far the only implementation is a DragBehavior that allows dragging any attached element along one or both axis. Even supports a “flick” by determining the angle and velocity on mouse up and applying an animation with a cubic easing function to simulate velocity decay.&lt;/li&gt;

  &lt;li&gt;Scrolling between views/pages using an easing function (and BitBlt).&lt;/li&gt;

  &lt;li&gt;Simple image support.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Other ideas:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Button and ItemsList controls.&lt;/li&gt;

  &lt;li&gt;Stack and custom (e.g. radial) layout panels.&lt;/li&gt;

  &lt;li&gt;Integration with platform APIs to allow drawing of rounded rectangles, gradient fills and to support alphas.&lt;/li&gt;

  &lt;li&gt;A transform for flipping vertically or horizontally.&lt;/li&gt;

  &lt;li&gt;Behaviour to support an ICommand style interface to allowing hooking UI interactions with a view model.&lt;/li&gt;
&lt;/ul&gt;</content>
	</entry>
	<entry>
		<title>Developing for Windows Mobile &amp;ndash; Animation Basics</title>
		<link rel="alternate" href="http://blog.spencen.com/2009/07/31/developing-for-windows-mobile-ndash-animation-basics.aspx?ref=rss" />
		<id>tag:blog.spencen.com,2009-07-31:bb0a6e02-a506-4249-b4a5-3a5f28526868</id>
		<author>
			<name>Nigel Spencer</name>
		</author>
		<category term="Development" />
		<category term=".NET" />
		<updated>2009-07-30T15:57:24Z</updated>
		<published>2009-07-30T15:57:24Z</published>
		<content type="html">&lt;p&gt;This post is a follow on from my &lt;a href="http://blog.spencen.com/2009/07/29/developing-for-windows-mobile-ndash-getting-started.aspx" target="_blank"&gt;most recent efforts&lt;/a&gt; creating some screens for a Windows Mobile application. I had decided to write a simple graphics library to help me do some nice transition effects. So over the last two nights I ported (actually rewrote) my original WinForms Transition demo to Windows Compact Framework.&lt;/p&gt;  &lt;p&gt;So far I have support only for polygons, but that includes hit testing, transforms (rotate, translate, scale), animation (floats, points, colours, brushes) and easing functions (currently sine in/out and elastic out).&lt;/p&gt;  &lt;p&gt;Hopefully I’ll post more about this (with source code) soon – but &lt;a href="http://www.spencen.com/Downloads/winmo_animation_test.wmv" target="_blank"&gt;here&lt;/a&gt; is a quick demo video that I captured using Expression 3’s new screen capture utility (very neat!).&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.spencen.com/Downloads/winmo_animation_test.wmv" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Windows Mobile Animations_Thumb" border="0" alt="Windows Mobile Animations_Thumb" src="http://blog.spencen.com/images/83489-72989/Windows%20Mobile%20Animations_Thumb_3.jpg" width="236" height="388" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;So far I’ve been really happy with the performance. Will be interesting to see how much it degrades once I start adding gradients, transparency and more complex shapes. [Note that the video doesn’t really reflect the performance too well.]&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>Developing for Windows Mobile &amp;ndash; Getting Started</title>
		<link rel="alternate" href="http://blog.spencen.com/2009/07/29/developing-for-windows-mobile-ndash-getting-started.aspx?ref=rss" />
		<id>tag:blog.spencen.com,2009-07-29:120eb20d-4649-4a86-bf75-e18b20275e8a</id>
		<author>
			<name>Nigel Spencer</name>
		</author>
		<category term="Development" />
		<category term=".NET" />
		<updated>2009-07-28T14:38:18Z</updated>
		<published>2009-07-28T14:38:18Z</published>
		<content type="html">&lt;p&gt;Now I have my new Windows Mobile 6.1 device I’ve decided to delve once more into the mysterious realm of developing for mobile devices. My previous forays have both been very lightweight. The most recent was simply displaying bus timetable information within a ListView control. Despite its simplicity its actually something I find very useful on my daily commute – rather than digging around in my bag for the paper version and then tuning in to the times and stops that I’m interested in.&lt;/p&gt;  &lt;p&gt;Here’s a screenshot of my original Bus Timetable applet (its just too trivial to be awarded the title “application”):&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.spencen.com/images/83489-72989/BusTimetable%20-%20PocketPC%202003%20SE.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="BusTimetable - PocketPC 2003 SE" border="0" alt="BusTimetable - PocketPC 2003 SE" src="http://blog.spencen.com/images/83489-72989/BusTimetable%20-%20PocketPC%202003%20SE_thumb.png" width="244" height="324" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Now here’s a screenshot of the same application running on my new HTC device:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.spencen.com/images/83489-72989/2009%2007%2006_21%2015%2012_0015_111g_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="2009 07 06_21 15 12_0015_111g" border="0" alt="2009 07 06_21 15 12_0015_111g" src="http://blog.spencen.com/images/83489-72989/2009%2007%2006_21%2015%2012_0015_111g_thumb.jpg" width="244" height="404" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Hmm.. some things scaled and some didn’t &lt;img src="http://blog.spencen.com/emoticons/sad.png" border="0" /&gt; But overall when compared to the other default applications (particularly those written by HTC) it looks pretty lame.&lt;/p&gt;  &lt;p&gt;So, I decided to get to work and create a user interface that:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Scales well across the more common Windows Mobile devices resolutions (at least 240x320, 480x640 and 480x800). &lt;/li&gt;    &lt;li&gt;Fits with the “look and feel” of the pre-installed HTC applications. &lt;/li&gt;    &lt;li&gt;Works with touch only – this type of application needs to work using just my thumb since common scenarios for its use are when I’m walking through a crowd and carrying a bag. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;With the help of the &lt;a href="http://code.msdn.microsoft.com/uiframework"&gt;UIFramework&lt;/a&gt; from MSDN I managed to get some screens that I was pretty happy with. The icons and selection had gradient fills and the icons were superimposed on their corresponding “frames” with a transparent background.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.spencen.com/images/83489-72989/2009%2007%2006_21%2027%2031_0016_111g_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="2009 07 06_21 27 31_0016_111g" border="0" alt="2009 07 06_21 27 31_0016_111g" src="http://blog.spencen.com/images/83489-72989/2009%2007%2006_21%2027%2031_0016_111g_thumb.jpg" width="244" height="404" /&gt;&lt;/a&gt;&amp;#160; &lt;a href="http://blog.spencen.com/images/83489-72989/2009%2007%2006_21%2028%2035_0018_111g_2.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="2009 07 06_21 28 35_0018_111g" border="0" alt="2009 07 06_21 28 35_0018_111g" src="http://blog.spencen.com/images/83489-72989/2009%2007%2006_21%2028%2035_0018_111g_thumb.jpg" width="244" height="404" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;However, I soon found that things weren’t quite a rosy as I was hoping. To start with the UIFramework library sample seems to be a “work in progress”. That is to say it has a lot of bugs or parts that simply don’t work – its obviously intended as a starting reference for someone intending to owner draw their own controls/graphic elements.&lt;/p&gt;  &lt;p&gt;Also, I originally created each ButtonBar as a user control. As with WinForms this meant that when it came to scrolling the buttons it looked terrible. Really slow – and each button is its own Window hence there is no capability of double-buffering. Man – I have been so spoiled by WPF – I had long forgotten all this pain! This trick then seemed to be to ditch using controls and just render the entire UI on a single user control. That way the main user control can double buffer all the rendering and there is only one render pass. The downside of course is that you then have to take care of everything – drawing all your own controls, hit testing, anchoring, dpi scaling etc.&lt;/p&gt;  &lt;p&gt;Well – I’m not sure where I’m going with all this. But I did consider porting my &lt;a href="http://blog.spencen.com/2007/12/11/winforms-animation-part-2.aspx"&gt;WinForms Transitions&lt;/a&gt; code to the Windows CF. Even this was a no-go though – because although it contains plenty of base classes and helper methods for transforming and hit testing objects it relies heavily on using GraphicsContainer to do the actual transforms. These aren’t supported by the Compact Framework. So, I started from scratch, building a simple graphics library that will let me scale, rotate and translate graphic primitives. So far I have a spinning/zoomable rectangle – guess you gotta start somewhere.&lt;/p&gt;  &lt;p&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="MobileTransitions" border="0" alt="MobileTransitions" src="http://blog.spencen.com/images/83489-72989/MobileTransitions_1.png" width="244" height="404" /&gt;&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>Comment Spam Philosophy</title>
		<link rel="alternate" href="http://blog.spencen.com/2009/07/21/comment-span-philosophy.aspx?ref=rss" />
		<id>tag:blog.spencen.com,2009-07-21:7f7151c0-538c-41ad-93dc-229df0425603</id>
		<author>
			<name>Nigel Spencer</name>
		</author>
		<category term="General" />
		<updated>2009-07-21T14:28:16Z</updated>
		<published>2009-07-21T14:28:16Z</published>
		<content type="html">&lt;P&gt;Recently I’ve been getting quite a bit of comment spam on this blog. Most of it is inane gibberish, a witless praise or a text fragment ripped from the post itself. However, some of it is actually quite entertaining…&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;Although Google does not care much about links inside comments, Google cares about links INSIDE the posts. Get people to notice you, and they will eventually write about you and your site. Links inside posts are the best quality backlinks you can get. To sum it all up, always write great comments if you are going to write them, and you will be rewarded sooner or later.&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Hmm – spam that tells me comment links are not really worth anything.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;I admit, I have not been on this webpage in a long time... however it was another joy to see It is such an important topic and ignored by so many, even professionals. I thank you to help making people more aware of possible issues. &lt;BR&gt;Great stuff as usual....&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Well what can I say – its good to have you back.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;The scoop neck and cap sleeves are cute, the gathers at the waist creates a uniformly flattering silhouette, and the pattern of the dye compliments beautifully the design of the dress!..&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Why – thank you so much, I designed it myself :-p&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;Find effective graphics and photos: It's always better to use too few than too many graphics. One great graphic is so much better than four weak ones. Sometimes they are not even necessary. When you do use graphics and photos, make sure they help illustrate your point, rather than just inserting them to take up space.&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Err… OK – use a few good graphics… when necessary… but not more than four… and make them relevant not as padding. Even graphic designers are spamming!?&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;nice post! It helps me a lot to optimize my site… now my newly published site are get index by search engine especially Google…&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Your new site “are get index” by Google – fancy Mr Spammer caring about that?&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;I would like to thank you for the efforts you have made in writing this article. I am hoping the same best work from you in the future as well. In fact your creative writing abilities has inspired me to start my own wordpress blog now. Really the blogging is spreading its wings rapidly. Your write up is a fine example of it &lt;IMG border=0 src="http://blog.spencen.com/emoticons/smile.png"&gt;&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Oh wonderful, my half-assed blog posts are inspiring the spammers to start their own blogs. I’m soooo proud &lt;IMG border=0 src="http://blog.spencen.com/emoticons/smile.png"&gt;&lt;/P&gt;</content>
	</entry>
	<entry>
		<title>NHibernate &amp;ndash; a Quality ORM?</title>
		<link rel="alternate" href="http://blog.spencen.com/2009/07/21/nhibernate-ndash-a-quality-orm.aspx?ref=rss" />
		<id>tag:blog.spencen.com,2009-07-21:bfbbee0b-e20d-46eb-af7a-e8790df40fb6</id>
		<author>
			<name>Nigel Spencer</name>
		</author>
		<category term="Development" />
		<category term=".NET" />
		<category term="General" />
		<updated>2009-07-21T13:57:50Z</updated>
		<published>2009-07-21T13:57:50Z</published>
		<content type="html">&lt;p&gt;&lt;em&gt;[This is a flame. If you are an NHibernate fan, please stop reading now, you’ll only upset yourself otherwise.]&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Like many others I subscribe to the &lt;a href="http://codebetter.com/blogs/"&gt;codebetter.com&lt;/a&gt; RSS feed. One of the members feels that its their personal responsibility to enlighten subscribers with endless NDepend analysis results for various frameworks. I &lt;em&gt;almost&lt;/em&gt; always skip those posts.&lt;/p&gt;  &lt;p&gt;However, this &lt;a href="http://codebetter.com/blogs/patricksmacchia/archive/2009/07/21/nhibernate-2-1-changes-overview.aspx"&gt;latest post&lt;/a&gt; regarding the NHibernate 2.1 release I found most amusing.&lt;/p&gt;  &lt;p&gt;I’ve been &lt;em&gt;subjected&lt;/em&gt; to NHibernate. I don’t enjoy the experience. Some of the pain that I’ve felt begins to make sense. 58,000 lines of spaghetti code to do some pretty simple ORM mapping – woot! {snigger}&lt;/p&gt;</content>
	</entry>
	<entry>
		<title>Presenting at Code Camp SA</title>
		<link rel="alternate" href="http://blog.spencen.com/2009/07/19/presenting-at-code-camp-sa.aspx?ref=rss" />
		<id>tag:blog.spencen.com,2009-07-19:7fb71c5e-ed80-4858-bbba-6d42e4079650</id>
		<author>
			<name>Nigel Spencer</name>
		</author>
		<category term="Development" />
		<category term=".NET" />
		<category term="WPF" />
		<updated>2009-07-19T02:39:55Z</updated>
		<published>2009-07-19T02:39:55Z</published>
		<content type="html">&lt;p&gt;Links from my presentation at &lt;a href="http://www.codecampsa.com"&gt;Code Camp SA&lt;/a&gt; this year.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/jaimer/archive/2009/05/27/wpf-4-and-net-framework-4-beta-1-list-of-features-totrack.aspx"&gt;What is new in WPF&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://gallery.expression.microsoft.com/en-us/"&gt;Behaviors on Expression Web Site&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/llobo/archive/2009/05/01/download-m-v-vm-project-template-toolkit.aspx"&gt;WPF MVVM Project Template&lt;/a&gt; – getting started with MVVM in WPF&lt;/p&gt;  &lt;p&gt;&lt;a href="http://compositewpf.codeplex.com "&gt;Composite WPF Home (Prism)&lt;/a&gt; – patterns and practices guidance&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/dphill/archive/2009/06/15/prism-quick-start-kit-update.aspx"&gt;Composite WPF (Prism) QuickStart Project Templates&lt;/a&gt; – fully fleshed templates&lt;/p&gt;  &lt;p&gt;&lt;a href="http://caliburn.codeplex.com"&gt;Caliburn&lt;/a&gt; – an alternate MVVM framework&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blog.spencen.com/2009/06/14/circular-layout-panel-v2.aspx"&gt;Radial/Circular Panel&lt;/a&gt;&lt;/p&gt;</content>
	</entry>
</feed>