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

<channel>
	<title>Marker - Full Service Digital Agency &#187; Our Blog</title>
	<atom:link href="http://www.markerstudio.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.markerstudio.com</link>
	<description>Full Service Digital Agency</description>
	<lastBuildDate>Wed, 25 Aug 2010 03:20:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Tweet Button</title>
		<link>http://www.markerstudio.com/marketing/2010/08/tweet-button/</link>
		<comments>http://www.markerstudio.com/marketing/2010/08/tweet-button/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 03:20:14 +0000</pubDate>
		<dc:creator>Evan Mather</dc:creator>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Social Networks]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.markerstudio.com/?p=2652</guid>
		<description><![CDATA[You have worked hard to build great quality content for your site. And now your visitors are loving it! But, not enough know about it yet. Let’s be honest. You were probably writing all this content in an effort to look great in the eyes of search engines and so people will link to it [...]]]></description>
			<content:encoded><![CDATA[<p>You have worked hard to build great quality content for your site. And now your visitors are loving it! But, not enough know about it yet.</p>
<p>Let’s be honest. You were probably writing all this content in an effort to look great in the eyes of search engines and so people will link to it to build your page rank. Now you have another target; to make content that people will want to share and tweet about.</p>
<p>The best way to share your awesome content is to make it easy for your visitors to do it for you. In my previous post, I highlighted how Facebook plugins can bring your wall to your site and how visitors can “like” from your site, letting all their friends know that they have visited your site and liked it. While you are inserting those plugins on your site, you would also want to include the Tweet button.</p>
<p style="text-align: center"><a rel="attachment wp-att-2653" href="http://www.markerstudio.com/marketing/2010/08/tweet-button/attachment/tweetbutton/"><img class="size-full wp-image-2653 aligncenter" src="http://www.markerstudio.com/wp-content/uploads/2010/08/tweetbutton.png" alt="Twitter button" width="57" height="21" /></a></p>
<p>With this button, visitors can click on it to tweet about your content as they are on your page. The visitor will also be recommended to follow your Twitter account since they have tweeted about it.</p>
<p>Get your code to install the <a rel="no-follow" href="http://twitter.com/goodies/tweetbutton" target="_blank">Tweet Button here</a>.</p>
<p>You will have some options around the style of the button and the text in the tweet and the option to recommend a second account to the tweeter.</p>
<p>This is definitely another good, simple and free feature that your brand can use to spread your content around to more people. Start to help your business realise the value in social network marketing by making use of these simple features.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.markerstudio.com/marketing/2010/08/tweet-button/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Facebook Social plugins</title>
		<link>http://www.markerstudio.com/marketing/2010/08/installing-facebook-social-plugins/</link>
		<comments>http://www.markerstudio.com/marketing/2010/08/installing-facebook-social-plugins/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 02:52:03 +0000</pubDate>
		<dc:creator>Evan Mather</dc:creator>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Social Networks]]></category>

		<guid isPermaLink="false">http://www.markerstudio.com/?p=2628</guid>
		<description><![CDATA[Does your brand have an active Facebook page? You can add a plugin on your website linking to your Facebook page and bringing key Facebook functions to your website. There are a range of plugins available that will display feeds from your Facebook page on your website. This is a good way to promote your [...]]]></description>
			<content:encoded><![CDATA[<p>Does your brand have an active Facebook page?</p>
<p>You can add a plugin on your website linking to your Facebook page and bringing key Facebook functions to your website. There are a range of plugins available that will display feeds from your Facebook page on your website. This is a good way to promote your site and also gain “likes” from people who would otherwise just visit your site.</p>
<p>Check the <a rel="nofollow" href="http://developers.facebook.com/plugins" target="_blank">Facebook Developers section</a> for the types of plugins ready for you to install.</p>
<p>I recommend using the Like Button on every page of your site:</p>
<p style="text-align: center"><a rel="attachment wp-att-2629" href="http://www.markerstudio.com/marketing/2010/08/installing-facebook-social-plugins/attachment/likebutton/"><img class="size-full wp-image-2629 aligncenter" src="http://www.markerstudio.com/wp-content/uploads/2010/08/likebutton.png" alt="Facebook Like Button" width="214" height="37" /></a></p>
<p>This will create a story that the visitor likes the page that this is on, shared to their friends when clicked. It will also create a link on the person’s Facebook profile going to your page that was liked. The benefit from a marketing perspective is that some people in this person’s network may also be interested in your site and can reach it easily from Facebook. Think of it as the new version of “word-of-mouth”.</p>
<p>You can get the code to install the <a href="http://developers.facebook.com/docs/reference/plugins/like" target="_blank">like button here</a>. Adding it to the footer of your site is probably the best option so it can get onto every page.</p>
<p>Another plugin that I recommend is the Like Box:</p>
<p style="text-align: center"><a rel="attachment wp-att-2630" href="http://www.markerstudio.com/marketing/2010/08/installing-facebook-social-plugins/attachment/likebox/"><img class="size-medium wp-image-2630 aligncenter" src="http://www.markerstudio.com/wp-content/uploads/2010/08/likebox-154x300.png" alt="Like Box code installation" width="154" height="300" /></a></p>
<p>This shows the most recent posts on your wall and some of the people who already like your Facebook profile. Visitors can like you on Facebook without having to visit your profile and add themselves as on of your fans directly from your site. Use this plugin if your Facebook page is actually active and if you have a decent number of likes, otherwise it would just be embarrassing.</p>
<p>This plugin is best installed as part of your homepage. You can get the code to install the <a href="http://developers.facebook.com/docs/reference/plugins/like-box" target="_blank">Like Box here</a>. You will need your profile number which is in the URL string of your Facebook profile. The width and number of pictures of connections can be adjusted within the code to fit into your page.</p>
<p>In most cases you will only need the iframe code.</p>
<p>Ensure that every visitor has the opportunity to connect with your brand. These social plugins are a must have for the connected organisation that is open to interacting with its fans.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.markerstudio.com/marketing/2010/08/installing-facebook-social-plugins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Facebook Places Launched</title>
		<link>http://www.markerstudio.com/marketing/2010/08/facebook-places-launched/</link>
		<comments>http://www.markerstudio.com/marketing/2010/08/facebook-places-launched/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 05:16:19 +0000</pubDate>
		<dc:creator>Evan Mather</dc:creator>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.markerstudio.com/?p=2621</guid>
		<description><![CDATA[Right now, Facebook is launching Facebook places. An app for your iphone, and eventually other devices such as Android, where you can share through Facebook where you are by “checking in”. Find out what and who is around you. The idea is that your Facebook friends will know where you are and, if they happen [...]]]></description>
			<content:encoded><![CDATA[<p>Right now, Facebook is launching Facebook places. An app for your iphone, and eventually other devices such as Android, where you can share through Facebook where you are by “checking in”. Find out what and who is around you. The idea is that your Facebook friends will know where you are and, if they happen to also be nearby, then why not meet up? Or if you are at a place where you just need to let all your friends know that you are there, then this is the product for you!</p>
<p>If you are a user of <a rel="nofollow" href="http://foursquare.com/" target="_blank">foursquare</a> then you are already using what is essentially a location-based tagging application.</p>
<p>Places is rolling out in the US before anywhere else so until further notice we will just have to continue typing in where we are.</p>
<p>Read more about it at <a rel="nofollow" href="http://www.facebook.com/places/" target="_blank">Facebook Places</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.markerstudio.com/marketing/2010/08/facebook-places-launched/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AdWords Reporting Requirements</title>
		<link>http://www.markerstudio.com/marketing/2010/07/adwords-reporting-requirements/</link>
		<comments>http://www.markerstudio.com/marketing/2010/07/adwords-reporting-requirements/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 05:06:19 +0000</pubDate>
		<dc:creator>Evan Mather</dc:creator>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Advertising]]></category>
		<category><![CDATA[adwords]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Search Engine Marketing]]></category>

		<guid isPermaLink="false">http://www.markerstudio.com/?p=2609</guid>
		<description><![CDATA[Are you using an agency to handle your search engine marketing? You need to know that Google has made the move to ensure the AdWords reporting by agencies clearly breaks down the client’s spend on AdWords and therefore, your spend on the agency. Some agencies or third-parties are known to bundle the cost of AdWords [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Are you using an agency to handle your search engine marketing? </strong></p>
<p>You need to know that Google has made the move to ensure the AdWords reporting by agencies clearly breaks down the client’s spend on AdWords and therefore, your spend on the agency.</p>
<p>Some agencies or third-parties are known to bundle the cost of AdWords clicks and their agency service fees together. This way, there would be no way for the client to know how much their ads are actually costing them per month or per day or even per click and how much the agency is taking.</p>
<p>At minimum, agencies must provide a monthly summary on AdWords clicks, impressions and cost for the whole account. Even this is very top level, but it could be enough to expose the dealings of some third-parties.</p>
<p>If you are using the services of an agency for AdWords, your bill should break down the cost of the actual AdWords (the amount that is paid to Google) and the agency’s service fees. Check that the amount you want to spend on ads is actually going to the clicks.</p>
<p>This is a welcomed policy change to help ensure advertisers continue to have full transparency into what is the most accountable advertising channel available.</p>
<p>You can read about the changes at <a rel="nofollow" href="http://adwords.google.com/support/aw/bin/topic.py?hl=en&amp;topic=29639" target="_blank">Google AdWords Help</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.markerstudio.com/marketing/2010/07/adwords-reporting-requirements/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Phone 7 — Creating that elusive reusable Application Bar</title>
		<link>http://www.markerstudio.com/technical/2010/07/windows-phone-7-creating-that-elusive-reusable-application-bar/</link>
		<comments>http://www.markerstudio.com/technical/2010/07/windows-phone-7-creating-that-elusive-reusable-application-bar/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 05:16:21 +0000</pubDate>
		<dc:creator>Keith Patton</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[Application Bar]]></category>
		<category><![CDATA[windows phone]]></category>
		<category><![CDATA[Windows Phone 7]]></category>
		<category><![CDATA[Windows Phone 7 Application Bar]]></category>
		<category><![CDATA[Windows Phone 7 Dynamic Application Bar]]></category>
		<category><![CDATA[WP7]]></category>
		<category><![CDATA[WP7 Application Bar]]></category>
		<category><![CDATA[WP7 Dynamic Application Bar]]></category>

		<guid isPermaLink="false">http://www.markerstudio.com/?p=2594</guid>
		<description><![CDATA[Learn how to create a Windows Phone 7 application bar which can be reused across your application.]]></description>
			<content:encoded><![CDATA[<p>Windows Phone 7 application pages can have an application bar placed on them. However you can’t bind to them and you have to use event handlers on them (rather than commanding via MVVM Light) which means messing up your code behind. I wrote a <a href="http://www.markerstudio.com/technical/2010/07/windows-phone-7-mvvm-light-messaging-and-dynamic-application-bar/">previous post</a> on how to get a dynamic application bar that talked to the view model using MVVM Light messaging for example.</p>
<p>In fact, you can bind an application bar directly to the page via your View Model!</p>
<pre class="brush: xml;">
&lt;phoneNavigation:PhoneApplicationPage
    x:Class=&quot;AlphaJax.Phone.HistoryPage&quot;

    SupportedOrientations=&quot;Portrait&quot;
    ApplicationBar=&quot;{Binding DefaultAppBar}&quot;
</pre>
<p>In our case, we have a DefaultAppBar defined as a dependency property on our ViewModelBase for binding the Application Bar to the View. We then create the Application Bar programmatically  when the View Model is constructed, see the example below:</p>
<pre class="brush: csharp;">
  public ViewModelBase()
        {
            SetUpDefaultAppBar();
        }

        private void SetUpDefaultAppBar()
        {
            var appBar = new ApplicationBar();

            appBar.IsVisible = true;
            appBar.IsMenuEnabled = true;
            appBar.Opacity = 1;
            appBar.ForegroundColor = Color.FromArgb(255, 255, 255, 255);
            appBar.BackgroundColor = Color.FromArgb(255, 0, 0, 0);

            ApplicationBarIconButton turns = new ApplicationBarIconButton(new Uri(&quot;Resources/Images/AppBar/button-turns.png&quot;, UriKind.Relative))
            turns.Text = &quot;Turns&quot;;
            turns.Click += new EventHandler(turns_Click); // handle event within view model

            ApplicationBarMenuItem accountSettings = new ApplicationBarMenuItem(&quot;account settings&quot;);
            accountSettings.Click += new EventHandler(accountSettings_Click);  // handle event within view model

            ApplicationBarMenuItem appSettings = new ApplicationBarMenuItem(&quot;app settings&quot;);
            appSettings.Click += new EventHandler(appSettings_Click);  // handle event within view model

            appBar.Buttons.Add(turns);
            appBar.Buttons.Add(create);
            appBar.Buttons.Add(history);
            appBar.MenuItems.Add(accountSettings);
            appBar.MenuItems.Add(appSettings);

            this.DefaultAppBar = appBar;
        }

        public ApplicationBar DefaultAppBar
        {
            get
            {
                return _defaultAppBar;
            }
            set
            {
                _defaultAppBar = value;
                RaisePropertyChanged(() =&gt; DefaultAppBar);
            }
        }
</pre>
<p>Disclaimer: It’s possible you may experience a bug (at least in the beta) with the rendering of the page as it redraws to include the application bar binding . This is unfortunate but can be remedied if you manually assign the Application bar in the constructor of the page’s code behind.</p>
<pre class="brush: csharp;">
this.ApplicationBar = ((ViewModelBase)this.DataContext).DefaultAppBar;
</pre>
<p>If you need view model specific application bars you can simply add these to other view models, but i would imagine most applications with multiple xaml pages will benefit from the above approach which eliminates the need to copy and paste xaml and cs around your application.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.markerstudio.com/technical/2010/07/windows-phone-7-creating-that-elusive-reusable-application-bar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Phone 7 — Navigation between pages using MVVM Light Messaging</title>
		<link>http://www.markerstudio.com/technical/2010/07/windows-phone-7-navigation-between-pages-using-mvvm-light-messaging/</link>
		<comments>http://www.markerstudio.com/technical/2010/07/windows-phone-7-navigation-between-pages-using-mvvm-light-messaging/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 03:18:48 +0000</pubDate>
		<dc:creator>Keith Patton</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[MVVM Light]]></category>
		<category><![CDATA[MVVM Light Messaging]]></category>
		<category><![CDATA[Navigation]]></category>
		<category><![CDATA[windows phone]]></category>
		<category><![CDATA[Windows Phone 7]]></category>
		<category><![CDATA[Windows Phone 7 Messaging]]></category>
		<category><![CDATA[Windows Phone 7 Navigation]]></category>
		<category><![CDATA[Windows Phone Messaging]]></category>
		<category><![CDATA[Windows Phone Navigation]]></category>
		<category><![CDATA[WP7]]></category>
		<category><![CDATA[WP7 Messaging]]></category>
		<category><![CDATA[WP7 Navigation]]></category>

		<guid isPermaLink="false">http://www.markerstudio.com/?p=2587</guid>
		<description><![CDATA[This post will get you started with being able to set up navigation between pages within your Windows Phone 7 (WP7) application using the core messaging framework provided by MVVM Light.]]></description>
			<content:encoded><![CDATA[<p><strong>Introduction</strong></p>
<p>This post will get you started with being able to set up navigation between pages within your Windows Phone 7 (WP7) application using the core messaging framework provided by MVVM Light.</p>
<p>Read our <a href="http://www.markerstudio.com/technical/2010/07/mvvm-light-and-unit-testing-example/">Windows Phone 7 — MVVM Light and Unit Testing Example</a> to understand a little more about MVVM Light if you are not familiar with the framework. Also check out our <a href="http://www.markerstudio.com/technical/2010/07/windows-phone-7-mvvm-light-messaging-and-dynamic-application-bar/">Windows Phone 7 — MVVM Light Messaging and Dynamic Application Bar</a> post for another messaging example.</p>
<p><strong>System Requirements</strong></p>
<p>I’ve checked every thing against the latest public beta release of the devel oper tools (as of 15/07/2010) from <a href="http://developer.windowsphone.com">http://developer.windowsphone.com</a>. Please make sure you have this installed. I’m using Visual Studio 2010, but it all should work ok with Visual Studio Express 2010 that comes with the developer tools.</p>
<p><strong>Navigation as a View related concern</strong></p>
<p>Within your View Model you often reach points where you want to instigate a navigation to another page within your application. A primary urge is to simply perform the navigation within the view model. However, as page navigation is a View related concern, it is better handled at that end where there is an active navigation context rather than within the View Model.</p>
<p><strong>Send a message from the View Model</strong></p>
<p>Put this code in your ViewModelBase class to ensure you have an easy way to send out a request for a navigation change using the MVVM Light Messaging framework.</p>
<pre class="brush: csharp;">
         protected void SendNavigationRequestMessage(Uri uri)
        {
            Messenger.Default.Send&lt;Uri&gt;(uri, &quot;NavigationRequest&quot;);
        }
</pre>
<p>Then in your xaml page code behind (or your own custom base PhoneApplicationPage class) you can place a single line of code to perform the navigation request</p>
<pre class="brush: csharp;">
Messenger.Default.Register&lt;Uri&gt;(this, &quot;NavigationRequest&quot;, (uri) =&gt; NavigationService.Navigate(uri));
</pre>
<p><strong>Conclusion</strong></p>
<p>Using a messaging approach like that provided with MVVM Light helps keep your WP7 application loosely coupled. The View can remain focussed on view specific concerns and can interact with your View Model indirectly using messaging to avoid hard wiring the two together unnecessarily. For a quick and easy solution to navigation within your application, this can work well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.markerstudio.com/technical/2010/07/windows-phone-7-navigation-between-pages-using-mvvm-light-messaging/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Windows Phone 7 — MVVM Light Messaging and Dynamic Application Bar</title>
		<link>http://www.markerstudio.com/technical/2010/07/windows-phone-7-mvvm-light-messaging-and-dynamic-application-bar/</link>
		<comments>http://www.markerstudio.com/technical/2010/07/windows-phone-7-mvvm-light-messaging-and-dynamic-application-bar/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 02:30:45 +0000</pubDate>
		<dc:creator>Keith Patton</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[Application Bar]]></category>
		<category><![CDATA[Dynamic Application Bar]]></category>
		<category><![CDATA[Messaging]]></category>
		<category><![CDATA[MVVM]]></category>
		<category><![CDATA[MVVM Light]]></category>
		<category><![CDATA[MVVM Light Messaging]]></category>
		<category><![CDATA[windows phone]]></category>
		<category><![CDATA[Windows Phone 7]]></category>
		<category><![CDATA[Windows Phone 7 Application Bar]]></category>
		<category><![CDATA[Windows Phone 7 Dynamic Application Bar]]></category>
		<category><![CDATA[Windows Phone 7 Messaging]]></category>
		<category><![CDATA[Windows Phone Application Bar]]></category>
		<category><![CDATA[Windows Phone Messaging]]></category>
		<category><![CDATA[WP7]]></category>
		<category><![CDATA[WP7 Application Bar]]></category>
		<category><![CDATA[WP7 Messaging]]></category>

		<guid isPermaLink="false">http://beta.markerstudio.com/?p=2490</guid>
		<description><![CDATA[Learn how to use MVVM Light Messaging to create dynamic application bar changes from your view model classes without them knowing about your view.]]></description>
			<content:encoded><![CDATA[<p><strong><span style="color: #ff0000">Update 22/07/2010!</span></strong></p>
<p>You can easily <a href="http://www.markerstudio.com/?p=2594&amp;preview=true">bind your application bar to your page via the View Model</a> meaning that you can handle all of this login within your view Model. This post is still valid in that it demonstrates a means of using MVVM light messaging, but there is a better way now to have dynamic application bars.</p>
<p><strong>Introduction</strong></p>
<p>This post will get you started with being able to dynamically update the application bar within your Windows Phone 7 (WP7) application using the core messaging framework provided by MVVM Light.</p>
<p>Read our <a href="http://www.markerstudio.com/technical/2010/07/mvvm-light-and-unit-testing-example/">MVVM Light and Unit Testing Example</a> to understand a little more about MVVM Light if you are not familiar with the framework.</p>
<p><strong>System Requirements</strong></p>
<p>I’ve checked every thing against the latest public beta release of the devel oper tools (as of 15/07/2010) from <a href="http://developer.windowsphone.com">http://developer.windowsphone.com</a>. Please make sure you have this installed. I’m using Visual Studio 2010, but it all should work ok with Visual Studio Express 2010 that comes with the developer tools.</p>
<p><strong>Application Bar Limitations</strong></p>
<p>It has to be said that the application bar in Windows Phone 7 (WP7) is a strange beast. It does not derive from Control and therefore does not support binding.<a href="http://blog.galasoft.ch/archive/2010/04/09/using-commands-with-applicationbarmenuitem-and-applicationbarbutton-in-windows-phone-7.aspx?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed:+galasoft+(Laurent+Bugnion+(GalaSoft))"> Laurent Bugnion has covered these deficiencies</a> and it essentially means we have to define an application bar within our xaml pages, and resort to hard wiring event handlers into our code behind files.</p>
<p>This isn’t too bad, until we get to wanting to make things dynamic based user interaction with the page the menu is sitting on. In our example below, see the second button which has default text of ‘Pass’ and an IconUri set to the pass icon.</p>
<p>In our app, we want to trap user interaction such that when a particular condition occurs in the view model we want the icon to change out to say ‘Play’ and have a different icon.</p>
<pre class="brush: xml;">
    &lt;phoneNavigation:PhoneApplicationPage.ApplicationBar&gt;
        &lt;shell:ApplicationBar x:Name=&quot;AppBar&quot; IsVisible=&quot;True&quot; IsMenuEnabled=&quot;True&quot; Opacity=&quot;1&quot; ForegroundColor=&quot;White&quot; BackgroundColor=&quot;Black&quot;&gt;
            &lt;shell:ApplicationBar.Buttons&gt;
                &lt;shell:ApplicationBarIconButton x:Name=&quot;recall&quot; Click=&quot;recall_Click&quot; IconUri=&quot;/Resources/Images/AppBar/button-recall.png&quot; Text=&quot;Recall&quot;&gt;
                &lt;/shell:ApplicationBarIconButton&gt;
                &lt;shell:ApplicationBarIconButton x:Name=&quot;passPlay&quot; Click=&quot;passPlay_Click&quot; IconUri=&quot;/Resources/Images/AppBar/button-pass.png&quot; Text=&quot;Pass&quot;&gt;
                &lt;/shell:ApplicationBarIconButton&gt;
                &lt;shell:ApplicationBarIconButton x:Name=&quot;swap&quot; IconUri=&quot;/Resources/Images/AppBar/button-swap.png&quot; Text=&quot;Swap&quot;&gt;
                &lt;/shell:ApplicationBarIconButton&gt;
                &lt;shell:ApplicationBarIconButton x:Name=&quot;chat&quot; IconUri=&quot;/Resources/Images/AppBar/button-chat.png&quot; Click=&quot;chat_Click&quot; Text=&quot;Chat&quot;&gt;
                &lt;/shell:ApplicationBarIconButton&gt;
            &lt;/shell:ApplicationBar.Buttons&gt;
        &lt;/shell:ApplicationBar&gt;
    &lt;/phoneNavigation:PhoneApplicationPage.ApplicationBar&gt;
</pre>
<p>There are a number of ways you could resolve this. You could create and hook off an event in your View Model from within your view’s code behind, or if you have an existing Dependency Property on your View Model you could hook off it’s PropertyChanged event. However, a simpler and more loosely coupled approach is to use the messaging framework within MVVM Light.</p>
<p>Just add this single line of code to your View Model when you want to announce something to your app. The magic string is a unique token to identify the message, and you can send anything you want. In our case we are sending a message when the hasBoardThinkingTiles property has updated within the view model.</p>
<pre class="brush: csharp;">
Messenger.Default.Send&lt;bool&gt;(hasBoardThinkingTiles), &quot;HasBoardThinkingTiles&quot;);
</pre>
<p>You can then register to receive this message from within the constructor of your View’s code behind with a single line of code and pass off to a method for handling. You can see here that we are dynamically setting the text and icon uri depending upon the received message from the View Model.</p>
<p>It’s worth nothing that you cannot appear to reference Applicaiton Bar buttons by their x:Name directly like other controls you must find the button using the ApplicationBar.Buttons[x] collection directly.</p>
<pre class="brush: csharp;">
        public GamePage()
        {
            InitializeComponent();
            Messenger.Default.Register&lt;bool&gt;(this, &quot;HasBoardThinkingTiles&quot;, HasBoardThinkingTilesChanged);
        }

        void HasBoardThinkingTilesChanged(bool hasBoardThinkingTiles)
        {
            var passPlay = ApplicationBar.Buttons[1] as ApplicationBarIconButton;
            if (hasBoardThinkingTiles)
            {
                passPlay.Text = &quot;Play&quot;;
                passPlay.IconUri = new Uri(&quot;/Resources/Images/AppBar/button-play.png&quot;, UriKind.Relative);
            }
            else
            {
                passPlay.Text = &quot;Pass&quot;;
                passPlay.IconUri = new Uri(&quot;/Resources/Images/AppBar/button-pass.png&quot;, UriKind.Relative);
            }
        }
</pre>
<p><strong>Conclusion</strong></p>
<p>Using a messaging approach like that provided with MVVM Light helps keep your WP7 application loosely coupled. The View can remain focussed on view specific concerns and can interact with your View Model indirectly using messaging to avoid hard wiring the two together unnecessarily.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.markerstudio.com/technical/2010/07/windows-phone-7-mvvm-light-messaging-and-dynamic-application-bar/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Barcamp 2010 — The non D in the room</title>
		<link>http://www.markerstudio.com/design/2010/07/barcamp-2010-the-non-d-in-the-room/</link>
		<comments>http://www.markerstudio.com/design/2010/07/barcamp-2010-the-non-d-in-the-room/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 22:45:47 +0000</pubDate>
		<dc:creator>Tanya Smith</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.markerstudio.com/?p=2568</guid>
		<description><![CDATA[I thought I would write a quick rundown of my first Barcamp experience from the perspective of the non Developer or Designer in the room. I tried to hop around the talks to a variety of topics some of direct interest to my role in Marker and some quite new or challenging. First talk of [...]]]></description>
			<content:encoded><![CDATA[<p>I thought I would write a quick rundown of my first <a href="http://www.bca.geek.nz/" target="_blank">Barcamp</a> experience from the perspective of the non Developer or Designer in the room.</p>
<p>I tried to hop around the talks to a variety of topics some of direct interest to my role in Marker and some quite new or challenging. First talk of the day was given by <a href="http://dubdotdash.blogspot.com" target="_blank">Peter McLennan.</a> He was talking about his passion for designing and collecting Vinyl covers. This was a great way to ease myself into the day as within my comfort zone of anything designy or arty and I found the way he chose to group designs interesting some by designers, some by labels, some by genres and so on as each grouping showed ways that trends occurred and a hidden label language was created.</p>
<p>Next up was by the young name behind the event Ludwig Wendzich (I figured it would be plain rude not to see the founder speak atleast once). He talked about the way you can rethink the UI experience of sites for topics like magazines using the new movement recognising technology. How using this natural motion that is directly connected to what is seen on screen is more instinctual than the third party use of a keyboard or mouse driven command. I especially liked the idea of this type of technique making the web more accessible for the really young or old, eradicating the old analogy of the remote control being too fiddly/small/complicated debate.</p>
<p>Adbreak here, I have to say the food alone is reason to come as we had everything from healthy fruit to scones with cream and jam, carrot cake, M&amp;Ms and brownies to lasagna and salad. I have to say the best spread at a conference I have ever eaten — beats the bain-marie slop often had at the hotel based ones. The t-shirts were also a great design and very wearable once you upped your size x 2 as the fit was extremely small for the ladies.</p>
<p>Then I enjoyed some healthy debate about the future of Digital TV in NZ with Steven Ellis at the helm.</p>
<p>Usability was next on the cards from a one month kiwi Haunani Pao (A new inductee from San Fran) whose breakdown on what and why we have this thing called usability provided me with lots of great ways to help sell the benefits to clients. Particularly liked her picture representation of why with the beautiful red jug that although on the surface looked great due to the spout and handle being on the same side was rendered useless.</p>
<p>Then hands down my favourite discussion of the day from <a href="http://www.wikiteach.info/" target="_blank">Mike Dickison</a> who presented from his academic point of view what the roadblocks to getting Wikipedia into mainstream use in Universities were and his ideas on ways to rid them. I loved his suggestion of replacing or supplementing the essay form of testing to making the students actually publish their research as a wiki page and leave it open for public debate as opposed to the one person critique of the lecturer. I also appreciated his emphasizing the need for a mind-shift from research only to more focus on critique of the said research sources.</p>
<p>Then we landed in the world of Science Fiction for an analysis of leadership in today’s working environments. Corporate being similar to Star Trek, Independent to Doctor Who and Start-up to Firefly. It was a fabulous way to make concepts which are sometimes quite abstract really tangible. Can’t wait to read <a title="Rag Tag Leadership" href="http://ragtagleadership.com/" target="_blank">the book</a> once its out.</p>
<p>My last talk for the day was by my colleague <a href="http://www.slideshare.net/darren131/html5-july-2010" target="_blank">Darren Wood</a> who I love to hear speak as his passion for his craft is always so evident in his presentations and the reduction of code and new way of adopting the flexibility of new working styles in HTML5 was really interesting I appreciated the fact that even at code level they had recognised the need for people to show their individual flair. He was partnered by <a href="http://matthewbuchanan.name/" target="_blank">Matthew Buchanan</a> who I am also a bit of a fan of via his blog as he has a knack for hunting out great design on the web. His brief demo on the possibilities for rendering what was once image based only solutions now being done with CSS was simultaneously exciting and scary as can see the ever faster shift to the blurring of art and science and wonder when the science will become too hard for the artist to use and as such render them handicapped and the world of the web into many an un-designy hand. I am a fan of the pretty picture after all.</p>
<p>Overall I was really impressed by the entire day and will be back if I can secure a spot next year.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.markerstudio.com/design/2010/07/barcamp-2010-the-non-d-in-the-room/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows Phone 7 — MVVM Light and Unit Testing Example</title>
		<link>http://www.markerstudio.com/technical/2010/07/mvvm-light-and-unit-testing-example/</link>
		<comments>http://www.markerstudio.com/technical/2010/07/mvvm-light-and-unit-testing-example/#comments</comments>
		<pubDate>Sat, 17 Jul 2010 08:55:35 +0000</pubDate>
		<dc:creator>Keith Patton</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[MVVM]]></category>
		<category><![CDATA[MVVM Light]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Silverlight Testing]]></category>
		<category><![CDATA[Silverlight Unit Testing]]></category>
		<category><![CDATA[TDD]]></category>
		<category><![CDATA[Test Drivern Development]]></category>
		<category><![CDATA[Unit Testing]]></category>
		<category><![CDATA[windows phone]]></category>
		<category><![CDATA[Windows Phone 7]]></category>
		<category><![CDATA[Windows Phone Testing]]></category>
		<category><![CDATA[WP7]]></category>
		<category><![CDATA[WP7 Testing]]></category>
		<category><![CDATA[WP7 Unit Testing]]></category>

		<guid isPermaLink="false">http://www.markerstudio.com/?p=2536</guid>
		<description><![CDATA[A quick start example on using MVVM Light and the Silverlight Unit Testing Framework to test your Windows Phone 7 applications with a more Test Driven Development (TDD) approach.]]></description>
			<content:encoded><![CDATA[<p><strong>Introduction</strong></p>
<p>This post assumes you are doing or have done some Windows Presentation Foundation (WPF), Silverlight (SL) or Windows Phone 7 (WP7) development in the past and are eager to get some unit testing going in your WP7 applications.</p>
<p>It should get you started with setting up a solution structure which supports WP7 unit testing and full source code (including all referenced 3rd party libraries) is supplied at the end of the article. The core purpose is to demonstrate core testability via separation of the view model from the view.</p>
<p><strong>System Requirements</strong></p>
<p>I’ve checked everything against the latest public beta release of the developer tools (as of 15/07/2010) from <a href="http://developer.windowsphone.com">http://developer.windowsphone.com</a>. Please make sure you have this installed. I’m using Visual Studio 2010, but it all should work ok with Visual Studio Express 2010 that comes with the developer tools installation.</p>
<p><strong>Choosing an MVVM Framework</strong></p>
<p>MVVM (Model-View-ViewModel) is an architectural pattern well described by Josh Smith in his <a href="http://msdn.microsoft.com/en-us/magazine/dd419663.aspx">MVVM MSDN Article</a>. When you use MVVM in your WP7 application, it becomes more suited to automated unit testing. Testability of WP7 applications relies on a clean separation between the various layers of our WP7 application, particularly between the View (the .xaml UI construct) and the ViewModel (the .cs class that is usually set as the DataContext of the View).</p>
<p>There are some great MVVM frameworks out there for Silverlight including <a href="http://compositewpf.codeplex.com/">Prism</a> combined with the <a href="http://blogs.msdn.com/b/gblock/archive/2010/06/03/mef-has-shipped.aspx">Managed Extensibility Framework</a> (now part of .net 4 and Silverlight 4). However, WP7 is relatively new and these more ‘full on’ practices and frameworks are not yet usable within WP7 which is largely based on SL3 (with a bit of SL4 sprinkled in).</p>
<p>For WP7 I’ve opted for <a href="http://www.galasoft.ch/mvvm/getstarted/">MVVM light</a> as it appears to me to deliver the best ‘bang for buck’. It’s easy to set up and gives you the core separation of concerns between view and model in a nice simple way. It provides…</p>
<ul>
<li>A base class for your View Model classes called ‘ViewModelBase’</li>
<li>A commanding framework to bind UI events to the ViewModel directly in xaml (no code behind event handlers)</li>
<li>A messaging framework to decouple View Models</li>
<li>Various snippets, project and item templates for Visual Studio</li>
</ul>
<p>This post makes use of the ViewModelBase class and the commanding framework to abstract out event handling. There is a commanding framework in SL4, but this is not available within WP7 (being based largely on SL3). MVVM Light therefore comes in particularly handy here.</p>
<p>I’m not using the messaging framework in this example or delving into other related topics like service location/dependency injection of view models to keep things simple. You can naturally extend things to support these features once you have got the core separation in place.</p>
<p><strong>Choosing a Unit Testing Framework</strong></p>
<p>A quick search brought me to Jeff Wilcox’s blog on this and his out of band release of the Silverlight Unit Testing Framework for Windows Phone 7 (WP7) which can be found here <a href="http://www.jeff.wilcox.name/2010/05/sl3-utf-bits/">http://www.jeff.wilcox.name/2010/05/sl3-utf-bits/</a>. I believe this is your only option at this stage, and I would imagine this will be formalised in some way as the official WP7 unit testing framework in due course.</p>
<p><strong>Solution Structure</strong></p>
<div id="attachment_2550" class="wp-caption alignleft" style="width: 361px"><a rel="attachment wp-att-2550" href="http://www.markerstudio.com/technical/2010/07/mvvm-light-and-unit-testing-example/attachment/solutionstructure/"><img class="size-full wp-image-2550" src="http://www.markerstudio.com/wp-content/uploads/2010/07/SolutionStructure.png" alt="Windows Phone 7 Testing - Solution Structure" width="351" height="135" /></a><p class="wp-caption-text">Windows Phone 7 Testing — Solution Structure</p></div>
<p>We have 2 projects in our WP7UnitTestSample solution, Sample.Phone and Sample.Phone.Tests. The Sample.Phone is the main WP7 application that you would be deploying to end users. The WP7.Phone.Tests is another WP7 application which you will run simply to test out your application.</p>
<p><strong>The WP7 Core Application Project</strong></p>
<p>This project is pretty simple, we have a MainPage.xaml which shows a text box, a button and text block to display results of clicking that button and submitting the text. The core xaml of the page is shown below.</p>
<pre class="brush: xml;">
 &lt;Grid x:Name=&quot;LayoutRoot&quot;&gt;
        &lt;StackPanel Orientation=&quot;Vertical&quot; HorizontalAlignment=&quot;Left&quot; VerticalAlignment=&quot;Top&quot; &gt;
            &lt;TextBlock Text=&quot;Test Text (6-15 chars valid)&quot; /&gt;
            &lt;TextBox Width=&quot;300&quot; MaxLength=&quot;20&quot; x:Name=&quot;TestText&quot; Height=&quot;49&quot; Text=&quot;{Binding TestText, Mode=TwoWay}&quot; FontSize=&quot;12&quot; /&gt;
            &lt;Button x:Name=&quot;TestTextSubmit&quot; Content=&quot;Send Test Text&quot; Width=&quot;300&quot;&gt;
                &lt;i:Interaction.Triggers&gt;
                    &lt;i:EventTrigger EventName=&quot;Click&quot;&gt;
                        &lt;cmd:EventToCommand Command=&quot;{Binding TestTextButtonClick}&quot;/&gt;
                    &lt;/i:EventTrigger&gt;
                &lt;/i:Interaction.Triggers&gt;
            &lt;/Button&gt;
            &lt;!-- result here--&gt;
            &lt;TextBlock x:Name=&quot;Result&quot; Text=&quot;{Binding StatusCode, Mode=TwoWay}&quot; Height=&quot;80&quot; Width=&quot;300&quot; /&gt;
        &lt;/StackPanel&gt;
    &lt;/Grid&gt;
</pre>
<p>The View Model is defined as an application resource within App.Xaml, and referenced as a StaticResource in the MainPage.xaml as the DataContext of MainPage.xaml. (You can use the ViewModelLocator approach within the MVVM Light framework to avoid hard wiring, but not really necessary for apps where you don’t need this flexibility).</p>
<pre class="brush: xml;">
DataContext=&quot;{StaticResource MainPageViewModel}&quot;
</pre>
<p>And here’s how you add a View Model as an application resource:</p>
<pre class="brush: xml;">
&lt;Application.Resources&gt;
&lt;viewModels:MainPageViewModel x:Key=&quot;MainPageViewModel&quot; /&gt;
&lt;/Application.Resources&gt;
</pre>
<p>Note that there is nothing added to the code behind MainPage.xaml.cs. Having empty code behinds isn’t really a goal in itself (although it can be a rather satisfying pursuit if you’re so inclined), however you should ensure that any non View specific code is placed away from your View’s code behind as much as possible so it can be easily tested.</p>
<p>In this example we have two way data binding from the text box which contains the text to be submitted and also the text block  which will show the results of the submission. So far so normal. The MVVM Light framework (specifically EventToCommand) is then used to link the button click to the ViewModel by way of a bound command rather than a strongly coupled link to an event handler within the code behind of the MainPage.xaml.</p>
<p>Let’s take a look at the MainPageViewModel.cs class which can be found in the ViewModels folder of the core Sample.Phone project.</p>
<pre class="brush: csharp;">
    public class MainPageViewModel : ViewModelBase
    {
        private string _statusCode = String.Empty;
        private string _testText = String.Empty;

        public MainPageViewModel()
        { }

        public string StatusCode
        {
            get
            {
                return _statusCode;
            }
            set
            {
                _statusCode = value;
                RaisePropertyChanged(&quot;StatusCode&quot;);
            }
        }

        public string TestText
        {
            get
            {
                return _testText;
            }
            set
            {
                _testText = value;
                RaisePropertyChanged(&quot;TestText&quot;);
            }
        }

        public ICommand TestTextButtonClick
        {
            get
            {
                return new RelayCommand(() =&gt; ProcessTestText(), () =&gt; ProcessTestText_CanExecute());
            }
        }

        public void ProcessTestText()
        {
            this.StatusCode = &quot;SUCCESS&quot;;
        }

        public bool ProcessTestText_CanExecute()
        {
            if (String.IsNullOrEmpty(this.TestText) || this.TestText.Length &lt; 6 || this.TestText.Length &gt; 15)
            {
                this.StatusCode = &quot;FAILURE - Invalid test text!&quot;;
                return false;
            }
            return true;
        }

    }
</pre>
<p>Firstly, notice how we have the 2 dependency properties TestText and StatusCode to support the databinding to the xaml UI elements. Secondly we have an ICommand bound to the TestTextButtonClick EventToCommand which returns a RelayCommand.</p>
<p>This is an interesting one because when this is fired, it will do 2 things. It will first of all call ProcessTestText_CanExecute() which is essentially how you validate whether or not the event can proceed. Notice how we abstract out the business logic of validating the UI here away from the View. We’re just setting the StatusCode text so that the failure of the user to enter a valid TestText value is then reflected back to the user.</p>
<p>Assuming this method returns true then ProcessTestText() is called which allows to process the data submitted by the user. In this case we just write out a success value which will then be reflected back in the view to let the user know everything is ok.</p>
<p>The idea here is that your ViewModel could be going to a web service, database etc. and your View wouldn’t care. We have completely separated the ViewModel from the View and only have a single line of code linking the two (the initial setting of the DataContext).</p>
<p>All well and good. Now, onto our view model tests.</p>
<p><strong>The WP7 Test Application Project</strong></p>
<p>Open up the Sample.Phone.Tests project and upon opening MainPage.xaml.cs you will see the following code in the constructor. This is all it takes to set up the WP7 app to run the tests found within the project.</p>
<pre class="brush: csharp;">
            // set up unit testing
            Content = UnitTestSystem.CreateTestPage();
            IMobileTestPage imtp = Content as IMobileTestPage;

            if (imtp != null)
            {
                BackKeyPress += (x, xe) =&gt; xe.Cancel = imtp.NavigateBack();
            }
</pre>
<p>We have a single test class in the ViewModels folder which is MainPageViewModelTests.cs. If you take a look at this you will see that there are various test methods testing one of our View Model classes within the main Sample.Phone application.</p>
<pre class="brush: csharp;">
  [TestMethod]
        public void Constructor_InstantiatesSuccessfully()
        {
            var sut = new MainPageViewModel();
            Assert.IsNotNull(sut);
        }

        [TestMethod]
        public void TestTextButtonClick_CanExecute_ShortTestText_Failure()
        {
            var sut = new MainPageViewModel();
            sut.TestText = &quot;short&quot;;
            Assert.IsFalse(sut.TestTextButtonClick.CanExecute(null));
        }

        [TestMethod]
        public void TestTextButtonClick_CanExecute_LongTestText_Failure()
        {
            var sut = new MainPageViewModel();
            sut.TestText = &quot;farfarfarfartoolong&quot;;
            Assert.IsFalse(sut.TestTextButtonClick.CanExecute(null));
        }

        [TestMethod]
        public void TestTextButtonClick_CanExecute_Success()
        {
            var sut = new MainPageViewModel();
            sut.TestText = &quot;just right&quot;;
            Assert.IsTrue(sut.TestTextButtonClick.CanExecute(null));
        }

        [TestMethod]
        [Asynchronous]
        public void TestTextButtonClick_TestText_PropertyChange_Success()
        {
            bool success = false;
            var sut = new MainPageViewModel();
            sut.PropertyChanged += (sender, e) =&gt;
                {
                    if (e.PropertyName == &quot;TestText&quot;)
                    {
                        success = sut.TestText == &quot;changing&quot;;
                    }
                };

            sut.TestText = &quot;changing&quot;;
            Assert.IsTrue(success);
           EnqueueTestComplete();
        }
</pre>
<p>The Silverlight Unit Testing Framework is based on the standard Visual Studio Unit Testing so if you have used this you will be familiar with the annotations. As you can see we are able to test instantiation of the MainPageViewModel along with various failure and success paths.</p>
<p>One thing I really want to highlight is the availability of the [Asynchronous] attribute which is important because a lot of the time your ViewModel may be calling out (either directly or via some other layer) to a web service and all service calls must be asynchronous in WP7 (being based mostly as it is on SL3).</p>
<p>In this example we are keeping things simple and testing that the TestText property has changed correctly by hooking off the PropertyChanged event of that Dependency Property. Notice that you call EnqueueTestComplete() when your happy for the test to end.</p>
<p>To run the tests, ensure that Sample.Phone.Tests is set as the startup project in Visual Studio and hit CTRL+F5. You should then see that all tests are passing with the following screen:</p>
<div id="attachment_2547" class="wp-caption aligncenter" style="width: 303px"><a rel="attachment wp-att-2547" href="http://www.markerstudio.com/technical/2010/07/mvvm-light-and-unit-testing-example/attachment/testpass/"><img class="size-full wp-image-2547" src="http://www.markerstudio.com/wp-content/uploads/2010/07/TestPass.png" alt="Windows Phone 7 All Tests Passing" width="293" height="543" /></a><p class="wp-caption-text">Windows Phone 7 All Tests Passing</p></div>
<p><strong>Conclusion</strong></p>
<p>With a little bit of effort you can ensure that you have basic clean separation between your View and View Model layers in WP7. From this, you can easily test your View Model operations from a test project that will give you more complete confidence in the correct behaviour of your application.</p>
<p><strong>More Reading</strong></p>
<p>I highly recommend getting <a href="http://joshsmithonwpf.wordpress.com/2010/02/15/my-e-book-about-advanced-mvvm/">Josh Smith’s book on MVVM</a>.</p>
<p><a href="http://msdn.microsoft.com/en-us/magazine/dd458800.aspx">Shawn Wildermuth’s article on MVVM on MSDN</a> is also worth a read</p>
<p><strong>Download</strong></p>
<p><a rel="attachment wp-att-2553" href="http://www.markerstudio.com/technical/2010/07/mvvm-light-and-unit-testing-example/attachment/wp7unittestsample/">Windows Phone 7 — MVVM Light and Unit Testing Sample</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.markerstudio.com/technical/2010/07/mvvm-light-and-unit-testing-example/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Why should you bid for your own brand name in Google AdWords?</title>
		<link>http://www.markerstudio.com/marketing/2010/07/why-should-you-bid-for-your-own-brand-name-in-google-adwords/</link>
		<comments>http://www.markerstudio.com/marketing/2010/07/why-should-you-bid-for-your-own-brand-name-in-google-adwords/#comments</comments>
		<pubDate>Wed, 14 Jul 2010 18:58:06 +0000</pubDate>
		<dc:creator>Jon Beattie</dc:creator>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[adwords]]></category>

		<guid isPermaLink="false">http://www.markerstudio.com/?p=2529</guid>
		<description><![CDATA[I get asked this all the time, and yes, it does seem like a waste of budget, on the face of it, however, this article points out several reasons why you should consider it.]]></description>
			<content:encoded><![CDATA[<p>I get asked this all the time, and yes, it does seem like a waste of budget, on the face of it, however, <a href="http://tamebay.com/2010/07/10-reasons-to-buy-your-own-business-name-in-adwords.html">this article</a> points out several reasons why you should consider it.</p>
<p><a href="http://tamebay.com/2010/07/10-reasons-to-buy-your-own-business-name-in-adwords.html"><img class="alignnone size-full wp-image-2530" title="Paying for your own brand name on AdWords" src="http://www.markerstudio.com/wp-content/uploads/2010/07/ebaySRP.jpg" alt="" width="600" height="319" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.markerstudio.com/marketing/2010/07/why-should-you-bid-for-your-own-brand-name-in-google-adwords/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
