<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CkMCR3s5fyp7ImA9WhRUFEg.&quot;"><id>tag:blogger.com,1999:blog-1811411750119502062</id><updated>2012-01-24T16:14:26.527-08:00</updated><category term="Schematic" /><category term="Social Media" /><category term="Innovation" /><category term="Interoperability" /><category term="Visual Studio" /><category term="Analytics" /><category term="Twitter" /><category term="Metro" /><category term="Architecture" /><category term="MVC" /><category term="Source Control" /><category term="Dependency Injection" /><category term="Expression Blend" /><category term="Unity3D" /><category term="Windows7" /><category term="SOA" /><category term="Azure" /><category term="XNA" /><category term="Design Patters" /><category term="ASP.NET" /><category term="XAML" /><category term="Windows Phone" /><category term="Web Development" /><category term="Productivity" /><category term="Surface" /><category term="Functional Integration" /><category term="Android" /><category term="Facebook" /><category term="Mobile" /><category term="LINQ" /><category term="MSSQL" /><category term="Continuous Integration" /><category term="Kinect" /><category term="REST" /><category term="TFS" /><category term="Localization" /><category term="NUI" /><category term="Xbox" /><category term="Tips" /><category term="R/GA" /><category term="Windows Media Center" /><category term="IIS" /><category term="Game Development" /><category term="Multi-Platform" /><category term="Industry News" /><category term="C#" /><category term="Touch" /><category term="Internet of Things" /><category term="Conferences" /><category term="Agile" /><category term="WCF" /><category term="Windows8" /><category term="JavaScript" /><category term="WPF" /><category term="Entity Framework" /><category term=".NET" /><category term="Silverlight" /><title>Anthony Baker</title><subtitle type="html">from interactive apps to games,
cool stuff about next generation technologies</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.anthonybaker.me/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.anthonybaker.me/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>Anthony Baker</name><uri>http://www.blogger.com/profile/00141462441551416511</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-GrenHoIJAos/Tto5ikQcE8I/AAAAAAAAAQc/WwmVCeZ-GxQ/s220/273471_526998870_162601933_n.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>150</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/AnthonyBakersSnacks" /><feedburner:info uri="anthonybakerssnacks" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;DUABQnY4cSp7ImA9WhRUFEk.&quot;"><id>tag:blogger.com,1999:blog-1811411750119502062.post-5582630917988729720</id><published>2012-01-24T15:29:00.001-08:00</published><updated>2012-01-24T15:29:13.839-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-24T15:29:13.839-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Windows Phone" /><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="Web Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Tips" /><category scheme="http://www.blogger.com/atom/ns#" term="XAML" /><category scheme="http://www.blogger.com/atom/ns#" term="Silverlight" /><category scheme="http://www.blogger.com/atom/ns#" term="Expression Blend" /><title>Adding Sample Data in Blend</title><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;As many of us, I like to go back to basics from time to time, specially if I been a bit away from a certain technology. Although I have been doing a lot of posting about Windows 8, Surface 2.0 and Windows Phone, I haven’t talked much about Silverlight. &lt;/p&gt; &lt;p&gt;I started working with Silverlight from the very beginning, back when it was called WPF/E. The newest version, &lt;a href="http://10rem.net/blog/2011/12/09/announcing-the-release-of-silverlight-5" target="_blank"&gt;Silverlight 5 was released a couple of months ago, in December&lt;/a&gt;. I should have been paying more attention to it, but hey….time is not enough for so many cool things at the same time after all ! &lt;/p&gt; &lt;p&gt;While I try to find more time to talk, review and share &lt;a href="http://www.silverlight.net/learn/overview/what's-new-in-silverlight-5" target="_blank"&gt;Silverlight 5 features&lt;/a&gt;, I wanted to do a post about how to add sample data into your Silverlight application using &lt;a href="http://www.microsoft.com/expression/products/blend_overview.aspx" target="_blank"&gt;Expression Blend&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;I want this to bit a bit more visual and less text, so here we go !&lt;/p&gt;&lt;a href="http://lh4.ggpht.com/-ixRMpgCTkSQ/Tx8-iTfjYTI/AAAAAAAAAos/TLOxeglalC4/s1600-h/sampledata_01%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="sampledata_01" border="0" alt="sampledata_01" src="http://lh5.ggpht.com/-Cm3JO59GxzE/Tx8-jFS1lmI/AAAAAAAAAow/ac8LFn-8qUc/sampledata_01_thumb%25255B1%25255D.png?imgmax=800" width="167" height="240"&gt;&lt;/a&gt;  &lt;p align="center"&gt;&lt;a href="http://lh3.ggpht.com/-YpfdJK13iMs/Tx8-jiXZf5I/AAAAAAAAAo4/887JVsfcODI/s1600-h/sampledata_02%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="sampledata_02" border="0" alt="sampledata_02" src="http://lh5.ggpht.com/-XnWCLRBD5x0/Tx8-knKT3_I/AAAAAAAAApE/v3APFSCD5qY/sampledata_02_thumb%25255B1%25255D.png?imgmax=800" width="240" height="220"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p align="center"&gt;Open Blend and create a new Silverlight project…&lt;/p&gt; &lt;p align="center"&gt;&lt;a href="http://lh6.ggpht.com/-Tamgf9Sdm4o/Tx8-lSMVVMI/AAAAAAAAApM/_1UFaAmiTY4/s1600-h/sampledata_03%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="sampledata_03" border="0" alt="sampledata_03" src="http://lh6.ggpht.com/-O9qyCIr--vc/Tx8-mdt1ZoI/AAAAAAAAApQ/VWEPLTN_tmM/sampledata_03_thumb%25255B1%25255D.png?imgmax=800" width="240" height="113"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p align="center"&gt;On the right panel, go to the Data tab. Click on the arrow next to the data icon and select “New Sample Data”…&lt;/p&gt; &lt;p align="center"&gt;&lt;a href="http://lh5.ggpht.com/-MQ-LMptWbB4/Tx8-m9u-V-I/AAAAAAAAApc/d4P8Aur7MPI/s1600-h/sampledata_04%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="sampledata_04" border="0" alt="sampledata_04" src="http://lh6.ggpht.com/-Qnu7uki2QQc/Tx8-n02HdBI/AAAAAAAAApk/TeK1CovRD7g/sampledata_04_thumb%25255B1%25255D.png?imgmax=800" width="240" height="116"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p align="center"&gt;Enter a name for this sample data set…&lt;/p&gt; &lt;p align="center"&gt;&lt;a href="http://lh4.ggpht.com/-WLQwreK2f2w/Tx8-ovBK-WI/AAAAAAAAApo/5RiMxd_UriI/s1600-h/sampledata_05%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="sampledata_05" border="0" alt="sampledata_05" src="http://lh5.ggpht.com/-MNyixSCxcVU/Tx8-pZtoK9I/AAAAAAAAApw/T2ainbfJUcg/sampledata_05_thumb%25255B1%25255D.png?imgmax=800" width="240" height="159"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p align="center"&gt;Blend will create your sample data collection in the Data tab. Click on the data icon in the collection element to edit the sample data records…&lt;/p&gt; &lt;p align="center"&gt;&lt;a href="http://lh3.ggpht.com/-nzQuARJdEbc/Tx8-pwl00GI/AAAAAAAAAp4/UV-5ztA6AfU/s1600-h/sampledata_06%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="sampledata_06" border="0" alt="sampledata_06" src="http://lh3.ggpht.com/-N7zK3XcP6Vk/Tx8-qrG5HNI/AAAAAAAAAqA/HxpnFZ0Ig80/sampledata_06_thumb%25255B1%25255D.png?imgmax=800" width="240" height="174"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p align="center"&gt;Blend sample values window allow to select the sample data properties to display, along with their type and format giving you great flexibility for sample data generation out of the box…&lt;/p&gt; &lt;p align="center"&gt;&lt;a href="http://lh3.ggpht.com/-U1t5EJjDfSg/Tx8-rAQHrlI/AAAAAAAAAqI/KqkXx82DXKI/s1600-h/sampledata_07%25255B6%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="sampledata_07" border="0" alt="sampledata_07" src="http://lh4.ggpht.com/-0MXz7C1m_eo/Tx8-r2cNtVI/AAAAAAAAAqU/j91j4gPXW_0/sampledata_07_thumb%25255B2%25255D.png?imgmax=800" width="240" height="192"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p align="center"&gt;Now here is a cool feature. Once you have your data generated, close the window. Now go to the collection element in the Data tab, click and hold the collection element, and drag it to the “Objects and Timeline” tab. Blend will create a ListBox element for you on the fly to display the sample data….&lt;/p&gt; &lt;p align="center"&gt;&lt;a href="http://lh3.ggpht.com/-x9QukcnBe84/Tx8-syAodmI/AAAAAAAAAqY/XR-Y_uapJnc/s1600-h/sampledata_08%25255B2%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="sampledata_08" border="0" alt="sampledata_08" src="http://lh4.ggpht.com/-zQT6F_wZxEw/Tx8-tXmvubI/AAAAAAAAAqg/jTgQ62iyBMQ/sampledata_08_thumb.png?imgmax=800" width="244" height="159"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p align="center"&gt;&lt;a href="http://lh6.ggpht.com/-53ee6xKJrxI/Tx8-uXhZcOI/AAAAAAAAAqs/gMrYzU5kIvE/s1600-h/sampledata_09%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="sampledata_09" border="0" alt="sampledata_09" src="http://lh6.ggpht.com/-dARoWeFPd8U/Tx8-u2g_F_I/AAAAAAAAAqw/P5_6ICIycMs/sampledata_09_thumb%25255B1%25255D.png?imgmax=800" width="240" height="156"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p align="center"&gt;Run the project (F5) and you will see your Silverlight application running with your generated sample data. &lt;/p&gt; &lt;p align="justify"&gt;This is by old means an old topic. I did a presentation about this back in 2010 for my colleagues. The most excited ones where actual designers ! Have you noticed that following the previous steps you created a Silverlight application without having to write a single line of code?&lt;/p&gt; &lt;p align="justify"&gt;Of course, this is nothing compared to the power of the Silverlight platform and the .NET framework. This is sometimes mistaken by people who are not experienced developers. It is easy to put together shiny things quickly using tools like Blend. Is a completely different thing to create robust, scalable and responsive Silverlight applications, and for that you need the experience and knowledge of experienced .NET developers.&lt;/p&gt; &lt;p align="justify"&gt;Anyways, check out what you can do with a few simple modifications on the sample data generation.&lt;/p&gt; &lt;p align="justify"&gt;&lt;a href="http://lh6.ggpht.com/-XPO3yccLzNQ/Tx8-vflhrrI/AAAAAAAAAq4/oeCahCvDFgk/s1600-h/sampledata_10%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="sampledata_10" border="0" alt="sampledata_10" src="http://lh6.ggpht.com/-ZIiBWbmyiIE/Tx8-wPraKII/AAAAAAAAArA/5BcIqtY0UtY/sampledata_10_thumb%25255B1%25255D.png?imgmax=800" width="240" height="203"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p align="center"&gt;Open the sample data collection and change the second property to an image type and load the sample images from a local folder (ideally should be the project sample images folder)…&lt;/p&gt; &lt;p align="center"&gt;&lt;a href="http://lh6.ggpht.com/-JbRbnWtCwl8/Tx8-xPtK3PI/AAAAAAAAArM/0i6OHQk35MY/s1600-h/sampledata_11%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="sampledata_11" border="0" alt="sampledata_11" src="http://lh6.ggpht.com/-oqElJST9Q6s/Tx8-x2F3I6I/AAAAAAAAArU/qke-ExdeOVQ/sampledata_11_thumb%25255B1%25255D.png?imgmax=800" width="240" height="217"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p align="center"&gt;Here is the final result…with a few touches on the XAML so the ItemsPanelTemplate is an horizontally oriented StackPanel !&lt;/p&gt; &lt;p align="center"&gt;&amp;nbsp;&lt;/p&gt; &lt;p align="justify"&gt;The Sample Data generation in Blend works for any kind of supported applications, including WPF and Windows Phone apps. You can generate sample data using random patterns based expressions as I have show you, but you can also generate sample data from XML files or a database. This is a really helpful tool for designers and developers to stylize and test the application without the lower data access layers that might be just under development at that point, and of course is also really useful. &lt;/p&gt; &lt;p align="justify"&gt;Expression Blend is arguably the best user interface development tool out there, although it is exclusively for .NET and now WinRT application development, which recently seems to be gaining more traction and interest from the industry.&lt;/p&gt; &lt;p align="justify"&gt;Cheers!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1811411750119502062-5582630917988729720?l=blog.anthonybaker.me' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/RtHBVdMRGQwoo6JaXDyMQF8Jluc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RtHBVdMRGQwoo6JaXDyMQF8Jluc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/RtHBVdMRGQwoo6JaXDyMQF8Jluc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RtHBVdMRGQwoo6JaXDyMQF8Jluc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AnthonyBakersSnacks/~4/uC3gttOa8e0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.anthonybaker.me/feeds/5582630917988729720/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.anthonybaker.me/2012/01/adding-sample-data-in-blend.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/5582630917988729720?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/5582630917988729720?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnthonyBakersSnacks/~3/uC3gttOa8e0/adding-sample-data-in-blend.html" title="Adding Sample Data in Blend" /><author><name>Anthony Baker</name><uri>http://www.blogger.com/profile/00141462441551416511</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-GrenHoIJAos/Tto5ikQcE8I/AAAAAAAAAQc/WwmVCeZ-GxQ/s220/273471_526998870_162601933_n.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/-Cm3JO59GxzE/Tx8-jFS1lmI/AAAAAAAAAow/ac8LFn-8qUc/s72-c/sampledata_01_thumb%25255B1%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.anthonybaker.me/2012/01/adding-sample-data-in-blend.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQBQnk6fSp7ImA9WhRUEko.&quot;"><id>tag:blogger.com,1999:blog-1811411750119502062.post-5000125037082064175</id><published>2012-01-22T14:07:00.001-08:00</published><updated>2012-01-22T14:12:33.715-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-22T14:12:33.715-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WPF" /><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="Tips" /><category scheme="http://www.blogger.com/atom/ns#" term="Surface" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><title>Loading an Image from a string Path</title><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Sunday quick WPF tip. Here’s how you load an image from a string path using the ImageSourceConverter which is part of the System.Windows.Media namespace:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;script type="syntaxhighlighter" class="brush: csharp"&gt;&lt;![CDATA[
private static Image LoadImage(string path)
{
    // Create the image converter object
    ImageSourceConverter imageConverter = new ImageSourceConverter();
    // Create a new image object
    Image image = new Image();
    // Set the new image source by loading the file 
    // in the given string path using the ImageConverter
    image.Source = (ImageSource)imageConverter.ConvertFromString(path);
    // return the image element with the loaded source
    return image;
}
]]&gt;&lt;/script&gt; &lt;p&gt;Hope it helps. Cheers!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1811411750119502062-5000125037082064175?l=blog.anthonybaker.me' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/yycajQr8rorvYB2csfMIQKsnFv4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yycajQr8rorvYB2csfMIQKsnFv4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/yycajQr8rorvYB2csfMIQKsnFv4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/yycajQr8rorvYB2csfMIQKsnFv4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AnthonyBakersSnacks/~4/1CdI3uiHxKI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.anthonybaker.me/feeds/5000125037082064175/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.anthonybaker.me/2012/01/loading-image-from-string-path.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/5000125037082064175?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/5000125037082064175?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnthonyBakersSnacks/~3/1CdI3uiHxKI/loading-image-from-string-path.html" title="Loading an Image from a string Path" /><author><name>Anthony Baker</name><uri>http://www.blogger.com/profile/00141462441551416511</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-GrenHoIJAos/Tto5ikQcE8I/AAAAAAAAAQc/WwmVCeZ-GxQ/s220/273471_526998870_162601933_n.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.anthonybaker.me/2012/01/loading-image-from-string-path.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0ENRXo8cSp7ImA9WhRUEUo.&quot;"><id>tag:blogger.com,1999:blog-1811411750119502062.post-4158717684831152654</id><published>2012-01-21T09:53:00.000-08:00</published><updated>2012-01-21T10:48:14.479-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-21T10:48:14.479-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="Architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><title>The using Statement</title><content type="html">&lt;div style="text-align: justify;"&gt;I wanted to have a better understanding on when to use the "using" statement and why is was recommended and actually enforced in some cases. There's a lot of documentation and discussion on the subject, but wanted to share a quick brief to help you out and record it on my blog journal. Here it is:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The using statement provides a convenient syntax that ensures the correct use of IDisposable objects. This means that by making use of the "using" statement properly, you are making sure that objects are correctly disposed. Now wait a minute, C# manages the garbage collection for me, and should actually dispose the objects correctly without requiring any extra code from me, right?&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Well, it turns out that we use unmanaged resources in our code. And that is why the "using" statement is important to make sure that those unmanaged resources are disposed correctly once they are not in scope any more. File and Font are examples of unmanaged&amp;nbsp;resources.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Here is the rule and the explanation:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;i&gt;"When you use an IDisposable object, you should declare and instantiate it in a using statement.&lt;br /&gt;
The using statement calls the Dispose method on the object in the correct way, and (when you use it as shown earlier) it also causes the object itself to go out of scope as soon as Dispose is called. Within the using block, the object is read-only and cannot be modified or reassigned."&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Here is a sample with the "using" statement:&lt;br /&gt;
&lt;br /&gt;
&lt;script type="syntaxhighlighter" class="brush: csharp"&gt;&lt;![CDATA[
using (Font font1 = new Font("Arial", 10.0f)) 
{
    byte charset = font1.GdiCharSet;
}
]]&gt;&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
Here is the proper equivalent without the "using" statement&lt;br /&gt;
&lt;br /&gt;
&lt;script type="syntaxhighlighter" class="brush: csharp"&gt;&lt;![CDATA[
Font font1 = new Font("Arial", 10.0f);
try
{
    byte charset = font1.GdiCharSet;
}
finally
{
    if (font1 != null)
        ((IDisposable)font1).Dispose();
}
]]&gt;&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
I'll &amp;nbsp;be posting more samples along the way, hopefully sharing more code and samples that are useful for our every day tasks.Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1811411750119502062-4158717684831152654?l=blog.anthonybaker.me' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/LsgBkU5McjgqAq79KQhXNwLaTuc/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LsgBkU5McjgqAq79KQhXNwLaTuc/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/LsgBkU5McjgqAq79KQhXNwLaTuc/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/LsgBkU5McjgqAq79KQhXNwLaTuc/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AnthonyBakersSnacks/~4/pz1GMWmlNQM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.anthonybaker.me/feeds/4158717684831152654/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.anthonybaker.me/2012/01/using-statement.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/4158717684831152654?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/4158717684831152654?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnthonyBakersSnacks/~3/pz1GMWmlNQM/using-statement.html" title="The using Statement" /><author><name>Anthony Baker</name><uri>http://www.blogger.com/profile/00141462441551416511</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-GrenHoIJAos/Tto5ikQcE8I/AAAAAAAAAQc/WwmVCeZ-GxQ/s220/273471_526998870_162601933_n.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.anthonybaker.me/2012/01/using-statement.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QBQ348cCp7ImA9WhRUEUo.&quot;"><id>tag:blogger.com,1999:blog-1811411750119502062.post-3863000630592954367</id><published>2012-01-21T09:40:00.000-08:00</published><updated>2012-01-21T10:42:32.078-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-21T10:42:32.078-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="Tips" /><category scheme="http://www.blogger.com/atom/ns#" term="Architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><title>Namespace using Directives Best Practice: Inside or Outside?</title><content type="html">&lt;div style="text-align: justify;"&gt;I wanted to write a few lines&amp;nbsp;regarding&amp;nbsp;this topic. For most of my years coding in C# I have always put my using directives outside the namespace declaration. I have seen thousands of samples from developer across the world and from &lt;a href="http://msdn.microsoft.com/en-us/library/sf0df423.aspx" target="_blank"&gt;Microsoft official documentation&lt;/a&gt; and Microsoft employees blogs and I'm pretty sure almost all of them tend to have their using directives outside the namespace. I would say that that makes it the de-facto industry standard.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;However when I moved to the UK I found developers actually were including their using directives inside the namespace declaration. At the beginning it seemed totally wrong and I was against it. When discussing the practice with them the argument was that source analysis tools like &lt;a href="http://www.jetbrains.com/resharper/" target="_blank"&gt;Re-sharper&lt;/a&gt; and &lt;a href="http://archive.msdn.microsoft.com/sourceanalysis" target="_blank"&gt;StyleCop&lt;/a&gt;&amp;nbsp;actually encourage you to move the&amp;nbsp;using directives&amp;nbsp;inside the namespace. I though it was a valid reason&amp;nbsp;although I don't personally share it.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Here is a basic sample of using the directory outside the namespace:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;script class="brush: csharp" type="syntaxhighlighter"&gt;
&lt;![CDATA[
using System;

namespace Library.Sample
{
    public Class MySample 
    {
        // class code...
    }
}
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
sample of using the directory outside the namespace: &lt;br /&gt;
&lt;br /&gt;
&lt;script class="brush: csharp" type="syntaxhighlighter"&gt;
&lt;![CDATA[
namespace Library.Sample
{
    using System;
    public Class MySample 
    {
        // class code...
    }
}
]]&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Then I started to realize that these developers were actually breaking the single-class per file best practice. I know that some people will argue about it and I know that there are developers that tend to include several related classes in the same file. Furthermore, these developers will tend to use a lot of namespace aliases and fall into bad&amp;nbsp;interdependency&amp;nbsp;practices.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;It turns out that although there are subtle differences between having using directives inside or outside the namespace, there is no prove whatsoever that there are advantages from using one or another approach, it will fall to personal taste. If you use namespace aliases heavily and tend to have several classes in the same file, then it will be probably better in most cases to have your using directives inside the namespace. However, I would argue that it is actually a good practice at all. Class file names represent the class itself, so by having more than one class in a file you are actually&amp;nbsp;making&amp;nbsp;your code and project structure harder to read and&amp;nbsp;maintain. I would also say that by enforcing the one-file-per-class rule you are also enforcing the single responsibility principle at least in a conceptual sense, which is helpful when implementing complex solutions.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;There are people claiming that having the the using directory inside the namespace enforces assembly lazy loading, however &lt;a href="http://www.hanselman.com/blog/BackToBasicsDoNamespaceUsingDirectivesAffectAssemblyLoading.aspx" target="_blank"&gt;the claim is false&lt;/a&gt;. Placing the using directive inside or outside the namespace doesn't have any effect on the assembly loading process.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;My conclusion is that there are no tangible benefits of having the using directive inside the namespace at all, and instead, it promotes confusing code that goes against the de-facto industry best practices. I'll stick to having my using directives outside the namespace and having one-class-per-file as I strongly believes it promotes cleaner, easier to&amp;nbsp;maintain&amp;nbsp;code, OO practices and better looking code structure.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Cheers!&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1811411750119502062-3863000630592954367?l=blog.anthonybaker.me' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/56iDXWQy2ayzgGzTQ22y0d-Y8A0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/56iDXWQy2ayzgGzTQ22y0d-Y8A0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/56iDXWQy2ayzgGzTQ22y0d-Y8A0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/56iDXWQy2ayzgGzTQ22y0d-Y8A0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AnthonyBakersSnacks/~4/TbuyFlwAQ8g" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.anthonybaker.me/feeds/3863000630592954367/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.anthonybaker.me/2012/01/namespace-using-directives-best.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/3863000630592954367?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/3863000630592954367?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnthonyBakersSnacks/~3/TbuyFlwAQ8g/namespace-using-directives-best.html" title="Namespace using Directives Best Practice: Inside or Outside?" /><author><name>Anthony Baker</name><uri>http://www.blogger.com/profile/00141462441551416511</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-GrenHoIJAos/Tto5ikQcE8I/AAAAAAAAAQc/WwmVCeZ-GxQ/s220/273471_526998870_162601933_n.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.anthonybaker.me/2012/01/namespace-using-directives-best.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0AESHw8cSp7ImA9WhRUEUs.&quot;"><id>tag:blogger.com,1999:blog-1811411750119502062.post-693982924441823721</id><published>2012-01-21T07:58:00.000-08:00</published><updated>2012-01-21T08:01:49.279-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-21T08:01:49.279-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="Web Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Tips" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><category scheme="http://www.blogger.com/atom/ns#" term="Source Control" /><category scheme="http://www.blogger.com/atom/ns#" term="Continuous Integration" /><title>Microsoft.WebApplication.targets not found</title><content type="html">&lt;div style="text-align: justify;"&gt;Working on a recent project I noticed this annoying issue when I tried to open a large solution in Visual Studio composed of many&amp;nbsp;different&amp;nbsp;projects. Two of the projects were not loaded in the solution because of this, reporting the following on the output window:&lt;/div&gt;&lt;br /&gt;
&lt;i&gt;The imported project "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplication.targets" was not found. Confirm that the path in the &lt;import&gt; declaration is correct, and that the file exists on disk.&lt;/import&gt;&lt;/i&gt;&lt;br /&gt;
&lt;i&gt;&lt;br /&gt;
&lt;/i&gt;&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;The problem as you can see is that the extensions file "&lt;i&gt;Microsoft.WebApplication.targets&lt;/i&gt;" was not found. I was using Visual Studio 2010, so the first hint is that the project was looking for the extension file in the Visual Studio 2008 folder (v9.0) instead of VS 2010 (v10.0).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;The simple solution? just copy the "WebApplications" folder from v10.0 to v9.0. Close the solution and re-open it again and it should work fine.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;If you don't have Visual Studio 2010 installed or you can't find the file, chances are that you are missing some web components from the installation that are required to build/deploy/publish web applications. Try to find the files&amp;nbsp;on-line&amp;nbsp;or better yet, install Visual Studio 2010 and copy the files to your v9.0 folder. If you actually have Visual Studio 2010, you should actually make those projects point to the VS2010 folder&amp;nbsp;instead of the VS2008 one.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Now, one thing to notice is that you might be having this issue on a build server instead of your local machine. If the build server is trying to build web applications you will probably get this error since it is likely that you don't have Visual Studio installed there, and that should be the case. It is against best practices to have VS installed on your build server, it is a NO-NO!. If this is your case, just copy your local files to the server and make sure they are in the same location. Also you would probably want to make sure that .NET Framework 4.0 is installed in the server.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Now, what is the purpose of this file and why it is needed? It basically contains extension entries required by&amp;nbsp;MSBuild&amp;nbsp;for deployment tasks&amp;nbsp;of web applications.&lt;/div&gt;&lt;br /&gt;
Hope it helps. Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1811411750119502062-693982924441823721?l=blog.anthonybaker.me' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/IotEWkaOBhR_VSNSK2JwzvDWzWg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IotEWkaOBhR_VSNSK2JwzvDWzWg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/IotEWkaOBhR_VSNSK2JwzvDWzWg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/IotEWkaOBhR_VSNSK2JwzvDWzWg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AnthonyBakersSnacks/~4/ykwCTyjF9g0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.anthonybaker.me/feeds/693982924441823721/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.anthonybaker.me/2012/01/cprogram-files-x86msbuildmicrosoftvisua.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/693982924441823721?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/693982924441823721?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnthonyBakersSnacks/~3/ykwCTyjF9g0/cprogram-files-x86msbuildmicrosoftvisua.html" title="Microsoft.WebApplication.targets not found" /><author><name>Anthony Baker</name><uri>http://www.blogger.com/profile/00141462441551416511</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-GrenHoIJAos/Tto5ikQcE8I/AAAAAAAAAQc/WwmVCeZ-GxQ/s220/273471_526998870_162601933_n.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.anthonybaker.me/2012/01/cprogram-files-x86msbuildmicrosoftvisua.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CU8HRHY-fCp7ImA9WhRUEEw.&quot;"><id>tag:blogger.com,1999:blog-1811411750119502062.post-1095694670787644521</id><published>2012-01-19T14:56:00.000-08:00</published><updated>2012-01-19T14:57:15.854-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-19T14:57:15.854-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Schematic" /><category scheme="http://www.blogger.com/atom/ns#" term="Game Development" /><category scheme="http://www.blogger.com/atom/ns#" term="R/GA" /><title>My Digital Work</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://t1.gstatic.com/images?q=tbn:ANd9GcTOfTMAjmpdtwf0MMfsGYbSneiumslqmn5BkNLgO2a6adb74gbDTQ" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://t1.gstatic.com/images?q=tbn:ANd9GcTOfTMAjmpdtwf0MMfsGYbSneiumslqmn5BkNLgO2a6adb74gbDTQ" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;I was just surfing on-line and watching digital agencies case studies when I started to stumble upon projects I have worked on the past. Not every project is out there, or I have been able to talk publicly about it, but for some of them, I have been able to pick videos and some pictures.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;If you would like to take a look at published videos of projects I have been part of, take a look at my &lt;a href="http://www.youtube.com/playlist?list=PLE1D3306C0F0AFA74&amp;amp;feature=edit_ok"&gt;YouTube "My Digital Work" playlist&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Here is a couple of&amp;nbsp;short-cuts&amp;nbsp;to the posts I have published on different digital projects I have worked on.&lt;/div&gt;&lt;br /&gt;
&lt;a href="http://blog.anthonybaker.me/search/label/R%2FGA" target="_blank"&gt;@R/GA&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://blog.anthonybaker.me/search/label/Game%20Development" target="_blank"&gt;@Game Development StartUp&lt;/a&gt;&lt;br /&gt;
&lt;a href="http://blog.anthonybaker.me/search/label/Schematic" target="_blank"&gt;@Schematic&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1811411750119502062-1095694670787644521?l=blog.anthonybaker.me' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/MCoC4knKjkd6cGlJ4NlHIAlyKOg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MCoC4knKjkd6cGlJ4NlHIAlyKOg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/MCoC4knKjkd6cGlJ4NlHIAlyKOg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/MCoC4knKjkd6cGlJ4NlHIAlyKOg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AnthonyBakersSnacks/~4/UIgnB88LnaM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.anthonybaker.me/feeds/1095694670787644521/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.anthonybaker.me/2012/01/previous-work-case-studies.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/1095694670787644521?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/1095694670787644521?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnthonyBakersSnacks/~3/UIgnB88LnaM/previous-work-case-studies.html" title="My Digital Work" /><author><name>Anthony Baker</name><uri>http://www.blogger.com/profile/00141462441551416511</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-GrenHoIJAos/Tto5ikQcE8I/AAAAAAAAAQc/WwmVCeZ-GxQ/s220/273471_526998870_162601933_n.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.anthonybaker.me/2012/01/previous-work-case-studies.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0YHQ3k-eCp7ImA9WhRUEEw.&quot;"><id>tag:blogger.com,1999:blog-1811411750119502062.post-6843121762491402122</id><published>2012-01-19T09:58:00.000-08:00</published><updated>2012-01-19T14:12:12.750-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-19T14:12:12.750-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WPF" /><category scheme="http://www.blogger.com/atom/ns#" term="Windows Phone" /><category scheme="http://www.blogger.com/atom/ns#" term="Multi-Platform" /><category scheme="http://www.blogger.com/atom/ns#" term="REST" /><category scheme="http://www.blogger.com/atom/ns#" term="Web Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Tips" /><category scheme="http://www.blogger.com/atom/ns#" term="XAML" /><category scheme="http://www.blogger.com/atom/ns#" term="Interoperability" /><category scheme="http://www.blogger.com/atom/ns#" term="Innovation" /><category scheme="http://www.blogger.com/atom/ns#" term="Industry News" /><category scheme="http://www.blogger.com/atom/ns#" term="Metro" /><category scheme="http://www.blogger.com/atom/ns#" term="Productivity" /><category scheme="http://www.blogger.com/atom/ns#" term="Windows8" /><category scheme="http://www.blogger.com/atom/ns#" term="Mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="Touch" /><category scheme="http://www.blogger.com/atom/ns#" term="Silverlight" /><category scheme="http://www.blogger.com/atom/ns#" term="R/GA" /><category scheme="http://www.blogger.com/atom/ns#" term="WCF" /><title>R/GA London Make Day Video</title><content type="html">&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-myIQ6tKKWPc/TxhZFreesdI/AAAAAAAAAoc/zpRt_w7bVOM/s1600/rga_makeday.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://2.bp.blogspot.com/-myIQ6tKKWPc/TxhZFreesdI/AAAAAAAAAoc/zpRt_w7bVOM/s1600/rga_makeday.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;I'm excited to share with you the R/GA Make Day Video which was finally released today to the public. If you recall &lt;a href="http://blog.anthonybaker.me/2011/12/rgamakeday.html"&gt;my previous post&lt;/a&gt; on the subject, R/GA dedicated 48 hours of company time for people in the company to invest their time making things. The output was incredibly productive and creativeness on all areas where flying all around. I was lucky enough to make it to the final cut and I appear discussing the R/GA Locator prototype including the applications that we implemented including Windows 8, Windows Phone and Silverlight all powered by a MS SQL 2008 database and a small backend exposing a RESTful service build with WCF.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;I truly believe companies should follow the trend and start doing these kind of events more often. Although at first people might seem reluctant, once they get into it they will get inspired and quite competitive !&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Anyway,&amp;nbsp;without&amp;nbsp;further presentations, here is the R/GA London Make Day Official Video&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;iframe width="560" height="315" src="http://www.youtube.com/embed/DvAlZMbqhsw" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1811411750119502062-6843121762491402122?l=blog.anthonybaker.me' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/V1F3rKjdJcWcT2bvD0uzNLLz3I8/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/V1F3rKjdJcWcT2bvD0uzNLLz3I8/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/V1F3rKjdJcWcT2bvD0uzNLLz3I8/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/V1F3rKjdJcWcT2bvD0uzNLLz3I8/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AnthonyBakersSnacks/~4/SoxCrBI_FWw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.anthonybaker.me/feeds/6843121762491402122/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.anthonybaker.me/2012/01/rga-london-make-day-video.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/6843121762491402122?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/6843121762491402122?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnthonyBakersSnacks/~3/SoxCrBI_FWw/rga-london-make-day-video.html" title="R/GA London Make Day Video" /><author><name>Anthony Baker</name><uri>http://www.blogger.com/profile/00141462441551416511</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-GrenHoIJAos/Tto5ikQcE8I/AAAAAAAAAQc/WwmVCeZ-GxQ/s220/273471_526998870_162601933_n.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-myIQ6tKKWPc/TxhZFreesdI/AAAAAAAAAoc/zpRt_w7bVOM/s72-c/rga_makeday.png" height="72" width="72" /><thr:total>1</thr:total><feedburner:origLink>http://blog.anthonybaker.me/2012/01/rga-london-make-day-video.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0ECQ38_eip7ImA9WhRVGUs.&quot;"><id>tag:blogger.com,1999:blog-1811411750119502062.post-245823363762244909</id><published>2012-01-19T02:41:00.000-08:00</published><updated>2012-01-19T02:41:02.142-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-19T02:41:02.142-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Industry News" /><category scheme="http://www.blogger.com/atom/ns#" term="Windows8" /><title>About Microsoft Hardware Requirements for Windows 8</title><content type="html">Wanted to share a &lt;a href="http://www.withinwindows.com/2012/01/16/windows-8-secrets-pc-and-device-requirements/" target="_blank"&gt;comprehensive summary&lt;/a&gt; of Microsoft published &lt;a href="http://msdn.microsoft.com/en-us/library/windows/hardware/hh748200.aspx" target="_blank"&gt;hardware certification requirements&lt;/a&gt; for Windows 8 based computers.&lt;br /&gt;
Check it out and make sure once you buy your new toy, it complies with&amp;nbsp;everything&amp;nbsp;&lt;a href="http://msdn.microsoft.com/en-us/library/windows/hardware/hh748200.aspx" target="_blank"&gt;listed there&lt;/a&gt; !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1811411750119502062-245823363762244909?l=blog.anthonybaker.me' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/kgGP8lRqJEMtiY6TKjMzLsroo3I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kgGP8lRqJEMtiY6TKjMzLsroo3I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/kgGP8lRqJEMtiY6TKjMzLsroo3I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kgGP8lRqJEMtiY6TKjMzLsroo3I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AnthonyBakersSnacks/~4/BvyoCIoOcPY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.anthonybaker.me/feeds/245823363762244909/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.anthonybaker.me/2012/01/about-microsoft-hardware-requirements.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/245823363762244909?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/245823363762244909?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnthonyBakersSnacks/~3/BvyoCIoOcPY/about-microsoft-hardware-requirements.html" title="About Microsoft Hardware Requirements for Windows 8" /><author><name>Anthony Baker</name><uri>http://www.blogger.com/profile/00141462441551416511</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-GrenHoIJAos/Tto5ikQcE8I/AAAAAAAAAQc/WwmVCeZ-GxQ/s220/273471_526998870_162601933_n.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.anthonybaker.me/2012/01/about-microsoft-hardware-requirements.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0AASHo7eip7ImA9WhRUEUs.&quot;"><id>tag:blogger.com,1999:blog-1811411750119502062.post-6450504195831080904</id><published>2012-01-18T15:58:00.001-08:00</published><updated>2012-01-21T08:02:29.402-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-21T08:02:29.402-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Windows Phone" /><category scheme="http://www.blogger.com/atom/ns#" term="Multi-Platform" /><category scheme="http://www.blogger.com/atom/ns#" term="Web Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Tips" /><category scheme="http://www.blogger.com/atom/ns#" term="Mobile" /><category scheme="http://www.blogger.com/atom/ns#" term="Touch" /><category scheme="http://www.blogger.com/atom/ns#" term="Functional Integration" /><category scheme="http://www.blogger.com/atom/ns#" term="Interoperability" /><category scheme="http://www.blogger.com/atom/ns#" term="Innovation" /><title>Adaptive Layout on Windows Phone</title><content type="html">&lt;div align="justify"&gt;Lately, I have been getting into responsive, adaptive and fluid layout design techniques and development. &lt;/div&gt;&lt;div align="justify"&gt;Since Windows 8 supports native development using HTML/CSS/JS and IE has been performing quite well on HTML5 features support along with Chrome (my default browser by the way !), I have been getting more attracted to the idea to master the concepts behind the evolution of web applications and how we can attack the growing quantity of different devices, all with different screen sizes and resolutions, without forgetting ultra books, tablets, laptops, desktops, larger screens and out of home experiences. &lt;/div&gt;&lt;div align="justify"&gt;The slowing down trend on plugin-based web development, especially with Flash (it’s future seems darker every day) and Silverlight (which has evolved into a whole platform outside the browser) also put more weight on the importance of knowing and mastering HTML5 responsive and adaptive layout design techniques.&lt;/div&gt;&lt;div align="justify"&gt;&lt;a href="http://lh3.ggpht.com/-jqGyT7BvlEk/TxdcXR1KwZI/AAAAAAAAAmM/MAdGicyNM84/s1600-h/image%25255B4%25255D.png"&gt;&lt;img alt="image" border="0" height="239" src="http://lh6.ggpht.com/-3QcF63zA3yA/TxdcYkCEPVI/AAAAAAAAAmU/s6e_Bip8Gzc/image_thumb%25255B2%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; margin-right: auto; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="285" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div align="justify"&gt;Along my regular reading and research I found &lt;a href="http://www.elated.com/articles/responsive-web-design-demystified/" target="_blank"&gt;an amazing tutorial by Matt Doyle&lt;/a&gt; on &lt;a href="http://www.elated.com/" target="_blank"&gt;Elated.com&lt;/a&gt; demystifying the whole thing and explaining in an impressive clear, concise and practical way, the concepts behind it and how to achieve a layout that can successfully and quite effortlessly adapt to a multiple set of screen sizes and resolutions. &lt;/div&gt;&lt;div align="center"&gt;&lt;a href="http://lh6.ggpht.com/-5fBt5CUPJrA/TxdcbPmapSI/AAAAAAAAAmc/xRcwhrFVIIs/s1600-h/image%25255B17%25255D.png"&gt;&lt;img alt="image" border="0" height="240" src="http://lh6.ggpht.com/-i8mn6RW-jBY/TxdccIJ-HSI/AAAAAAAAAmk/f-MAYxLhkMw/image_thumb%25255B7%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="216" /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="http://lh6.ggpht.com/-E37xmtBHPbY/Txdce4kLH0I/AAAAAAAAAms/HxlBQOHQz_w/s1600-h/image%25255B18%25255D.png"&gt;&lt;img alt="image" border="0" height="240" src="http://lh3.ggpht.com/-c-nY9UtwkdQ/TxdcfgmZk0I/AAAAAAAAAm0/e1p2hQLtInM/image_thumb%25255B8%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="144" /&gt;&lt;/a&gt;&lt;/div&gt;I wanted to test the results on Windows Phone, not only on the emulator but also on an actual device. Here are some screenshots from the results.&lt;br /&gt;
&lt;div align="center"&gt;&lt;a href="http://lh6.ggpht.com/-_9VTfs1pmAI/TxdchjYUDBI/AAAAAAAAAm8/CRGUqM4sk8Y/s1600-h/image%25255B19%25255D.png"&gt;&lt;img alt="image" border="0" height="240" src="http://lh5.ggpht.com/-srTpjbB0MMc/TxdciX9MdAI/AAAAAAAAAnA/T3YUkUT3VvU/image_thumb%25255B9%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="132" /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://lh6.ggpht.com/-j1aVg8gOVpM/Txdcjp8cd5I/AAAAAAAAAnM/1B-Ig9_xxtw/s1600-h/image%25255B27%25255D.png"&gt;&lt;img alt="image" border="0" height="240" src="http://lh4.ggpht.com/-QbGO0-9drUA/TxdckvXioKI/AAAAAAAAAnU/cdgfnPLQUUE/image_thumb%25255B13%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="132" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;em&gt;&lt;strong&gt;Windows Phone Emulator&lt;/strong&gt;&lt;/em&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;a href="http://lh4.ggpht.com/-v5EmQQFjeE0/Txdcnd0HC9I/AAAAAAAAAnc/usO3k3sdPBI/s1600-h/image%25255B31%25255D.png"&gt;&lt;img alt="image" border="0" height="240" src="http://lh4.ggpht.com/-5KiNirLbYQU/TxdcoDL4_OI/AAAAAAAAAng/VFMooDq1VC8/image_thumb%25255B15%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="126" /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href="http://lh4.ggpht.com/-y4iMjaOYBLk/TxdcrENcwoI/AAAAAAAAAns/NHqx_OOoR2Y/s1600-h/image%25255B35%25255D.png"&gt;&lt;img alt="image" border="0" height="240" src="http://lh6.ggpht.com/-Z6rZEfvUdxQ/TxdcsGUyooI/AAAAAAAAAn0/WaC78DaPvLA/image_thumb%25255B17%25255D.png?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="image" width="123" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;a href="http://lh6.ggpht.com/-Vb7aFPEN7e8/TxdctGPKOHI/AAAAAAAAAn8/8cub8IIJl_A/s1600-h/IMG_3872%25255B4%25255D.jpg"&gt;&lt;img alt="IMG_3872" border="0" height="135" src="http://lh5.ggpht.com/-6SxZqlS8vWU/Txdct0HijMI/AAAAAAAAAoA/kn6JUKWuX7s/IMG_3872_thumb%25255B1%25255D.jpg?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="IMG_3872" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;a href="http://lh4.ggpht.com/-7fRazYiCnIM/TxdcuhvS85I/AAAAAAAAAoI/iaTiDGewZXI/s1600-h/IMG_3874%25255B4%25255D.jpg"&gt;&lt;img alt="IMG_3874" border="0" height="135" src="http://lh6.ggpht.com/-Qx39-OMYoHM/TxdcvarliAI/AAAAAAAAAoQ/JBoHWQisK1E/IMG_3874_thumb%25255B1%25255D.jpg?imgmax=800" style="background-image: none; border-bottom: 0px; border-left: 0px; border-right: 0px; border-top: 0px; display: inline; padding-left: 0px; padding-right: 0px; padding-top: 0px;" title="IMG_3874" width="240" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div align="center"&gt;&lt;em&gt;&lt;strong&gt;Windows Phone HTC Mozart&lt;/strong&gt;&lt;/em&gt;&lt;/div&gt;&lt;div align="justify"&gt;I encourage you to &lt;a href="http://www.elated.com/res/File/articles/authoring/responsive-web-design-demystified/responsive-480-meta.html" target="_blank"&gt;read the tutorial first&lt;/a&gt;. I’m sure it will be really helpful. Is clear that the author, Matt Doyle did a really good job, since the layout adapts perfectly to the Windows device without any need for modifications.&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div align="justify"&gt;Get Responsive, get adaptive !&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1811411750119502062-6450504195831080904?l=blog.anthonybaker.me' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/NmwmBSQu4TsPbEUSqHhC2KCcyJo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NmwmBSQu4TsPbEUSqHhC2KCcyJo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/NmwmBSQu4TsPbEUSqHhC2KCcyJo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/NmwmBSQu4TsPbEUSqHhC2KCcyJo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AnthonyBakersSnacks/~4/1yeYbU5bXqc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.anthonybaker.me/feeds/6450504195831080904/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.anthonybaker.me/2012/01/adaptive-layout-on-windows-phone.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/6450504195831080904?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/6450504195831080904?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnthonyBakersSnacks/~3/1yeYbU5bXqc/adaptive-layout-on-windows-phone.html" title="Adaptive Layout on Windows Phone" /><author><name>Anthony Baker</name><uri>http://www.blogger.com/profile/00141462441551416511</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-GrenHoIJAos/Tto5ikQcE8I/AAAAAAAAAQc/WwmVCeZ-GxQ/s220/273471_526998870_162601933_n.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-3QcF63zA3yA/TxdcYkCEPVI/AAAAAAAAAmU/s6e_Bip8Gzc/s72-c/image_thumb%25255B2%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.anthonybaker.me/2012/01/adaptive-layout-on-windows-phone.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0UGRHw5fip7ImA9WhRVGUs.&quot;"><id>tag:blogger.com,1999:blog-1811411750119502062.post-661217691918438043</id><published>2012-01-18T08:44:00.000-08:00</published><updated>2012-01-19T02:33:45.226-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-19T02:33:45.226-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Internet of Things" /><category scheme="http://www.blogger.com/atom/ns#" term="Industry News" /><category scheme="http://www.blogger.com/atom/ns#" term="Web Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Innovation" /><title>Kill SOPA - STOP CENSHORSHIP</title><content type="html">&lt;div style="text-align: center;"&gt;&lt;div style="text-align: justify;"&gt;Sites around the world are protesting against the US SOPA and PIPA initiatives trying to censor the Internet...censorship is not cool at all, Internet if build by all and for all. Piracy exists and sometimes is&amp;nbsp;awful&amp;nbsp;to see &amp;nbsp;how some people make money out of the creativity of others, but let's face it, without Internet freedom and some level of piracy the Internet won't be what it is right now...&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="text-align: left;"&gt;Here's a list of sites protesting today:&lt;/div&gt;&lt;br /&gt;
&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Calibri, sans-serif; font-size: 10.5pt;"&gt;&lt;a href="http://www.google.com/"&gt;http://www.google.com&lt;/a&gt;&amp;nbsp;has blacked out their logo in protest&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Calibri, sans-serif; font-size: 10.5pt;"&gt;&lt;a href="http://en.wikipedia.org/wiki/Main_Page"&gt;http://en.wikipedia.org/wiki/Main_Page&lt;/a&gt;&amp;nbsp; entire site is blacked out&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Calibri, sans-serif; font-size: 10.5pt;"&gt;&lt;a href="http://www.reddit.com/"&gt;http://www.reddit.com/&lt;/a&gt;&amp;nbsp; blacked out&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Calibri, sans-serif; font-size: 10.5pt;"&gt;&lt;a href="http://www.mozilla.org/"&gt;http://www.mozilla.org/&lt;/a&gt;&amp;nbsp; blacked out&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Calibri, sans-serif; font-size: 10.5pt;"&gt;&lt;a href="http://www.wired.com/"&gt;http://www.wired.com/&lt;/a&gt;&amp;nbsp; blacked out&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Calibri, sans-serif; font-size: 10.5pt;"&gt;&lt;a href="http://thedailywtf.com/"&gt;http://thedailywtf.com/&lt;/a&gt;&amp;nbsp; &amp;nbsp;"whited" out (some lulz here)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Calibri, sans-serif; font-size: 10.5pt;"&gt;&lt;a href="http://boards.4chan.org/co/"&gt;http://boards.4chan.org/co/&lt;/a&gt;&amp;nbsp; &amp;nbsp;all text on the page is blacked out&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Calibri, sans-serif; font-size: 10.5pt;"&gt;&lt;a href="http://www.fark.com/"&gt;http://www.fark.com/&lt;/a&gt;&amp;nbsp; &amp;nbsp;"whited" out (also funny)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Calibri, sans-serif; font-size: 10.5pt;"&gt;&lt;a href="http://wordpress.com/"&gt;http://wordpress.com/&lt;/a&gt;&amp;nbsp; &amp;nbsp;images of blog themes are blacked out&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Calibri, sans-serif; font-size: 10.5pt;"&gt;&lt;a href="http://techcrunch.com/"&gt;http://techcrunch.com/&lt;/a&gt;&amp;nbsp; &amp;nbsp;logo blacked out&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Calibri, sans-serif; font-size: 10.5pt;"&gt;&lt;a href="http://boingboing.net/"&gt;http://boingboing.net/&lt;/a&gt;&amp;nbsp; &amp;nbsp;blacked out&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Calibri, sans-serif; font-size: 10.5pt;"&gt;&lt;a href="http://news.ycombinator.com/"&gt;http://news.ycombinator.com/&lt;/a&gt;&amp;nbsp; blacked out logo&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Calibri, sans-serif; font-size: 10.5pt;"&gt;&lt;a href="http://arstechnica.com/"&gt;http://arstechnica.com/&lt;/a&gt;&amp;nbsp; changed to black theme&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Calibri, sans-serif; font-size: 10.5pt;"&gt;&lt;a href="http://xkcd.com/"&gt;http://xkcd.com/&lt;/a&gt;&amp;nbsp; blacked-out strip&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Calibri, sans-serif; font-size: 10.5pt;"&gt;&lt;a href="http://gnu.org/"&gt;http://gnu.org/&lt;/a&gt;&amp;nbsp;blacked out&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Calibri, sans-serif; font-size: 10.5pt;"&gt;&lt;a href="http://imgur.com/"&gt;http://imgur.com/&lt;/a&gt;&amp;nbsp;blacked out&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal"&gt;&lt;span style="font-family: Calibri, sans-serif; font-size: 10.5pt;"&gt;&lt;a href="http://newyork.craigslist.org/"&gt;http://newyork.craigslist.org/&lt;/a&gt;&amp;nbsp;blacked out&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;a href="http://theoatmeal.com/"&gt;http://theoatmeal.com/&lt;/a&gt;&amp;nbsp;animation educating people&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;Update:&lt;/b&gt;&lt;br /&gt;
You should check &lt;a href="http://www.hanselman.com/blog/AnAnalysisOfSOPAAndPIPAProtestBlackoutHTMLAndCSSTechniques.aspx" target="_blank"&gt;this article&lt;/a&gt; studying the different ways that the listed websites changed their sites to support the SOPA protest. It's a really cool overview of the techniques used and which ones are actually correct in terms of web usage and HTTP standard responses. &lt;a href="http://www.hanselman.com/blog/AnAnalysisOfSOPAAndPIPAProtestBlackoutHTMLAndCSSTechniques.aspx" target="_blank"&gt;Check it out&amp;nbsp;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Update:&lt;br /&gt;
I found &lt;a href="http://blog.curry.com/stories/2012/01/16/sopaIsARedHerring.html" target="_blank"&gt;this article&lt;/a&gt; explaining a bit more in detail the different&amp;nbsp;legislation&amp;nbsp;acts and how it can go further and affect us, users and domain&amp;nbsp;registrars. Make sure to &lt;a href="http://blog.curry.com/stories/2012/01/16/sopaIsARedHerring.html" target="_blank"&gt;check it out&lt;/a&gt; !&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1811411750119502062-661217691918438043?l=blog.anthonybaker.me' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/cCVG0dUMd8PGpNWUU5Yc6Hrxe4I/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cCVG0dUMd8PGpNWUU5Yc6Hrxe4I/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/cCVG0dUMd8PGpNWUU5Yc6Hrxe4I/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/cCVG0dUMd8PGpNWUU5Yc6Hrxe4I/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AnthonyBakersSnacks/~4/ji07jHoMRmI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.anthonybaker.me/feeds/661217691918438043/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.anthonybaker.me/2012/01/kill-sopa-stop-censhorship.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/661217691918438043?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/661217691918438043?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnthonyBakersSnacks/~3/ji07jHoMRmI/kill-sopa-stop-censhorship.html" title="Kill SOPA - STOP CENSHORSHIP" /><author><name>Anthony Baker</name><uri>http://www.blogger.com/profile/00141462441551416511</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-GrenHoIJAos/Tto5ikQcE8I/AAAAAAAAAQc/WwmVCeZ-GxQ/s220/273471_526998870_162601933_n.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.anthonybaker.me/2012/01/kill-sopa-stop-censhorship.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D04BR3g4cCp7ImA9WhRVGEQ.&quot;"><id>tag:blogger.com,1999:blog-1811411750119502062.post-580727137597814684</id><published>2012-01-18T06:11:00.000-08:00</published><updated>2012-01-18T06:12:36.638-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-18T06:12:36.638-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Productivity" /><category scheme="http://www.blogger.com/atom/ns#" term="Tips" /><title>Visio Scroll Lock</title><content type="html">&lt;div style="text-align: justify;"&gt;Have you ever found yourself trying to move your shapes in Microsoft Visio with the annoying result of the whole window scrolling instead of the shape? Have you look all around the place for an option to change this behaviour? Turning something on or off to see if it fixes it?&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;
&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Well, here is the solution: look for the &lt;b&gt;Scroll Lock key&lt;/b&gt; on your keyboard (generally next to your Print Screen key), turn it off and you are ready to go !&lt;/div&gt;&lt;br /&gt;
Hope it helps and saves you time !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1811411750119502062-580727137597814684?l=blog.anthonybaker.me' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/tTXzsrOfWWllwmfQuwdKRH4ULZ0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tTXzsrOfWWllwmfQuwdKRH4ULZ0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/tTXzsrOfWWllwmfQuwdKRH4ULZ0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/tTXzsrOfWWllwmfQuwdKRH4ULZ0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AnthonyBakersSnacks/~4/coN6eHsqFZA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.anthonybaker.me/feeds/580727137597814684/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.anthonybaker.me/2012/01/visio-scroll-lock.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/580727137597814684?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/580727137597814684?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnthonyBakersSnacks/~3/coN6eHsqFZA/visio-scroll-lock.html" title="Visio Scroll Lock" /><author><name>Anthony Baker</name><uri>http://www.blogger.com/profile/00141462441551416511</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-GrenHoIJAos/Tto5ikQcE8I/AAAAAAAAAQc/WwmVCeZ-GxQ/s220/273471_526998870_162601933_n.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.anthonybaker.me/2012/01/visio-scroll-lock.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYBRHo6cCp7ImA9WhRVGEU.&quot;"><id>tag:blogger.com,1999:blog-1811411750119502062.post-7646788630486457491</id><published>2012-01-18T03:45:00.000-08:00</published><updated>2012-01-18T03:45:55.418-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-18T03:45:55.418-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Industry News" /><category scheme="http://www.blogger.com/atom/ns#" term="Productivity" /><category scheme="http://www.blogger.com/atom/ns#" term="Analytics" /><category scheme="http://www.blogger.com/atom/ns#" term="Multi-Platform" /><category scheme="http://www.blogger.com/atom/ns#" term="Tips" /><category scheme="http://www.blogger.com/atom/ns#" term="Architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="Source Control" /><title>Github in Numbers</title><content type="html">Sharing&amp;nbsp;&lt;a href="http://corte.si/posts/code/devsurvey/index.html" target="_blank"&gt;this interesting article&lt;/a&gt; about languages and project's life cycle on Github made by &lt;a href="http://corte.si/index.html" target="_blank"&gt;cortesi&lt;/a&gt;. Although Github is not very popular for developers on the .NET stack, I think the article is actually quite useful for every tech guy out there and also for recruiters and companies to have a better understanding of the Github crowd.&lt;br /&gt;
&lt;br /&gt;
Cheers!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1811411750119502062-7646788630486457491?l=blog.anthonybaker.me' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ObKqu0krBnIHFFdvfsIB02c9LXw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ObKqu0krBnIHFFdvfsIB02c9LXw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ObKqu0krBnIHFFdvfsIB02c9LXw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ObKqu0krBnIHFFdvfsIB02c9LXw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AnthonyBakersSnacks/~4/OJ9RgMk_BhA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.anthonybaker.me/feeds/7646788630486457491/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.anthonybaker.me/2012/01/github-in-numbers.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/7646788630486457491?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/7646788630486457491?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnthonyBakersSnacks/~3/OJ9RgMk_BhA/github-in-numbers.html" title="Github in Numbers" /><author><name>Anthony Baker</name><uri>http://www.blogger.com/profile/00141462441551416511</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-GrenHoIJAos/Tto5ikQcE8I/AAAAAAAAAQc/WwmVCeZ-GxQ/s220/273471_526998870_162601933_n.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.anthonybaker.me/2012/01/github-in-numbers.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEIAQHk9eyp7ImA9WhRVGEU.&quot;"><id>tag:blogger.com,1999:blog-1811411750119502062.post-5465699633772149761</id><published>2012-01-18T03:35:00.000-08:00</published><updated>2012-01-18T03:35:41.763-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-18T03:35:41.763-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Internet of Things" /><category scheme="http://www.blogger.com/atom/ns#" term="Industry News" /><category scheme="http://www.blogger.com/atom/ns#" term="Innovation" /><title>Tim O'Reilly on the SOPA case</title><content type="html">Just a quick post to share&lt;a href="https://plus.google.com/107033731246200681024/posts/BEDukdz2B1r" target="_blank"&gt; a statement made by Tim O'Reilly &lt;/a&gt;about Washington's response to the SOPA act. I found it really interesting because he acknowledges piracy, but actually states that piracy losses are&amp;nbsp;outweighed by the benefits of free flow of information and knowledge sharing that ends up bringing more sales to the company. It also comments on the historic fact that United States publishing industry began by actually pirating British and European works !&amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
Enjoy !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1811411750119502062-5465699633772149761?l=blog.anthonybaker.me' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eTCqAd-ovgdaoKqNo6wmhp2F25g/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eTCqAd-ovgdaoKqNo6wmhp2F25g/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/eTCqAd-ovgdaoKqNo6wmhp2F25g/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eTCqAd-ovgdaoKqNo6wmhp2F25g/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AnthonyBakersSnacks/~4/5cnKSb4owOw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.anthonybaker.me/feeds/5465699633772149761/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.anthonybaker.me/2012/01/tim-oreilly-on-sopa-case.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/5465699633772149761?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/5465699633772149761?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnthonyBakersSnacks/~3/5cnKSb4owOw/tim-oreilly-on-sopa-case.html" title="Tim O'Reilly on the SOPA case" /><author><name>Anthony Baker</name><uri>http://www.blogger.com/profile/00141462441551416511</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-GrenHoIJAos/Tto5ikQcE8I/AAAAAAAAAQc/WwmVCeZ-GxQ/s220/273471_526998870_162601933_n.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.anthonybaker.me/2012/01/tim-oreilly-on-sopa-case.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcBSXw5cCp7ImA9WhRVGEk.&quot;"><id>tag:blogger.com,1999:blog-1811411750119502062.post-8885941205212112336</id><published>2012-01-17T15:14:00.001-08:00</published><updated>2012-01-17T15:14:18.228-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-17T15:14:18.228-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WPF" /><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><title>How to Convert an Image to Grey scale in WPF</title><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Converting images to grey scale is a nice trick to bring elements to user attention by “turning off” other elements. You could use a trick like this to “activate” or “deactivate” an element. Anyways, here is how you change an image to grey scale in WPF:&lt;/p&gt; &lt;p&gt;img.Source = &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; new FormatConvertedBitmap(&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (BitmapSource)img.Source, &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PixelFormats.Gray16, &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BitmapPalettes.Gray16, 0&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;/p&gt; &lt;p&gt;Hope it helps !&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1811411750119502062-8885941205212112336?l=blog.anthonybaker.me' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/eWRuK9wRp8_uL4pitqDZoDq1TTk/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eWRuK9wRp8_uL4pitqDZoDq1TTk/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/eWRuK9wRp8_uL4pitqDZoDq1TTk/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/eWRuK9wRp8_uL4pitqDZoDq1TTk/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AnthonyBakersSnacks/~4/qdgb6Yde-Zg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.anthonybaker.me/feeds/8885941205212112336/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.anthonybaker.me/2012/01/how-to-convert-image-to-grey-scale-in.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/8885941205212112336?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/8885941205212112336?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnthonyBakersSnacks/~3/qdgb6Yde-Zg/how-to-convert-image-to-grey-scale-in.html" title="How to Convert an Image to Grey scale in WPF" /><author><name>Anthony Baker</name><uri>http://www.blogger.com/profile/00141462441551416511</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-GrenHoIJAos/Tto5ikQcE8I/AAAAAAAAAQc/WwmVCeZ-GxQ/s220/273471_526998870_162601933_n.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.anthonybaker.me/2012/01/how-to-convert-image-to-grey-scale-in.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUEBQ346fyp7ImA9WhRVGE4.&quot;"><id>tag:blogger.com,1999:blog-1811411750119502062.post-5833213550350730416</id><published>2012-01-17T12:54:00.001-08:00</published><updated>2012-01-17T12:54:12.017-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-17T12:54:12.017-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Windows Phone" /><category scheme="http://www.blogger.com/atom/ns#" term="Tips" /><title>How to Enable Local Keyboard for Windows Phone Emulator</title><content type="html">&lt;p&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://t2.gstatic.com/images?q=tbn:ANd9GcTRfrPg34ZQZXJISVfst-_eP-TAyCNaitVuZmGvYTuPvZ5OvaSSmg" width="52" height="52"&gt;&lt;/p&gt; &lt;p align="justify"&gt;Is it possible to use the local physical keyboard of your development machine when using the Windows Phone emulator? &lt;/p&gt; &lt;p align="justify"&gt;Yes it is possible and is activated by using a shortcut:&lt;/p&gt; &lt;h5 align="justify"&gt;&lt;font style="font-weight: normal"&gt;To enable the keyboard in the emulator p&lt;/font&gt;&lt;font style="font-weight: normal"&gt;ress the &lt;font style="font-weight: bold"&gt;PAGE UP &lt;/font&gt;key or press the &lt;font style="font-weight: bold"&gt;PAUSE/BREAK&lt;/font&gt; key.&lt;/font&gt;&lt;/h5&gt; &lt;h5 align="justify"&gt;&lt;font style="font-weight: normal"&gt;To disable the keyboard &lt;/font&gt;&lt;font style="font-weight: normal"&gt;in the emulator press the &lt;font style="font-weight: bold"&gt;PAGE DOWN &lt;/font&gt;key or press the &lt;font style="font-weight: bold"&gt;PAUSE/BREAK&lt;/font&gt; key.&lt;/font&gt;&lt;/h5&gt; &lt;p align="justify"&gt;Furthermore you there are a lot of different key mappings between your development machine keyboard and the phone functions. You can check the whole list in the &lt;a href="http://msdn.microsoft.com/en-us/library/ff402563(v=vs.92).aspx" target="_blank"&gt;Windows Phone Emulator MSDN documentation&lt;/a&gt;.&lt;/p&gt; &lt;p align="justify"&gt;Cheers!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1811411750119502062-5833213550350730416?l=blog.anthonybaker.me' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ny4_4Bzo7dPjOuaocVBuktAT4mA/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ny4_4Bzo7dPjOuaocVBuktAT4mA/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ny4_4Bzo7dPjOuaocVBuktAT4mA/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ny4_4Bzo7dPjOuaocVBuktAT4mA/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AnthonyBakersSnacks/~4/W7fNGP-UnOA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.anthonybaker.me/feeds/5833213550350730416/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.anthonybaker.me/2012/01/how-to-enable-local-keyboard-for.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/5833213550350730416?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/5833213550350730416?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnthonyBakersSnacks/~3/W7fNGP-UnOA/how-to-enable-local-keyboard-for.html" title="How to Enable Local Keyboard for Windows Phone Emulator" /><author><name>Anthony Baker</name><uri>http://www.blogger.com/profile/00141462441551416511</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-GrenHoIJAos/Tto5ikQcE8I/AAAAAAAAAQc/WwmVCeZ-GxQ/s220/273471_526998870_162601933_n.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.anthonybaker.me/2012/01/how-to-enable-local-keyboard-for.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUIDQXw-eCp7ImA9WhRVF0g.&quot;"><id>tag:blogger.com,1999:blog-1811411750119502062.post-8570327542281483050</id><published>2012-01-16T15:45:00.001-08:00</published><updated>2012-01-16T15:46:10.250-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-16T15:46:10.250-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WPF" /><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="NUI" /><category scheme="http://www.blogger.com/atom/ns#" term="Tips" /><category scheme="http://www.blogger.com/atom/ns#" term="Surface" /><category scheme="http://www.blogger.com/atom/ns#" term="XAML" /><category scheme="http://www.blogger.com/atom/ns#" term="Touch" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><title>Surface Tip: Binding a ScatterView ItemsSource</title><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p align="justify"&gt;Now that we have covered the basics of the ScatterView control and the different most common layout scenarios, lets discuss Binding. Binding is a powerful WPF feature that allows you to bind presentation elements to code behind properties which can be loaded in run time and changed at any time, effectively affecting the displayed elements. One of the most common scenarios is to bind the ItemsSource property of a ScatterView control to a code behind property so you can effectively load and modify the collection from code and reflect the changes in the interface automatically.&lt;/p&gt; &lt;p&gt;Lets assume you have the following XAML code:&lt;/p&gt; &lt;p&gt;&amp;lt;s:ScatterView x:Name="scatter" Background="Transparent" &amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:ScatterView.ItemTemplate&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;DataTemplate&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Grid&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Image x:Name="img" Source="{Binding}" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Grid&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/DataTemplate&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/s:ScatterView.ItemTemplate&amp;gt;&lt;br&gt;&amp;lt;/s:ScatterView&amp;gt;&lt;/p&gt; &lt;p align="justify"&gt;As you can see, we are just defining the ScatterView items template but not the actual items. In this case, the image element inside the Items template has its source as a binded property. We could implement a collection property in the backend that we could load from a web service (&lt;a href="http://blog.anthonybaker.me/2012/01/consuming-web-services-in-windows-8.html" target="_blank"&gt;as shown in this post I made for Windows 8&lt;/a&gt;) and then use as the items source for the ScatterView items collection. Another common scenario is to display a collection of images from a local folder, say your last vacation pictures. Following this last scenario, here is how you bind the ItemsSource from code. Here is how you do that from code:&lt;/p&gt; &lt;p&gt;scatter.ItemsSource = Directory.GetFiles(@"C:\Users\Public\Pictures", "*.jpg");&lt;/p&gt; &lt;p align="justify"&gt;The previous code will load all files with extension “.jpg” from the specified directory. This will effectively made the app to display all the images stored in that folder.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-7cpQURd0S4g/TxS2iIVkEAI/AAAAAAAAAl8/S1igy2Nkzck/s1600-h/image%25255B15%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-f5tAK10sNlA/TxS2jv_D1CI/AAAAAAAAAmE/NxiT7IrtJ2s/image_thumb%25255B11%25255D.png?imgmax=800" width="377" height="212"&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now you know how to bind a ScatterView items collection to an image collection from your local file system.&lt;/p&gt; &lt;p&gt;Enjoy!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1811411750119502062-8570327542281483050?l=blog.anthonybaker.me' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ee0kRDOAzQ0DmLm8_vvdzv5g0bg/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ee0kRDOAzQ0DmLm8_vvdzv5g0bg/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ee0kRDOAzQ0DmLm8_vvdzv5g0bg/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ee0kRDOAzQ0DmLm8_vvdzv5g0bg/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AnthonyBakersSnacks/~4/L1lUAtaHu68" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.anthonybaker.me/feeds/8570327542281483050/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.anthonybaker.me/2012/01/surface-tip-binding-scatterview.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/8570327542281483050?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/8570327542281483050?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnthonyBakersSnacks/~3/L1lUAtaHu68/surface-tip-binding-scatterview.html" title="Surface Tip: Binding a ScatterView ItemsSource" /><author><name>Anthony Baker</name><uri>http://www.blogger.com/profile/00141462441551416511</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-GrenHoIJAos/Tto5ikQcE8I/AAAAAAAAAQc/WwmVCeZ-GxQ/s220/273471_526998870_162601933_n.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh6.ggpht.com/-f5tAK10sNlA/TxS2jv_D1CI/AAAAAAAAAmE/NxiT7IrtJ2s/s72-c/image_thumb%25255B11%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.anthonybaker.me/2012/01/surface-tip-binding-scatterview.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUIAQHg5fCp7ImA9WhRVF0g.&quot;"><id>tag:blogger.com,1999:blog-1811411750119502062.post-2261198282689865895</id><published>2012-01-16T14:39:00.001-08:00</published><updated>2012-01-16T14:39:01.624-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-16T14:39:01.624-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WPF" /><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="NUI" /><category scheme="http://www.blogger.com/atom/ns#" term="Tips" /><category scheme="http://www.blogger.com/atom/ns#" term="Surface" /><category scheme="http://www.blogger.com/atom/ns#" term="XAML" /><category scheme="http://www.blogger.com/atom/ns#" term="Touch" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><title>Surface Tip: Navigating the Visual Tree</title><content type="html">&lt;blockquote&gt;&lt;/blockquote&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p align="justify"&gt;There will be times where you will generate dynamic objects on your user interface. A simple example could be loading a collection from a web service and dynamically adding the items to your item controls. Later on you might need to navigate that dynamically generated visual tree to retrieve a specific object or item from it to perform any kind of modifications, which might include even deleting the item, which again will be a common scenario.&lt;/p&gt; &lt;p align="justify"&gt;&lt;img style="display: block; float: none; margin-left: auto; margin-right: auto" src="http://i1-news.softpedia-static.com/images/news2/Microsoft-Surface-2-0-Migration-Power-Toy-Available-for-Download-2.jpg" width="316" height="224"&gt;&lt;/p&gt; &lt;p align="justify"&gt;Here is how you do it. First you need to pass the &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.dependencyobject.aspx" target="_blank"&gt;DependencyObject&lt;/a&gt; that you will be iterating over, which could be for example a &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.surface.presentation.controls.scatterviewitem.aspx" target="_blank"&gt;ScatterViewItem&lt;/a&gt; of a &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.surface.presentation.controls.scatterview.aspx" target="_blank"&gt;ScatterView&lt;/a&gt; control. Then, we will iterate over the children of the DependencyObject using the &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.media.visualtreehelper.aspx" target="_blank"&gt;VisualTreeHelper&lt;/a&gt;. Then, what we want to do in this case is to return the associated &lt;a href="http://msdn.microsoft.com/en-us/library/system.windows.controls.contentpresenter.aspx" target="_blank"&gt;ContentPresenter&lt;/a&gt; object matching the specific content control (the ContentPresenter basically is responsible for displaying the content of a ContentControl). If there is no ContentPresenter on the given children, we perform a bit of recursion to iterate over the child’s children&lt;/p&gt; &lt;p align="justify"&gt;ContentPresenter FindContentPresenter(DependencyObject obj)&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; for (int i = 0; i &amp;lt; VisualTreeHelper.GetChildrenCount(obj); i++)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DependencyObject child = VisualTreeHelper.GetChild(obj, i);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (child != null &amp;amp;&amp;amp; child is ContentPresenter)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return (ContentPresenter)child;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ContentPresenter childOfChild = FindContentPresenter(child);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (childOfChild != null)&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return childOfChild;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return null;&lt;br&gt;}&lt;/p&gt; &lt;p align="justify"&gt;Ok. Maybe a little bit confusing if we don’t have a purpose. In the previous code sample, what we want is to have a method that we can call to return the ContentPresenter object associated with a specific DependencyObject. A good example will be to retrieve the image ContentPresenter of an Image control that is included on a ScatterViewItem so we can modify the image source. Take the following XAML as an example:&lt;/p&gt; &lt;p&gt;&amp;lt;s:ScatterView&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:ScatterViewItem&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Grid&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Image Source="Image.jpg" Width="400" Height="200"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;TextBlock Text="This is some text" HorizontalAlignment="Center" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:SurfaceButton Click="OnItemClicked" /&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Grid&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/s:ScatterViewItem&amp;gt;&lt;br&gt;&amp;lt;/s:ScatterView&amp;gt;&lt;/p&gt; &lt;p align="justify"&gt;Obviously the previous sample is too basic and it would be a low easier just to give the image a name and reference it from the code behind. But assume that this will be the dynamic XAML generated once you run the application and the user executes an action. Then, you don’t have access to the image item by name reference, so you need to get the ScatterViewItems that in this case was clicked and then use our FindContentPresenter method to get the image content presenter child.&lt;/p&gt; &lt;p align="justify"&gt;Hope that it makes sense and that can be useful in your Surface 2.0 development.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1811411750119502062-2261198282689865895?l=blog.anthonybaker.me' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Az9SZvN7CW-NtHEiVaEykfxtUPo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Az9SZvN7CW-NtHEiVaEykfxtUPo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Az9SZvN7CW-NtHEiVaEykfxtUPo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Az9SZvN7CW-NtHEiVaEykfxtUPo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AnthonyBakersSnacks/~4/6WWX60cbtJk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.anthonybaker.me/feeds/2261198282689865895/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.anthonybaker.me/2012/01/surface-tip-navigating-visual-tree.html#comment-form" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/2261198282689865895?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/2261198282689865895?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnthonyBakersSnacks/~3/6WWX60cbtJk/surface-tip-navigating-visual-tree.html" title="Surface Tip: Navigating the Visual Tree" /><author><name>Anthony Baker</name><uri>http://www.blogger.com/profile/00141462441551416511</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-GrenHoIJAos/Tto5ikQcE8I/AAAAAAAAAQc/WwmVCeZ-GxQ/s220/273471_526998870_162601933_n.jpg" /></author><thr:total>2</thr:total><feedburner:origLink>http://blog.anthonybaker.me/2012/01/surface-tip-navigating-visual-tree.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0QARn45eip7ImA9WhRVF0g.&quot;"><id>tag:blogger.com,1999:blog-1811411750119502062.post-7467958677215558873</id><published>2012-01-16T14:02:00.001-08:00</published><updated>2012-01-16T14:02:27.022-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-16T14:02:27.022-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Productivity" /><category scheme="http://www.blogger.com/atom/ns#" term="Social Media" /><category scheme="http://www.blogger.com/atom/ns#" term="Twitter" /><title>From Live Writer to Twitter</title><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;img style="margin: 0px 15px 0px 0px; display: inline; float: left" align="left" src="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBhEREBAQEhMSExUSEhAUFxQUEhUTExQPFhQVFBQWFRQXGyYeFxkkGRYUHy8gIycpLCwvFR8xNTAqNSYrLCkBCQoKDgwOGg8PGjIkHyAsKTAtLCksLCwsKjQpLCwsLywpKikpKSwsLCw0KSwpLiwsKSwpLDUpLCkpLCksKSwsLP/AABEIAMwAzAMBIgACEQEDEQH/xAAbAAEAAgMBAQAAAAAAAAAAAAAAAwUCBAYHAf/EAD4QAAIBAgEHCAYJBAMAAAAAAAABAgMEEQUSITFRYYEGEyJBUnGRoQcUFTJykiNic4KisdHh8DNCssFTZIP/xAAaAQEAAgMBAAAAAAAAAAAAAAAAAgUBAwQG/8QAKxEAAgIBAwMEAQMFAAAAAAAAAAECAxEEEkEhMVEFExTwgRUykUJScbHR/9oADAMBAAIRAxEAPwD3EAAAAAAAAAAAAAAAAAAAAAA895ZZYlUUqlKtUhGFWFGkqc3FVa2urKWGlxisF3gHoQOP9G2Vq9xQrutN1FTrZkJPXmqKx09enadgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD43hpAOV5d8pFbxpW8c/PuZZvQwclTxSbWO3HA855QXKdzzcIuEbfGOGpqUU23JrrclgX9C99avrrKMtNO1i40V1OaxjTw4ty4oore0fOpvTzuepbJRknnY7tLO1aXMW/COJ6pRkl5Z2vocqY5Pk/wDsVvygd0eaehunOPrcW3m/QyS6s7ppvwSPSziO0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHL+kTLfq9nKMX0675qOGtJ++/lxXFHUHm99U9oZYUNdGzTx2OUXjJ8ZYLuibqY5ll9kabpYjhd2a9zaerWltaLRKX01X4n7qfd/o0qUP6k+xDNX2lTGK8I5z4I2cpXnPV6lXqbwW6C0IWdFydKkvenJTfxTwUE+6GD4lre/Z02OZFTQve1O7iP1HW8gsl81bynhpqSx+7HorzxOnIragoQjBaoxSXBEpSF4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVXKjLCtbStW/uUcILbUloj56e5M4Xk/bu2ydUrP+pdywT68zTp/yfFG7y/uJXN3bWEHoTjKeHalqx7o4v7w5R1E6kKEPcoRUUt+Cx8sCy0tWWl56v/CKzV27U346L8lKoLBJ6ni5boJZ0vJeZfcgbd1q1S4lqhjh8cv0j+aObypWzYP6zzF8McJT88xcGek8ksler2lKD96Sz5fHLThwWC4ENfbvswuCXp9Wyrc+7LkAHAWIAAAAAAAAAAAAAAAAAAAAAAAAAAAIrq4jThOpLRGEZSfcliyU5L0iZSzKEaCemtLTt5uODfngicI7pJEJy2xbKLkq3OtdZQqdWc18Uupd0cFxIcW86o9Lbb72+rxLKpR5i0o2696fTnx04fl4Ffe1ObpuXZTlxWCj+Nx8GXFTVcJWP7go7k7JxrX3JqZIsPWb+nS1wpaZbM2DzpvjN4feR6ycN6L8m4U6tw9dSWZF/Vjpk+Mn5HclK228svkklhAAGDIAAAAAAAAAAAAAAAAAAAAAAAAAAAPKby6d9ljQ/o6LzFs5uni5vjLHyO/5WZY9Vs61b+5RcYfay6MfN48GecclKPM2ta4fvVXzUG9e2bO3Swby/wAI4dXZjC/Je1rpV605rUngu5aEQ3uRKt21RpOKeiTcm8FGOOxbZeRHk2GbHOOu5K2/QnW/5Hgvgjiv8s47dXiFe38Ffos2W7jfyJkxW1vSoJ483BJvbLXJ8ZNs3gClL4AAAAAAAAAAAAAAAAAAAAAAAAAAAAHyckk29CSbfcAea+lbKefVt7SL1fSzS7TxjBPhnPiiG4p5qo20dVKCT+0lpn+hRRyj6zfVbqWlOblFfUjoprwUS+yXTcpOctLbbb3vWX2mr2RTfH+zz2rt3yaXJuVKbwjTj703GK75PBfzcd/aW6p04U46oRjFdyWBy3Jy25y5dR+7Rjo+0mml4RzvmOuK/W2Zko+Dv9Pq2wc/IABwlkAAAAAAAAAAAAAAAAAAAAAAAAAAADmPSLlbmLGok8JVsKUduEvf/Cn4nTnlPpOynzt5Tt09FCOL+1np8o5vizfp4bpo0aieyDKLJNvgkdfbxVOli9mJSZItsXFHT2Vpz1enS/tXTn8EcNHF4Liy9sahDrwecinZZhcnS8nbHmreGPvT+kl8UurgsFwLMHxs87KTk3JnqIRUYqK4EppayGd2uo0Z3DlUzNW19+wwuqXUvF6fz0FRbrms7F2OqNPbJtSyil1xI3lRdry/Y1YWa69PkvA2IUIrUl4GmF2ps5SJuFcTP2nv8mfVfvf8pPC1W0zVst52Rr1D7y+/yanKHggV89nkZxvNxL6ut5kqSXUbowt5kRbj4MVcrf4EkZYn0G9J8sgAASMAAAAAAAAAAAAEdxXUITnJ4RhGUm9kUsX5HhVOvKvXq15a6k5T4N6F4YHpnpMypzVjKCfSryVNfDrn5LDieeZIt9CLXQV/1FT6hZhbTo8k0sIuR13JKzwhKu9dV9HdSi2l4vF9zRzVC1c3ToR11Go47I65PhFNnoNGkoxjGKwUUklsSWCM6+3ptXJr9Oqy3N8GYaAKkujQubDTite1a+JC1LU8H3lqYygnrRw2aKEnldDcrWujKl4rqa/Ev1PnPtbPNFo7eJg7RbTlehsX7ZE1bHlFfG83PhpJY5R3+JNOw3JkM7DczW4auvs8ks1Mmhf9zJY3i60aDtcDHm8NqC1l8P3RMe3B9mW0KyfWZlPjJbyaje4aPI6qvUISeJdCDpfBZAxpzTWJkWKeepoAAMgAGLqLahnAMgRuvHaY+tR3kHOK5M4ZMDX9cWwxlfrd4kHfWuTOxnmXpMyhzt7ToLVQhp+0n0n+FR8yHJFDVuNPL9jUVxK6fSjcTqSj1tJSzcGuCwNnJ15nYU46JSaisepvRjjsR6XTOMat2emDzesUpW7ccncckLPOlUuGtCxpw4PGbXFJfdZ1BT2d5SpU4U4yjhCKWvXtb3vXxJfbMO3DxPNXeoU2Tctx6GjSTrgo4LMFb7Yj2oj2tHtI1fNp/uN3sz8FkCsWVVt8g8qb/wAL/Qj86nyZ9mfgswVntPe/l/Ye0t78DHz6fI9mfgswVXrr+t/OJ8d03+7RB+oVD2ZFpJrrwNWuo9RqOv3ebPnO97Oe3XwksYJxqaJFrIbmKMlJ9SwM6Vq29Ok4NkrekUbcqPVmzk9vDTsRuGFKnmozPR0wcIKL4OOTy8g1q12lqJa76LK2is6TxObV6h1YjHuydcE+rJJXEntfkiCdZ7V+ZLdNkFOljpen8innZbOW1M6YqKWSKVd9rwMHnPtvxRb0LNYbO4mVrHeb4+nWzWZSMfIiuyKD1WT/ALXxl+5r31vKFOpPNj0YyevHTho8zqVbx2FRynlGNGMXglOpBP4IvnJ+UGbI+kxTy39/gPVy4OPvWlVSfu2tCEf/AEwxfHFvwHJTIc6zleTwWe2qaksehqcv9Lue0wt8nzup06GlO4k7iu1rhQb6Kx6m9S7z0qhbxhGMIpJRSSSWhJLBLwLa6v3YOGe5ywlteSgWSZbY/J+59WTJdpfJ+50QK79Kp+5/6dHy7ChWS59p/IZLJsu1L5UXgJ/plJH5M/uClWTZdqfgv0Pqyc+1LwX6FyDP6bSY+RMp/Zz2y/nAzWTfi8S1BJen0+DHvzKv2dufiZRyfuLIEloKVwY96fk0o5P7iRWW/wAjZBujpqo9kQc5MijbxRIkfQb1FLsRzkAAyYPjWJX1rZxeK8SxBouojcsSJRk49irlUx0SXFEWrU13PQWkraLIJ2OOxlZZobF1i8m+NsSCneZuvR36jap3ievyNSeT3vXczXdlJapYfzcRjbqqujjlEttcuS5jWT6zleXNXpW1NvRPnFoTbxbhB4Ja3myksOvOLJc6tkuODNKFnKpc0q05RzYJKMdb53Oni33LNw39x2V61SeJRaNcqcdUyw5NZK5qEqk1hVrNSkuxFLCnTW6McF34lwECwNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPjR9ABg6UX1IxjbRXUSgjtj4M5YABIwAAAAAAAAAAAAAAAAAAAAAAAAf//Z" width="115" height="115"&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p align="justify"&gt;Just on the trend of maximizing productivity, I’m using Windows Live Writer (my favourite blog writing tool) now &lt;a href="http://plugins.live.com/writer/detail/twitter-notify" target="_blank"&gt;connected&lt;/a&gt; to twitter to see how it goes. Keep your productivity rocking so you don’t drown into your many many daily duties. Cheers!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1811411750119502062-7467958677215558873?l=blog.anthonybaker.me' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/3IHlzGAaCEQHF0d-mdSSawAWsxM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3IHlzGAaCEQHF0d-mdSSawAWsxM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/3IHlzGAaCEQHF0d-mdSSawAWsxM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/3IHlzGAaCEQHF0d-mdSSawAWsxM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AnthonyBakersSnacks/~4/4FcrpQ4LEdQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.anthonybaker.me/feeds/7467958677215558873/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.anthonybaker.me/2012/01/from-live-writer-to-twitter.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/7467958677215558873?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/7467958677215558873?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnthonyBakersSnacks/~3/4FcrpQ4LEdQ/from-live-writer-to-twitter.html" title="From Live Writer to Twitter" /><author><name>Anthony Baker</name><uri>http://www.blogger.com/profile/00141462441551416511</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-GrenHoIJAos/Tto5ikQcE8I/AAAAAAAAAQc/WwmVCeZ-GxQ/s220/273471_526998870_162601933_n.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.anthonybaker.me/2012/01/from-live-writer-to-twitter.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUIMRXw6fip7ImA9WhRVF0k.&quot;"><id>tag:blogger.com,1999:blog-1811411750119502062.post-4113071471235499177</id><published>2012-01-16T12:59:00.001-08:00</published><updated>2012-01-16T12:59:44.216-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-16T12:59:44.216-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Metro" /><category scheme="http://www.blogger.com/atom/ns#" term="WPF" /><category scheme="http://www.blogger.com/atom/ns#" term="Windows8" /><category scheme="http://www.blogger.com/atom/ns#" term="SOA" /><category scheme="http://www.blogger.com/atom/ns#" term="REST" /><category scheme="http://www.blogger.com/atom/ns#" term="Tips" /><category scheme="http://www.blogger.com/atom/ns#" term="XAML" /><category scheme="http://www.blogger.com/atom/ns#" term="Touch" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><category scheme="http://www.blogger.com/atom/ns#" term="LINQ" /><category scheme="http://www.blogger.com/atom/ns#" term="Interoperability" /><title>Consuming Web Services in Windows 8</title><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-GWIbzgVS0yQ/TxSPukDIWuI/AAAAAAAAAlU/Vwynur3ALZs/s1600-h/290px-Windows_8_Developer_Preview_Start_Screen%25255B4%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="290px-Windows_8_Developer_Preview_Start_Screen" border="0" alt="290px-Windows_8_Developer_Preview_Start_Screen" src="http://lh3.ggpht.com/-Y6OVus5YXhg/TxSPvsXoAVI/AAAAAAAAAlc/4FVSS0jf4UU/290px-Windows_8_Developer_Preview_Start_Screen_thumb%25255B2%25255D.png?imgmax=800" width="311" height="184"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p align="justify"&gt;I’m currently working on an extended series for creating a small backend with database, backend modular architecture approach and REST services to serve the different front end applications that I have been putting together for the blog. The idea is to provide a common backend framework and services to feed the different samples I create and help you out there to have a more complete series of code samples to work with.&lt;/p&gt; &lt;p align="justify"&gt;In the meanwhile, I’ll be posting small tips about how to do things on the Windows Ecosystem, which encompasses Windows 8 (Metro Style, .NET, C# and JS), Windows Phone, Silverlight, WPF, Surface 2.0 and Kinect.&lt;/p&gt; &lt;p align="justify"&gt;For this post, I’ll share with you an approach to consume REST web services from a Metro Style Windows 8 application.&lt;/p&gt; &lt;p align="justify"&gt;For this sample, you need to create a new Windows 8 Metro Style application. Once Visual Studio created the default project structure, go into your MainPage.xaml.cs file. Let’s assume you will be consuming a REST web service that will return an XML with a collection of items. You will want to display those items, but first you need to populate your data collection. Lets create the default collection field.&lt;/p&gt; &lt;p align="justify"&gt;private ObservableCollection&amp;lt;Customer&amp;gt; customers = null;&lt;/p&gt; &lt;p align="justify"&gt;Note that we are creating a private ObservableCollection of type Customer. You will need to define your customer class, which can be as simple as the following:&lt;/p&gt; &lt;p&gt;public class Employee&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string FirstName { get; set; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string LastName { get; set; }&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public string Email { get; set; }&lt;br&gt;}&lt;/p&gt; &lt;p align="justify"&gt;Ok, so you have your collection field to load your Customer collection from the web service. Now we need to initialize the collection on the page’s constructor by calling the asynchronous method that will in turn call the web service and return the collection of customers:&lt;/p&gt; &lt;p&gt;public MainPage()&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp; InitializeComponent();&lt;br&gt;&amp;nbsp;&amp;nbsp; customers = await GetCustomersAsync(http://serviceurl/customers);&lt;br&gt;}&lt;/p&gt; &lt;p align="justify"&gt;Notice the reserved keyword “await”. This is one of the goodness of Windows 8, which allows you to program asynchronous code in a linear approach, which makes it a lot easier to read and digest. Here, we are telling the thread to await the call resolution in an asynchronous way. The method we call, will hit the web service and parse the XML response to return our Customer collection. Notice how you can use LinqToXml to easily parse the response (be aware that no failure catching has been implemented, you should always check for null values to avoid code exceptions when parsing the XML). &lt;/p&gt; &lt;p&gt;The code to do so is the following:&lt;/p&gt; &lt;p&gt;&lt;font size="1"&gt;public static async Task&amp;lt;ObservableCollection&amp;lt;Customer&amp;gt;&amp;gt; GetCustomersAsync(string serviceUrl)&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpClient webClient = new HttpClient();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Uri serviceUri = new Uri(serviceUrl);&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HttpResponseMessage serviceResponse = await webClient.GetAsync(serviceUri);&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var streamReader = new StreamReader(serviceResponse.Content.ContentReadStream);&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var xmlReader = XmlReader.Create(new MemoryStream(System.Text.UnicodeEncoding.Unicode.GetBytes(streamReader.ReadToEnd())));&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var xmlResponse = XDocument.Load(xmlReader);&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; var customers = from c in xmlResponse.Descendants("customer")&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select new Customer&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FirstName = (string)c.Element("firstname"),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LastName = (string)c.Element("lastname"),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Email = (string)c.Element("email"),&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ObservableCollection&amp;lt;Customer&amp;gt; customerCollection = new ObservableCollection&amp;lt;Customer&amp;gt;(customers);&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font size="1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return customerCollection ;&lt;br&gt;}&lt;/font&gt;&lt;/p&gt; &lt;p align="justify"&gt;And that’s basically it. You have been able to load a collection of customers asynchronously from a REST web service serving XML responses from your Windows 8 application. Once the collection is loaded you can bind your UI items control to it to populate and display the collection items. &lt;/p&gt; &lt;p align="justify"&gt;Hope it can help you on your Windows 8 Metro training. Keep tuned for more updates !&lt;/p&gt; &lt;p align="justify"&gt;Let me know if you have any troubles with it and I’ll be more than happy to try to help you out.&lt;/p&gt; &lt;p align="justify"&gt;Cheers&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1811411750119502062-4113071471235499177?l=blog.anthonybaker.me' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/CqdAs5IovJcDaxy90q0lF_8_LF0/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CqdAs5IovJcDaxy90q0lF_8_LF0/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/CqdAs5IovJcDaxy90q0lF_8_LF0/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/CqdAs5IovJcDaxy90q0lF_8_LF0/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AnthonyBakersSnacks/~4/Y8hbDCsdZwE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.anthonybaker.me/feeds/4113071471235499177/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.anthonybaker.me/2012/01/consuming-web-services-in-windows-8.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/4113071471235499177?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/4113071471235499177?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnthonyBakersSnacks/~3/Y8hbDCsdZwE/consuming-web-services-in-windows-8.html" title="Consuming Web Services in Windows 8" /><author><name>Anthony Baker</name><uri>http://www.blogger.com/profile/00141462441551416511</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-GrenHoIJAos/Tto5ikQcE8I/AAAAAAAAAQc/WwmVCeZ-GxQ/s220/273471_526998870_162601933_n.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-Y6OVus5YXhg/TxSPvsXoAVI/AAAAAAAAAlc/4FVSS0jf4UU/s72-c/290px-Windows_8_Developer_Preview_Start_Screen_thumb%25255B2%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.anthonybaker.me/2012/01/consuming-web-services-in-windows-8.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cGRXYzcCp7ImA9WhRVF0w.&quot;"><id>tag:blogger.com,1999:blog-1811411750119502062.post-3361667830649313716</id><published>2012-01-16T05:03:00.000-08:00</published><updated>2012-01-16T05:03:44.888-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-16T05:03:44.888-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Industry News" /><category scheme="http://www.blogger.com/atom/ns#" term="Social Media" /><title>Social Media Trends to Look For in 2012</title><content type="html">&lt;div style="text-align: justify;"&gt;Just wanted to share &lt;a href="http://techcrunch.com/2012/01/15/some-key-social-media-trends-to-look-for-in-2012/" target="_blank"&gt;this article&lt;/a&gt; about social media trends to look for in 2012 published by Tech Crunch. Social Media integration and strategy are getting bigger and bigger but they are also mutating from another mass advertisement channel into a platform by itself that companies need to integrate into their strategies at a deep level to become successful at it.&lt;/div&gt;&lt;br /&gt;
Enjoy !&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1811411750119502062-3361667830649313716?l=blog.anthonybaker.me' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/v17HVkmYfcsVw_6T-j7Tgk5bKRY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/v17HVkmYfcsVw_6T-j7Tgk5bKRY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/v17HVkmYfcsVw_6T-j7Tgk5bKRY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/v17HVkmYfcsVw_6T-j7Tgk5bKRY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AnthonyBakersSnacks/~4/W18SCyJJshQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.anthonybaker.me/feeds/3361667830649313716/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.anthonybaker.me/2012/01/social-media-trends-to-look-for-in-2012.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/3361667830649313716?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/3361667830649313716?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnthonyBakersSnacks/~3/W18SCyJJshQ/social-media-trends-to-look-for-in-2012.html" title="Social Media Trends to Look For in 2012" /><author><name>Anthony Baker</name><uri>http://www.blogger.com/profile/00141462441551416511</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-GrenHoIJAos/Tto5ikQcE8I/AAAAAAAAAQc/WwmVCeZ-GxQ/s220/273471_526998870_162601933_n.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.anthonybaker.me/2012/01/social-media-trends-to-look-for-in-2012.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkEAR3k9cCp7ImA9WhRVF0w.&quot;"><id>tag:blogger.com,1999:blog-1811411750119502062.post-4153705298206370661</id><published>2012-01-16T04:56:00.000-08:00</published><updated>2012-01-16T04:57:26.768-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-16T04:57:26.768-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Industry News" /><category scheme="http://www.blogger.com/atom/ns#" term="Innovation" /><title>From the Inside to the Outside</title><content type="html">&lt;span style="background-color: black; color: white; font-family: georgia, 'times new roman', times, serif; font-size: 14px; line-height: 21px; text-align: left;"&gt;"&lt;i&gt;The internal matches the external and the external matches the internal...&lt;/i&gt;"&lt;/span&gt;&lt;br /&gt;
&lt;span style="background-color: black; color: white; font-family: georgia, 'times new roman', times, serif; font-size: 14px; line-height: 21px; text-align: left;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;div style="text-align: justify;"&gt;&lt;span style="text-align: left;"&gt;&lt;span style="font-family: georgia, 'times new roman', times, serif;"&gt;&lt;span style="background-color: black; color: white; font-size: 14px; line-height: 21px;"&gt;This is a quote from&lt;a href="http://en.wikipedia.org/wiki/Jack_Dorsey" target="_blank"&gt; Jack Dorsey&lt;/a&gt; (chief&amp;nbsp;executive&amp;nbsp;and co-founder of &lt;a href="https://squareup.com/" target="_blank"&gt;Square &lt;/a&gt;and also co-founder of &lt;a href="http://www.twitter.com/" target="_blank"&gt;Twitter&lt;/a&gt;) when &lt;a href="http://bits.blogs.nytimes.com/2012/01/15/disruptions-design-sets-the-tone-at-a-new-start-up/" target="_blank"&gt;interviewed by the New York Times for Bits&lt;/a&gt;.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="text-align: left;"&gt;&lt;span style="font-family: georgia, 'times new roman', times, serif;"&gt;&lt;span style="background-color: black; color: white; font-size: 14px; line-height: 21px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="text-align: left;"&gt;&lt;span style="font-family: georgia, 'times new roman', times, serif;"&gt;&lt;span style="background-color: black; color: white; font-size: 14px; line-height: 21px;"&gt;The phrase caught my attention because it seems to me that it is extremely relevant in the present digital era. Companies often try to sell an image and an identity on their products that most of the times doesn't actually match the company's internal identity. we all know it happens all around the world. They try to sell you an idea, an identity, a sensation that sometimes we know is fake...is just a lie. From music to food, from services to advertisement the world is full of this failed intentions of producing products that reflects company's positions.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="text-align: left;"&gt;&lt;span style="font-family: georgia, 'times new roman', times, serif;"&gt;&lt;span style="background-color: black; color: white; font-size: 14px; line-height: 21px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;div style="text-align: left;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: georgia, 'times new roman', times, serif;"&gt;&lt;span style="background-color: black; color: white; font-size: 14px; line-height: 21px;"&gt;This is why I believe that is really important for companies, specially for start-ups to focus on transparency and on delivering products and/or services that actually transmute into company's real internal culture. The Square example covered by The New York Times is inspiring, as some others like Facebook and Google, at least when they started.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: georgia, 'times new roman', times, serif;"&gt;&lt;span style="background-color: black; color: white; font-size: 14px; line-height: 21px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: justify;"&gt;&lt;span style="font-family: georgia, 'times new roman', times, serif;"&gt;&lt;span style="background-color: black; color: white; font-size: 14px; line-height: 21px;"&gt;It also comes to my mind past experiences where I worked for companies and start-ups that tried so hard to sell an idea that some times didn't reflect at all the internal situation, policies and culture. Transparency and clarity should come from the inside and translate and reflect to the external. I truly believe that companies&amp;nbsp;succeeding&amp;nbsp;on &amp;nbsp;this approach will be able to establish a solid and trust worthy relationship with customers and help the company to stablish as a valid choice for many.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: georgia, 'times new roman', times, serif;"&gt;&lt;span style="background-color: black; color: white; font-size: 14px; line-height: 21px;"&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: georgia, 'times new roman', times, serif;"&gt;&lt;span style="background-color: black; color: white; font-size: 14px; line-height: 21px;"&gt;Cheers!&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1811411750119502062-4153705298206370661?l=blog.anthonybaker.me' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/sQpSnGPUbStVyXxnfDfXH4qkeDs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sQpSnGPUbStVyXxnfDfXH4qkeDs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/sQpSnGPUbStVyXxnfDfXH4qkeDs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/sQpSnGPUbStVyXxnfDfXH4qkeDs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AnthonyBakersSnacks/~4/Hc6QHozveDw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.anthonybaker.me/feeds/4153705298206370661/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.anthonybaker.me/2012/01/from-inside-to-outside.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/4153705298206370661?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/4153705298206370661?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnthonyBakersSnacks/~3/Hc6QHozveDw/from-inside-to-outside.html" title="From the Inside to the Outside" /><author><name>Anthony Baker</name><uri>http://www.blogger.com/profile/00141462441551416511</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-GrenHoIJAos/Tto5ikQcE8I/AAAAAAAAAQc/WwmVCeZ-GxQ/s220/273471_526998870_162601933_n.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.anthonybaker.me/2012/01/from-inside-to-outside.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkIAQHo5fip7ImA9WhRVFkg.&quot;"><id>tag:blogger.com,1999:blog-1811411750119502062.post-7482146780527659754</id><published>2012-01-15T12:15:00.001-08:00</published><updated>2012-01-15T12:15:41.426-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-15T12:15:41.426-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Metro" /><category scheme="http://www.blogger.com/atom/ns#" term="Multi-Platform" /><category scheme="http://www.blogger.com/atom/ns#" term="Web Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Architecture" /><category scheme="http://www.blogger.com/atom/ns#" term="Functional Integration" /><category scheme="http://www.blogger.com/atom/ns#" term="Interoperability" /><category scheme="http://www.blogger.com/atom/ns#" term="Innovation" /><title>Thoughts About Responsive Design</title><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-_qYUSabEGrM/TxMz4YVjDII/AAAAAAAAAk0/lsZbgR4siwk/s1600-h/responsive_design%25255B4%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="responsive_design" border="0" alt="responsive_design" src="http://lh3.ggpht.com/-WgIqryJk6vk/TxMz4_ocepI/AAAAAAAAAk8/eN_7ZQtqT74/responsive_design_thumb%25255B2%25255D.png?imgmax=800" width="340" height="266"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p align="justify"&gt;The concept of Responsive Design has been gaining traction over the last couple of years, mostly due to the growth of mobile and tablet devices (the iPhone and iPad success in particular), and the problem that has arisen in terms of layout design targeting multiple devices and platforms. It seems that the idea is attributed to one of the first pioneers, &lt;a href="http://Desktop&amp;mdash;1024 and above (current industry standard)" target="_blank"&gt;Ethan Marcotte&lt;/a&gt; around the first quarter of 2010. After that, guys like &lt;a href="http://Desktop&amp;mdash;1024 and above (current industry standard)" target="_blank"&gt;Harry Roberts&lt;/a&gt; and &lt;a href="https://twitter.com/#!/pgdev" target="_blank"&gt;Paul Gordon&lt;/a&gt; have written about the subject, and of course many more smart people in the interactive and user experience fields.&lt;/p&gt; &lt;p align="justify"&gt;At a high level it means that design layouts should react and/or adapt according to the device that the content is being viewed in. It is a wide concept that can take many forms. The best responsive designs are the ones that can dynamically react to the device display capabilities and changes and perform a series of “adaptations” like the following:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Adapting the layout to suit screen size &lt;li&gt;Resizing images to suit the screen resolution  &lt;li&gt;Serving up lower-bandwidth images to mobile devices  &lt;li&gt;Simplifying page elements for device specific use&amp;nbsp; &lt;li&gt;Hiding non-essential elements on smaller screens  &lt;li&gt;Providing better experiences according to device capabilities &lt;li&gt;Detecting and responding to location and orientation.&lt;/li&gt;&lt;/ul&gt; &lt;p align="justify"&gt;Most current websites are designed to work on a desktop browser assuming that the resolution standard for this times is around 1024 x 768. Basically, rounding up a 1000 pixels wide.&lt;/p&gt; &lt;p align="justify"&gt;&lt;a href="http://lh3.ggpht.com/-ApF88i6Ob7w/TxMz57gQDPI/AAAAAAAAAlE/FBTnHMa_968/s1600-h/Responsive-web-design%25255B4%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="Responsive-web-design" border="0" alt="Responsive-web-design" src="http://lh6.ggpht.com/-8I1DpAu9JMI/TxMz6gt0eII/AAAAAAAAAlM/_5z3FJzvwyg/Responsive-web-design_thumb%25255B2%25255D.png?imgmax=800" width="361" height="248"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;This are a few examples of standard industry resolutions:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Desktop—1024 and above &lt;li&gt;Legacy desktop—800×600  &lt;li&gt;Tablet—768 on tablets &lt;li&gt;Mobile—&amp;lt;480 on mobile phones&lt;/li&gt;&lt;/ul&gt; &lt;p align="justify"&gt;A basic approach to attack this problem is to use fluid layouts, which dynamically adapt to the wide and/or height available resizing content columns to take more or less space from what it is available. However this is only a partial fix, since when screens are radically narrower (mobile) or wider (desktops, big screens, walls) they break.&lt;/p&gt; &lt;p align="justify"&gt;This is a difficult problem for designers and also developers. There are some many different screen sizes and resolutions these times that it is hard to come up with a working solution. Smartphones, televisions and interactive out of home screens make it even more difficult. &lt;/p&gt; &lt;p align="justify"&gt;One alternative is to have different web sites for different devices. This was a hot practice a few years ago when you could break apart just two categories: mobiles and desktop (basically everything else). Nowadays however, the categorization doesn’t work. Plus, having different sites for different devices is just too expensive to create and maintain for most companies.&lt;/p&gt; &lt;p align="justify"&gt;The whole point about responsive layout design is to come up with a layout that can adapt and respond to any screen size and resolution effectively responding to any device displaying capabilities. &lt;/p&gt; &lt;p align="justify"&gt;As you can see I have been mixing the term responsive with adaptive so far. There seems to be different positions about what is the right terminology and what each term implies. It seems to me that no matter how you put it, it is basically about a layout reacting and changing itself at different level depending on the display medium. You can go as far a trying to deliver a layout that constantly changes itself according to subtle and small changes or just targeting well known standard industry resolutions and screen sizes. &lt;/p&gt; &lt;p align="justify"&gt;HTML and CSS best practices can help achieve a responsive design, although I think the concept goes beyond the web environment. Windows 8 is applying responsive design using the Metro Framework which allows applications to adapt to layout and display changes effectively enabling applications to mutate from narrower and simpler layouts to full blown features display and even massive out of home experiences.&lt;/p&gt; &lt;p align="justify"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" border="0" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-29-43-metablogapi/1261.Windows_2D00_in_2D00_landscape_2D00_mode_5F00_636279EA.png" width="382" height="219"&gt;&lt;/p&gt; &lt;p align="justify"&gt;Although my work has been mostly on interactive applications and not particularly on website development, I’m excited about applying this concepts to web and platform specific development techniques. I’ll keep an eye on this concepts and how do they translate to real application development practices both for Windows, the Web and Mobile.&lt;/p&gt; &lt;p align="justify"&gt;Cheers!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1811411750119502062-7482146780527659754?l=blog.anthonybaker.me' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/ItwyaMhbPtIP3rR8I6jOuIcZDLY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ItwyaMhbPtIP3rR8I6jOuIcZDLY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/ItwyaMhbPtIP3rR8I6jOuIcZDLY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/ItwyaMhbPtIP3rR8I6jOuIcZDLY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AnthonyBakersSnacks/~4/eHjlZai4jOY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.anthonybaker.me/feeds/7482146780527659754/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.anthonybaker.me/2012/01/thoughts-about-responsive-design.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/7482146780527659754?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/7482146780527659754?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnthonyBakersSnacks/~3/eHjlZai4jOY/thoughts-about-responsive-design.html" title="Thoughts About Responsive Design" /><author><name>Anthony Baker</name><uri>http://www.blogger.com/profile/00141462441551416511</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-GrenHoIJAos/Tto5ikQcE8I/AAAAAAAAAQc/WwmVCeZ-GxQ/s220/273471_526998870_162601933_n.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh3.ggpht.com/-WgIqryJk6vk/TxMz4_ocepI/AAAAAAAAAk8/eN_7ZQtqT74/s72-c/responsive_design_thumb%25255B2%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.anthonybaker.me/2012/01/thoughts-about-responsive-design.html</feedburner:origLink></entry><entry gd:etag="W/&quot;A0cNQXg-fyp7ImA9WhRVFEo.&quot;"><id>tag:blogger.com,1999:blog-1811411750119502062.post-6789390826052266594</id><published>2012-01-13T10:24:00.000-08:00</published><updated>2012-01-13T10:24:50.657-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-13T10:24:50.657-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Industry News" /><category scheme="http://www.blogger.com/atom/ns#" term="Windows Phone" /><category scheme="http://www.blogger.com/atom/ns#" term="Mobile" /><title>Windows Phone 2011 Retrospective</title><content type="html">Just wanted to share this cool infographic from the Windows Phone blog presenting a visual retrospective of 2011 regarding Windows Phone.&lt;br /&gt;
&lt;br /&gt;
Check it out !&lt;br /&gt;
&lt;br /&gt;
&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-53-84-metablogapi/5383.WP_2D00_Marketplace_2D00_Opportunity_2D00_infographic_2D00_r09b_2D00_011112_5F00_thumb_5F00_57B52915.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="320" src="http://windowsteamblog.com/cfs-file.ashx/__key/CommunityServer-Blogs-Components-WeblogFiles/00-00-00-53-84-metablogapi/5383.WP_2D00_Marketplace_2D00_Opportunity_2D00_infographic_2D00_r09b_2D00_011112_5F00_thumb_5F00_57B52915.jpg" width="157" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1811411750119502062-6789390826052266594?l=blog.anthonybaker.me' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/hhD-LsJt4EMMRJ7OrXwmn2zBFDs/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hhD-LsJt4EMMRJ7OrXwmn2zBFDs/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/hhD-LsJt4EMMRJ7OrXwmn2zBFDs/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/hhD-LsJt4EMMRJ7OrXwmn2zBFDs/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AnthonyBakersSnacks/~4/X4p5syQOyrk" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.anthonybaker.me/feeds/6789390826052266594/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.anthonybaker.me/2012/01/windows-phone-2011-retrospective.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/6789390826052266594?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/6789390826052266594?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnthonyBakersSnacks/~3/X4p5syQOyrk/windows-phone-2011-retrospective.html" title="Windows Phone 2011 Retrospective" /><author><name>Anthony Baker</name><uri>http://www.blogger.com/profile/00141462441551416511</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-GrenHoIJAos/Tto5ikQcE8I/AAAAAAAAAQc/WwmVCeZ-GxQ/s220/273471_526998870_162601933_n.jpg" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.anthonybaker.me/2012/01/windows-phone-2011-retrospective.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8HRHszeip7ImA9WhRVFEw.&quot;"><id>tag:blogger.com,1999:blog-1811411750119502062.post-8429808841625693585</id><published>2012-01-12T16:00:00.001-08:00</published><updated>2012-01-12T16:00:35.582-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-12T16:00:35.582-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="NUI" /><category scheme="http://www.blogger.com/atom/ns#" term="Surface" /><category scheme="http://www.blogger.com/atom/ns#" term="Touch" /><title>Surface 2.0 User Interface Teaser</title><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-7dJp1x0kAdw/Tw90HqfxNtI/AAAAAAAAAkg/dbwOSb3nF2c/s1600-h/image%25255B4%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/--CSf2hekSjQ/Tw90IiLbu-I/AAAAAAAAAkk/PXQCfKLKuFA/image_thumb%25255B2%25255D.png?imgmax=800" width="392" height="217"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p align="center"&gt;&lt;strong&gt;Just a teaser of a Surface 2.0 user interface in the workshop !&lt;/strong&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1811411750119502062-8429808841625693585?l=blog.anthonybaker.me' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/kwvXuPsu1zjKWQl4A767bZOixyM/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kwvXuPsu1zjKWQl4A767bZOixyM/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/kwvXuPsu1zjKWQl4A767bZOixyM/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/kwvXuPsu1zjKWQl4A767bZOixyM/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AnthonyBakersSnacks/~4/PdSRNUVlIY0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.anthonybaker.me/feeds/8429808841625693585/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.anthonybaker.me/2012/01/surface-20-user-interface-teaser.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/8429808841625693585?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/8429808841625693585?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnthonyBakersSnacks/~3/PdSRNUVlIY0/surface-20-user-interface-teaser.html" title="Surface 2.0 User Interface Teaser" /><author><name>Anthony Baker</name><uri>http://www.blogger.com/profile/00141462441551416511</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-GrenHoIJAos/Tto5ikQcE8I/AAAAAAAAAQc/WwmVCeZ-GxQ/s220/273471_526998870_162601933_n.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/--CSf2hekSjQ/Tw90IiLbu-I/AAAAAAAAAkk/PXQCfKLKuFA/s72-c/image_thumb%25255B2%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.anthonybaker.me/2012/01/surface-20-user-interface-teaser.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUHQnkyeip7ImA9WhRVFE0.&quot;"><id>tag:blogger.com,1999:blog-1811411750119502062.post-7695749010730006630</id><published>2012-01-12T13:03:00.001-08:00</published><updated>2012-01-12T13:03:53.792-08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-12T13:03:53.792-08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="WPF" /><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="NUI" /><category scheme="http://www.blogger.com/atom/ns#" term="Tips" /><category scheme="http://www.blogger.com/atom/ns#" term="Surface" /><category scheme="http://www.blogger.com/atom/ns#" term="Touch" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><title>Surface Tip: Adding Items to a ScatterView</title><content type="html">&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-UURUXmlky20/Tw9KpGVSsSI/AAAAAAAAAjw/QI69aDY5Ruk/s1600-h/image%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-cDmFXlZQye0/Tw9Kp7lCWnI/AAAAAAAAAj4/1MW4x5K4xoU/image_thumb%25255B1%25255D.png?imgmax=800" width="224" height="225"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Continuing with the basic tips and tricks for Surface 2.0 and keeping our focus on the ScatterView control, I’ll show you how you add items to a ScatterView by code. &lt;/p&gt; &lt;p&gt;First you need to have your ScatterView control in your XAML:&lt;/p&gt; &lt;p&gt;&amp;lt;s:ScatterView x:Name="scatter" /&amp;gt;&lt;/p&gt; &lt;p&gt;Then, on the code behind file you can add a simple code method to add an image as an item to the existing scatter control (make sure the image file you use is added on the root of the project or change the path to the correct one depending on your image folder structure):&lt;/p&gt; &lt;p&gt;private void Add()&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Image img = new Image();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; img.Source = new BitmapImage(new Uri("Sunset.jpg", UriKind.Relative));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; scatter.Items.Add(img);&lt;br&gt;}&lt;/p&gt; &lt;p&gt;The method above allows you to add the images. For a simple test and sample, you can just call the Add method in the constructor method of your simple app:&lt;/p&gt; &lt;p&gt;public SurfaceWindow1()&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitializeComponent(); &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; AddWindowAvailabilityHandlers();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Add();&lt;br&gt;}&lt;/p&gt; &lt;p&gt;If you run the app, it will display just one image.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-lTjaY06Boq0/Tw9Kq6eH7BI/AAAAAAAAAkA/xG8HFKncGUo/s1600-h/scatterview_06%25255B5%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="scatterview_06" border="0" alt="scatterview_06" src="http://lh3.ggpht.com/-cRHuSiEur98/Tw9Krs1dRqI/AAAAAAAAAkE/ileLrmHp2eo/scatterview_06_thumb%25255B3%25255D.png?imgmax=800" width="246" height="132"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Now, you can reuse previous tips to make something more interesting. You can add a style in the ScatterView control so the items you add have a nicer look and feel. Lets change the ScatterView to add the item style template:&lt;/p&gt; &lt;p&gt;&amp;lt;s:ScatterView x:Name="scatter"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:ScatterView.ItemContainerStyle&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Style TargetType="{x:Type s:ScatterViewItem}"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Setter Property="Center" Value="512,384"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Setter Property="Width" Value="300"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Setter Property="Height" Value="170"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Setter Property="BorderBrush" Value="White"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Setter Property="BorderThickness" Value="3"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Setter Property="CanRotate" Value="True"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Style&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/s:ScatterView.ItemContainerStyle&amp;gt;&lt;br&gt;&amp;lt;/s:ScatterView&amp;gt;&lt;/p&gt; &lt;p&gt;Now instead of just adding one image in the constructor, we could actually add a button for the user to add the images dynamically. Lets do that using a DockPanel control with a UniformGrid container to provide a menu style bar with the add button:&lt;/p&gt; &lt;p&gt;&amp;lt;DockPanel&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;UniformGrid Height="50" DockPanel.Dock="Top" Columns="1"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:SurfaceButton HorizontalContentAlignment="Center" &lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Content="Add Image" Click="Add"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/UniformGrid&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:ScatterView x:Name="scatter"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;s:ScatterView.ItemContainerStyle&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Style TargetType="{x:Type s:ScatterViewItem}"&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Setter Property="Center" Value="512,384"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Setter Property="Width" Value="300"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Setter Property="Height" Value="170"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Setter Property="BorderBrush" Value="White"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Setter Property="BorderThickness" Value="3"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Setter Property="CanRotate" Value="True"/&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Style&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/s:ScatterView.ItemContainerStyle&amp;gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/s:ScatterView&amp;gt;&lt;br&gt;&amp;lt;/DockPanel&amp;gt;&lt;/p&gt; &lt;p&gt;The DockPanel in conjunction with the UniformGrid allows you to dock the items contained to one of the borders of the table. You can define which border to dock to and the number of columns to display. Then you just need to add the button. &lt;/p&gt; &lt;p&gt;The button has a click handler defined, so you also need to implement the event handler in the code behind:&lt;/p&gt; &lt;p&gt;private void Add(object sender, RoutedEventArgs e)&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Image img = new Image();&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; img.Source = new BitmapImage(new Uri("Sunset.jpg", UriKind.Relative));&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; scatter.Items.Add(img);&lt;br&gt;}&lt;/p&gt; &lt;p&gt;Remember to remove the first Add() method that we added before to the constructor. If you run the application you will be able to add images dynamically to the screen.&lt;/p&gt; &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-NwQydpJPZH0/Tw9KtcnWoqI/AAAAAAAAAkQ/3azOp24o7wU/s1600-h/scatterview_05%25255B4%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="scatterview_05" border="0" alt="scatterview_05" src="http://lh4.ggpht.com/-wF8ZDCb8dws/Tw9KuLcwp3I/AAAAAAAAAkU/uOh_4NzdAqg/scatterview_05_thumb%25255B2%25255D.png?imgmax=800" width="246" height="132"&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Cheers!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1811411750119502062-7695749010730006630?l=blog.anthonybaker.me' alt='' /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/jyg_Z2GcAHuglS1AsioAzilVzU4/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jyg_Z2GcAHuglS1AsioAzilVzU4/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/jyg_Z2GcAHuglS1AsioAzilVzU4/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/jyg_Z2GcAHuglS1AsioAzilVzU4/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/AnthonyBakersSnacks/~4/W-Z2-HfDGcs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.anthonybaker.me/feeds/7695749010730006630/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.anthonybaker.me/2012/01/surface-tip-adding-items-to-scatterview.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/7695749010730006630?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/1811411750119502062/posts/default/7695749010730006630?v=2" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/AnthonyBakersSnacks/~3/W-Z2-HfDGcs/surface-tip-adding-items-to-scatterview.html" title="Surface Tip: Adding Items to a ScatterView" /><author><name>Anthony Baker</name><uri>http://www.blogger.com/profile/00141462441551416511</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://3.bp.blogspot.com/-GrenHoIJAos/Tto5ikQcE8I/AAAAAAAAAQc/WwmVCeZ-GxQ/s220/273471_526998870_162601933_n.jpg" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://lh5.ggpht.com/-cDmFXlZQye0/Tw9Kp7lCWnI/AAAAAAAAAj4/1MW4x5K4xoU/s72-c/image_thumb%25255B1%25255D.png?imgmax=800" height="72" width="72" /><thr:total>0</thr:total><feedburner:origLink>http://blog.anthonybaker.me/2012/01/surface-tip-adding-items-to-scatterview.html</feedburner:origLink></entry></feed>

