<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>DaveDev </title><link>http://blogs.msdn.com/b/davedev/</link><description>Turning caffeine into code daily.</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/msdn/lTEL" /><feedburner:info uri="msdn/ltel" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><title>Help! Visual Studio 11 Beta Dark Theme incorrectly using White Background</title><link>http://feedproxy.google.com/~r/msdn/lTEL/~3/M-iQVLTHOnY/help-visual-studio-11-beta-dark-theme-incorrectly-using-white-background.aspx</link><pubDate>Mon, 07 May 2012 13:37:16 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10301800</guid><dc:creator>Dave Isbitski</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/davedev/rsscomments.aspx?WeblogPostID=10301800</wfw:commentRss><wfw:comment>http://blogs.msdn.com/b/davedev/commentapi.aspx?WeblogPostID=10301800</wfw:comment><comments>http://blogs.msdn.com/b/davedev/archive/2012/05/07/help-visual-studio-11-beta-dark-theme-incorrectly-using-white-background.aspx#comments</comments><description>&lt;p&gt;I ran across an issue with &lt;a href="http://go.microsoft.com/fwlink/?linkid=237587"&gt;Visual Studio 2011 Ultimate Beta&lt;/a&gt; this morning and figured I would share the solution here with everyone.&amp;#160; It may exist in &lt;a href="http://bit.ly/getwin8dev"&gt;Visual Studio 2011 Express Beta&lt;/a&gt; as well I just haven’t seen it yet myself.&amp;#160; &lt;/p&gt;  &lt;p&gt;The issue began when I installed Visual Studio 2011 Ultimate Beta and selected a Web Developer layout.&amp;#160; I later went in and reset my settings to be the C# default layout.&amp;#160; When I selected the Dark Theme (which I’ve now become quite used to) the UI itself switched fine but the code window still had the Light theme colors!&amp;#160; Here is a screenshot to illustrate what I mean:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://social.msdn.microsoft.com/Forums/pl-PL/vseditor/thread/48cc2f5a-6352-48c5-9aa2-e0b3cc854152"&gt;&lt;img title="White Background on Dark Theme" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="White Background on Dark Theme" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/3036.76541_5F00_11ADE150.png" width="888" height="533" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Doing a quick search I came across this excellent &lt;a href="http://social.msdn.microsoft.com/Forums/pl-PL/vseditor/thread/48cc2f5a-6352-48c5-9aa2-e0b3cc854152"&gt;MSDN forums post that had a solution&lt;/a&gt;.&amp;#160; The good news is that it is a known bug in the current Beta release and will be fixed before launch.&amp;#160; &lt;/p&gt;  &lt;p&gt;If this happens to you do the following:&lt;/p&gt;  &lt;p&gt;1. Go to Tools | Import and Export Settings…    &lt;br /&gt;2. Import selected environment settings     &lt;br /&gt;3. Click “Next”.     &lt;br /&gt;4. Save your current settings if you wish, then click “Next”.     &lt;br /&gt;5. Scroll to the bottom of the list and find: &amp;quot;Dark Fonts and Colors&amp;quot; (under Recent Files)&lt;/p&gt;  &lt;p&gt;Here is what the option looks like:&lt;/p&gt;  &lt;p&gt;&lt;img title="Dark Theme Settings" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="Dark Theme Settings" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/2311.Capture_5F00_4931A4C5.jpg" width="410" height="454" /&gt;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;6. Select that settings file and then &amp;quot;Next&amp;quot; and &amp;quot;Finish.&amp;quot;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;This brought the dark theme back for me but upon selecting a bigger font size the IDE reset itself and went back to the Light Theme.&amp;#160; I then closed Visual Studio, switched to Dark Theme (Tools –&amp;gt; Options – &amp;gt; Environment –&amp;gt; General –&amp;gt; Visual Experience –&amp;gt; Color Theme), changed the font size and everything was back to normal!&lt;/p&gt;  &lt;p&gt;&lt;img title="DarkThemeIDE" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="DarkThemeIDE" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/3858.DarkThemeIDE_5F00_190A5A02.jpg" width="768" height="595" /&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;That should hopefully fix it for you!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;If you are currently working on a Windows 8 app &lt;a href="mailto:davisbi@microsoft.com"&gt;I would love to hear about it&lt;/a&gt;.&amp;#160; You may also want to check out my previous Windows 8 Metro Style Development Tips:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="file:///C:/b/davedev/archive/2012/04/23/accessing-the-accelerometer-in-a-windows-8-metro-style-app-using-html-and-javascript.aspx"&gt;Accessing the Accelerometer in a Windows 8 Metro Style App using HTML and JavaScript&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="file:///C:/b/davedev/archive/2012/04/24/accessing-the-camera-in-a-windows-8-metro-style-app-using-html-and-javascript.aspx"&gt;Accessing the Camera in a Windows 8 Metro Style App using HTML and JavaScript&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="file:///C:/b/davedev/archive/2012/04/24/using-knockoutjs-in-windows-8-metro-style-apps.aspx"&gt;Using KnockoutJS in Windows 8 Metro Style Apps&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="file:///C:/b/davedev/archive/2012/04/25/illegal-characters-in-path-when-deploying-a-metro-style-app.aspx"&gt;Illegal characters in path when deploying a Metro Style App&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="file:///C:/b/davedev/archive/2012/04/26/playing-music-and-sound-effects-in-a-windows-8-metro-style-app-using-html-and-javascript.aspx"&gt;Playing Music and Sound Effects in a Windows 8 Metro Style App using HTML and JavaScript&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/davedev/archive/2012/05/02/connecting-to-wcf-ria-services-in-a-windows-8-metro-style-app-using-upshot-js-and-kockout-js.aspx"&gt;Connecting to WCF RIA Services in a Windows 8 Metro Style App using Upshot.js and Knockout.js&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10301800" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/msdn/lTEL/~4/M-iQVLTHOnY" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Visual+Studio/">Visual Studio</category><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Windows+8/">Windows 8</category><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Metro+Style+App/">Metro Style App</category><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Javascript/">Javascript</category><category domain="http://blogs.msdn.com/b/davedev/archive/tags/HTML5/">HTML5</category><feedburner:origLink>http://blogs.msdn.com/b/davedev/archive/2012/05/07/help-visual-studio-11-beta-dark-theme-incorrectly-using-white-background.aspx</feedburner:origLink></item><item><title>Connecting to WCF RIA Services in a Windows 8 Metro Style App using Upshot.js and Knockout.js</title><link>http://feedproxy.google.com/~r/msdn/lTEL/~3/NsYDSZRvNOk/connecting-to-wcf-ria-services-in-a-windows-8-metro-style-app-using-upshot-js-and-kockout-js.aspx</link><pubDate>Wed, 02 May 2012 19:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10300103</guid><dc:creator>Dave Isbitski</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/davedev/rsscomments.aspx?WeblogPostID=10300103</wfw:commentRss><wfw:comment>http://blogs.msdn.com/b/davedev/commentapi.aspx?WeblogPostID=10300103</wfw:comment><comments>http://blogs.msdn.com/b/davedev/archive/2012/05/02/connecting-to-wcf-ria-services-in-a-windows-8-metro-style-app-using-upshot-js-and-kockout-js.aspx#comments</comments><description>&lt;h2&gt;Overview&lt;/h2&gt;
&lt;p&gt;After messing around with &lt;a href="http://blogs.msdn.com/b/davedev/archive/2012/04/24/using-knockoutjs-in-windows-8-metro-style-apps.aspx"&gt;KnockoutJS inside of Metro Style Apps&lt;/a&gt; I decided to dive a little deeper and see what &lt;a href="http://www.asp.net/single-page-application"&gt;Single Page Applications&lt;/a&gt; (particularly Upshot.js) could offer.&amp;nbsp; I&amp;rsquo;ve gotten asked by more than a few developers how best to connect to their existing WCF RIA Services inside of Metro Style Apps.&amp;nbsp; The approach I took here is one possible solution to help get your started.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.asp.net/single-page-application"&gt;&lt;img title="UpshotOverview" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="UpshotOverview" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/8321.UpshotOverview_5F00_1E606D63.jpg" width="623" height="563" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;For those not familiar with Upshot it is a JavaScript Library that allows you to connect to WCF RIA Services.&amp;nbsp; It is by the same great wizards who wrote &lt;a href="http://www.asp.net/single-page-application"&gt;ASP.NET MVC4 Single Page Applications&lt;/a&gt;. and included already in Single Page App templates!&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I also came across two really great posts you should check out that helped me get my head around things:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://css.dzone.com/articles/upshotjs-knockoutjs-html5"&gt;Upshot.js &amp;amp; Knockout.js: The HTML5 Client for WCF RIA Services&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://bartjolling.blogspot.com/2012/02/building-single-page-apps-with-aspnet.html"&gt;Building Single Page Apps with ASP.NET MVC4 - Part 1 - Basic Desktop Application&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If you just want to grab the MVC4 and Windows 8 Metro Style App source code you can &lt;a href="https://skydrive.live.com/redir.aspx?cid=75959040acaac0e2&amp;amp;resid=75959040ACAAC0E2!5200&amp;amp;parid=root"&gt;download them here&lt;/a&gt;: &lt;/p&gt;
&lt;p&gt;&lt;a href="https://skydrive.live.com/redir.aspx?cid=75959040acaac0e2&amp;amp;resid=75959040ACAAC0E2!5200&amp;amp;parid=root"&gt;&lt;img title="DownloadExample" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="DownloadExample" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/8836.DownloadExample_5F00_09717BA1.jpg" width="156" height="35" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Setting up the MVC 4 Environment&lt;/h2&gt;
&lt;p&gt;In order to get the MVC4 Single Page Application Templates I downloaded and installed Visual Studio 2011 Beta Ultimate (currently &lt;a href="http://go.microsoft.com/fwlink/?linkid=237587"&gt;freely available here&lt;/a&gt;).&amp;nbsp; I am running everything local: MVC4 Website is using IIS Express and the data is stored in SQL Server 2008 R2 Express( the one that comes with the &lt;a href="http://www.microsoft.com/web/downloads/platform.aspx"&gt;Web Platform Installer&lt;/a&gt;).&amp;nbsp; The code that I used was based of a great sample Bart Jolling wrote on &lt;a href="http://bartjolling.blogspot.com/2012/02/building-single-page-apps-with-aspnet.html"&gt;his blog here&lt;/a&gt;.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The example is a simple Deliverytracker SIngle Page Application that looks like this:&lt;/p&gt;
&lt;p&gt;&lt;img title="SPA-MVC4" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="SPA-MVC4" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/5280.SPA_2D00_MVC4_5F00_4BE41DD7.jpg" width="969" height="614" /&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;To&amp;nbsp; keep things simple I am running everything local with integrated security on &lt;strong&gt;IIS Express and SQL Server Express&lt;/strong&gt;.&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;Also take note of our &lt;strong&gt;DomainModel &lt;/strong&gt;as we will need to manually set up MetaData for this later.&lt;/div&gt;
&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: 'Courier New', courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: #f4f4f4;"&gt;
&lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; Customer&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; CustomerId { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; Name { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; Address { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;class&lt;/span&gt; Delivery&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;{&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; DeliveryId { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;virtual&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;int&lt;/span&gt; CustomerId { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;virtual&lt;/span&gt; Customer Customer { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;string&lt;/span&gt; Description { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: #0000ff;"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;bool&lt;/span&gt; IsDelivered { get; set; }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;h2&gt;&amp;nbsp;&lt;/h2&gt;
&lt;h2&gt;Setting up the Metro Style App to use Upshot.js&lt;/h2&gt;
&lt;p&gt;I then created a new JavaScript based Metro Style App like usual and selected the &lt;strong&gt;Tools &amp;ndash; &amp;gt; Library Package Manager &amp;ndash; &amp;gt; Manage NuGet Packages for Solution&lt;/strong&gt; menu and searched for &lt;a href="http://nuget.org/packages/upshot"&gt;UpShot&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://nuget.org/packages/upshot"&gt;&lt;img title="GrabUpshot" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="GrabUpshot" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/0410.GrabUpshot_5F00_748289DE.jpg" width="834" height="466" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This will bring down all the required scripts you need for using Upshot.js in your application.&lt;/p&gt;
&lt;p&gt;&lt;img title="InstalledScripts" style="display: inline; background-image: none;" border="0" alt="InstalledScripts" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/3036.InstalledScripts_5F00_361CC62B.jpg" width="222" height="378" /&gt;&lt;/p&gt;
&lt;p&gt;Because the package installer assumes we are inside of an MVC application it will write everything into a new /scripts folder.&amp;nbsp; For simplicity sake I removed the /scripts folder and copied all of the JavaScript files into our existing /js folder.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Declaration and Initialization&lt;/h2&gt;
&lt;p&gt;We now reference these new JavaScript Libraries like usual inside of our default.html.&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: 'Courier New', courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: #f4f4f4;"&gt;
&lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;lt;script type=&lt;span style="color: #006080;"&gt;"text/javascript"&lt;/span&gt; src=&lt;span style="color: #006080;"&gt;"js/jquery-1.6.4.js"&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&amp;lt;script type=&lt;span style="color: #006080;"&gt;"text/javascript"&lt;/span&gt; src=&lt;span style="color: #006080;"&gt;"js/knockout.debug.js"&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;lt;script type=&lt;span style="color: #006080;"&gt;"text/javascript"&lt;/span&gt; src=&lt;span style="color: #006080;"&gt;"js/knockout.js"&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&amp;lt;script type=&lt;span style="color: #006080;"&gt;"text/javascript"&lt;/span&gt; src=&lt;span style="color: #006080;"&gt;"js/DeliveriesViewModel.js"&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;lt;script type=&lt;span style="color: #006080;"&gt;"text/javascript"&lt;/span&gt; src=&lt;span style="color: #006080;"&gt;"js/upshot.js"&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&amp;lt;script type=&lt;span style="color: #006080;"&gt;"text/javascript"&lt;/span&gt; src=&lt;span style="color: #006080;"&gt;"js/upshot.compat.knockout.js"&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;lt;script type=&lt;span style="color: #006080;"&gt;"text/javascript"&lt;/span&gt; src=&lt;span style="color: #006080;"&gt;"js/upshot.knockout.extensions.js"&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&amp;lt;script type=&lt;span style="color: #006080;"&gt;"text/javascript"&lt;/span&gt; src=&lt;span style="color: #006080;"&gt;"js/arrayUtils.js"&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;There are two additional scripts here arrayUtils.js and DeliveriesViewModel.js that I copied over from the MVC4 Single Page Application &lt;a href="http://bartjolling.blogspot.com/2012/02/building-single-page-apps-with-aspnet.html"&gt;DeliveryTracker example&lt;/a&gt;&amp;nbsp; mentioned previously.&amp;nbsp; arrayUtils is a helper function we can leave as is and &lt;strong&gt;DeliveriesViewModel&lt;/strong&gt; will be how we wire up to our service.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The next step was to take the code from our MVC4 app&amp;rsquo;s Home View located in &lt;strong&gt;/Views/Home/Index.cshtml&lt;/strong&gt; and move it into our Metro Style App.&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: 'Courier New', courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: #f4f4f4;"&gt;
&lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;section&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;h3&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Deliveries&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;h3&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;button&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;data-bind&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="click: saveAll"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Save All&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;button&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;button&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;data-bind&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="click: revertAll"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Revert All&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;button&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;label&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;input&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;data-bind&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="checked: excludeDelivered"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="checkbox"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;         Exclude delivered items&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;label&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ol&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;data-bind&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="foreach: deliveries"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;li&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;data-bind&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="css: { delivered: IsDelivered, &lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;                                        updated: IsUpdated}"&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;strong&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;data-bind&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="text: Description"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;strong&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;            is for &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;em&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;data-bind&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="text: Customer().Name"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;em&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;label&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;input&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;data-bind&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="checked: IsDelivered"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;                  &lt;span style="color: #ff0000;"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="checkbox"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;Delivered&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;label&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;li&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ol&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;h3&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Customers&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;h3&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ul&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;data-bind&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="foreach: deliveriesForCustomer"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;li&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Name: &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;strong&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;data-bind&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="text: key.Name"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;strong&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ul&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;data-bind&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="foreach: values"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;                &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;li&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;data-bind&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="text: Description, &lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;                    css: { delivered: IsDelivered,&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;                             updated: IsUpdated}"&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;                &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;                &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;li&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ul&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;li&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;    &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ul&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;section&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;All of this gets done inside our default.html:&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: 'Courier New', courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: #f4f4f4;"&gt;
&lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;!&lt;/span&gt;&lt;span style="color: #800000;"&gt;DOCTYPE&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;html&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;html&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;head&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;meta&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;charset&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="utf-8"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;title&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;UpshotWin8&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;title&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: #008000;"&gt;&amp;lt;!-- WinJS references --&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;link&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;href&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="//Microsoft.WinJS.0.6/css/ui-dark.css"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;rel&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="stylesheet"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;script&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;src&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="//Microsoft.WinJS.0.6/js/base.js"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;script&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt; 1:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt; 2:&lt;/span&gt;     &amp;lt;script src=&lt;span style="color: #006080;"&gt;"//Microsoft.WinJS.0.6/js/ui.js"&lt;/span&gt;&amp;gt;&lt;/pre&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt; 1:&lt;/span&gt; &amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt; 2:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum3" style="color: #606060;"&gt; 3:&lt;/span&gt;     &amp;lt;script type=&lt;span style="color: #006080;"&gt;"text/javascript"&lt;/span&gt; src=&lt;span style="color: #006080;"&gt;"js/jquery-1.6.4.js"&lt;/span&gt;&amp;gt;&lt;/pre&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt; 1:&lt;/span&gt; &amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt; 2:&lt;/span&gt;     &amp;lt;script type=&lt;span style="color: #006080;"&gt;"text/javascript"&lt;/span&gt; src=&lt;span style="color: #006080;"&gt;"js/knockout.debug.js"&lt;/span&gt;&amp;gt;&lt;/pre&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt; 1:&lt;/span&gt; &amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt; 2:&lt;/span&gt;     &amp;lt;script type=&lt;span style="color: #006080;"&gt;"text/javascript"&lt;/span&gt; src=&lt;span style="color: #006080;"&gt;"js/knockout.js"&lt;/span&gt;&amp;gt;&lt;/pre&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt; 1:&lt;/span&gt; &amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt; 2:&lt;/span&gt;     &amp;lt;script type=&lt;span style="color: #006080;"&gt;"text/javascript"&lt;/span&gt; src=&lt;span style="color: #006080;"&gt;"js/DeliveriesViewModel.js"&lt;/span&gt;&amp;gt;&lt;/pre&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt; 1:&lt;/span&gt; &amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt; 2:&lt;/span&gt;     &amp;lt;script type=&lt;span style="color: #006080;"&gt;"text/javascript"&lt;/span&gt; src=&lt;span style="color: #006080;"&gt;"js/upshot.js"&lt;/span&gt;&amp;gt;&lt;/pre&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt; 1:&lt;/span&gt; &amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt; 2:&lt;/span&gt;     &amp;lt;script type=&lt;span style="color: #006080;"&gt;"text/javascript"&lt;/span&gt; src=&lt;span style="color: #006080;"&gt;"js/upshot.compat.knockout.js"&lt;/span&gt;&amp;gt;&lt;/pre&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt; 1:&lt;/span&gt; &amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt; 2:&lt;/span&gt;     &amp;lt;script type=&lt;span style="color: #006080;"&gt;"text/javascript"&lt;/span&gt; src=&lt;span style="color: #006080;"&gt;"js/upshot.knockout.extensions.js"&lt;/span&gt;&amp;gt;&lt;/pre&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt; 1:&lt;/span&gt; &amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt; 2:&lt;/span&gt;     &amp;lt;script type=&lt;span style="color: #006080;"&gt;"text/javascript"&lt;/span&gt; src=&lt;span style="color: #006080;"&gt;"js/arrayUtils.js"&lt;/span&gt;&amp;gt;&lt;/pre&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt; 1:&lt;/span&gt; &amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum2" style="color: #606060;"&gt; 2:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum3" style="color: #606060;"&gt; 3:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum4" style="color: #606060;"&gt; 4:&lt;/span&gt;     &amp;lt;!-- UpshotWin8 references --&amp;gt;&lt;/pre&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span id="lnum5" style="color: #606060;"&gt; 5:&lt;/span&gt;     &amp;lt;link href=&lt;span style="color: #006080;"&gt;"/css/default.css"&lt;/span&gt; rel=&lt;span style="color: #006080;"&gt;"stylesheet"&lt;/span&gt;&amp;gt;&lt;/pre&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span id="lnum6" style="color: #606060;"&gt; 6:&lt;/span&gt;     &amp;lt;script src=&lt;span style="color: #006080;"&gt;"/js/default.js"&lt;/span&gt;&amp;gt;&lt;/pre&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;!--CRLF--&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;script&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;head&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;body&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;div&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;h3&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Deliveries&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;h3&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;button&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;data-bind&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="click: saveAll"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Save All&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;button&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;button&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;data-bind&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="click: revertAll"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Revert All&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;button&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;label&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;input&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;data-bind&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="checked: excludeDelivered"&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="checkbox"&lt;/span&gt; &lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;         Exclude delivered items&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;label&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ol&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;data-bind&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="foreach: deliveries"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;li&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;data-bind&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="css: { delivered: IsDelivered, &lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;                                        updated: IsUpdated}"&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;strong&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;data-bind&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="text: Description"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;strong&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            is for &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;em&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;data-bind&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="text: Customer().Name"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;em&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;label&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;input&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;data-bind&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="checked: IsDelivered"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;                  &lt;span style="color: #ff0000;"&gt;type&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="checkbox"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;/&amp;gt;&lt;/span&gt;Delivered&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;label&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;li&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ol&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;h3&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Customers&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;h3&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ul&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;data-bind&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="foreach: deliveriesForCustomer"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;li&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;Name: &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;strong&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;data-bind&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="text: key.Name"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;strong&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ul&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;data-bind&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="foreach: values"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;                &lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;li&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;data-bind&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="text: Description, &lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;                    css: { delivered: IsDelivered,&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;                             updated: IsUpdated}"&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;                &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;                &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;li&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ul&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;        &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;li&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;    &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ul&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;body&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;html&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Once we have our view code wired up we now need to call out to the service and databind everything.&amp;nbsp; Just like my previous &lt;a href="http://blogs.msdn.com/b/davedev/archive/2012/04/24/using-knockoutjs-in-windows-8-metro-style-apps.aspx"&gt;KnockoutJS examples&lt;/a&gt; I wire up everything after the DomCo&lt;strong&gt;ntentLoaded Event&lt;/strong&gt; has fired using a custom function called&lt;strong&gt; initialize&lt;/strong&gt;.&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: 'Courier New', courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: #f4f4f4;"&gt;
&lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;document.addEventListener(&lt;span style="color: #006080;"&gt;"DOMContentLoaded"&lt;/span&gt;, initialize);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&lt;br /&gt;Initialize will then tell our app about the fields returned by our Domain Service.&amp;nbsp; In order to do this we need to call the upshot.metadata function and map values manually based on their original DomainModel source types.&amp;nbsp; The basic formatting used here is &lt;strong&gt;Classname#Namespace&lt;/strong&gt;.&amp;nbsp; Once you get your head around that it&amp;rsquo;s pretty easy to map everything (although laborious).&amp;nbsp; I also set the key to be based of DeliveryID.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;After our mapping are set we&amp;rsquo;ll tell KnockoutJS to bind everything using the provided DeliveriesViewModel function. &lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: 'Courier New', courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: #f4f4f4;"&gt;
&lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; initialize() {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;      &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    upshot.metadata({&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: #006080;"&gt;"Delivery:#DeliveryTracker.Models"&lt;/span&gt;: {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;            &lt;span style="color: #006080;"&gt;"key"&lt;/span&gt;: [&lt;span style="color: #006080;"&gt;"DeliveryId"&lt;/span&gt;],&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            &lt;span style="color: #006080;"&gt;"fields"&lt;/span&gt;: {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;                &lt;span style="color: #006080;"&gt;"DeliveryId"&lt;/span&gt;: { &lt;span style="color: #006080;"&gt;"type"&lt;/span&gt;: &lt;span style="color: #006080;"&gt;"Int32:#System"&lt;/span&gt; },&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;                &lt;span style="color: #006080;"&gt;"CustomerId"&lt;/span&gt;: { &lt;span style="color: #006080;"&gt;"type"&lt;/span&gt;: &lt;span style="color: #006080;"&gt;"Int32:#System"&lt;/span&gt; },&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;                &lt;span style="color: #006080;"&gt;"Customer"&lt;/span&gt;: { &lt;span style="color: #006080;"&gt;"type"&lt;/span&gt;: &lt;span style="color: #006080;"&gt;"Customer#DeliveryTrack.Models"&lt;/span&gt; },&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;                &lt;span style="color: #006080;"&gt;"Description"&lt;/span&gt;: { &lt;span style="color: #006080;"&gt;"type"&lt;/span&gt;: &lt;span style="color: #006080;"&gt;"String:#System"&lt;/span&gt; },&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;                &lt;span style="color: #006080;"&gt;"isDelivered"&lt;/span&gt;: { &lt;span style="color: #006080;"&gt;"type"&lt;/span&gt;: &lt;span style="color: #006080;"&gt;"Int32:#System"&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    });&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    ko.applyBindings( &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; DeliveriesViewModel( ));&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The last step now is to edit our DeliveriesViewModel.js file with the location of our Domain Service.&amp;nbsp; This will be different for everyone but on my local machine the service runs at http://localhost:61907//api/DataService.&lt;/p&gt;
&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: 'Courier New', courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: #f4f4f4;"&gt;
&lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; DeliveriesViewModel() {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span style="color: #008000;"&gt;// Private&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; dataSourceOptions = {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        providerParameters: {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;            url: &lt;span style="color: #006080;"&gt;"http://localhost:61907//api/DataService"&lt;/span&gt;,&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            operationName: &lt;span style="color: #006080;"&gt;"GetDeliveriesForToday"&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;        },&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        entityType: &lt;span style="color: #006080;"&gt;"Delivery:#DeliveryTracker.Models"&lt;/span&gt;,&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;        bufferChanges: &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;,&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        mapping: Delivery&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    };&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span style="color: #008000;"&gt;// Public Properties&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.dataSource = &lt;span style="color: #0000ff;"&gt;new&lt;/span&gt; upshot.RemoteDataSource(dataSourceOptions).refresh();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.localDataSource = upshot.LocalDataSource({ source: &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.dataSource,&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        autoRefresh: &lt;span style="color: #0000ff;"&gt;true&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    });&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.deliveries = &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.localDataSource.getEntities();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.deliveriesForCustomer = &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.deliveries.groupBy(&lt;span style="color: #006080;"&gt;"Customer"&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.excludeDelivered = ko.observable(&lt;span style="color: #0000ff;"&gt;false&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span style="color: #008000;"&gt;// Operations&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.saveAll = &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; () { &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.dataSource.commitChanges() }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.revertAll = &lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; () { &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.dataSource.revertChanges() }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span style="color: #008000;"&gt;// Delegates&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.excludeDelivered.subscribe(&lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; (shouldExcludeDelivered) {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;        &lt;span style="color: #0000ff;"&gt;var&lt;/span&gt; filterRule = shouldExcludeDelivered&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            ? { property: &lt;span style="color: #006080;"&gt;"IsDelivered"&lt;/span&gt;, operation: &lt;span style="color: #006080;"&gt;"=="&lt;/span&gt;, value: &lt;span style="color: #0000ff;"&gt;false&lt;/span&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;            : &lt;span style="color: #0000ff;"&gt;null&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.localDataSource.setFilter(filterRule);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;        &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.localDataSource.refresh();&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    });&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; Customer (data) {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.CustomerId = ko.observable(data.CustomerId);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.Name = ko.observable(data.Name);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.Address = ko.observable(data.Address);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    upshot.addEntityProperties(&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;, &lt;span style="color: #006080;"&gt;"Customer:#DeliveryTracker.Models"&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&lt;span style="color: #0000ff;"&gt;function&lt;/span&gt; Delivery (data) {&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.DeliveryId = ko.observable(data.DeliveryId);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.CustomerId = ko.observable(data.CustomerId);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.Customer = ko.observable(data.Customer);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.Description = ko.observable(data.Description);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;.IsDelivered = ko.observable(data.IsDelivered);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: #f4f4f4;"&gt;    upshot.addEntityProperties(&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;, &lt;span style="color: #006080;"&gt;"Delivery:#DeliveryTracker.Models"&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;
&lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: 'Courier New', courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Other than the service location I did not need to modify the function in any way from the original MVC4 DeliveryTracker example.&lt;/p&gt;
&lt;p&gt;We now have the Metro Style App binding to the same Domain Service and being fully interactive.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;img title="RunningMetroApp" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="RunningMetroApp" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/7343.RunningMetroApp_5F00_13C7C163.jpg" width="1001" height="593" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;Obviously we would need to style the application to make it feel like a native Metro Style App but the hard plumbing work has been done.&amp;nbsp; We were able to keep a majority of the MVC4 code, from both the views and the model, to get us started with our Windows 8 Metro Style App!&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;If you are currently working on a Windows 8 app &lt;a href="mailto:davisbi@microsoft.com"&gt;I would love to hear about it&lt;/a&gt;.&amp;nbsp; You may also want to check out my previous Windows 8 Metro Style Development Tips:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blogs.msdn.com/b/davedev/archive/2012/04/23/accessing-the-accelerometer-in-a-windows-8-metro-style-app-using-html-and-javascript.aspx"&gt;Accessing the Accelerometer in a Windows 8 Metro Style App using HTML and JavaScript&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blogs.msdn.com/b/davedev/archive/2012/04/24/accessing-the-camera-in-a-windows-8-metro-style-app-using-html-and-javascript.aspx"&gt;Accessing the Camera in a Windows 8 Metro Style App using HTML and JavaScript&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blogs.msdn.com/b/davedev/archive/2012/04/24/using-knockoutjs-in-windows-8-metro-style-apps.aspx"&gt;Using KnockoutJS in Windows 8 Metro Style Apps&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blogs.msdn.com/b/davedev/archive/2012/04/25/illegal-characters-in-path-when-deploying-a-metro-style-app.aspx"&gt;Illegal characters in path when deploying a Metro Style App&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blogs.msdn.com/b/davedev/archive/2012/04/26/playing-music-and-sound-effects-in-a-windows-8-metro-style-app-using-html-and-javascript.aspx"&gt;Playing Music and Sound Effects in a Windows 8 Metro Style App using HTML and JavaScript&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10300103" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/msdn/lTEL/~4/NsYDSZRvNOk" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Windows+8/">Windows 8</category><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Metro+Style+App/">Metro Style App</category><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Javascript/">Javascript</category><category domain="http://blogs.msdn.com/b/davedev/archive/tags/HTML5/">HTML5</category><feedburner:origLink>http://blogs.msdn.com/b/davedev/archive/2012/05/02/connecting-to-wcf-ria-services-in-a-windows-8-metro-style-app-using-upshot-js-and-kockout-js.aspx</feedburner:origLink></item><item><title>Playing Music and Sound Effects in a Windows 8 Metro Style App using HTML and JavaScript</title><link>http://feedproxy.google.com/~r/msdn/lTEL/~3/tSlW1BPsM0c/playing-music-and-sound-effects-in-a-windows-8-metro-style-app-using-html-and-javascript.aspx</link><pubDate>Thu, 26 Apr 2012 12:57:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10298011</guid><dc:creator>Dave Isbitski</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/davedev/rsscomments.aspx?WeblogPostID=10298011</wfw:commentRss><wfw:comment>http://blogs.msdn.com/b/davedev/commentapi.aspx?WeblogPostID=10298011</wfw:comment><comments>http://blogs.msdn.com/b/davedev/archive/2012/04/26/playing-music-and-sound-effects-in-a-windows-8-metro-style-app-using-html-and-javascript.aspx#comments</comments><description>&lt;h2&gt;Overview&lt;/h2&gt;  &lt;p&gt;I have recently been coding a Windows 8 Metro Style App using the new &lt;a href="http://bit.ly/getwin8"&gt;Windows 8 Consumer Preview&lt;/a&gt; bits and &lt;a href="http://bit.ly/getwin8dev"&gt;Visual Studio 11 Express&lt;/a&gt;.&amp;#160; The app is going to be a retro shooter that takes advantage of HTML5 Canvas for the main game engine and then several Windows 8 Metro Style App Features.&amp;#160; &lt;/p&gt;  &lt;p&gt;What game would rock without Music and Sound Effects!&amp;#160; So how do we add that functionality to a Metro Style App?&amp;#160; For my game I decided to take two routes.&amp;#160; &lt;/p&gt;  &lt;p&gt;This is how I broke everything down:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.w3schools.com/html5/tag_audio.asp"&gt;HTML5 Audio&lt;/a&gt; is being used for the background music and is in a wav file format.&amp;#160; I have two royalty free music tracks that play one during my game’s menu screen and one during actual gameplay.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;All Sound Effects are played using the free &lt;a href="http://soundjs.com/"&gt;SoundJS Library&lt;/a&gt;. This JavaScript Library works straight off &lt;a href="https://github.com/gskinner/SoundJS/downloads/"&gt;gitHub&lt;/a&gt; and no additional work was needed to use it inside our Windows Metro Style App!       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;The Lasers are three separate sound effects and each time a ship is destroyed a random one will play.&amp;#160; They are royalty free sounds I pulled from some of the XNA samples via &lt;a href="http://create.msdn.com/en-us/education/gamedevelopment"&gt;AppHub’s Game Development Library&lt;/a&gt;.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;The announcer voices were custom recorded by me and saved as mp3 files via the free &lt;a href="http://audacity.sourceforge.net/"&gt;Audacity Sound Editing Tool&lt;/a&gt;.&amp;#160; I got the retro voice sound (anyone remember &lt;a href="http://en.wikipedia.org/wiki/Ad_Lib,_Inc."&gt;AdLib&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Soundblaster"&gt;SoundBlaster&lt;/a&gt; back in the day?) by tweaking the stream.&lt;/li&gt; &lt;/ul&gt;  &lt;div&gt;&lt;/div&gt;  &lt;h2&gt;   &lt;br /&gt;Declaration and Initialization&lt;/h2&gt;  &lt;p&gt;I store all of my sound and music files in a &lt;strong&gt;/sounds&lt;/strong&gt; folder off the root of the project and include the sound.js file in my normal&lt;strong&gt; /js&lt;/strong&gt; folder.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;img title="Sounds and JavaScript - sweet!" style="display: inline; background-image: none;" border="0" alt="Sounds and JavaScript - sweet!" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/5078.Layout_5F00_493841B6.jpg" width="188" height="276" /&gt;&lt;/p&gt;  &lt;p&gt;Inside of my default.html file I then make a reference to the SoundJS library.&lt;/p&gt;  &lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;   &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;     &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;lt;link href=&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;/css/default.css&amp;quot;&lt;/span&gt; rel=&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;stylesheet&amp;quot;&lt;/span&gt;&amp;gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;lt;link href=&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;/css/space.css&amp;quot;&lt;/span&gt; rel=&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;stylesheet&amp;quot;&lt;/span&gt;/&amp;gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;lt;script src=&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;/js/default.js&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;lt;script src=&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;/js/sound.js&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Our App is now ready to play music and sound streams.&lt;/p&gt;

&lt;h2&gt;
  &lt;br /&gt;Music&lt;/h2&gt;

&lt;p&gt;Inside of my &lt;strong&gt;default.js&lt;/strong&gt; file I set up a couple of local variables to handle the streams and the sound effects we will pass to SoundJS.&amp;#160; I also set up a variable to detect if I have any music already playing.&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//Menu Music&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; musicPlaying = &lt;span style="color: rgb(0, 0, 255);"&gt;false&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; musicMenu = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; Audio(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;/sounds/hydrogen.mp3&amp;quot;&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; musicGame = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; Audio(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;/sounds/crazy_comets.wav&amp;quot;&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;musicMenu.loop = &lt;span style="color: rgb(0, 0, 255);"&gt;true&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;musicGame.loop = &lt;span style="color: rgb(0, 0, 255);"&gt;true&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//soundeffects&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; lasers = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; Array();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;lasers[0] = &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;laser1&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;lasers[1] = &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;laser2&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;lasers[2] = &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;laser3&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;During my initialize function I set up all of my game parameters and load the sound effects I will use into SoundJS.&amp;#160; SoundJS lets you optionally load multiple instances of the same stream but I’m choosing just to use the one right now. &lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//Init Sounds&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;      SoundJS.addBatch([&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;       { name: &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;redalert&amp;quot;&lt;/span&gt;, src: &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;../sounds/redalert.mp3&amp;quot;&lt;/span&gt;, instances: 1 },&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;       { name: &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;newlevel&amp;quot;&lt;/span&gt;, src: &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;../sounds/newlevel.mp3&amp;quot;&lt;/span&gt;, instances: 1 },&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;       { name: &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;pulse&amp;quot;&lt;/span&gt;, src: &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;../sounds/pulse.mp3&amp;quot;&lt;/span&gt;, instances: 1 },&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;       { name: &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;laser1&amp;quot;&lt;/span&gt;, src: &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;../sounds/laser1.mp3&amp;quot;&lt;/span&gt;, instances: 1 },&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;       { name: &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;laser2&amp;quot;&lt;/span&gt;, src: &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;../sounds/laser2.mp3&amp;quot;&lt;/span&gt;, instances: 1 },&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;       { name: &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;laser3&amp;quot;&lt;/span&gt;, src: &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;../sounds/laser3.mp3&amp;quot;&lt;/span&gt;, instances: 1 }]);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;I then load up the UI elements for my Game Menu and begin playing my Menu music.&amp;#160; This is done by simply calling the &lt;strong&gt;pause()&lt;/strong&gt; and &lt;strong&gt;play()&lt;/strong&gt; methods of both the &lt;strong&gt;musicGame&lt;/strong&gt; and &lt;strong&gt;musicMenu&lt;/strong&gt; HTML5 Audio tag variables we declared previously.&lt;/p&gt;

&lt;p&gt;Here is the code that initializes the Menu UI and begins playing the Menu Music:&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//Set Up Menu Screen UI Elements&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;  &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; showMenu(&lt;span style="color: rgb(0, 0, 255);"&gt;event&lt;/span&gt;) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;      menuEnabled = &lt;span style="color: rgb(0, 0, 255);"&gt;true&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;      txtPlayerName.style.visibility = &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;hidden&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;      txtScore.style.visibility = &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;hidden&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;      imgPlayer.style.visibility = &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;hidden&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;      imgMenu.style.visibility = &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;visible&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;      btnStart.style.visibility = &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;visible&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;      txtVersion.innerHTML = GAME_VERSION;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;      txtVersion.style.visibility = &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;visible&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;      txtLevel.style.visibility = &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;hidden&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;      &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;      &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; menuX, btnX, btnY;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;      menuX = (SCREEN_WIDTH - imgMenu.width) / 2;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;      btnX = (SCREEN_WIDTH - btnStart.clientWidth) / 2;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;      btnY = (SCREEN_HEIGHT - btnStart.clientHeight) / 2;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;      imgMenu.style.posLeft = menuX;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;      btnStart.style.posLeft = btnX;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;      btnStart.style.posTop = btnY;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;      musicGame.pause();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;      musicMenu.play();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;   &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;  }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Here is the code that initializes the Game UI and begins playing the Game Music:&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;/Set up Game Screen UI Elements&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; startGame(&lt;span style="color: rgb(0, 0, 255);"&gt;event&lt;/span&gt;) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        txtPlayerName.style.visibility=&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;visible&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        txtScore.style.visibility=&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;visible&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        imgPlayer.style.visibility = &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;visible&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        imgMenu.style.visibility = &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;hidden&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        btnStart.style.visibility = &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;hidden&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        txtVersion.style.visibility = &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;hidden&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        txtLevel.style.visibility = &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;visible&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; lvlX = (SCREEN_WIDTH - txtLevel.clientWidth) / 2;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        txtLevel.style.posLeft = lvlX;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        musicMenu.pause();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        musicGame.play();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        menuEnabled = &lt;span style="color: rgb(0, 0, 255);"&gt;false&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;
  &lt;br /&gt;&lt;/p&gt;

&lt;h2&gt;Sound Effects&lt;/h2&gt;

&lt;h4&gt;&lt;font style="font-weight: normal;"&gt;Now that we have the music all set up let’s move onto the Sound Effects.&amp;#160; &lt;/font&gt;&lt;/h4&gt;

&lt;h4&gt;New Level and Gravity Pulse&lt;/h4&gt;

&lt;p&gt;The first sound bite is when our user achieves a new level (currently set to every 2,000 points).&amp;#160; The second scenario is if they achieve a gravity pulse (&lt;a href="http://blogs.msdn.com/b/davedev/archive/2012/04/23/accessing-the-accelerometer-in-a-windows-8-metro-style-app-using-html-and-javascript.aspx"&gt;previously covered here&lt;/a&gt;).&amp;#160; Both of these scenarios are handled in our &lt;strong&gt;updateScore&lt;/strong&gt; function which gets called during our main game loop (more on game loops to come).&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//update player score&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; updateScore(points) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        score += points;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        scoreGravity += points;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        txtScore.innerHTML = &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;  Score: &amp;quot;&lt;/span&gt; + score;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (scoreGravity === GRAVITY_WAVE_PTS_REQ) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            accelerometer.addEventListener(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;shaken&amp;quot;&lt;/span&gt;, onShakenAccel);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            txtScore.innerHTML = &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot; &amp;gt; SHAKE THAT SCREEN &amp;lt;&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            scoreGravity = 0;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            SoundJS.play(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;pulse&amp;quot;&lt;/span&gt;, SoundJS.INTERRUPT_ANY);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;//new level&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        lvlNextPts = (lvlCurrent + 1) * LEVEL_PTS_REQ;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (score &amp;gt;= lvlNextPts) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            lvlCurrent++;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            txtLevel.innerHTML = &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;Level: &amp;quot;&lt;/span&gt; + lvlCurrent;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            lvlDifficulty = LEVEL_SPEED_INCREASE * lvlCurrent;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            SoundJS.play(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;newlevel&amp;quot;&lt;/span&gt;,SoundJS.INTERUPT_ANY);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h4&gt;Lasers Beams!&lt;/h4&gt;

&lt;p&gt;All of the logic for the laser effects happens when I handle destroyed ships that have been correctly “tapped on” (more on handling Touch events to come).&amp;#160; I run through the laser sound array we previously created and pick a random sound.&amp;#160; This gives us the ability to have three different laser sounds when we are blowing up ships on the screen!&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; destroyShip(ship) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; r = randomAccel(0, 2);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; laserSound = lasers[r];&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    SoundJS.play(laserSound, SoundJS.INTERRUPT_ANY);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;   &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 128, 0);"&gt;//TODO: Animation Explosion and better sound&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; explosion = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; Image();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    explosion.onload = &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; () {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        ctx.drawImage(explosion, ship.x, ship.y);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    explosion.src = &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;/images/explosion.png&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    ship.img = explosion;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    ship.destroyed = &lt;span style="color: rgb(0, 0, 255);"&gt;true&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    updateScore(POINTS_SHIPHIT);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; ship;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;For those curious here is the randomizer function I used to pick a random number as well:&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//Random acceleration speed&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; randomAccel(a, b) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; (Math.floor(Math.random() * (1 + b - a))) + a;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;One of the things I noticed when having many sound effects on screen was that they sometimes would cut off each other.&amp;#160; Remember that users can use all 10 fingers on a touch device so we could have 10 explosions at once!&amp;#160; This is where SoundJS handles things very well.&amp;#160; You may have noticed the INTERRUPT_ANY param being passed in.&amp;#160; This is where you can tell SoundJS how to handle currently playing sounds of the same exact stream.&amp;#160; You can also created multiple instances of the same sound effect.&amp;#160; If you are still&amp;#160; having issues with choppy sounds the &lt;a href="http://www.createjs.com/Docs/SoundJS/SoundJS.html"&gt;SoundJS Documentation&lt;/a&gt; has some suggestions on using &lt;strong&gt;setTimeout&lt;/strong&gt; to buffer your sounds. &lt;/p&gt;

&lt;p&gt;I wrote a little function that implements this which I’m not currently using but may need at some point in the future.&amp;#160; I’ve included it here in case you run into any sound clipping issues and want to give it a try.&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//Play Sound Effect&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; playSound(sound) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;     setTimeout(&lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; () {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;         SoundJS.play(sound, SoundJS.INTERUPT_NONE, 1, &lt;span style="color: rgb(0, 0, 255);"&gt;false&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;     }, 100);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;
  &lt;br /&gt;&lt;/p&gt;

&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;I hope this post has given you an idea of how easy it is to include Music and Sound Effects in your Metro Style Apps using the built in HTML5 Audio tags and existing JavaScript Libraries.&amp;#160; As Always - if you are currently working on a Windows 8 app &lt;a href="mailto:davisbi@microsoft.com"&gt;I would love to hear about it&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;You may also want to check out my previous Windows 8 Metro Style Development Tips:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/davedev/archive/2012/04/23/accessing-the-accelerometer-in-a-windows-8-metro-style-app-using-html-and-javascript.aspx"&gt;Accessing the Accelerometer in a Windows 8 Metro Style App using HTML and JavaScript&lt;/a&gt;&lt;/li&gt;

  &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/davedev/archive/2012/04/24/accessing-the-camera-in-a-windows-8-metro-style-app-using-html-and-javascript.aspx"&gt;Accessing the Camera in a Windows 8 Metro Style App using HTML and JavaScript&lt;/a&gt;&lt;/li&gt;

  &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/davedev/archive/2012/04/24/using-knockoutjs-in-windows-8-metro-style-apps.aspx"&gt;Using KnockoutJS in Windows 8 Metro Style Apps&lt;/a&gt;&lt;/li&gt;

  &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/davedev/archive/2012/04/25/illegal-characters-in-path-when-deploying-a-metro-style-app.aspx"&gt;Illegal characters in path when deploying a Metro Style App&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10298011" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/msdn/lTEL/~4/tSlW1BPsM0c" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Windows+8/">Windows 8</category><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Metro+Style+App/">Metro Style App</category><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Javascript/">Javascript</category><category domain="http://blogs.msdn.com/b/davedev/archive/tags/HTML5/">HTML5</category><feedburner:origLink>http://blogs.msdn.com/b/davedev/archive/2012/04/26/playing-music-and-sound-effects-in-a-windows-8-metro-style-app-using-html-and-javascript.aspx</feedburner:origLink></item><item><title>Illegal characters in path when deploying a Metro Style App</title><link>http://feedproxy.google.com/~r/msdn/lTEL/~3/E9b1aOsawos/illegal-characters-in-path-when-deploying-a-metro-style-app.aspx</link><pubDate>Wed, 25 Apr 2012 19:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10297754</guid><dc:creator>Dave Isbitski</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/davedev/rsscomments.aspx?WeblogPostID=10297754</wfw:commentRss><wfw:comment>http://blogs.msdn.com/b/davedev/commentapi.aspx?WeblogPostID=10297754</wfw:comment><comments>http://blogs.msdn.com/b/davedev/archive/2012/04/25/illegal-characters-in-path-when-deploying-a-metro-style-app.aspx#comments</comments><description>&lt;p&gt;If you are getting an error similar to the one below when deploying your Metro Style App in &lt;a href="http://bit.ly/getwin8dev"&gt;Visual Studio 11 Beta&lt;/a&gt; it’s not you.&lt;/p&gt;  &lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;   &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;     &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;Error    1    Error : DEP0600 : The following unexpected error occurred during deployment: &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;Illegal characters in path.&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;   at System.IO.Path.CheckInvalidPathChars(String path, Boolean checkAdditional)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;   at System.IO.Path.Combine(String path1, String path2)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;   at Microsoft.VisualStudio.ImmersiveProjectServices.Shared.AppxLayoutManager.CheckPackageLayoutState(DeployPackageName deployPackageName, String location)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;   at Microsoft.VisualStudio.ImmersiveProjectServices.Shared.LocalDeployJob.GetLayoutState(DeployPackageName deployName, Boolean hasFrameworkDependencies)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;   at Microsoft.VisualStudio.ImmersiveProjectServices.Shared.RegisterAppxLayout.Start(Boolean forceNewLayout, Boolean forceRegistration, NetworkLoopbackState desiredNetworkLoopbackState, Boolean refreshLayoutOnly, String&amp;amp; packageMoniker, String&amp;amp; firstUserAppID, Exception&amp;amp; deployException)    MetroInclinometerSteeringWheel&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;This is a known issue when moving source files around to different folders without uninstalling the Metro Style App.&amp;#160; The good news is the fix is simple!&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;Uninstall the application via it’s Start Screen Live Tile&lt;/strong&gt; and then re-deploy it in Visual Studio 11.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I have this happen to me frequently due to having different machines I present on and moving source code around between them.&amp;#160; I figured I would share the solution in case you come across the same issue.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10297754" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/msdn/lTEL/~4/E9b1aOsawos" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Visual+Studio/">Visual Studio</category><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Windows+8/">Windows 8</category><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Metro+Style+App/">Metro Style App</category><feedburner:origLink>http://blogs.msdn.com/b/davedev/archive/2012/04/25/illegal-characters-in-path-when-deploying-a-metro-style-app.aspx</feedburner:origLink></item><item><title>Using KnockoutJS in Windows 8 Metro Style Apps</title><link>http://feedproxy.google.com/~r/msdn/lTEL/~3/A9AvVgslmXI/using-knockoutjs-in-windows-8-metro-style-apps.aspx</link><pubDate>Tue, 24 Apr 2012 20:46:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10297339</guid><dc:creator>Dave Isbitski</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/davedev/rsscomments.aspx?WeblogPostID=10297339</wfw:commentRss><wfw:comment>http://blogs.msdn.com/b/davedev/commentapi.aspx?WeblogPostID=10297339</wfw:comment><comments>http://blogs.msdn.com/b/davedev/archive/2012/04/24/using-knockoutjs-in-windows-8-metro-style-apps.aspx#comments</comments><description>&lt;h2&gt;What is it?&lt;/h2&gt;  &lt;p&gt;If you have been messing around with JavaScript lately and come from a .Net Background you might have already heard of &lt;a href="http://knockoutjs.com/"&gt;KnockoutJS&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://knockoutjs.com/"&gt;&lt;img title="Knockout" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="Knockout" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/6740.Knockout_5F00_77E70501.jpg" width="733" height="312" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;If you haven’t, KnockoutJS is a lightweight, free, JavaScript Library from &lt;a href="http://blog.stevensanderson.com/"&gt;Steve Sanderson&lt;/a&gt; that brings the &lt;a href="http://en.wikipedia.org/wiki/Model_View_ViewModel"&gt;MVVM pattern&lt;/a&gt; to the web world.&amp;#160; It’s also filled with #awesome sauce.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Cats and Dogs Living Together – Mass Hysteria!&lt;/h2&gt;  &lt;p&gt;It wasn’t too long ago that Windows app development and Web app development were two entirely different views of the world.&amp;#160; Thanks to the magic of WinRT language projection with Metro Style App development we no longer have to give up all the great libraries we are used from the web when&amp;#160; moving onto the desktop.&amp;#160; Most JavaScript libraries will run by just including it in your Metro Style App project.&amp;#160; Well at least local copies of those JavaScript Libraries.&amp;#160; If you want to call out to external libraries however you will need to start looking into the security model of how Windows Web Apps run (WWA).&amp;#160; &lt;/p&gt;  &lt;p&gt;The exception to this is jQuery if you are pulling from the public CDN’s it has already been whitelisted for you.&amp;#160; I wont dive into details here but you can check out the great &lt;a href="http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-527C"&gt;Build Session from Chris Tavares&lt;/a&gt; to learn about the security model for third party JavaScript libraries.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;img title="Ok Dave where&amp;#39;s the code?" style="display: inline; background-image: none;" border="0" alt="Ok Dave where&amp;#39;s the code?" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/3716.19310247_5F00_0789A0C4.jpg" width="322" height="242" /&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Hang tight!&amp;#160; If you just want the Windows 8 Metro Style App &lt;a href="http://sdrv.ms/win8knockout"&gt;soure code grab it now&lt;/a&gt;.     &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sdrv.ms/win8knockout"&gt;&lt;img title="Source Code" style="display: inline; background-image: none;" border="0" alt="Source Code" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/6036.Capture_5F00_5BD8D6C7.jpg" width="204" height="61" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Setting up KnockoutJS&lt;/h2&gt;  &lt;p&gt;The first thing you will need to do is grab the latest version of &lt;a href="https://github.com/SteveSanderson/knockout/downloads"&gt;KnockoutJS off GitHub&lt;/a&gt;.&amp;#160; I’ve included and tested with both the stable 2.0.0 release as well the 2.1.0rc update.&lt;/p&gt;  &lt;p&gt;Create a new project in &lt;a href="http://bit.ly/getwin8dev"&gt;Visual Studio 11 Express&lt;/a&gt; as usual and then add the Knockout.js file to your JS folder.&lt;/p&gt;  &lt;p&gt;&lt;img title="KnockoutJS.js" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="KnockoutJS.js" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/5850.Capture_5F00_0959F68B.jpg" width="234" height="506" /&gt;&lt;/p&gt;  &lt;p&gt;As with all JavaScript files if you want Visual Studio to give you Intellisense you will need to add the following to the current JavaScript source file you are working on:&lt;/p&gt;  &lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;   &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;     &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;/// &amp;lt;reference path=&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;knockout-2.0.0.js&amp;quot;&lt;/span&gt; /&amp;gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Note that Visual Studio will do this automatically for you if you simply drag the .js file over to your code window.&lt;/p&gt;

&lt;p&gt;Next, you will need to add a reference to the KnockoutJS file in the html source. While we are at it let’s go ahead and grab the &lt;a href="http://jquery.com/"&gt;latest jQuery Library&lt;/a&gt; as well.&amp;#160; Some of the KnockouJS Learning samples assume jQuery is included.&amp;#160; Your references should look like below:&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;lt;script src=&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;/js/knockout-2.0.0.js&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;lt;script src=&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;/js/jquery-1.7.2.min.js&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;
  &lt;br /&gt;Now we should have working jQuery and Knockout JavaScript functionality but don’t forget that both of these libraries assume you have a DOM.&amp;#160; On the web we would normally start executing code after the &lt;strong&gt;onLoad &lt;/strong&gt;event.&amp;#160; Fortunately for us this is super easy to do in Metro Style Apps by adding an event handler for &lt;strong&gt;DOMContentLoaded&lt;/strong&gt;.&amp;#160; This should be the last line in your main function like so:&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;app.start();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//If Document fully loaded than begin processing&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;document.addEventListener(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;DOMContentLoaded&amp;quot;&lt;/span&gt;, initialize, &lt;span style="color: rgb(0, 0, 255);"&gt;false&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;})();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;This will ensure your DOM is loaded and now accessible inside of your app.&lt;/p&gt;

&lt;p&gt;The last step now is to ensure that all of our KnockoutJS bindings occur once our initialize function has been called.&amp;#160; Here is an example of what I mean:&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//Main Execution&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; initialize() {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 128, 0);"&gt;// Activates knockout.js&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    ko.applyBindings(&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; AppViewModel());&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h2&gt;Converting Learn.KnockoutJS samples to a Metro Style Apps&lt;/h2&gt;

&lt;p&gt;There are some really great tutorials on &lt;a href="http://learn.knockoutjs.com"&gt;Learn.KnockoutJS.com&lt;/a&gt; to help get you started.&amp;#160; I decided to go through each of those and bring them over into a Metro Style App.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://learn.knockoutjs.com"&gt;&lt;img title="Learn KnockoutJS" style="display: inline; background-image: none;" border="0" alt="Learn KnockoutJS" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/7411.Capture_5F00_32649587.jpg" width="999" height="410" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All five tutorials came over with minor tweaks except for Single Page applications.&amp;#160;&amp;#160; I’ve named the tutorials using the following convention:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Introduction – default.html/default.js&lt;/li&gt;

  &lt;li&gt;Working with Lists and Collections – seats.html/seats.js&lt;/li&gt;

  &lt;li&gt;&lt;strike&gt;Single page applications – spa.html/spa.js&lt;/strike&gt;&lt;/li&gt;

  &lt;ul&gt;
    &lt;li&gt;&lt;em&gt;Didn’t work.&amp;#160; I’ve included the source so if anyone wants to hack on it some more and see what’s up please let me know.&lt;/em&gt;&amp;#160;&lt;/li&gt;
  &lt;/ul&gt;

  &lt;li&gt;Creating custom bindings – custom.html/custom.js&lt;/li&gt;

  &lt;li&gt;Loading and saving data – data.html/data.js&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To change which sample you want to run just edit the startup page inside the project properties.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/1663.Capture_5F00_023D4AC4.jpg"&gt;&lt;img title="Capture" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="Capture" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/3125.Capture_5F00_thumb_5F00_289F2E0F.jpg" width="407" height="168" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h3&gt;Introduction Example&lt;/h3&gt;

&lt;p&gt;No tweaks needed this came over perfectly.&amp;#160; Here is what my html looks like:&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;body&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;p&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;First name: &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;strong&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-bind&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;text: firstName&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;strong&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;p&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;p&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;Last name: &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;strong&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-bind&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;text: lastName&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;strong&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;p&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;body&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Here is the JavaScript:&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;(&lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; () {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;use strict&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; app = WinJS.Application;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    app.onactivated = &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; (eventObject) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (eventObject.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.launch) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (eventObject.detail.previousExecutionState !== Windows.ApplicationModel.Activation.ApplicationExecutionState.terminated) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;                &lt;span style="color: rgb(0, 128, 0);"&gt;// TODO: This application has been newly launched. Initialize &lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;                &lt;span style="color: rgb(0, 128, 0);"&gt;// your application here.&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            } &lt;span style="color: rgb(0, 0, 255);"&gt;else&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;                &lt;span style="color: rgb(0, 128, 0);"&gt;// TODO: This application has been reactivated from suspension. &lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;                &lt;span style="color: rgb(0, 128, 0);"&gt;// Restore application state here.&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            WinJS.UI.processAll();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    };&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; AppViewModel() {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.firstName = &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;David&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.lastName = &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;Isbitski&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 128, 0);"&gt;//Main Execution&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; initialize() {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// Activates knockout.js&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        ko.applyBindings(&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; AppViewModel());&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    app.oncheckpoint = &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; (eventObject) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// TODO: This application is about to be suspended. Save any state&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// that needs to persist across suspensions here. You might use the &lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// WinJS.Application.sessionState object, which is automatically&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// saved and restored across suspension. If you need to complete an&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// asynchronous operation before your application is suspended, call&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// eventObject.setPromise(). &lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    };&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    app.start();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 128, 0);"&gt;//If Document fully loaded than begin processing&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    document.addEventListener(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;DOMContentLoaded&amp;quot;&lt;/span&gt;, initialize, &lt;span style="color: rgb(0, 0, 255);"&gt;false&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;})();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h3&gt;Working with Lists and Collections Example&lt;/h3&gt;

&lt;p&gt;Worked right out of the box.&amp;#160; Here is the HTML:&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;body&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;h2&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;Your seat reservations&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;h2&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;table&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;thead&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;tr&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;th&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;Passenger name&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;th&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;th&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;Meal&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;th&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;th&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;Surcharge&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;th&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;th&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;th&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;tr&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;thead&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;tbody&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-bind&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;foreach: seats&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;tr&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;td&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-bind&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;text: name&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;td&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;td&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-bind&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;text: meal().mealName&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;td&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;td&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-bind&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;text: meal().price&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;td&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;tr&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;    &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;tbody&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;table&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;body&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Here is the JavaScript:&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;(&lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; () {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;use strict&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; app = WinJS.Application;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    app.onactivated = &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; (eventObject) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (eventObject.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.launch) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (eventObject.detail.previousExecutionState !== Windows.ApplicationModel.Activation.ApplicationExecutionState.terminated) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;                &lt;span style="color: rgb(0, 128, 0);"&gt;// TODO: This application has been newly launched. Initialize &lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;                &lt;span style="color: rgb(0, 128, 0);"&gt;// your application here.&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            } &lt;span style="color: rgb(0, 0, 255);"&gt;else&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;                &lt;span style="color: rgb(0, 128, 0);"&gt;// TODO: This application has been reactivated from suspension. &lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;                &lt;span style="color: rgb(0, 128, 0);"&gt;// Restore application state here.&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            WinJS.UI.processAll();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    };&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 128, 0);"&gt;// Class to represent a row in the seat reservations grid&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; SeatReservation(name, initialMeal) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; self = &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        self.name = name;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        self.meal = ko.observable(initialMeal);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 128, 0);"&gt;// Overall viewmodel for this screen, along with initial state&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; ReservationsViewModel() {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; self = &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// Non-editable catalog data - would come from the server&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        self.availableMeals = [&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        { mealName: &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;Standard (sandwich)&amp;quot;&lt;/span&gt;, price: 0 },&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        { mealName: &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;Premium (lobster)&amp;quot;&lt;/span&gt;, price: 34.95 },&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        { mealName: &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;Ultimate (whole zebra)&amp;quot;&lt;/span&gt;, price: 290 }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        ];&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// Editable data&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        self.seats = ko.observableArray([&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; SeatReservation(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;Steve&amp;quot;&lt;/span&gt;, self.availableMeals[0]),&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; SeatReservation(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;Bert&amp;quot;&lt;/span&gt;, self.availableMeals[0])&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        ]);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;   &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 128, 0);"&gt;//Main Execution&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; initialize() {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// Activates knockout.js&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;         ko.applyBindings(&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; ReservationsViewModel());&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    app.oncheckpoint = &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; (eventObject) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// TODO: This application is about to be suspended. Save any state&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// that needs to persist across suspensions here. You might use the &lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// WinJS.Application.sessionState object, which is automatically&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// saved and restored across suspension. If you need to complete an&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// asynchronous operation before your application is suspended, call&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// eventObject.setPromise(). &lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    };&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    app.start();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 128, 0);"&gt;//If Document fully loaded than begin processing&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    document.addEventListener(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;DOMContentLoaded&amp;quot;&lt;/span&gt;, initialize, &lt;span style="color: rgb(0, 0, 255);"&gt;false&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;})();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h3&gt;Creating Custom Bindings Example&lt;/h3&gt;

&lt;p&gt;I needed to do two things to get this example to work.&amp;#160; The first one was to include jQuery it assumes it would be present.&amp;#160; The second was to replace the &lt;strong&gt;alert()&lt;/strong&gt; function call (this doesn’t exist in WinRT) with a native &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.popups.messagedialog"&gt;WinRT MessageDialog&lt;/a&gt;.&amp;#160; Here is what the HTML looks like:&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;body&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;h3&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-bind&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;text: question&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;h3&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;p&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;Please distribute &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;b&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-bind&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;text: pointsBudget&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;b&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt; points between the following options.&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;p&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;table&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;thead&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;tr&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;th&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;Option&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;th&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;th&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;Importance&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;th&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;tr&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;thead&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;tbody&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-bind&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;foreach: answers&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;tr&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;td&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-bind&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;text: answerText&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;td&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;td&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;select&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-bind&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;options: [1,2,3,4,5], value: points&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;select&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;td&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;tr&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;    &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;tbody&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;table&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;h3&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-bind&lt;/span&gt;=&amp;quot;&lt;span style="color: rgb(255, 0, 0);"&gt;fadeVisible:&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;pointsUsed&lt;/span&gt;() &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt; pointsBudget&amp;quot;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;You've used too many points! Please remove some.&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;h3&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;p&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;You've got &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;b&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-bind&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;text: pointsBudget - pointsUsed()&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;b&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt; points left to use.&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;p&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;button&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-bind&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;enable: pointsUsed() &amp;lt;= pointsBudget, click: save&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;Finished&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;button&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;body&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Here is the JavaScript:&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;(&lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; () {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;use strict&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; app = WinJS.Application;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    app.onactivated = &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; (eventObject) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (eventObject.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.launch) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (eventObject.detail.previousExecutionState !== Windows.ApplicationModel.Activation.ApplicationExecutionState.terminated) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;                &lt;span style="color: rgb(0, 128, 0);"&gt;// TODO: This application has been newly launched. Initialize &lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;                &lt;span style="color: rgb(0, 128, 0);"&gt;// your application here.&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            } &lt;span style="color: rgb(0, 0, 255);"&gt;else&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;                &lt;span style="color: rgb(0, 128, 0);"&gt;// TODO: This application has been reactivated from suspension. &lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;                &lt;span style="color: rgb(0, 128, 0);"&gt;// Restore application state here.&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            WinJS.UI.processAll();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    };&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 128, 0);"&gt;// ----------------------------------------------------------------------------&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 128, 0);"&gt;// Page viewmodel&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; Answer(text) { &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.answerText = text; &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.points = ko.observable(1); }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; SurveyViewModel(question, pointsBudget, answers) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.question = question;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.pointsBudget = pointsBudget;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.answers = $.map(answers, &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; (text) { &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; Answer(text) });&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;//Dave Isbitski - 4/24/12 - Changed alert to native WinRT dialog&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.save = &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; () {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; dlg = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; Windows.UI.Popups.MessageDialog(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;To do&amp;quot;&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;             dlg.showAsync().done();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        };&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.pointsUsed = ko.computed(&lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; () {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; total = 0;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;for&lt;/span&gt; (&lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; i = 0; i &amp;lt; &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.answers.length; i++)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;                total += &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.answers[i].points();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; total;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        }, &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 128, 0);"&gt;//Main Execution&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; initialize() {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        ko.bindingHandlers.fadeVisible = {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            init: &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; (element, valueAccessor) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;                &lt;span style="color: rgb(0, 128, 0);"&gt;// Start visible/invisible according to initial value&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;                &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; shouldDisplay = valueAccessor();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;                $(element).toggle(shouldDisplay);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            },&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            update: &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; (element, valueAccessor) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;                &lt;span style="color: rgb(0, 128, 0);"&gt;// On update, fade in/out&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;                &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; shouldDisplay = valueAccessor();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;                shouldDisplay ? $(element).fadeIn() : $(element).fadeOut();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        };&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// Activates knockout.js&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        ko.applyBindings(&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; SurveyViewModel(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;Which factors affect your technology choices?&amp;quot;&lt;/span&gt;, 10, [&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;   &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;Functionality, compatibility, pricing - all that boring stuff&amp;quot;&lt;/span&gt;,&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;   &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;How often it is mentioned on Hacker News&amp;quot;&lt;/span&gt;,&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;   &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;Number of gradients/dropshadows on project homepage&amp;quot;&lt;/span&gt;,&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;   &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;Totally believable testimonials on project homepage&amp;quot;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        ]));&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    app.oncheckpoint = &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; (eventObject) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// TODO: This application is about to be suspended. Save any state&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// that needs to persist across suspensions here. You might use the &lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// WinJS.Application.sessionState object, which is automatically&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// saved and restored across suspension. If you need to complete an&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// asynchronous operation before your application is suspended, call&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// eventObject.setPromise(). &lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    };&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    app.start();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 128, 0);"&gt;//If Document fully loaded than begin processing&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    document.addEventListener(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;DOMContentLoaded&amp;quot;&lt;/span&gt;, initialize, &lt;span style="color: rgb(0, 0, 255);"&gt;false&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;})();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h3&gt;Loading and Saving Data Example&lt;/h3&gt;

&lt;p&gt;Only thing I had to add here was jQuery due to the dependency on it. Here is the HTML:&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;body&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;h3&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;Tasks&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;h3&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;form&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-bind&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;submit: addTask&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    Add task: &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;input&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-bind&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;value: newTaskText&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;placeholder&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;What needs to be done?&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;button&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;type&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;submit&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;Add&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;button&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;form&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;ul&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-bind&lt;/span&gt;=&amp;quot;&lt;span style="color: rgb(255, 0, 0);"&gt;foreach:&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;tasks&lt;/span&gt;, &lt;span style="color: rgb(255, 0, 0);"&gt;visible:&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;tasks&lt;/span&gt;().&lt;span style="color: rgb(255, 0, 0);"&gt;length&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt; 0&amp;quot;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;li&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;input&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;type&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;checkbox&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-bind&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;checked: isDone&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;input&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-bind&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;value: title, disable: isDone&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;a&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;href&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;#&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-bind&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;click: $parent.removeTask&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;Delete&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;a&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;li&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;ul&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;You have &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;b&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-bind&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;text: incompleteTasks().length&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&amp;amp;nbsp;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;b&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt; incomplete task(s)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;span&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-bind&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;visible: incompleteTasks().length == 0&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt; - it's beer time!&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;span&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;body&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;Here is the JavaScript:&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;(&lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; () {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;use strict&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; app = WinJS.Application;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    app.onactivated = &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; (eventObject) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (eventObject.detail.kind === Windows.ApplicationModel.Activation.ActivationKind.launch) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (eventObject.detail.previousExecutionState !== Windows.ApplicationModel.Activation.ApplicationExecutionState.terminated) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;                &lt;span style="color: rgb(0, 128, 0);"&gt;// TODO: This application has been newly launched. Initialize &lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;                &lt;span style="color: rgb(0, 128, 0);"&gt;// your application here.&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            } &lt;span style="color: rgb(0, 0, 255);"&gt;else&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;                &lt;span style="color: rgb(0, 128, 0);"&gt;// TODO: This application has been reactivated from suspension. &lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;                &lt;span style="color: rgb(0, 128, 0);"&gt;// Restore application state here.&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            WinJS.UI.processAll();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    };&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; Task(data) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.title = ko.observable(data.title);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.isDone = ko.observable(data.isDone);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; TaskListViewModel() {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// Data&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; self = &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        self.tasks = ko.observableArray([]);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        self.newTaskText = ko.observable();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        self.incompleteTasks = ko.computed(&lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; () {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; ko.utils.arrayFilter(self.tasks(), &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; (task) { &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; !task.isDone() });&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        });&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// Operations&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        self.addTask = &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; () {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            self.tasks.push(&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; Task({ title: &lt;span style="color: rgb(0, 0, 255);"&gt;this&lt;/span&gt;.newTaskText() }));&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            self.newTaskText(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;&amp;quot;&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        };&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        self.removeTask = &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; (task) { self.tasks.remove(task) };&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// Load initial state from server, convert it to Task instances, then populate self.tasks&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        $.getJSON(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;/tasks&amp;quot;&lt;/span&gt;, &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; (allData) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; mappedTasks = $.map(allData, &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; (item) { &lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; Task(item) });&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            self.tasks(mappedTasks);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        });&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 128, 0);"&gt;//Main Execution&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; initialize() {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// Activates knockout.js&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        ko.applyBindings(&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; TaskListViewModel());&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    app.oncheckpoint = &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; (eventObject) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// TODO: This application is about to be suspended. Save any state&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// that needs to persist across suspensions here. You might use the &lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// WinJS.Application.sessionState object, which is automatically&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// saved and restored across suspension. If you need to complete an&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// asynchronous operation before your application is suspended, call&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// eventObject.setPromise(). &lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    };&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    app.start();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 128, 0);"&gt;//If Document fully loaded than begin processing&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    document.addEventListener(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;DOMContentLoaded&amp;quot;&lt;/span&gt;, initialize, &lt;span style="color: rgb(0, 0, 255);"&gt;false&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;})();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;I hope this post has given you an idea of how easy it is to include existing JavaScript Libraries from the Web inside your own Metro Style Apps.&amp;#160; As Always - if you are currently working on a Windows 8 app &lt;a href="mailto:davisbi@microsoft.com"&gt;I would love to hear about it&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;You may also want to check out my previous Windows 8 Metro Style Development Tips:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/davedev/archive/2012/04/23/accessing-the-accelerometer-in-a-windows-8-metro-style-app-using-html-and-javascript.aspx"&gt;Accessing the Accelerometer in a Windows 8 Metro Style App using HTML and JavaScript&lt;/a&gt;&lt;/li&gt;

  &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/davedev/archive/2012/04/24/accessing-the-camera-in-a-windows-8-metro-style-app-using-html-and-javascript.aspx"&gt;Accessing the Camera in a Windows 8 Metro Style App using HTML and JavaScript&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10297339" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/msdn/lTEL/~4/A9AvVgslmXI" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Windows+8/">Windows 8</category><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Metro+Style+App/">Metro Style App</category><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Javascript/">Javascript</category><category domain="http://blogs.msdn.com/b/davedev/archive/tags/HTML5/">HTML5</category><feedburner:origLink>http://blogs.msdn.com/b/davedev/archive/2012/04/24/using-knockoutjs-in-windows-8-metro-style-apps.aspx</feedburner:origLink></item><item><title>Accessing the Camera in a Windows 8 Metro Style App using HTML and JavaScript</title><link>http://feedproxy.google.com/~r/msdn/lTEL/~3/gatYZ8FvTqg/accessing-the-camera-in-a-windows-8-metro-style-app-using-html-and-javascript.aspx</link><pubDate>Tue, 24 Apr 2012 14:40:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10297189</guid><dc:creator>Dave Isbitski</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/davedev/rsscomments.aspx?WeblogPostID=10297189</wfw:commentRss><wfw:comment>http://blogs.msdn.com/b/davedev/commentapi.aspx?WeblogPostID=10297189</wfw:comment><comments>http://blogs.msdn.com/b/davedev/archive/2012/04/24/accessing-the-camera-in-a-windows-8-metro-style-app-using-html-and-javascript.aspx#comments</comments><description>&lt;h2&gt;Overview&lt;/h2&gt;  &lt;p&gt;I have recently been coding a Windows 8 Metro Style App using the new &lt;a href="http://bit.ly/getwin8"&gt;Windows 8 Consumer Preview&lt;/a&gt; bits and &lt;a href="http://bit.ly/getwin8dev"&gt;Visual Studio 11 Express&lt;/a&gt;.&amp;#160; The app is going to be a retro shooter that takes advantage of HTML5 Canvas for the main game engine and then several Windows 8 Metro Style App Features.&lt;/p&gt;  &lt;p&gt;One of the things I wanted to do in the game was to keep Player Profiles.&amp;#160; These profiles track player high scores, player names and a player avatar.&amp;#160; Eventually these high scores could be used in a leaderboard running in the cloud.&amp;#160; &lt;/p&gt;  &lt;p align="left"&gt;&lt;img title="Player Name and Avatar" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="Player Name and Avatar" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/5226.image_5F00_484DA23A.png" width="418" height="187" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I thought it would be neat to let players take a picture of themselves for their Avatar by accessing the webcam.&amp;#160; Fortunately for us WinRT makes this super easy to use.&amp;#160; We can even pull up prebuilt camera capture UI by using the built-in &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/windows.media.capture.aspx"&gt;Windows.Media.Capture API’s&lt;/a&gt;.&amp;#160; If you are an existing &lt;a href="http://bit.ly/getwpdev"&gt;Windows Phone Developer&lt;/a&gt; this may remind you a lot of &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.phone.tasks(v=vs.92).aspx"&gt;Windows Phone Development Tasks&lt;/a&gt; – something I absolutely loved.&amp;#160; &lt;/p&gt;  &lt;p&gt;Features like camera timer, settings, and&amp;#160; even picture cropping are all done for us via the &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/windows.media.capture.cameracaptureui.aspx"&gt;Windows.Media.Capture.CameraCaptureUI&lt;/a&gt;.&amp;#160; For those looking for more control you also have the ability to call into &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/windows.media.capture.mediacapture.aspx"&gt;Windows.Media.Capture.MediaCapture&lt;/a&gt;.&amp;#160; You won’t get a default UI with MediaCapture but you do get full control of the streams.&amp;#160; MediaCapture is also a way to record Audio streams in your app.&lt;/p&gt;  &lt;p&gt;Here is what the default Capture Capture UI looks like when using the cropping tool:&lt;/p&gt;  &lt;p&gt;&lt;img title="Camera Capture Cropping Tool" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="Camera Capture Cropping Tool" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/8272.image_5F00_3B0C3A89.png" width="704" height="440" /&gt;&lt;/p&gt;  &lt;p&gt;After cropping the photo to my liking and tapping the OK button my new Avatar is automatically set.&amp;#160; The new Avatar Image is automatically scaled correctly thanks to the predefined CSS styling we have created.&lt;/p&gt;  &lt;p&gt;&lt;img title="New Avatar Picture" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="New Avatar Picture" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/1325.image_5F00_4C7F2C12.png" width="436" height="198" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Sweet!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Declaration and Initialization&lt;/h2&gt;  &lt;p&gt; One of the joys of doing Windows 8 Metro Style development with HTML and JavaScript is that it feels like Web Programming.&amp;#160; In fact my entire game header is done using normal &amp;lt;div&amp;gt; tags and CSS Styles.&amp;#160; Inside of my default.html file I defined the following header to display the player score, level, name and avatar picture:&lt;/p&gt;  &lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;   &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;     &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;div&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;divGame&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;div&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;txtScore&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;Score: 0&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;div&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;    &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;div&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;txtLevel&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;Level: 0&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;div&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;div&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;divPlayer&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;             &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;div&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;txtPlayerName&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;Player1&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;div&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;             &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;img&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;imgPlayer&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;src&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;/images/helmet.png&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;         &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;div&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;div&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;I then defined a CSS Style for the Avatar Picture using it’s &lt;strong&gt;imgPlayer&lt;/strong&gt; id. &lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;#imgPlayer {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;max-width&lt;/span&gt;: &lt;span style="color: rgb(0, 96, 128);"&gt;100px;&lt;/span&gt; &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;max-height&lt;/span&gt;: &lt;span style="color: rgb(0, 96, 128);"&gt;50px;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;float&lt;/span&gt;:&lt;span style="color: rgb(0, 96, 128);"&gt;left;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;margin&lt;/span&gt;-&lt;span style="color: rgb(0, 0, 255);"&gt;right&lt;/span&gt;:&lt;span style="color: rgb(0, 96, 128);"&gt;10px;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;The &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/br211377.aspx"&gt;Windows Library for JavaScript (WinJS)&lt;/a&gt; gives us a way to create a &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/br229670.aspx"&gt;Windows 8 AppBar&lt;/a&gt; easily by just a few lines of HTML (more on WinJS Controls later).&amp;#160; By opening the AppBar and tapping the &lt;strong&gt;cmdCamera &lt;/strong&gt;button our players will get the option to take a new Avatar picture.&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;div&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;AppBar&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-win-control&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;WinJS.UI.AppBar&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-win-options&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;       &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;button&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;cmdHome&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-win-control&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;WinJS.UI.AppBarCommand&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-win-options&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;{id:'cmdHome',label:'Menu',icon:'home',section:'selection',tooltip:'Menu'}&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;       &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;button&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;      &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;button&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;cmdCamera&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-win-control&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;WinJS.UI.AppBarCommand&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-win-options&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;{id:'cmdCamera',label:'Cadet Photo',icon:'camera',section:'global',tooltip:'Change Cadet Photo'}&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;       &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;button&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;     &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;button&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;id&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;cmdName&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-win-control&lt;/span&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;WinJS.UI.AppBarCommand&amp;quot;&lt;/span&gt; &lt;span style="color: rgb(255, 0, 0);"&gt;data-win-options&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;=&amp;quot;{id:'cmdName',label:'Cadet Name',icon:'url(images/accept.png)',section:'global',tooltip:'Change Cadet Name',type:'flyout',flyout:'nameFlyout'}&amp;quot;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;       &lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;button&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;div&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;All of the AppBar buttons tap events are handled using standard JavaScript EventListeners:&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//AppBar Commands&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        document.getElementById(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;cmdCamera&amp;quot;&lt;/span&gt;).addEventListener(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;click&amp;quot;&lt;/span&gt;, capturePhoto, &lt;span style="color: rgb(0, 0, 255);"&gt;false&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        document.getElementById(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;cmdName&amp;quot;&lt;/span&gt;).addEventListener(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;click&amp;quot;&lt;/span&gt;, showCadetNameUpdate, &lt;span style="color: rgb(0, 0, 255);"&gt;false&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        document.getElementById(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;cmdHome&amp;quot;&lt;/span&gt;).addEventListener(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;click&amp;quot;&lt;/span&gt;, showMenu, &lt;span style="color: rgb(0, 0, 255);"&gt;false&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        document.getElementById(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;submitButton&amp;quot;&lt;/span&gt;).addEventListener(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;click&amp;quot;&lt;/span&gt;, updateCadetName, &lt;span style="color: rgb(0, 0, 255);"&gt;false&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;That’s it! We now have a working Game Header and AppBar for our game.&amp;#160; When a player clicks on the Camera Button we will invoke a call to the &lt;strong&gt;capturePhoto&lt;/strong&gt; function.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h2&gt;Opening the Camera Capture UI&lt;/h2&gt;

&lt;p&gt;capturePhoto is where the magic happens.&amp;#160; The first thing we do is make a call to WinRT using the &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/windows.media.capture.aspx"&gt;Windows.Media.Capture&lt;/a&gt; namespace.&amp;#160; This gives us a reference to &lt;strong&gt;CameraCaptureUI &lt;/strong&gt;where we can set default properties.&amp;#160; For my game I am telling the camera to use a 16x9 aspect ratio and lock to the photo mode.&amp;#160; If I wanted the user to capture video I could easily do this as well by using &lt;strong&gt;Windows.Media.Capture.CameraCaptureUIMode.video&lt;/strong&gt;.&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//WinRT Camera API&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; capturePhoto() {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;try&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; dialog = &lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt; Windows.Media.Capture.CameraCaptureUI();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; aspectRatio = { width: 16, height: 9 };&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            dialog.photoSettings.croppedAspectRatio = aspectRatio;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            dialog.captureFileAsync(Windows.Media.Capture.CameraCaptureUIMode.photo).then(&lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; (file) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;                &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (file) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;                    imgPlayer.src = URL.createObjectURL(file);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;                } &lt;span style="color: rgb(0, 0, 255);"&gt;else&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;                    &lt;span style="color: rgb(0, 128, 0);"&gt;//No Photo captured&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;                }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            }, &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; (err) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;                displayError(err);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            });&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        } &lt;span style="color: rgb(0, 0, 255);"&gt;catch&lt;/span&gt; (err) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            displayError(err);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;This is where you will start to see all of the Async goodness inside of WinRT.&amp;#160; The Camera Capture UI&amp;#160; will run asynchronously while it awaits the user to take a picture.&amp;#160; I handle the callback by invoking a JavaScript Promise using the &lt;strong&gt;then&lt;/strong&gt; keyword.&amp;#160; The promise will call a function when the user takes a photo and if there is an object it will set the source of my &lt;strong&gt;imgPlayer&lt;/strong&gt; tag to be that file.&amp;#160; Those of you familiar with Web programming will recognize the &lt;a href="http://dev.w3.org/2006/webapi/FileAPI/"&gt;URL.createObjectURL&lt;/a&gt; call so that my &amp;lt;img&amp;gt; tag knows where to reference the new source file.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;Hopefully you have seen how easy it is to access the WebCam on Windows 8 now thanks to WinRT and the &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/windows.media.capture.aspx"&gt;Windows.Media.Capture API’s&lt;/a&gt;.&amp;#160; As Always - if you are currently working on a Windows 8 app &lt;a href="mailto:davisbi@microsoft.com"&gt;I would love to hear about it&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;You may also want to check out my previous Windows 8 Metro Style Development Tips:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/davedev/archive/2012/04/23/accessing-the-accelerometer-in-a-windows-8-metro-style-app-using-html-and-javascript.aspx"&gt;Accessing the Accelerometer in a Windows 8 Metro Style App using HTML and JavaScript&lt;/a&gt;

    &lt;br /&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10297189" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/msdn/lTEL/~4/gatYZ8FvTqg" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Windows+8/">Windows 8</category><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Metro+Style+App/">Metro Style App</category><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Javascript/">Javascript</category><category domain="http://blogs.msdn.com/b/davedev/archive/tags/HTML5/">HTML5</category><feedburner:origLink>http://blogs.msdn.com/b/davedev/archive/2012/04/24/accessing-the-camera-in-a-windows-8-metro-style-app-using-html-and-javascript.aspx</feedburner:origLink></item><item><title>Accessing the Accelerometer in a Windows 8 Metro Style App using HTML and JavaScript</title><link>http://feedproxy.google.com/~r/msdn/lTEL/~3/Eb2qzaP6m-U/accessing-the-accelerometer-in-a-windows-8-metro-style-app-using-html-and-javascript.aspx</link><pubDate>Mon, 23 Apr 2012 21:30:07 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10296866</guid><dc:creator>Dave Isbitski</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/davedev/rsscomments.aspx?WeblogPostID=10296866</wfw:commentRss><wfw:comment>http://blogs.msdn.com/b/davedev/commentapi.aspx?WeblogPostID=10296866</wfw:comment><comments>http://blogs.msdn.com/b/davedev/archive/2012/04/23/accessing-the-accelerometer-in-a-windows-8-metro-style-app-using-html-and-javascript.aspx#comments</comments><description>&lt;h2&gt;Overview&lt;/h2&gt;  &lt;p&gt;I have recently been coding a Windows 8 Metro Style App using the new &lt;a href="http://bit.ly/getwin8"&gt;Windows 8 Consumer Preview&lt;/a&gt; bits and &lt;a href="http://bit.ly/getwin8dev"&gt;Visual Studio 11 Express&lt;/a&gt;.&amp;#160; The app is going to be a retro shooter that takes advantage of HTML5 Canvas for the main game engine and then several Windows 8 Metro Style App Features.&amp;#160; Rather then wait for the game to be completely finished I figured I would start sharing some of my development experiences here on my blog.&lt;/p&gt;  &lt;p&gt;One of the first ideas I had was for a “Gravity Pulse” power that would be granted upon earning a predefined a amount of points (1,500 pts being the default).&amp;#160; Every time the user gains these amount of points a custom sound file will be played and then the screen will display a message to shake the device.&amp;#160; If the user shakes the device within a predefined amount of time all ships on the screen will blow up.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;img title="Gravity Pulse - Shake the Screen!" style="display: inline; background-image: none;" border="0" alt="Gravity Pulse - Shake the Screen!" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/4062.image_5F00_7D43341C.png" width="688" height="326" /&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The language I chose to use was HTML and JavaScript but this example could just have easily been done in C++/XAML or C#/XAML.&amp;#160; The code needed to access the accelerometer was very small and I was impressed just how easy it was to add to my game.    &lt;br /&gt;&lt;/p&gt;  &lt;h2&gt;Declaration and Initialization&lt;/h2&gt;  &lt;p&gt;I start out by defining three local class variables I will use to access the sensor itself and default values for the polling interval.&lt;/p&gt;  &lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;   &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;     &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//accelerometer&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;   &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; accelerometer;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;   &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; intervalId = 0;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;   &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; getReadingInterval = 0;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Once the DOM of the default.js page has been loaded I call a custom function (named initialize).&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//If Document fully loaded than begin processing&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;   document.addEventListener(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;DOMContentLoaded&amp;quot;&lt;/span&gt;, initialize, &lt;span style="color: rgb(0, 0, 255);"&gt;false&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Inside of initialize I set up all of my ships, the coordinate system for the gameboard and other important details.&amp;#160; There is a function I have created that will handle the accelerometer instance called initAccel.&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//Set up accelerometer for shake events&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;      initAccel();&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//Init Accelerometer&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; initAccel() {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    accelerometer = Windows.Devices.Sensors.Accelerometer.getDefault();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (accelerometer) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;// Choose a report interval supported by the sensor&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; minimumReportInterval = accelerometer.minimumReportInterval;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;var&lt;/span&gt; reportInterval = minimumReportInterval &amp;gt; 16 ? minimumReportInterval : 16;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        accelerometer.reportInterval = reportInterval;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        getReadingInterval = reportInterval * 2; &lt;span style="color: rgb(0, 128, 0);"&gt;// double the interval for display (to reduce CPU usage)&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    } &lt;span style="color: rgb(0, 0, 255);"&gt;else&lt;/span&gt; {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;       displayError(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;No accelerometer found&amp;quot;&lt;/span&gt;);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;}&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;The initAccel function assigns the default accelerometer (through the magic of WinRT) to the class variable accelerometer and if it finds a device it sets up the reporting interval properties.&amp;#160; Reporting interval is how often we will receive new sensor readings from the accelerometer so it is important to pick a value that won’t kill our cpu.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h2&gt;Handling the Accelerometer Readings&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Always remember accessing the sensor (as in any other devices) will &lt;u&gt;cause cpu load and drain your battery&lt;/u&gt;&lt;/strong&gt;.&amp;#160; I am careful to only turn the sensor on when the user hits the predefined amount of points and then I shut it off until the next gravity pulse becomes available.&amp;#160; Fortunately this is easy to do in JavaScript by controlling the eventListener.&amp;#160; If the accelerometer object has an eventListener assigned to it it will be actively polling for new data.&amp;#160; &lt;/p&gt;

&lt;p&gt;The function I use to check for an in progress Gravity Pulse is called updateScore.&amp;#160; This is where I start listening to accelerometer readings by assigning an eventListener for “shake events” as well as updating the screen and playing a wav file (more on playing sounds and external libraries to come)&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//update player score&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; updateScore(points) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        score += points;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        scoreGravity += points;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        txtScore.innerHTML = &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;  Score: &amp;quot;&lt;/span&gt; + score;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (scoreGravity === GRAVITY_WAVE_PTS_REQ) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            accelerometer.addEventListener(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;shaken&amp;quot;&lt;/span&gt;, onShakenAccel);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            txtScore.innerHTML = &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot; &amp;gt; SHAKE THAT SCREEN &amp;lt;&amp;quot;&lt;/span&gt;;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            scoreGravity = 0;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            SoundJS.play(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;pulse&amp;quot;&lt;/span&gt;, SoundJS.INTERRUPT_ANY);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 128, 0);"&gt;//new level&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        lvlNextPts = (lvlCurrent + 1) * LEVEL_PTS_REQ;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;        &lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt; (score &amp;gt;= lvlNextPts) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            lvlCurrent++;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;            txtLevel.innerHTML = &lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;Level: &amp;quot;&lt;/span&gt; + lvlCurrent;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            lvlDifficulty = LEVEL_SPEED_INCREASE * lvlCurrent;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;            SoundJS.play(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;newlevel&amp;quot;&lt;/span&gt;,SoundJS.INTERUPT_ANY);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;        }&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;    }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;
  &lt;br /&gt;When a user shakes the Windows 8 tablet enough to register a “shake” event the onShakenAccel eventHandler is called and the following code invoked:&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;div id="codeSnippetWrapper" style="margin: 20px 0px 10px; padding: 4px; border: 1px solid silver; width: 97.5%; text-align: left; line-height: 12pt; overflow: auto; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; cursor: text; direction: ltr; max-height: 200px; background-color: rgb(244, 244, 244);"&gt;
  &lt;div id="codeSnippet" style="padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;
    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//Accelerometer has been shaken and now we need to grant the bonus power&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt; &lt;span style="color: rgb(0, 0, 255);"&gt;function&lt;/span&gt; onShakenAccel(&lt;span style="color: rgb(0, 0, 255);"&gt;event&lt;/span&gt;) {&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;      &lt;span style="color: rgb(0, 128, 0);"&gt;//Stop Listening to Accelerometer&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;     accelerometer.removeEventListener(&lt;span style="color: rgb(0, 96, 128);"&gt;&amp;quot;shaken&amp;quot;&lt;/span&gt;, onShakenAccel);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;&amp;#160;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;     &lt;span style="color: rgb(0, 128, 0);"&gt;//Gravity Wave Power - Destroy all ships&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt;     gravityWave();&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: rgb(244, 244, 244);"&gt;    &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="margin: 0em; padding: 0px; width: 100%; text-align: left; color: black; line-height: 12pt; overflow: visible; font-family: &amp;quot;Courier New&amp;quot;, courier, monospace; font-size: 8pt; direction: ltr; background-color: white;"&gt; }&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;p&gt;You will notice the first thing I do is &lt;strong&gt;remove the eventListener which will effectively turn off the Accelerometer Sensor&lt;/strong&gt; and then I call a custom function to blow up the on screen ships.&lt;/p&gt;

&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h2&gt;Conclusion&lt;/h2&gt;

&lt;p&gt;That’s it!&amp;#160; By adding a few eventListeners and a call into the WinRT &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/windows.devices.sensors"&gt;Windows.Device.Sensors&lt;/a&gt; namespace my game has full accelerometer support!&amp;#160; Hopefully this post will help you get started in adding sensor support in your own Metro Style Apps.&amp;#160; As Always - if you are currently working on a Windows 8 app &lt;a href="mailto:davisbi@microsoft.com"&gt;I would love to hear about it&lt;/a&gt;!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10296866" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/msdn/lTEL/~4/Eb2qzaP6m-U" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Windows+8/">Windows 8</category><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Metro+Style+App/">Metro Style App</category><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Javascript/">Javascript</category><category domain="http://blogs.msdn.com/b/davedev/archive/tags/HTML5/">HTML5</category><feedburner:origLink>http://blogs.msdn.com/b/davedev/archive/2012/04/23/accessing-the-accelerometer-in-a-windows-8-metro-style-app-using-html-and-javascript.aspx</feedburner:origLink></item><item><title>Want to win $20,000 with Windows Phone? Check out Dream.Build.Play!</title><link>http://feedproxy.google.com/~r/msdn/lTEL/~3/dyJVdcWw2W4/want-to-win-20-000-with-windows-phone-check-out-dream-build-play.aspx</link><pubDate>Mon, 09 Apr 2012 21:18:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10292023</guid><dc:creator>Dave Isbitski</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/davedev/rsscomments.aspx?WeblogPostID=10292023</wfw:commentRss><wfw:comment>http://blogs.msdn.com/b/davedev/commentapi.aspx?WeblogPostID=10292023</wfw:comment><comments>http://blogs.msdn.com/b/davedev/archive/2012/04/09/want-to-win-20-000-with-windows-phone-check-out-dream-build-play.aspx#comments</comments><description>&lt;p&gt;Via &lt;a href="http://blogs.msdn.com/b/devfish/archive/2012/04/09/got-xna-win-20k-in-dreambuildplay.aspx"&gt;Devfish&lt;/a&gt;..&lt;/p&gt;  &lt;p&gt;&lt;a href="http://bit.ly/getwpdev"&gt;&lt;img border="0" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-40-83-wp75/2335.WINDOWSPHONE.png" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Here's the short version. Over 14? Write a cool Windows Phone Game and submit it to the &lt;a href="http://www.dreambuildplay/"&gt;Dream,Build,Play&lt;/a&gt; site. &lt;strong&gt;You could win up to $20,000&lt;/strong&gt;. Yep, that's it. In a nutshell. So on to the long-winded stuff.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Windows Phone&lt;/strong&gt; the prizes are $20k, $10k, $5k, and $2500 respectively. &lt;/p&gt;  &lt;p&gt;The top 20 finalists will also get Phones. Want some inspiration, check out last year's XBOX winners at &lt;a href="https://www.dreambuildplay.com/main/winners.aspx"&gt;https://www.dreambuildplay.com/main/winners.aspx&lt;/a&gt; . &lt;/p&gt;  &lt;p&gt;Obviously the competition is going to be tough. Make something good. And if you publish it, let me know. I'm always looking for brag on our phone devs!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;RULES - SHORT LIST &lt;/strong&gt;&lt;/p&gt;   &lt;ul&gt;     &lt;li&gt;Registration until May 15, Submission until June 12 &lt;/li&gt;    &lt;li&gt;Judging on fun/innovative/quality &lt;/li&gt;    &lt;li&gt;Must be greater than 14 years old &lt;/li&gt;    &lt;li&gt;All submissions are in English &lt;/li&gt;    &lt;li&gt;You cannot submit if you live in Cuba, Iran, North Korean, Sudan or Syria&lt;/li&gt; &lt;/ul&gt; &lt;br&gt; &lt;p&gt;Official Rules - &lt;a href="https://www.dreambuildplay.com/main/officialrules.aspx"&gt;https://www.dreambuildplay.com/main/officialrules.aspx&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10292023" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/msdn/lTEL/~4/dyJVdcWw2W4" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Windows+Phone/">Windows Phone</category><category domain="http://blogs.msdn.com/b/davedev/archive/tags/XNA/">XNA</category><feedburner:origLink>http://blogs.msdn.com/b/davedev/archive/2012/04/09/want-to-win-20-000-with-windows-phone-check-out-dream-build-play.aspx</feedburner:origLink></item><item><title>Learn The Cloud. Make A Difference. @home with Windows Azure</title><link>http://feedproxy.google.com/~r/msdn/lTEL/~3/ssmJk0oHX6I/learn-the-cloud-make-a-difference-home-with-windows-azure.aspx</link><pubDate>Thu, 05 Apr 2012 17:19:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10291188</guid><dc:creator>Dave Isbitski</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/davedev/rsscomments.aspx?WeblogPostID=10291188</wfw:commentRss><wfw:comment>http://blogs.msdn.com/b/davedev/commentapi.aspx?WeblogPostID=10291188</wfw:comment><comments>http://blogs.msdn.com/b/davedev/archive/2012/04/05/learn-the-cloud-make-a-difference-home-with-windows-azure.aspx#comments</comments><description>&lt;p&gt;Via my teammate &lt;a href="http://blogs.msdn.com/b/peterlau/"&gt;Peter Laudati&lt;/a&gt;…&lt;/p&gt;  &lt;p&gt;How does learning about cloud computing while contributing to scientific research sound to you? Join us for &lt;a href="http://bit.ly/athomepcl"&gt;@home with Windows Azure&lt;/a&gt; to get a solid understanding of the Windows Azure platform while giving back to a very deserving cause.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://bit.ly/athomepcl"&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="Learn the Cloud @home" border="0" alt="Learn the Cloud @home" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/7367.athome_5F00_header_5F00_gfxUSCloudAdTake1_5F00_48D92329.png" width="644" height="191" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;h2&gt;What is @home with Windows Azure?&lt;/h2&gt;  &lt;p&gt;Microsoft provides a &lt;a href="http://bit.ly/getfreeazure"&gt;90-day free trial of Windows Azure&lt;/a&gt; where you can kick the tires and run an application in the cloud 24x7, cost-free. Why not use that free compute time to give back to a deserving cause?&amp;#160; The &lt;a href="http://bit.ly/athomepcl"&gt;@home with Windows Azure&lt;/a&gt; project is an online activity where you use those &lt;a href="http://bit.ly/getfreeazure"&gt;90-days of free compute time&lt;/a&gt; (or your &lt;a href="http://www.windowsazure.com/en-us/pricing/member-offers/msdn-benefits/"&gt;MSDN Subscriber benefits&lt;/a&gt;) to contribute to &lt;a href="http://folding.stanford.edu/"&gt;Stanford University’s Folding@home&lt;/a&gt; distributed computing project.&lt;/p&gt;  &lt;p&gt;The Folding@home project helps scientists provide insight into the causes of diseases such as Alzheimer’s, Mad Cow disease, ALS, and some cancer-related syndromes, by running &lt;a href="http://folding.stanford.edu/English/Science"&gt;&lt;em&gt;protein folding&lt;/em&gt;&lt;/a&gt; simulations on thousands of machines world wide.&lt;/p&gt;  &lt;p&gt;You will deploy Stanford’s Folding@home application to Windows Azure, where it will execute &lt;a href="http://folding.stanford.edu/English/Science"&gt;protein folding&lt;/a&gt; simulations in the cloud, thus contributing to the research effort. In essence, your participation is a donation of your free compute time to the &lt;a href="http://folding.stanford.edu/"&gt;Folding@home&lt;/a&gt; project!&lt;/p&gt;  &lt;h2&gt;Get Started&lt;/h2&gt;  &lt;p&gt;It’s easy to get started in 4 quick steps. The &lt;a href="http://bit.ly/athomepcl"&gt;@home with Windows Azure&lt;/a&gt; site has a series of short, easy to follow along to, screencasts that walk you through deploying Folding@home to the cloud!&lt;/p&gt;  &lt;h2&gt;Learn The Cloud &lt;/h2&gt;  &lt;p&gt;Want to go deeper? Join the &lt;a href="http://bit.ly/athomepcl"&gt;@home team&lt;/a&gt; for a live webcast or catch one of their recordings on demand to learn more about Windows Azure, including: compute &amp;amp; storage services, debugging in the cloud, and patterns for achieving scale.&lt;/p&gt;  &lt;h2&gt;Make A Difference&lt;/h2&gt;  &lt;p&gt;In addition to directly contributing CPU cycles to the Folding@home project, from the start of March 2012, &lt;strong&gt;Microsoft is donating $10 (up to a maximum of $5000) to Stanford’s Pande Lab for everyone that participates!&lt;/strong&gt;&lt;/p&gt;  &lt;h2&gt;See Your Impact&lt;/h2&gt;  &lt;p&gt;You can see your impact by visiting the detailed World Stats page on the &lt;a href="http://bit.ly/athomepcl"&gt;@home with Windows Azure&lt;/a&gt; site.&amp;#160; For example, to date, over 6,300 VMs have contributed over 3.5 million compute hours!!!&lt;/p&gt;  &lt;p&gt;Learn more about the project and join in at the project’s website: &lt;a href="http://bit.ly/athomepcl"&gt;&lt;strong&gt;http://distributedcomputing.cloudapp.net&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10291188" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/msdn/lTEL/~4/ssmJk0oHX6I" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Azure/">Azure</category><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Cloud/">Cloud</category><feedburner:origLink>http://blogs.msdn.com/b/davedev/archive/2012/04/05/learn-the-cloud-make-a-difference-home-with-windows-azure.aspx</feedburner:origLink></item><item><title>Looking to write a Windows Phone App? Check out the HackReady.Phone WebCast Series!</title><link>http://feedproxy.google.com/~r/msdn/lTEL/~3/aoGCIGVLshw/looking-to-write-a-windows-phone-app-check-out-the-hackready-phone-webcast-series.aspx</link><pubDate>Fri, 30 Mar 2012 16:30:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10289458</guid><dc:creator>Dave Isbitski</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/davedev/rsscomments.aspx?WeblogPostID=10289458</wfw:commentRss><wfw:comment>http://blogs.msdn.com/b/davedev/commentapi.aspx?WeblogPostID=10289458</wfw:comment><comments>http://blogs.msdn.com/b/davedev/archive/2012/03/30/looking-to-write-a-windows-phone-app-check-out-the-hackready-phone-webcast-series.aspx#comments</comments><description>&lt;p&gt;If you have been thinking about &lt;a href="http://bit.ly/getwpdev"&gt;writing a Windows Phone App&lt;/a&gt; but didn’t know where to start my fellow teammate, &lt;a href="http://smallandmighty.net"&gt;Dani Diaz&lt;/a&gt;, has got something for you!&lt;/p&gt;  &lt;p&gt;&lt;a href="http://bit.ly/getwpdev"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px 20px 20px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; border-top: 0px; border-right: 0px; padding-top: 0px" title="Get started with Windows Phone" border="0" alt="Get started with Windows Phone" align="left" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/1462.Picture1_5F00_6229A248.png" width="157" height="294" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://smallandmighty.net/blog/the-hackready.phone-webcast-series"&gt;Via Dani&lt;/a&gt;…&lt;/p&gt;  &lt;p&gt;Join us for HackReady, the new online learning series designed for developers to bring you the vital bits you need, without the fluff you won’t miss. Full of key information and demonstrations, this series gives you a solid understanding of the tools, techniques, and resources you need to become HackReady. &lt;/p&gt;  &lt;p&gt;The HackReady.Phone series brings you seven episodes, from start to marketplace. Whether you are a new Windows Phone developer thinking about your first app or well on your way to publishing, these sessions help you get there. Join us for one or the whole series—pick and choose as you like. &lt;/p&gt;  &lt;p&gt;(Tue 4/3 10AM PST)    &lt;br /&gt;&lt;b&gt;MSDN Webcast: HackReady.Phone, Episode 1: Introduction to the Windows Phone Platform (Level 100) - &lt;/b&gt;&lt;a href="http://aka.ms/HackReadyPhone1"&gt;http://aka.ms/HackReadyPhone1&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;(Thur 4/5 10AM PST)    &lt;br /&gt;&lt;b&gt;MSDN Webcast: HackReady.Phone, Episode 2: Working with Internal and External Data in Windows Phone (Level 200) - &lt;/b&gt;&lt;a href="http://aka.ms/HackReadyPhone2"&gt;http://aka.ms/HackReadyPhone2&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;(Tue 4/10 10AM PST)    &lt;br /&gt;&lt;b&gt;MSDN Webcast: HackReady.Phone, Episode 3: Understanding Windows Phone’s Application Lifecycle and State Management (Level 200) - &lt;/b&gt;&lt;a href="http://aka.ms/HackReadyPhone3"&gt;http://aka.ms/HackReadyPhone3&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;(Thur 4/12 10AM PST)    &lt;br /&gt;&lt;b&gt;MSDN Webcast: HackReady.Phone, Episode 4: Working with Windows Phone Sensors and Other APIs (Level 200)&lt;/b&gt; -&lt;a href="http://aka.ms/HackReadyPhone4"&gt;http://aka.ms/HackReadyPhone4&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;(Tue 4/17 10AM PST)    &lt;br /&gt;&lt;b&gt;MSDN Webcast: HackReady.Phone, Episode 5: Enhancing the User Experience and App Usability with Live Tiles, Push Notifications, and Background Agents (Level 200) - &lt;/b&gt;&lt;a href="http://aka.ms/HackReadyPhone5"&gt;http://aka.ms/HackReadyPhone5&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;(Thur 4/19 10AM PST)    &lt;br /&gt;&lt;b&gt;MSDN Webcast: HackReady.Phone, Episode 6: Enhancing Performance and Application Testing (Level 200) - &lt;/b&gt;&lt;a href="http://aka.ms/HackReadyPhone6"&gt;http://aka.ms/HackReadyPhone6&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;(Tue 4/24 10AM PST)    &lt;br /&gt;&lt;b&gt;MSDN Webcast: HackReady.Phone, Episode 7: Ready, Set, Publish: Everything You Need to Know About Releasing Your Apps (Level 200) - &lt;/b&gt;&lt;a href="http://aka.ms/HackReadyPhone7"&gt;http://aka.ms/HackReadyPhone7&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10289458" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/msdn/lTEL/~4/aoGCIGVLshw" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Windows+Phone/">Windows Phone</category><feedburner:origLink>http://blogs.msdn.com/b/davedev/archive/2012/03/30/looking-to-write-a-windows-phone-app-check-out-the-hackready-phone-webcast-series.aspx</feedburner:origLink></item><item><title>Windows 8 Developer Event coming to New York City on April 19th</title><link>http://feedproxy.google.com/~r/msdn/lTEL/~3/g56KSDpGReM/windows-8-developer-event-coming-to-new-york-city-on-april-19th.aspx</link><pubDate>Mon, 26 Mar 2012 13:47:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10287562</guid><dc:creator>Dave Isbitski</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/davedev/rsscomments.aspx?WeblogPostID=10287562</wfw:commentRss><wfw:comment>http://blogs.msdn.com/b/davedev/commentapi.aspx?WeblogPostID=10287562</wfw:comment><comments>http://blogs.msdn.com/b/davedev/archive/2012/03/26/windows-8-developer-event-coming-to-new-york-city-on-april-19th.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/3482.win_5F00_70C1ACFE.gif"&gt;&lt;img title="win" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="win" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/8765.win_5F00_thumb_5F00_0546FC7D.gif" width="228" height="55" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200090652&amp;amp;CR_EAC=300040918"&gt;&lt;img title="banner" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="banner" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/2500.banner_5F00_52E328FD.gif" width="846" height="134" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200090652&amp;amp;CR_EAC=300040918"&gt;&lt;img title="NewYork" style="margin: 0px 24px 24px 0px; border: 0px currentcolor; float: left; display: inline; background-image: none;" border="0" alt="NewYork" align="left" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/0743.NewYork_5F00_325BE94B.png" width="172" height="195" /&gt;&amp;#160;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ffc000" size="5"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ffc000" size="5"&gt;Windows reimagined.&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Learn everything you need to start building Metro-style apps for Windows today at our &lt;strong&gt;free, full-day&lt;/strong&gt; Windows Developer Event. &lt;/font&gt;&lt;/p&gt; &lt;font size="2"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;We'll show you how to use Visual Studio to code fast, fluid, immersive and beautiful Metro-style applications in HTML5/JavaScript, XAML/C# and C/C++. Your investments in these languages carry forward, making Windows a no-compromise platform for developers. &lt;/font&gt;&lt;/p&gt; &lt;font size="2"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;Whatever language you choose, your app gets deep integration with the Windows shell, including notifications, live tiles, deep links, and contracts with other apps. And now you can build once and support all Windows customers, no matter what type of PC they have—from tablets to laptops to convertibles to desktops. &lt;/font&gt;&lt;/p&gt; &lt;font size="2"&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;/font&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font size="2"&gt;&lt;strong&gt;Seating is limited and registration is not guaranteed. Secure your spot today!&lt;/strong&gt;&lt;/font&gt;&lt;font color="#ffc000" size="5"&gt;     &lt;br /&gt;&lt;/font&gt;&lt;/p&gt;  &lt;br /&gt;   &lt;br /&gt;   &lt;p&gt;&lt;font color="#ffc000" size="5"&gt;Prerequisites&lt;/font&gt; &lt;/p&gt;  &lt;br /&gt;    &lt;ul&gt;   &lt;li&gt;Please bring a notebook computer and your personal identification.&lt;/li&gt;    &lt;br /&gt;    &lt;li&gt;Be sure to &lt;a href="http://bit.ly/getwin8"&gt;download the Windows 8 Consumer Preview&lt;/a&gt;. &lt;/li&gt;    &lt;br /&gt;    &lt;li&gt;And, don't forget to &lt;a href="http://bit.ly/getwin8dev"&gt;download Visual Studio 11 Express for Windows 8&lt;/a&gt; and seize the future of development.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160; &lt;br /&gt;&lt;font color="#ffc000" size="5"&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;&lt;font color="#ffc000" size="5"&gt;Notes&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;This free event is brought to you by Microsoft. However, you are responsible for booking and funding your own travel and accommodations. &lt;strong&gt;Please note&lt;/strong&gt; that there is limited space available for this event, so be sure to &lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200090652&amp;amp;CR_EAC=300040918"&gt;register&lt;/a&gt; early.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10287562" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/msdn/lTEL/~4/g56KSDpGReM" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Windows+8/">Windows 8</category><feedburner:origLink>http://blogs.msdn.com/b/davedev/archive/2012/03/26/windows-8-developer-event-coming-to-new-york-city-on-april-19th.aspx</feedburner:origLink></item><item><title>Windows 8 Developer Camps – Coming Soon!</title><link>http://feedproxy.google.com/~r/msdn/lTEL/~3/Tf6zSDGRveI/windows-8-developer-camps-coming-soon.aspx</link><pubDate>Wed, 07 Mar 2012 21:07:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10279382</guid><dc:creator>Dave Isbitski</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/davedev/rsscomments.aspx?WeblogPostID=10279382</wfw:commentRss><wfw:comment>http://blogs.msdn.com/b/davedev/commentapi.aspx?WeblogPostID=10279382</wfw:comment><comments>http://blogs.msdn.com/b/davedev/archive/2012/03/07/windows-8-developer-camps-coming-soon.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://windows.microsoft.com/en-US/windows-8/consumer-preview"&gt;&lt;img title="Windows" style="border-width: 0px; margin: 0px 0px 5px 5px; padding-top: 0px; padding-right: 0px; padding-left: 0px; float: right; display: inline; background-image: none;" border="0" alt="Windows" align="right" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/8270.Windows_5F00_42A71B3E.png" width="120" height="34" /&gt;&lt;/a&gt;Ready to dive in and learn more about &lt;a href="http://windows.microsoft.com/en-US/windows-8/consumer-preview"&gt;Windows 8&lt;/a&gt; and the developer opportunity it represents?&amp;#160; Then get ready for the series of &lt;strong&gt;Windows Developer Camps&lt;/strong&gt;!&amp;#160; These are free, full-day, developer-focused events featuring a combination of sessions and hands-on labs, and we’ll have 10 of them right here in the east:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face="Segoe UI"&gt;Windows 8 changes everything.        &lt;br /&gt;        &lt;br /&gt;Combining the broad reach of Windows, best-in-class developer tools, a reimagined user experience, support for new chipsets, and a built-in Store with industry-leading business terms — Windows 8 is the largest developer opportunity, ever.         &lt;br /&gt;        &lt;br /&gt;Join us for this &lt;strong&gt;free, full-day event&lt;/strong&gt; designed to share all the knowledge you need to start building Metro-style applications for Windows 8 – today. We’ll begin by showing you how to use Visual Studio to code fast, fluid, immersive and beautiful Metro-style applications in HTML5/JavaScript, XAML/C# and C/C++. Your existing investments in these languages carry forward, making Windows a no-compromise platform for developers.         &lt;br /&gt;        &lt;br /&gt;Whatever language you choose, your app gets deep integration with the Windows shell, including notifications, live tiles, deep links, and contracts with other apps. And now you can build once and support all Windows customers, no matter what type of PC they have – from tablets to laptops to convertibles to desktops.         &lt;br /&gt;        &lt;br /&gt;We’ll cap the day off with an open, &lt;strong&gt;hands-on lab&lt;/strong&gt; session. It’s the perfect opportunity to get your dream application underway, or finish that app you’ve already started – with Windows 8 experts available to guide you through every step. Bring your laptop to join in the fun and show off your killer app.         &lt;br /&gt;        &lt;br /&gt;Get started now!&lt;/font&gt;&lt;/p&gt;  &lt;/blockquote&gt;  &lt;h2&gt;The Schedule&lt;/h2&gt;  &lt;p&gt;Join us in one of these cities:&lt;/p&gt;    &lt;table style="width: 354pt; border-collapse: collapse;" cellspacing="0" cellpadding="0" width="472" border="0"&gt;&lt;colgroup&gt;&lt;col style="width: 116pt; mso-width-source: userset; mso-width-alt: 5632;" width="154" /&gt;&lt;col style="width: 113pt; mso-width-source: userset; mso-width-alt: 5522;" width="151" /&gt;&lt;col style="width: 125pt; mso-width-source: userset; mso-width-alt: 6107;" width="167" /&gt;&lt;/colgroup&gt;&lt;tbody&gt;     &lt;tr style="height: 33.75pt; mso-yfti-irow: 0; mso-yfti-firstrow: yes; mso-height-source: userset;" height="45"&gt;       &lt;td class="xl70" style="border-width: 1pt; border-style: solid; border-color: windowtext black windowtext windowtext; width: 354pt; height: 33.75pt; background-color: rgb(141, 180, 226);" height="45" width="472" colspan="3"&gt;         &lt;p align="center"&gt;&lt;strong&gt;&lt;font color="#ffffff" size="5" face="Segoe UI"&gt;Windows Developer Camps&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 33.75pt; mso-yfti-irow: 1; mso-height-source: userset;" height="45"&gt;       &lt;td class="xl73" style="border-color: windowtext; width: 116pt; height: 33.75pt; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; background-color: rgb(83, 141, 213);" height="45" width="154"&gt;&lt;strong&gt;&lt;font color="#ffffff" size="4" face="Segoe UI"&gt;Date&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;        &lt;td class="xl75" style="border-color: windowtext windowtext windowtext rgb(240, 240, 240); width: 113pt; border-right-width: 1pt; border-bottom-width: 1pt; border-right-style: solid; border-bottom-style: solid; background-color: rgb(83, 141, 213);" width="151"&gt;&lt;strong&gt;&lt;font color="#ffffff" size="4" face="Segoe UI"&gt;City&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;        &lt;td class="xl75" style="border-color: windowtext windowtext windowtext rgb(240, 240, 240); width: 125pt; border-right-width: 1pt; border-bottom-width: 1pt; border-right-style: solid; border-bottom-style: solid; background-color: rgb(83, 141, 213);" width="167"&gt;&lt;strong&gt;&lt;font color="#ffffff" size="4" face="Segoe UI"&gt;More&lt;/font&gt;&lt;/strong&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 33.75pt; mso-yfti-irow: 2; mso-height-source: userset;" height="45"&gt;       &lt;td class="xl74" style="border-color: windowtext; height: 33.75pt; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; background-color: transparent;" height="45"&gt;&lt;font face="Segoe UI"&gt;March 27, 2012&lt;/font&gt;&lt;/td&gt;        &lt;td class="xl66" style="border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-right-width: 1pt; border-bottom-width: 1pt; border-right-style: solid; border-bottom-style: solid; background-color: transparent;"&gt;&lt;font face="Segoe UI"&gt;Reston, VA&lt;/font&gt;&lt;/td&gt;        &lt;td class="xl67" style="border-color: windowtext windowtext windowtext rgb(240, 240, 240); width: 125pt; border-right-width: 1pt; border-bottom-width: 1pt; border-right-style: solid; border-bottom-style: solid; background-color: transparent;" width="167"&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200090652&amp;amp;CR_EAC=300039457"&gt;&lt;span style="font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 12pt; mso-font-charset: 0;"&gt;Details &amp;amp; Registration&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 33.75pt; mso-yfti-irow: 3; mso-height-source: userset;" height="45"&gt;       &lt;td class="xl76" style="border-color: rgb(240, 240, 240) windowtext windowtext; height: 33.75pt; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; background-color: rgb(242, 242, 242);" height="45"&gt;&lt;font face="Segoe UI"&gt;March 29, 2012&lt;/font&gt;&lt;/td&gt;        &lt;td class="xl77" style="border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-right-width: 1pt; border-bottom-width: 1pt; border-right-style: solid; border-bottom-style: solid; background-color: rgb(242, 242, 242);"&gt;&lt;font face="Segoe UI"&gt;Chevy Chase, MD&lt;/font&gt;&lt;/td&gt;        &lt;td class="xl78" style="border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); width: 125pt; border-right-width: 1pt; border-bottom-width: 1pt; border-right-style: solid; border-bottom-style: solid; background-color: rgb(242, 242, 242);" width="167"&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200090652&amp;amp;CR_EAC=300039459"&gt;&lt;span style="font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 12pt; mso-font-charset: 0;"&gt;Details &amp;amp; Registration&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 33.75pt; mso-yfti-irow: 4; mso-height-source: userset;" height="45"&gt;       &lt;td class="xl65" style="border-color: rgb(240, 240, 240) windowtext windowtext; height: 33.75pt; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; background-color: transparent;" height="45"&gt;&lt;font face="Segoe UI"&gt;April 11, 2012&lt;/font&gt;&lt;/td&gt;        &lt;td class="xl66" style="border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-right-width: 1pt; border-bottom-width: 1pt; border-right-style: solid; border-bottom-style: solid; background-color: transparent;"&gt;&lt;font face="Segoe UI"&gt;Orlando, FL&lt;/font&gt;&lt;/td&gt;        &lt;td class="xl68" style="border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); width: 125pt; border-right-width: 1pt; border-bottom-width: 1pt; border-right-style: solid; border-bottom-style: solid; background-color: transparent;" width="167"&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200090652&amp;amp;CR_EAC=300039461"&gt;&lt;span style="font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 12pt; mso-font-charset: 0;"&gt;Details &amp;amp; Registration&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 33.75pt; mso-yfti-irow: 5; mso-height-source: userset;" height="45"&gt;       &lt;td class="xl76" style="border-color: rgb(240, 240, 240) windowtext windowtext; height: 33.75pt; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; background-color: rgb(242, 242, 242);" height="45"&gt;&lt;font face="Segoe UI"&gt;April 17, 2012&lt;/font&gt;&lt;/td&gt;        &lt;td class="xl77" style="border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-right-width: 1pt; border-bottom-width: 1pt; border-right-style: solid; border-bottom-style: solid; background-color: rgb(242, 242, 242);"&gt;&lt;font face="Segoe UI"&gt;Tampa, FL&lt;/font&gt;&lt;/td&gt;        &lt;td class="xl78" style="border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); width: 125pt; border-right-width: 1pt; border-bottom-width: 1pt; border-right-style: solid; border-bottom-style: solid; background-color: rgb(242, 242, 242);" width="167"&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200090652&amp;amp;CR_EAC=300039463"&gt;&lt;span style="font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 12pt; mso-font-charset: 0;"&gt;Details &amp;amp; Registration&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 33.75pt; mso-yfti-irow: 6; mso-height-source: userset;" height="45"&gt;       &lt;td class="xl65" style="border-color: rgb(240, 240, 240) windowtext windowtext; height: 33.75pt; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; background-color: transparent;" height="45"&gt;&lt;font face="Segoe UI"&gt;April 19, 2012&lt;/font&gt;&lt;/td&gt;        &lt;td class="xl66" style="border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-right-width: 1pt; border-bottom-width: 1pt; border-right-style: solid; border-bottom-style: solid; background-color: transparent;"&gt;&lt;font face="Segoe UI"&gt;Ft. Lauderdale, FL&lt;/font&gt;&lt;/td&gt;        &lt;td class="xl68" style="border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); width: 125pt; border-right-width: 1pt; border-bottom-width: 1pt; border-right-style: solid; border-bottom-style: solid; background-color: transparent;" width="167"&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200090652&amp;amp;CR_EAC=300039465"&gt;&lt;span style="font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 12pt; mso-font-charset: 0;"&gt;Details &amp;amp; Registration&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 33.75pt; mso-yfti-irow: 7; mso-height-source: userset;" height="45"&gt;       &lt;td class="xl76" style="border-color: rgb(240, 240, 240) windowtext windowtext; height: 33.75pt; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; background-color: rgb(242, 242, 242);" height="45"&gt;&lt;font face="Segoe UI"&gt;May 1, 2012&lt;/font&gt;&lt;/td&gt;        &lt;td class="xl77" style="border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-right-width: 1pt; border-bottom-width: 1pt; border-right-style: solid; border-bottom-style: solid; background-color: rgb(242, 242, 242);"&gt;&lt;font face="Segoe UI"&gt;Charlotte, NC&lt;/font&gt;&lt;/td&gt;        &lt;td class="xl78" style="border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); width: 125pt; border-right-width: 1pt; border-bottom-width: 1pt; border-right-style: solid; border-bottom-style: solid; background-color: rgb(242, 242, 242);" width="167"&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200090652&amp;amp;CR_EAC=300039467"&gt;&lt;span style="font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 12pt; mso-font-charset: 0;"&gt;Details &amp;amp; Registration&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 33.75pt; mso-yfti-irow: 8; mso-height-source: userset;" height="45"&gt;       &lt;td class="xl65" style="border-color: rgb(240, 240, 240) windowtext windowtext; height: 33.75pt; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; background-color: transparent;" height="45"&gt;&lt;font face="Segoe UI"&gt;May 22, 2012&lt;/font&gt;&lt;/td&gt;        &lt;td class="xl66" style="border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-right-width: 1pt; border-bottom-width: 1pt; border-right-style: solid; border-bottom-style: solid; background-color: transparent;"&gt;&lt;font face="Segoe UI"&gt;Waltham, MA&lt;/font&gt;&lt;/td&gt;        &lt;td class="xl68" style="border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); width: 125pt; border-right-width: 1pt; border-bottom-width: 1pt; border-right-style: solid; border-bottom-style: solid; background-color: transparent;" width="167"&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200090652&amp;amp;CR_EAC=300039469"&gt;&lt;span style="font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 12pt; mso-font-charset: 0;"&gt;Details &amp;amp; Registration&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 33.75pt; mso-yfti-irow: 9; mso-height-source: userset;" height="45"&gt;       &lt;td class="xl76" style="border-color: rgb(240, 240, 240) windowtext windowtext; height: 33.75pt; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; background-color: rgb(242, 242, 242);" height="45"&gt;&lt;font face="Segoe UI"&gt;May 23, 2012&lt;/font&gt;&lt;/td&gt;        &lt;td class="xl79" style="border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-right-width: 1pt; border-bottom-width: 1pt; border-right-style: solid; border-bottom-style: solid; background-color: rgb(242, 242, 242);"&gt;&lt;font face="Segoe UI"&gt;Atlanta, GA&lt;/font&gt;&lt;/td&gt;        &lt;td class="xl78" style="border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); width: 125pt; border-right-width: 1pt; border-bottom-width: 1pt; border-right-style: solid; border-bottom-style: solid; background-color: rgb(242, 242, 242);" width="167"&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200090652&amp;amp;CR_EAC=300039471"&gt;&lt;span style="font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 12pt; mso-font-charset: 0;"&gt;Details &amp;amp; Registration&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 33.75pt; mso-yfti-irow: 10; mso-height-source: userset;" height="45"&gt;       &lt;td class="xl65" style="border-color: rgb(240, 240, 240) windowtext windowtext; height: 33.75pt; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; background-color: transparent;" height="45"&gt;&lt;font face="Segoe UI"&gt;May 23, 2012&lt;/font&gt;&lt;/td&gt;        &lt;td class="xl69" style="border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-right-width: 1pt; border-bottom-width: 1pt; border-right-style: solid; border-bottom-style: solid; background-color: transparent;"&gt;&lt;font face="Segoe UI"&gt;Farmington, CT&lt;/font&gt;&lt;/td&gt;        &lt;td class="xl68" style="border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); width: 125pt; border-right-width: 1pt; border-bottom-width: 1pt; border-right-style: solid; border-bottom-style: solid; background-color: transparent;" width="167"&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200090652&amp;amp;CR_EAC=300040172"&gt;&lt;span style="font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 12pt; mso-font-charset: 0;"&gt;Details &amp;amp; Registration&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr style="height: 33.75pt; mso-yfti-irow: 11; mso-height-source: userset; mso-yfti-lastrow: yes;" height="45"&gt;       &lt;td class="xl76" style="border-color: rgb(240, 240, 240) windowtext windowtext; height: 33.75pt; border-right-width: 1pt; border-bottom-width: 1pt; border-left-width: 1pt; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; background-color: rgb(242, 242, 242);" height="45"&gt;&lt;font face="Segoe UI"&gt;May 24, 2012&lt;/font&gt;&lt;/td&gt;        &lt;td class="xl77" style="border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); border-right-width: 1pt; border-bottom-width: 1pt; border-right-style: solid; border-bottom-style: solid; background-color: rgb(242, 242, 242);"&gt;&lt;font face="Segoe UI"&gt;Malvern, PA&lt;/font&gt;&lt;/td&gt;        &lt;td class="xl78" style="border-color: rgb(240, 240, 240) windowtext windowtext rgb(240, 240, 240); width: 125pt; border-right-width: 1pt; border-bottom-width: 1pt; border-right-style: solid; border-bottom-style: solid; background-color: rgb(242, 242, 242);" width="167"&gt;&lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200090652&amp;amp;CR_EAC=300039473"&gt;&lt;span style="font-family: &amp;quot;Segoe UI&amp;quot;, sans-serif; font-size: 12pt; mso-font-charset: 0;"&gt;Details &amp;amp; Registration&lt;/span&gt;&lt;/a&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;      &lt;p&gt;Register today and start thinking about the possibilities and what you’ll create!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10279382" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/msdn/lTEL/~4/Tf6zSDGRveI" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Windows+8/">Windows 8</category><feedburner:origLink>http://blogs.msdn.com/b/davedev/archive/2012/03/07/windows-8-developer-camps-coming-soon.aspx</feedburner:origLink></item><item><title>Windows 8 Consumer Preview is out! Ready to write an app?</title><link>http://feedproxy.google.com/~r/msdn/lTEL/~3/8Gmfip1Gux8/windows-8-consumer-preview-is-out-ready-to-write-an-app.aspx</link><pubDate>Wed, 07 Mar 2012 20:55:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10279376</guid><dc:creator>Dave Isbitski</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/davedev/rsscomments.aspx?WeblogPostID=10279376</wfw:commentRss><wfw:comment>http://blogs.msdn.com/b/davedev/commentapi.aspx?WeblogPostID=10279376</wfw:comment><comments>http://blogs.msdn.com/b/davedev/archive/2012/03/07/windows-8-consumer-preview-is-out-ready-to-write-an-app.aspx#comments</comments><description>&lt;p&gt;February 29th marked the release of the Windows 8 Consumer Preview and it was &lt;a href="https://twitter.com/#!/BuildWindows8/status/175296911966875649"&gt;downloaded over a million times in the first 24 hours alone&lt;/a&gt;.&amp;#160; If you’re a developer you have probably been playing around with the Developer Preview we gave out &lt;a href="http://buildwindows.com"&gt;during Build&lt;/a&gt;.&amp;#160; The Consumer Preview (CP for short) represents an impressive body of work with over &lt;a href="http://blogs.msdn.com/b/b8/archive/2012/02/29/welcome-to-windows-8-the-consumer-preview.aspx"&gt;100,000 code changes&lt;/a&gt; since the Developer Preview!&amp;#160; Now is the time to start getting serious about writing your apps.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h1&gt;Where do I start?&lt;/h1&gt;  &lt;p&gt;First, check out the &lt;a href="http://www.youtube.com/watch?v=jDYQmQ-phX8"&gt;below Youtube video&lt;/a&gt; from Jensen Harris that goes over many of the new features in this release. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;iframe height="315" src="http://www.youtube.com/embed/jDYQmQ-phX8" frameborder="0" width="560" allowfullscreen="allowfullscreen"&gt;&lt;/iframe&gt;  &lt;p&gt;   &lt;br /&gt;If you have the time (about 90 mins worth) you can also watch the full &lt;a href="http://www.microsoft.com/presspass/presskits/windows/videogallery2.aspx"&gt;Windows 8 Consumer Preview event here.&lt;/a&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://cdn-smooth.ms-studiosmedia.com/news/HTML5/FINAL_PRESENTATION_022912.mp4"&gt;&lt;img title="Win8ConsumerPreview" style="display: inline; background-image: none;" border="0" alt="Win8ConsumerPreview" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/5100.Win8ConsumerPreview_5F00_0308072C.png" width="499" height="283" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h1&gt;&amp;#160;&lt;/h1&gt;  &lt;h1&gt;Where do I get the Bits?&lt;/h1&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Everything you need to get started is over at &lt;a href="http://bit.ly/getwin8"&gt;Preview.Windows.Com.&lt;/a&gt;&amp;#160; You can download 32 or 64 Bit versions, exe installable or as &lt;a href="http://windows.microsoft.com/en-US/windows-8/iso"&gt;well as ISO&lt;/a&gt; formats.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://bit.ly/getwin8"&gt;&lt;img title="Win8ConsumerPrev" style="border: 0px currentcolor; display: inline; background-image: none;" border="0" alt="Win8ConsumerPrev" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/6648.Win8ConsumerPrev4_5F00_7A59A026.png" width="650" height="615" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Note: If you miss the ISO Product Key on the Download Page here it is: DNJXJ-7XBW8-2378T-X22TX-BKG7J&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h1&gt;&amp;#160;&lt;/h1&gt;  &lt;h1&gt;Where do I get the Developer Tools?&lt;/h1&gt;  &lt;p&gt;Both Visual Studio 11 and the Windows SDK Samples have been updated for the Consumer Preview release.&amp;#160; You can grab all of the goodies off &lt;a href="http://bit.ly/getwin8dev"&gt;MSDN here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://bit.ly/getwin8dev"&gt;&lt;img title="toools" style="display: inline; background-image: none;" border="0" alt="toools" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/4101.toools_5F00_1C47935C.png" width="606" height="478" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h1&gt;&amp;#160;&lt;/h1&gt;  &lt;h1&gt;So what has changed since the Developer Preview?&lt;/h1&gt;  &lt;p&gt;For a high level overview head over to the &lt;a href="http://blogs.msdn.com/b/b8/archive/2012/02/29/welcome-to-windows-8-the-consumer-preview.aspx"&gt;Windows 8 Official Blog…&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;h5&gt;Welcome to Windows 8 – The Consumer Preview &lt;a href="http://blogs.msdn.com/150067/ProfileUrlRedirect.ashx"&gt;Steven Sinofsky&lt;/a&gt;&lt;/h5&gt;    &lt;p&gt;Today is a big day for the Windows team. At Mobile World Congress in Barcelona, Spain a few moments ago, we unveiled the Windows 8 Consumer Preview to our partners and press. Based on a broad range of feedback, &lt;b&gt;we have made over 100,000 code changes&lt;/b&gt;and the Consumer Preview represents a refined product ready for broad and daily usage by those of you willing to test a pre-release OS. You can &lt;strong&gt;download the Consumer Preview starting now at &lt;/strong&gt;&lt;a href="http://bit.ly/getwin8"&gt;http://preview.windows.com&lt;/a&gt;&lt;strong&gt;&lt;/strong&gt;. If you tried the Windows 8 Developer Preview, then you are going to be delighted to see a broad range of product changes and improvements based on a feedback from many sources.&lt;/p&gt;    &lt;p&gt;Windows 8 reimagines Windows, from the chipset to the experience. With the Developer Preview we focused on presenting the new APIs and amazing new tools for developers. Today’s Consumer Preview is focused on a broader audience, and along with improvements to the WinRT APIs based on developer feedback, we are introducing the full user experience, the Windows Store for apps, and early previews of some first- and third-party apps.&lt;/p&gt;    &lt;p&gt;With so much to dive into, let’s talk about what is different in the Consumer Preview at a high level:&lt;/p&gt;    &lt;ul&gt;     &lt;li&gt;&lt;b&gt;Broad range of product changes and improvements&lt;/b&gt;: Since the Developer Preview in September, designed to preview the programming platform, Windows 8 has progressed across every dimension. From completing the user experience for touch, keyboard, and mouse, to refining the development platform, to improving performance, quality, and reliability across all subsystems as well as new features, the Consumer Preview represents a complete view of the capabilities of Windows 8. &lt;/li&gt;      &lt;li&gt;&lt;b&gt;Windows Store with an “App Preview” of new apps&lt;/b&gt;: The Windows 8 Consumer Preview marks the opening of the Windows Store for testing. You’ll see a variety of new Metro style apps from both third-party developers and Microsoft. During the Consumer Preview, these apps are available to try and experience at no cost to users. Please note, these apps and the set of preinstalled apps are at an early stage of development and are available as an early &lt;i&gt;App Preview,&lt;/i&gt; and will be updated via the Windows Store. In addition, the Store will offer personalized recommendations, and Windows 8 gives users the ability to take their apps and settings with them across multiple PCs, making it easy to discover and try new apps while offering developers the greatest opportunity of any platform &lt;/li&gt;      &lt;li&gt;&lt;b&gt;Connecting to the cloud across Windows PCs and Windows Phones&lt;/b&gt;: You’ll experience seamless integration with the content across your web services. Optionally signing in with a Microsoft account provides access to features including the ability to roam all settings, use cloud storage, communicate with email, calendar, and contacts, and connect to a broad range of services. Your connection to the cloud works across your Windows PCs and your Windows Phones. You’ll also experience early previews of the Metro style apps for Mail, Calendar, People, Messaging, Photos, and SkyDrive. &lt;/li&gt;      &lt;li&gt;&lt;b&gt;Internet Explorer 10 Platform Preview 5&lt;/b&gt;: With IE10, we reimagined the browser to create a new experience designed specifically for Windows 8 devices. It provides an edge to edge interface that is all about less browser, and more web. Fast and fluid, IE is hardware-accelerated to enable web performance. The same rendering engine and high-performance script engine is available on the Windows desktop as well. &lt;/li&gt;   &lt;/ul&gt;    &lt;p&gt;We’ve detailed many features in this blog across all the subsystems of Windows 8. From the kernel, networking, file system, graphics, and the user interface across all of those. There’s no easy way to enumerate the depth and breadth of Windows 8 in a post. The best thing to do is experience it yourself. We encourage everyone to check out &lt;a href="http://channel9.msdn.com/Blogs/Windows-Blog/Windows-8-Consumer-Preview-Demo"&gt;our demo video&lt;/a&gt;, and all the videos and information on &lt;a href="http://bit.ly/getwin8"&gt;http://preview.windows.com&lt;/a&gt;. From there you can also download the Consumer Preview for x86/64. For developers, there is also a &lt;a href="http://bit.ly/getwin8dev"&gt;beta of Visual Studio 11&lt;/a&gt;.&lt;/p&gt;    &lt;p&gt;We’ll publish a quick look at system requirements for this release, but the short version is that your Windows 7 logo PC is the perfect place to start as the system requirements have not changed. You can upgrade from the Developer Preview or from Windows 7, or install cleanly (we strongly recommend a hardware installation and not a VM install if you are looking to experience the release as the vast majority will experience it, and please keep in mind the minimum screen resolution required is 1024x768). We will be updating the release with various quality updates and drivers over the coming weeks/months just to exercise our overall update and telemetry mechanisms. Please keep in mind that this is a test release of a product still under development.&lt;/p&gt;    &lt;p&gt;We’ve got a lot more blogging to do. So stay tuned for details of the changes we made and the features we haven’t had a chance to talk about yet. This blog continues to be a big part of the development process. Now that we have this shared experience, we expect folks commenting on posts to be running the Consumer Preview so we’re all sharing the same context. We know there will be a lot of feedback—that comes from reimagining a product used by a billion people!&lt;/p&gt;    &lt;p&gt;Happy downloading and testing!&lt;/p&gt;    &lt;p&gt;--Steven on behalf of the Windows 8 team&lt;/p&gt;  &lt;/blockquote&gt;  &lt;p&gt;Then check out the new &lt;a href="http://blogs.msdn.com/b/windowsappdev/"&gt;Windows 8 App Developer Blog&lt;/a&gt;!&amp;#160; There are already a couple posts up covering the changes.&lt;/p&gt;  &lt;ul&gt;   &lt;h5&gt;&lt;a href="http://blogs.msdn.com/b/windowsappdev/archive/2012/03/01/what-s-changed-since-build-part-1.aspx"&gt;What’s changed for app developers since //build/ (part 1)&lt;/a&gt;&lt;/h5&gt;    &lt;h5&gt;&lt;a href="http://blogs.msdn.com/b/windowsappdev/archive/2012/03/06/what-s-changed-for-app-developers-since-build-part-2.aspx"&gt;What’s changed for app developers since //build/ (part 2)&lt;/a&gt;&lt;/h5&gt;  &lt;/ul&gt;  &lt;p&gt;Then check out the &lt;a href="http://blogs.msdn.com/b/ie"&gt;IE Team Blog&lt;/a&gt; for what’s new in for the Web Platform in this release&lt;/p&gt;  &lt;ul&gt;   &lt;h5&gt;&lt;a href="http://blogs.msdn.com/b/ie/archive/2012/03/02/web-platform-features-in-windows-consumer-preview.aspx"&gt;Web Platform Features in Windows Consumer Preview&lt;/a&gt;&lt;/h5&gt;    &lt;h5&gt;&lt;a href="http://blogs.msdn.com/b/ie/archive/2012/02/29/windows-consumer-preview-the-fifth-ie10-platform-preview.aspx"&gt;Windows Consumer Preview: The Fifth IE10 Platform Preview&lt;/a&gt;&lt;/h5&gt;  &lt;/ul&gt;  &lt;p&gt;There is also a neat little insider interview from the Windows 8 Team on what it was like working on this release.&amp;#160; You can check that &lt;a href="http://blogs.msdn.com/b/b8/archive/2012/03/06/going-behind-the-scenes-building-windows-8.aspx"&gt;out over here&lt;/a&gt;.&lt;/p&gt;  &lt;ul&gt;   &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;/ul&gt;  &lt;h1&gt;&amp;#160;&lt;/h1&gt;  &lt;h1&gt;Will my Visual Studio 2010 Windows Azure Developer Tools work on the Consumer Preview with Visual Studio 11?&lt;/h1&gt;  &lt;p&gt;Yes.&amp;#160; But there are a few gotchas you should be aware of.&amp;#160; Head over to Azureland &lt;a href="http://www.windowsazure.com/en-us/develop/vs11/"&gt;here for details&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h1&gt;Can I install the Windows Azure SDK on Windows 8?&lt;/h1&gt;  &lt;p&gt;Yes but you need to configure a few things manually. Head over &lt;a href="http://www.windowsazure.com/en-us/develop/net/other-resources/windows-azure-on-windows-8/"&gt;here for details&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h1&gt;Will the Windows Phone Developer Tools work on the Consumer Preview?&lt;/h1&gt;  &lt;p&gt;Yes.&amp;#160; But you will need to debug locally on a device for now as the way OS Emulation works in Windows 8 has changed.&amp;#160; So the Windows Phone Emulator will not be able to run right now.&amp;#160; An update is in the works and you can get more details over on the &lt;a href="http://windowsteamblog.com/windows_phone/b/wpdev/archive/2012/03/05/windows-8-and-the-windows-phone-sdk.aspx"&gt;Windows Phone Dev Blog here&lt;/a&gt;. &lt;/p&gt;  &lt;h1&gt;   &lt;br /&gt;&lt;/h1&gt;  &lt;h1&gt;What is new in Visual Studio 2011?&lt;/h1&gt;  &lt;blockquote&gt;&lt;/blockquote&gt;  &lt;p&gt;Check out the new Channel 9 video - &lt;a href="http://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Visual-Studio-Toolbox-Visual-Studio-11-Beta-with-Jason-Zander"&gt;Visual Studio Toolbox: Visual Studio 11 Beta with Jason Zander&lt;/a&gt;.&amp;#160; Jason gives us the inside scoop on a lot of the new changes.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Visual-Studio-Toolbox-Visual-Studio-11-Beta-with-Jason-Zander"&gt;&lt;img title="VS11New" style="display: inline; background-image: none;" border="0" alt="VS11New" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/3010.VS11New_5F00_032F4332.png" width="439" height="249" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;New IDE (&lt;a href="http://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Visual-Studio-Toolbox-Visual-Studio-11-Beta-with-Jason-Zander#time=4m15s"&gt;[04:15]&lt;/a&gt;)&lt;/p&gt;  &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Blend support for HTML (&lt;a href="http://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Visual-Studio-Toolbox-Visual-Studio-11-Beta-with-Jason-Zander#time=10m15s"&gt;[10:15]&lt;/a&gt;)&lt;/p&gt;  &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Improved XAML Designer (&lt;a href="http://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Visual-Studio-Toolbox-Visual-Studio-11-Beta-with-Jason-Zander#time=13m45s"&gt;[13:45]&lt;/a&gt;)&lt;/p&gt;  &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Unit Test Explorer and automatic running of unit tests (&lt;a href="http://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Visual-Studio-Toolbox-Visual-Studio-11-Beta-with-Jason-Zander#time=18m45s"&gt;[18:45]&lt;/a&gt;)&lt;/p&gt;  &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Hosted TFS (&lt;a href="http://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Visual-Studio-Toolbox-Visual-Studio-11-Beta-with-Jason-Zander#time=24m00s"&gt;[24:00]&lt;/a&gt;)&lt;/p&gt;  &lt;/blockquote&gt;  &lt;blockquote&gt;   &lt;p&gt;Metro app development (&lt;a href="http://channel9.msdn.com/Shows/Visual-Studio-Toolbox/Visual-Studio-Toolbox-Visual-Studio-11-Beta-with-Jason-Zander#time=29m00s"&gt;[29:00]&lt;/a&gt;)&lt;/p&gt;    &lt;ul&gt;&lt;/ul&gt;  &lt;/blockquote&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h1&gt;&amp;#160;&lt;/h1&gt;  &lt;h1&gt;Any additional Goodies?&lt;/h1&gt;  &lt;p&gt;&lt;a href="http://edbott.com/weblog"&gt;Ed Bott&lt;/a&gt; has an overview of some of the preview apps you can &lt;a href="http://www.zdnet.com/photos/windows-8s-app-collection-what-you-get-with-the-consumer-preview/6347347"&gt;check out here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.zdnet.com/photos/windows-8s-app-collection-what-you-get-with-the-consumer-preview/6347347"&gt;&lt;img title="NewApps" style="display: inline; background-image: none;" border="0" alt="NewApps" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/0456.NewApps_5F00_0BB2A27C.png" width="516" height="307" /&gt;&lt;/a&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;He also has found some “Shortcuts and Surprises” in the new Consumer Release.&amp;#160; You can &lt;a href="http://www.zdnet.com/blog/bott/shortcuts-and-surprises-in-the-windows-8-consumer-preview/4587"&gt;check it out here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.zdnet.com/blog/bott/shortcuts-and-surprises-in-the-windows-8-consumer-preview/4587"&gt;&lt;img title="eb-win8cp-screen-capture" style="display: inline; background-image: none;" border="0" alt="eb-win8cp-screen-capture" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/8863.eb_2D00_win8cp_2D00_screen_2D00_capture_5F00_66B4E202.png" width="522" height="348" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;a href="http://adamkinney.com/blog/"&gt;Adam Kinney&lt;/a&gt; has also create a great info graphic of the new AppBar Icons available to Metro Style Apps.&amp;#160; Check &lt;a href="http://adamkinney.com/blog/2012/03/04/windows-8-appbaricons-enumerated-and-visualized"&gt;it out here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://adamkinney.com/blog/2012/03/04/windows-8-appbaricons-enumerated-and-visualized"&gt;&lt;img title="appbaricons_preview" style="display: inline; background-image: none;" border="0" alt="appbaricons_preview" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/2806.appbaricons_5F00_preview_5F00_16728A82.jpg" width="524" height="288" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;The &lt;a href="http://www.bing.com/community/site_blogs/b/maps/default.aspx"&gt;Bing Maps Team&lt;/a&gt; announced support for Metro Style you can get all &lt;a href="http://www.bing.com/community/site_blogs/b/maps/archive/2012/03/06/announcing-bing-maps-for-metro-style-apps.aspx"&gt;the details here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.bing.com/community/site_blogs/b/maps/archive/2012/03/06/announcing-bing-maps-for-metro-style-apps.aspx"&gt;&lt;img title="1452.maps image.jpg-550x0" style="display: inline; background-image: none;" border="0" alt="1452.maps image.jpg-550x0" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/2474.1452.maps_2D00_image.jpg_2D00_550x0_5F00_144FC19B.jpg" width="558" height="335" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Finally, for all of you keyboard and mouse hotshots The Verge has a video comparison of both controls &lt;a href="http://www.theverge.com/2012/3/1/2835586/windows-8-keyboard-shortcuts-video"&gt;you can watch here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.theverge.com/2012/3/1/2835586/windows-8-keyboard-shortcuts-video"&gt;&lt;img title="KbdMouse" style="display: inline; background-image: none;" border="0" alt="KbdMouse" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/7762.KbdMouse_5F00_03C0217C.png" width="543" height="307" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10279376" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/msdn/lTEL/~4/8Gmfip1Gux8" height="1" width="1"/&gt;</description><category domain="http://blogs.msdn.com/b/davedev/archive/tags/Windows+8/">Windows 8</category><feedburner:origLink>http://blogs.msdn.com/b/davedev/archive/2012/03/07/windows-8-consumer-preview-is-out-ready-to-write-an-app.aspx</feedburner:origLink></item><item><title>Free HTML5 Gaming Workshop at Microsoft NYC Office</title><link>http://feedproxy.google.com/~r/msdn/lTEL/~3/BGV3vtMR2OA/free-html5-gaming-workshop-at-microsoft-nyc-office.aspx</link><pubDate>Tue, 14 Feb 2012 17:44:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10267790</guid><dc:creator>Dave Isbitski</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/davedev/rsscomments.aspx?WeblogPostID=10267790</wfw:commentRss><wfw:comment>http://blogs.msdn.com/b/davedev/commentapi.aspx?WeblogPostID=10267790</wfw:comment><comments>http://blogs.msdn.com/b/davedev/archive/2012/02/14/free-html5-gaming-workshop-at-microsoft-nyc-office.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/8203.Impact_5F00_24578909.jpg"&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="Impact" border="0" alt="Impact" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/8508.Impact_5F00_thumb_5F00_7F964BC4.jpg" width="576" height="312" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Looking for some place to get started with HTML5 Gaming?&amp;#160; How about porting it to different platforms like iOS and Windows 8?&amp;#160; If so you will not want to miss the upcoming free, HTML5 Gaming Workshop from local &lt;a href="http://jessefreeman.com/workshops/"&gt;Jesse Freeman.&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;h1&gt;What is it?&lt;/h1&gt;  &lt;p&gt;HTML5 Game Development with Impact&lt;/p&gt;  &lt;h1&gt;When is it?&lt;/h1&gt;  &lt;p&gt;&lt;strong&gt;DATE:&lt;/strong&gt; Monday, March 5, 2012&lt;strong&gt;      &lt;br /&gt;REGISTRATION:&lt;/strong&gt; 8:00am - 8:30am     &lt;br /&gt;&lt;strong&gt;TIME:&lt;/strong&gt;&amp;#160; 8:30am - 4:30 pm&lt;/p&gt;  &lt;h1&gt;Where is it?&lt;/h1&gt;  &lt;p&gt;&lt;strong&gt;&lt;a href="http://www.microsoft.com/about/companyinformation/usaoffices/nymetro/en/us/newyork.aspx"&gt;Microsoft New York Office&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;h1&gt;What will I learn?&lt;/h1&gt;  &lt;p&gt;HTML 5 Gaming is rapidly evolving and there has never been a better time to give it a try. This workshop focuses on using &lt;a href="http://impactjs.com/"&gt;Impact JS&lt;/a&gt; to create amazing retro style games in the browsers without a plugin.&amp;#160; Impact takes advantage of Canvas, JavaScript and modern browsers (Chrome, Safari, FireFox, IE 9+) to deliver fast fluid games directly in the browser. Even better is that Impact JS works on mobile browsers too. &lt;/p&gt;  &lt;p&gt;During this workshop we will cover:    &lt;br /&gt;• How to install tools for HTML 5 game building.     &lt;br /&gt;• Introduction to Game Design, Game Theory and Web Gaming.     &lt;br /&gt;• Intro to ImpactJS.     &lt;br /&gt;• Making your first ImpactJS game.     &lt;br /&gt;• Game Asset generation with PhotoShop Scripting.     &lt;br /&gt;• Working with inheritance, animation and sound in ImpactJS.     &lt;br /&gt;• Deployment strategies and distribution (Web, Desktop, Mobile).     &lt;br /&gt;• Deploying your game to Windows 8 as a Metro Style App.&lt;/p&gt;  &lt;p&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="RR" border="0" alt="RR" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/5633.RR_5F00_08DECCA0.png" width="270" height="301" /&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="HTML5" border="0" alt="HTML5" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/2161.HTML5_5F00_66A6C119.jpg" width="201" height="172" /&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Workshop attendees will also get a free non-commercial license of Impact JS along with documentation and lesson source code. &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;So, what should you do?    &lt;br /&gt;• &lt;a href="http://html5gamedevelopmentnyc.eventbrite.com/"&gt;Register now&lt;/a&gt; – these will fill up quickly     &lt;br /&gt;• Bring a laptop (we may not have room for your awesome liquid-cooled gaming desktop)     &lt;br /&gt;• Start thinking of game ideas! Keep them simple to start – you can always make them more awesome later.&lt;/p&gt;  &lt;p&gt;It’s a free event, so &lt;a href="http://html5gamedevelopmentnyc.eventbrite.com/"&gt;register today&lt;/a&gt; and we’ll see you at HTML5 Game Development with Impact!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10267790" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/msdn/lTEL/~4/BGV3vtMR2OA" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/davedev/archive/2012/02/14/free-html5-gaming-workshop-at-microsoft-nyc-office.aspx</feedburner:origLink></item><item><title>New contest announced: “30 to Launch” Your Path to a Windows Phone App in 30 days</title><link>http://feedproxy.google.com/~r/msdn/lTEL/~3/QcWrvuMDgas/new-contest-announced-30-to-launch-your-path-to-a-windows-phone-app-in-30-days.aspx</link><pubDate>Wed, 01 Feb 2012 21:10:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10262957</guid><dc:creator>Dave Isbitski</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/davedev/rsscomments.aspx?WeblogPostID=10262957</wfw:commentRss><wfw:comment>http://blogs.msdn.com/b/davedev/commentapi.aspx?WeblogPostID=10262957</wfw:comment><comments>http://blogs.msdn.com/b/davedev/archive/2012/02/01/new-contest-announced-30-to-launch-your-path-to-a-windows-phone-app-in-30-days.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://30tolaunch.com"&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="30ToLaunch" border="0" alt="30ToLaunch" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/7120.30ToLaunch_5F00_39B132CB.png" width="630" height="202" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;With all the buzz around &lt;a href="http://gigaom.com/mobile/why-windows-phone-is-making-waves-at-ces/"&gt;Windows Phone lately&lt;/a&gt; there has never been a better time to write an app.&amp;#160; Microsoft is offering a new contest to help you get started. This includes training and some great prizes.&lt;/p&gt;  &lt;p&gt;Details via the &lt;a href="http://30tolaunch.com"&gt;website here&lt;/a&gt;..&lt;/p&gt;  &lt;p&gt;With great devices hitting the market and the broadly acclaimed user interface based on Metro design principles, Windows Phone is setting the new cool for mobile computing. Take advantage of the excitement and create a cutting edge application - fast. Really fast. 30 days fast.&lt;/p&gt;  &lt;p&gt;· Starting Jan 31, you will have access to a weekly schedule with useful videos and guidance from experts to keep you on track.&lt;/p&gt;  &lt;p&gt;· In Week 2, you have a chance to request a token* to register for App Hub if you do not already have an account.&lt;/p&gt;  &lt;p&gt;· In Week 3, you could get a &lt;a href="http://www.nokia.com/gb-en/products/phone/lumia800/"&gt;Nokia Lumia 800&lt;/a&gt;* to test your app (And the phone will be yours to keep!)&lt;/p&gt;  &lt;p&gt;And, there’s a pretty sweet prize for 4 winners* - a state-of-the-art entertainment package complete with a 3D TV and the ultimate gaming experience with Xbox Kinect.&lt;/p&gt;  &lt;p&gt;Are you in? Sign up today at &lt;a href="http://30tolaunch.com"&gt;www.30tolaunch.com&lt;/a&gt; to join the challenge.&lt;/p&gt;  &lt;p&gt;*Challenge and associated offer is open only to legal residents of the 50 United States or District of Columbia who are hobbyists, professionals, or developers in the field of software technology 18+. Additional Terms and Conditions apply. For more information see &lt;a href="http://www.30tolaunch.com/Contest/OfficialRules"&gt;official rules&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10262957" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/msdn/lTEL/~4/QcWrvuMDgas" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/davedev/archive/2012/02/01/new-contest-announced-30-to-launch-your-path-to-a-windows-phone-app-in-30-days.aspx</feedburner:origLink></item><item><title>Are you a student? Check out the Big App On Campus Contest!</title><link>http://feedproxy.google.com/~r/msdn/lTEL/~3/UH-wqr1D6vQ/are-you-a-student-check-out-the-big-app-on-campus-contest.aspx</link><pubDate>Mon, 16 Jan 2012 14:43:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10257131</guid><dc:creator>Dave Isbitski</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/davedev/rsscomments.aspx?WeblogPostID=10257131</wfw:commentRss><wfw:comment>http://blogs.msdn.com/b/davedev/commentapi.aspx?WeblogPostID=10257131</wfw:comment><comments>http://blogs.msdn.com/b/davedev/archive/2012/01/16/are-you-a-student-check-out-the-big-app-on-campus-contest.aspx#comments</comments><description>&lt;p&gt;via &lt;a href="http://www.creepyed.com/"&gt;Ed Donahue&lt;/a&gt;…&lt;/p&gt;  &lt;p&gt;We see new, amazing experiences created every day by student developers and we wanted to come up with a way to return the favor: we are partnering with the band &lt;a href="http://www.thegraciousfew.com/"&gt;The Gracious Few&lt;/a&gt; (featuring members of the bands &lt;a href="http://youtu.be/FNrQOUtXYOo"&gt;LIVE&lt;/a&gt; and &lt;a href="http://youtu.be/JWhXyNL74yI"&gt;Candlebox&lt;/a&gt;) to create an amazing experience for ten (10) US college students (and their guest) in Austin, TX at &lt;a href="http://www.sxsw.org"&gt;SXSW&lt;/a&gt;: attend a private concert, receive backstage passes, go to a private dinner with the band, and be interviewed on national radio about their apps.&lt;/p&gt;  &lt;p&gt;We’re topping all this off with two $15,000 cash awards (one for the top free app and another for the top paid app) for the two apps that will be named “Big App on Campus.”&lt;/p&gt;  &lt;p&gt;Big App on Campus (BAOC) is open to US College and University students who build apps for Windows Phone. &lt;b&gt;Each app created from August 1&lt;sup&gt;st&lt;/sup&gt;, 2011 until February 14&lt;sup&gt;th&lt;/sup&gt;, 2012 can be entered and students can submit multiple entries.&lt;/b&gt;&lt;/p&gt;  &lt;h2&gt;Overview of Prizes&lt;/h2&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://youtu.be/bHJAbRTIVRY"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: right; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="The Gracious Few" border="0" alt="The Gracious Few" align="right" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/8473.clip_5F00_image003_5F00_2C92B702.jpg" width="244" height="177" /&gt;&lt;/a&gt;Top free app + top paid app get &lt;b&gt;$15,000 &lt;/b&gt;each!! &lt;/li&gt;    &lt;li&gt;10 students (and their guests) will join us in Austin, TX for SXSW Music festival in March 2012 &lt;/li&gt;    &lt;li&gt;Transportation, hotel, $500 spending money &lt;/li&gt;    &lt;li&gt;Private concert with The Gracious Few &lt;/li&gt;    &lt;li&gt;Backstage passes and private dinner with the band &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Timeline &amp;amp; Judging Criteria&lt;/h2&gt;  &lt;p&gt;There are a few dates of note: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;February 14, 2012 -&amp;gt; deadline for all entries to be submitted &lt;/li&gt;    &lt;li&gt;February 15, 2012 -&amp;gt; Round 1: Judging &lt;/li&gt;    &lt;li&gt;February 23, 2012 -&amp;gt; Round 2: Public voting &lt;/li&gt;    &lt;li&gt;March 1, 2012 -&amp;gt; Round 3: Public voting to select Big App on Campus &lt;/li&gt;    &lt;li&gt;March 13-18, 2012 -&amp;gt; SXSW Music festival in Austin, TX &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Every app submitted will be judged on three criteria: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;Innovation &lt;/b&gt;(40%): How innovative is the app? Does it do something new or does it accomplish something in a new way? &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Experience &lt;/b&gt;(40%): Does it feel seamless and like a native experience on Windows Phone? Does the app have a polished feel? &lt;/li&gt;    &lt;li&gt;&lt;b&gt;Potential&lt;/b&gt; (20%): Does the app have potential in the market (lots of users, making money, both) or not? &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Public voting will include a combo of number of downloads of the app + “Likes” on Facebook. Semi-finalists will definitely want to think about how they can get their friends, family, fellow-students, and even complete strangers to download and “Like” their apps. &lt;/p&gt;  &lt;h2&gt;How to Enter&lt;/h2&gt;  &lt;p&gt;Obviously entering requires building &amp;amp; publishing an app. Each student must also complete the Official entry form (takes 49.7 seconds on average). Here’s what to do: &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Register for DreamSpark at &lt;a href="http://www.dreamspark.com"&gt;http://www.dreamspark.com&lt;/a&gt; and for an App Hub membership (both are free of charge for students) at &lt;a href="https://users.create.msdn.com/Register/"&gt;https://users.create.msdn.com/Register/&lt;/a&gt;. Also check out our great &lt;a href="http://go.microsoft.com/?linkid=9785954"&gt;Getting Started Guide&lt;/a&gt; for more info and resources. &lt;a href="https://www.dreamspark.com/Products/Product.aspx?ProductId=28"&gt;https://www.dreamspark.com/Products/Product.aspx?ProductId=28&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Create &amp;amp; publish a Windows Phone application to the Windows Phone Marketplace. Make the apps free, charge money, put ads in them…it’s up to you. &lt;/li&gt;    &lt;li&gt;Visit &lt;a href="http://wpdev.ms/BAOCApplication"&gt;http://wpdev.ms/BAOCApplication&lt;/a&gt; and complete an Official entry form. Do this after you’ve published your apps because you’ll need the App ID. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;The full details are in the &lt;a href="http://www.microsoft.com/student/bigapponcampus/"&gt;Official Rules&lt;/a&gt; so make sure you check them out. &lt;/p&gt;  &lt;h2&gt;Eligibility &amp;amp; Rules&lt;/h2&gt;  &lt;ul&gt;   &lt;li&gt;Open to all US college/university students (18+) &lt;/li&gt;    &lt;li&gt;Rules:&amp;#160; &lt;a href="http://www.microsoft.com/student/bigapponcampus/"&gt;http://www.microsoft.com/student/bigapponcampus&lt;/a&gt;&lt;a href="http://www.microsoft.com/student/bigapponcampus/"&gt;/&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Entry Form:&amp;#160; &lt;a href="http://wpdev.ms/BAOCApplication"&gt;http://&lt;/a&gt;&lt;a href="http://wpdev.ms/BAOCApplication"&gt;wpdev.ms/BA&lt;/a&gt;&lt;a href="http://wpdev.ms/BAOCApplication"&gt;OCApplic&lt;/a&gt;&lt;a href="http://wpdev.ms/BAOCApplication"&gt;ation&lt;/a&gt;&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10257131" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/msdn/lTEL/~4/UH-wqr1D6vQ" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/davedev/archive/2012/01/16/are-you-a-student-check-out-the-big-app-on-campus-contest.aspx</feedburner:origLink></item><item><title>My Adventures in HTML5 Gaming</title><link>http://feedproxy.google.com/~r/msdn/lTEL/~3/-q_YbGmjdok/my-adventures-in-html5-gaming.aspx</link><pubDate>Mon, 16 Jan 2012 13:55:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10257108</guid><dc:creator>Dave Isbitski</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/davedev/rsscomments.aspx?WeblogPostID=10257108</wfw:commentRss><wfw:comment>http://blogs.msdn.com/b/davedev/commentapi.aspx?WeblogPostID=10257108</wfw:comment><comments>http://blogs.msdn.com/b/davedev/archive/2012/01/16/my-adventures-in-html5-gaming.aspx#comments</comments><description>&lt;p&gt;If you will be in the Philly area this Wednesday night stop on by the &lt;a href="http://www.microsoft.com/about/companyinformation/usaoffices/midatlantic/en/us/malvern.aspx"&gt;Microsoft Malvern Office&lt;/a&gt;.&amp;#160; I will be hanging out with the great &lt;a href="http://phillydotnet.org/SitePages/Home.aspx"&gt;Philly.NET&lt;/a&gt; folks discussing my recent experiences in HTML5 Game Programming.&amp;#160; The evening will kick off at 5:30pm with Brian Minisi giving an overview of TFS11.&amp;#160; We’ll do some networking and then Rich Ross will give a quick tip on using LINQ in SharePoint.&amp;#160; We'll end the night with some fun HTML5 Gaming goodness.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://phillydotnet20120118.eventbrite.com/"&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="HTML5Gaming" border="0" alt="HTML5Gaming" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/4571.HTML5Gaming_5F00_59610A0F.png" width="672" height="639" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;There will be plenty of food, prizes and jokes (although I can’t promise they’ll be new ones).&amp;#160; Hope to see you there!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10257108" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/msdn/lTEL/~4/-q_YbGmjdok" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/davedev/archive/2012/01/16/my-adventures-in-html5-gaming.aspx</feedburner:origLink></item><item><title>Living the Dream: Make the Video Game You’ve Always Wanted and Get Paid For It</title><link>http://feedproxy.google.com/~r/msdn/lTEL/~3/8LCTbdvJUrs/living-the-dream-make-the-video-game-you-ve-always-wanted-and-get-paid-for-it.aspx</link><pubDate>Tue, 10 Jan 2012 21:25:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10255284</guid><dc:creator>Dave Isbitski</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/davedev/rsscomments.aspx?WeblogPostID=10255284</wfw:commentRss><wfw:comment>http://blogs.msdn.com/b/davedev/commentapi.aspx?WeblogPostID=10255284</wfw:comment><comments>http://blogs.msdn.com/b/davedev/archive/2012/01/10/living-the-dream-make-the-video-game-you-ve-always-wanted-and-get-paid-for-it.aspx#comments</comments><description>&lt;p&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="vslive" border="0" alt="vslive" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/1104.vslive_5F00_32552ACD.png" width="489" height="100" /&gt;&lt;/p&gt;  &lt;p&gt;I recently presented a Visual Studio Live Orlando session entitled &lt;a href="http://vslive.com/Events/Orlando-2011/Sessions/Tuesday/T14-Living-the-Dream-Make-the-Video-Game-Youve-Always-Wanted-and-Get-Paid-For-It.aspx"&gt;Living the Dream: Make the Video Game You’ve Always Wanted and Get Paid For It&lt;/a&gt;.&amp;#160; It was an introductory course for all developers on how to get started with Windows Phone Game development. This included coding our own little game, lots of free sample projects, and tips and tricks I’ve learned a long the way.&lt;/p&gt;  &lt;p&gt;I have posted all of the slides and demo projects in the usual &lt;strong&gt;&lt;a href="http://blogs.msdn.com/b/davedev/p/events.aspx"&gt;My Stuff section on this blog&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/b/davedev/p/events.aspx"&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="DaveDev-MyContent" border="0" alt="DaveDev-MyContent" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/6864.DaveDev_2D00_MyContent_5F00_0D21BEA0.png" width="204" height="104" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Here is a rundown of what you will find inside the zip folder once you download it.&lt;/p&gt;  &lt;h1&gt;1-XNA-Dave-TrekGame&lt;/h1&gt;  &lt;p&gt;This was the first piece of code we wrote together and shows the basics of the XNA game loop as well as some simple touch and sound effects.&amp;#160; The &lt;a href="http://msdn.microsoft.com/en-us/library/bb976064.aspx"&gt;Content Project&lt;/a&gt; consisted of two images: &lt;strong&gt;space.png,&lt;/strong&gt; a large starfield and &lt;strong&gt;ship.png&lt;/strong&gt;. Both of these freely redistributable pieces of artwork were grabbed using &lt;a href="http://www.bing.com/images"&gt;Bing Image Search&lt;/a&gt;.&amp;#160; We also edited &lt;strong&gt;ship.png&lt;/strong&gt; a bit to make it more lifelike using the free tool &lt;a href="http://www.getpaint.net/"&gt;Paint.Net&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;The project was a good first exposure and I took us through each of the common sections in &lt;strong&gt;Game1.cs&lt;/strong&gt;. &lt;/p&gt;  &lt;div class="csharpcode"&gt;   &lt;pre&gt;&amp;#160;&lt;a href="http://blogs.msdn.com/b/davedev/p/events.aspx"&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="1-TrekGame" border="0" alt="1-TrekGame" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/8831.1_2D00_TrekGame_5F00_2C646573.png" width="802" height="433" /&gt;&lt;/a&gt;&lt;/pre&gt;
&lt;/div&gt;

&lt;h2&gt;Class Variables&lt;/h2&gt;

&lt;p&gt;Here is where we created the Textures to hold our ship and space field, the vector to track its position and the SoundEffect and its related Instance to add some effects later on. . &lt;/p&gt;

&lt;pre class="csharpcode"&gt;            Texture2D shipTexture;
            Texture2D backgroundTexture;

            Vector2 shipPosition;

            SoundEffect redAlert;
            SoundEffectInstance redAlertInstance;&lt;/pre&gt;


&lt;h2&gt;Game1&lt;/h2&gt;

&lt;p&gt;We used the hardware scalar available in XNA to correctly scale our spaceship for the smaller screen and set the game to run in FullScreen mode.&amp;#160; This is one of the common mistakes made by developers first out since running in a dark background will make you think you have a black border when in fact you have the system tray across the top of your game.&amp;#160; Testing in both light and dark themes, always a great idea in any phone app, will show the system tray sitting on top. &lt;/p&gt;

&lt;pre class="csharpcode"&gt;            &lt;span class="rem"&gt;//Backbuffer - Dave&lt;/span&gt;
            graphics.PreferredBackBufferWidth = 480;
            graphics.PreferredBackBufferHeight = 800;
            graphics.IsFullScreen = &lt;span class="kwrd"&gt;true&lt;/span&gt;;  &lt;/pre&gt;

&lt;h2&gt;LoadContent&lt;/h2&gt;

&lt;p&gt;This method is where we load all of the content we will be manipulating in our game.&amp;#160; In this case we are setting both the space and ship texture and then putting the ship directly in the middle of the phone screen.&amp;#160; We are also loading our first sound effect – redAlert into memory and getting an instance of it to detect the state of the sound (playing, stopped, etc). &lt;/p&gt;

&lt;pre class="csharpcode"&gt;            &lt;span class="rem"&gt;// load the sprite's texture&lt;/span&gt;
            shipTexture = Content.Load&amp;lt;Texture2D&amp;gt;(&lt;span class="str"&gt;&amp;quot;ship&amp;quot;&lt;/span&gt;);

            &lt;span class="rem"&gt;// load the background texture&lt;/span&gt;
            backgroundTexture = Content.Load&amp;lt;Texture2D&amp;gt;(&lt;span class="str"&gt;&amp;quot;space&amp;quot;&lt;/span&gt;);

            &lt;span class="rem"&gt;// center the sprite on screen&lt;/span&gt;
            Viewport viewport = graphics.GraphicsDevice.Viewport;
            shipPosition = &lt;span class="kwrd"&gt;new&lt;/span&gt; Vector2(
                (viewport.Width - shipTexture.Width) / 2,
                (viewport.Height - shipTexture.Height) / 2);

            redAlert = Content.Load&amp;lt;SoundEffect&amp;gt;(&lt;span class="str"&gt;&amp;quot;RedAlert&amp;quot;&lt;/span&gt;);
            redAlertInstance = redAlert.CreateInstance();  &lt;/pre&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;h2&gt;Update&lt;/h2&gt;

&lt;p&gt;Now we are in our main Game Loop. From here on out we are going to Update/Draw, Update/Draw, 30 times a second (although Windows Phone is capable of going up to 60 fps we used the default framerate of 30fps that is included in the project template).&amp;#160; Each update we check to see if there have been any touches from the user and if there have we take the first one.&amp;#160; Once we get the location of this first touch we do some math to move the space ship to the center of the touch point.&amp;#160; We then call PlayRedAlert.&lt;/p&gt;

&lt;pre class="csharpcode"&gt;            TouchCollection touchCollection = TouchPanel.GetState();
            &lt;span class="kwrd"&gt;if&lt;/span&gt; (touchCollection.Count &amp;gt; 0)
            {
                TouchLocation t1 = touchCollection[0];

                &lt;span class="kwrd"&gt;double&lt;/span&gt; x = t1.Position.X - (shipPosition.X + (shipTexture.Width / 2));
                &lt;span class="kwrd"&gt;double&lt;/span&gt; y = t1.Position.Y - (shipPosition.Y + (shipTexture.Height / 2));
                &lt;span class="kwrd"&gt;double&lt;/span&gt; speed = Math.Sqrt(x * x + y * y) / 20;

                &lt;span class="kwrd"&gt;double&lt;/span&gt; angle = (&lt;span class="kwrd"&gt;float&lt;/span&gt;)Math.Atan2(y, x);

                shipPosition.X += (&lt;span class="kwrd"&gt;float&lt;/span&gt;)(speed * Math.Cos(angle));
                shipPosition.Y += (&lt;span class="kwrd"&gt;float&lt;/span&gt;)(speed * Math.Sin(angle));

                PlayRedAlert();

            }   &lt;/pre&gt;

&lt;h2&gt;PlayRedAlert&lt;/h2&gt;

&lt;p&gt;This method will check the current state of the Redalert sound and if it is not playing it will go ahead and fire the Play event.&amp;#160; If the sound is still playing (from a recent touch event) it will not override and simply ignore the new touch.&amp;#160; If we did not do this sounds would continue to play with every touch and overlap into a loud mess of incoherent noise.&amp;#160; We also have the ability to mess around with Pitch and Pan (move the sound between different ears on the headphones).&amp;#160; In this case we raised the pitch by 50% and had a Red Alert sound that sounded very much like a Chipmunk.&lt;/p&gt;

&lt;pre class="csharpcode"&gt;            &lt;span class="kwrd"&gt;if&lt;/span&gt; (redAlertInstance.State != SoundState.Playing)
            {
                redAlertInstance.Play();
                redAlertInstance.Pan = 0f;
                redAlertInstance.Volume = 1f;
                &lt;span class="rem"&gt;//redAlertInstance.Pitch=0.5f;&lt;/span&gt;

            }&lt;/pre&gt;


&lt;h2&gt;Draw&lt;/h2&gt;

&lt;p&gt;The final method took all of our textures and drew them to the screen.&amp;#160; Remember that order in the batch is important.&amp;#160; If we wanted to background to be draw on top of the spaceship we would only need to move it before the ship in the spriteBatch order.&lt;/p&gt;

&lt;pre class="csharpcode"&gt;            GraphicsDevice.Clear(Color.White);

            spriteBatch.Begin(SpriteSortMode.Immediate, BlendState.AlphaBlend);

            spriteBatch.Draw(backgroundTexture, Vector2.Zero, Color.White);

            spriteBatch.Draw(shipTexture, shipPosition, Color.White);

            spriteBatch.End();  &lt;/pre&gt;


&lt;p&gt;&amp;#160;&lt;/p&gt;

&lt;h1&gt;2-XNA-Gestures 
  &lt;br /&gt;&lt;/h1&gt;

&lt;p&gt;&lt;a href="http://create.msdn.com/en-US/education/catalog/starterkit/ninjacademy"&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="2-NinjaAcademy" border="0" alt="2-NinjaAcademy" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/3247.2_2D00_NinjaAcademy_5F00_635E43AC.png" width="808" height="433" /&gt;&lt;/a&gt;The &lt;/p&gt;

&lt;p&gt;The second project, &lt;a href="http://create.msdn.com/en-US/education/catalog/starterkit/ninjacademy"&gt;NinaAcademy&lt;/a&gt; , is a freely available starter kit on &lt;a href="http://developer.windowsphone.com"&gt;AppHub&lt;/a&gt;.&amp;#160; NinjaAcademy is a great example of how to use the &lt;a href="http://msdn.microsoft.com/en-us/library/ff434208.aspx"&gt;built in Gestures&lt;/a&gt; Windows Phone supports.&amp;#160; All of this is done through the &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.input.touch.touchpanel.aspx"&gt;TouchPanel&lt;/a&gt; and we simply tell it which gestures we want to listen for.&amp;#160; For example if we wanted to watch for Flicks we would use something like this:&lt;/p&gt;

&lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; TouchPanel.EnabledGestures = GestureType.Flick;&lt;/p&gt;

&lt;p align="left"&gt;We can also listen for multiple gestures such as Flick and Tap we would use the following:&lt;/p&gt;

&lt;p align="left"&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; TouchPanel.EnabledGestures = GestureType.Flick|GestureType.Tap;&lt;/p&gt;

&lt;h1&gt;3-XNA-Accel&lt;/h1&gt;

&lt;h1&gt;&lt;a href="http://mangoteapot.codeplex.com/"&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="3-Accel" border="0" alt="3-Accel" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/3632.3_2D00_Accel_5F00_72B1A5BB.png" width="810" height="434" /&gt;&lt;/a&gt; 

  &lt;br /&gt;&lt;/h1&gt;

&lt;p&gt;I then took us through the feely available &lt;a href="http://www.codeplex.com/"&gt;Codeplex&lt;/a&gt; project, &lt;a href="http://mangoteapot.codeplex.com/"&gt;Mango Teapot&lt;/a&gt;.&amp;#160; Mango Teapot, besides being a great example of using 3d Models and the new Silverlight on XNA capabilities, utilizes the &lt;strong&gt;Accelerometer&lt;/strong&gt; to manipulate the phone.&amp;#160; By clicking on the gravity button below the teapot we start to read data from the accelerometer inside the phone.&lt;/p&gt;

&lt;h2&gt;OnUpdate&lt;/h2&gt;

&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;if&lt;/span&gt; (useGravity)
            {
                &lt;span class="kwrd"&gt;if&lt;/span&gt; (useMotion)
                {
                    teapot.World = Matrix.CreateFromYawPitchRoll(0, MathHelper.PiOver2, 0) * motion.CurrentValue.Attitude.RotationMatrix;
                }
                &lt;span class="kwrd"&gt;else&lt;/span&gt; &lt;span class="kwrd"&gt;if&lt;/span&gt; (useAccelerometer)
                {
                    Vector3 original = &lt;span class="kwrd"&gt;new&lt;/span&gt; Vector3(0f, 0f, 1f);
                    Vector3 current = &lt;span class="kwrd"&gt;new&lt;/span&gt; Vector3(accelSensor.CurrentValue.Acceleration.X, accelSensor.CurrentValue.Acceleration.Z, -accelSensor.CurrentValue.Acceleration.Y);&lt;/pre&gt;


&lt;p&gt;If you recall &lt;a href="http://msdn.microsoft.com/en-us/library/ff604984.aspx"&gt;using the accelerometer&lt;/a&gt; in Windows Phone is like any other sensor (Microsoft.Devices.Sensors) we simply add a reference to the namespace, declare the object and then call the start method when we want to begin collecting data.&amp;#160; We then tell it which eventhandler we want to use every time a new the sensor detects a new reading (the user moved the phone in some way).&amp;#160; You will get data in all three dimensions: X, Y and Z&amp;#160; in the –1 to + 1 range.&amp;#160; If the user moves the device too hard you may see numbers returned as high as –3 to +3.&amp;#160; This is a trick you can use if you want a “shake to reset level” type of functionality just look for consistent readings in the 2s to 3s and you know the user is shaking the device.&lt;/p&gt;

&lt;p&gt;Since the release of the &lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200063261"&gt;Windows Phone 7.5 Developer Tools&lt;/a&gt;&amp;#160; developers have been treated to accelerometer simulation right through the emulator.&amp;#160; Simply click the advanced tools button on the top right of the main emulator window and you will see a screen like the above.&amp;#160; Then drag the orange dot around and you will move the simulated phone in three dimensions.&amp;#160; You can also jump to specific orientations as well as use recorded data.&lt;/p&gt;

&lt;h1&gt;4-XNA-SL-Paddle&lt;/h1&gt;

&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/7532.4_2D00_Menu_2D00_Paddle_5F00_30CAC06D.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="4-Menu-Paddle" border="0" alt="4-Menu-Paddle" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/2555.4_2D00_Menu_2D00_Paddle_5F00_thumb_5F00_1CD12DD7.png" width="802" height="426" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The final project we walked through was &lt;a href="http://create.msdn.com/en-US/education/catalog/sample/paddle_battle"&gt;Paddle Battle&lt;/a&gt;.&amp;#160; Paddle Battle is another free sample publically available on the &lt;a href="http://developer.windowsphone.com"&gt;App Hub&lt;/a&gt;. We covered the new &lt;a href="http://msdn.microsoft.com/en-us/library/hh202938(v=vs.92).aspx"&gt;Silverlight and XNA Application template&lt;/a&gt;, what differed from normal XNA, and how to create a menu system using all Silverlight UIElements in your XNA game.&amp;#160; Paddle Battle is a simple example that includes a main menu for enabling sounds and starting the game.&amp;#160; &lt;/p&gt;

&lt;h1&gt;Making Money&lt;/h1&gt;

&lt;p&gt;I ended the session with a tour of &lt;a href="http://developer.windowsphone.com"&gt;App Hub&lt;/a&gt; and &lt;a href="http://pubcenter.microsoft.com"&gt;Microsoft PubCenter&lt;/a&gt;.&amp;#160; Most of the strategies I covered around making money can be found in my &lt;a href="http://blogs.msdn.com/b/davedev/archive/2011/02/09/what-i-learned-about-being-a-windows-phone-7-developer.aspx"&gt;Real World Windows Phone Development Series here&lt;/a&gt;. These included how to get your app featured in the marketplace, free vs. paid, trial download ratios and what Microsoft is doing to help you be successful (contests, content, and free training, etc.).&lt;/p&gt;

&lt;p&gt;I hope if you’ve been on the fence about writing a game for Windows Phone these sample projects will be a good starting place.&amp;#160; Don’t forget if you live in the United States and are local to NY, NJ, or PA &lt;a href="http://blogs.msdn.com/b/davedev/archive/2012/01/05/are-you-a-developer-or-designer-in-the-ny-nj-pa-area-using-microsoft-software.aspx"&gt;I would love to hear from you&lt;/a&gt;!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10255284" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/msdn/lTEL/~4/8LCTbdvJUrs" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/davedev/archive/2012/01/10/living-the-dream-make-the-video-game-you-ve-always-wanted-and-get-paid-for-it.aspx</feedburner:origLink></item><item><title>Are you a Developer or Designer in the NY/NJ/PA area using Microsoft Software?</title><link>http://feedproxy.google.com/~r/msdn/lTEL/~3/3ESrHkneOTs/are-you-a-developer-or-designer-in-the-ny-nj-pa-area-using-microsoft-software.aspx</link><pubDate>Thu, 05 Jan 2012 21:14:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10253656</guid><dc:creator>Dave Isbitski</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/davedev/rsscomments.aspx?WeblogPostID=10253656</wfw:commentRss><wfw:comment>http://blogs.msdn.com/b/davedev/commentapi.aspx?WeblogPostID=10253656</wfw:comment><comments>http://blogs.msdn.com/b/davedev/archive/2012/01/05/are-you-a-developer-or-designer-in-the-ny-nj-pa-area-using-microsoft-software.aspx#comments</comments><description>&lt;p&gt;Why not make 2012 the year you put those skills to use and publish your own app to the marketplace! &lt;/p&gt;  &lt;h2&gt;A Growing Marketplace&lt;/h2&gt;  &lt;p&gt;In only a year the Windows Phone Marketplace has grown at a phenomenal rate with over 40,000 apps now available for download.&amp;#160; Sites like &lt;a href="http://wp7applist.com/en-US/stats/"&gt;WP7Applist&lt;/a&gt; track published apps on a daily basis:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://wp7applist.com/en-US/stats/"&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="MarketplaceGrowth" border="0" alt="MarketplaceGrowth" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/7266.MarketplaceGrowth_5F00_4DE38CD4.png" width="726" height="356" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;These numbers continue to climb as more partners like &lt;a href="http://www.nokia.com"&gt;Nokia&lt;/a&gt; begin selling their Windows Phones worldwide.&lt;/p&gt;  &lt;p&gt;&lt;iframe height="315" src="http://www.youtube.com/embed/QvnDunLJSPE" frameborder="0" width="560" allowfullscreen="allowfullscreen"&gt;&lt;/iframe&gt;&lt;/p&gt;  &lt;p&gt;The &lt;a href="http://marketplace.windowsphone.com"&gt;Windows Phone Marketplace&lt;/a&gt; continues to expand into &lt;a href="http://windowsteamblog.com/windows_phone/b/wpdev/archive/2011/05/24/developer-news-beta-mango-tools-available-today.aspx"&gt;new markets&lt;/a&gt; that you can sell your apps in.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/2783.Mango_2D00_Markets_5F00_6BE19AC8.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="Mango Markets" border="0" alt="Mango Markets" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/5504.Mango_2D00_Markets_5F00_thumb_5F00_4EF875F3.png" width="632" height="362" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;All of these new markets and new devices means more potential customers for your app.&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Update 1/5 – Todd Brix just announced the ability today for Windows Phone Developers to distribute their apps in 6 new markets; Argentina, China, Indonesia, Malaysia, Peru and the Philippines. This brings the total number of markets you can sell your app in to 41.&amp;#160; You can read the &lt;/em&gt;&lt;a href="http://windowsteamblog.com/windows_phone/b/wpdev/archive/2012/01/05/new-markets-for-windows-phone-developers.aspx"&gt;&lt;em&gt;full post here&lt;/em&gt;&lt;/a&gt;&lt;em&gt;.&lt;/em&gt;&lt;/p&gt;  &lt;h2&gt;Growing Your Own Revenue&lt;/h2&gt;  &lt;p&gt;One of the harder parts of my job is not telling all of the financial success stories I see people, many of them students, reaching today with Windows Phone.&amp;#160; It is not my story to tell however and so if you are looking for some real world revenue numbers you will have to hunt around a bit more.&amp;#160; A recent public story is from independent Windows Phone Developer, Elbert Perez, who &lt;a href="http://www.occasionalgamer.com/2012/01/02/2011-a-year-in-review-as-a-indie-developer/"&gt;just posted his revenue numbers&lt;/a&gt; from last year and he&lt;strong&gt; made over $61,000&lt;/strong&gt;.&amp;#160; Who wouldn’t mind that type of income?&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.occasionalgamer.com/2012/01/02/2011-a-year-in-review-as-a-indie-developer/"&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="game-revenue-summary" border="0" alt="game-revenue-summary" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/6253.game_2D00_revenue_2D00_summary_5F00_7B34FCD7.png" width="736" height="406" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;One of the other stories I can freely talk about is my own.&amp;#160; While not as impressive as Elbert’s numbers my single &lt;a href="http://www.windowsphone.com/en-US/apps/5188a4a4-421c-e011-9264-00237de2db9e"&gt;DoodlePad Free Windows Phone app&lt;/a&gt;, which uses the &lt;a href="https://pubcenter.microsoft.com"&gt;Microsoft Advertising control,&lt;/a&gt; has &lt;strong&gt;made over $1,100+&lt;/strong&gt; last year with close to 19,000 downloads.&amp;#160; &lt;/p&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="DoodlePad Ad Revenues" border="0" alt="DoodlePad Ad Revenues" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/6253.DoodlePad_2D00_Ad_2D00_Revenues_5F00_40D986F6.png" width="738" height="591" /&gt;   &lt;p&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="19kDownloads" border="0" alt="19kDownloads" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/8306.19kDownloads_5F00_1F79E15A.png" width="736" height="682" /&gt;&lt;/p&gt;  &lt;p&gt;Not bad for an app that only took a few days to write and was mostly intended to keep my own two daughters occupied.&amp;#160; Keep in mind too this app has never been featured in the marketplace nor any tech blogs so I feel it is a good representation of what an average app might achieve.&amp;#160; The advertising has generated enough money for me to upgrade my pc gaming rig to a &lt;a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16820148442"&gt;Solid State Drive&lt;/a&gt; and outfit it with a &lt;a href="http://www.nvidia.com/object/product-geforce-gtx-560ti-us.html"&gt;new Nvidia card.&lt;/a&gt;&amp;#160; While I did not become financially independent it has given me plenty of “Dad Pocket Money” each month that goes a long way.&amp;#160; Upgrading my home pc would have never been something I had budget for and now &lt;a href="http://en.wikipedia.org/wiki/The_Elder_Scrolls_V:_Skyrim"&gt;Skyrim&lt;/a&gt; never looked so good!.&lt;/p&gt;  &lt;h2&gt;Easy to get started&lt;/h2&gt;  &lt;p&gt;With a library of free &lt;a href="http://create.msdn.com/en-us/education/basics/developer_resources"&gt;developer resources&lt;/a&gt;, &lt;a href="http://create.msdn.com/en-US/education/catalog/"&gt;code samples&lt;/a&gt;, and &lt;a href="http://create.msdn.com/en-us/education/videos"&gt;videos&lt;/a&gt; available in the Windows Phone Developer portal it is easy to get started.&amp;#160; Best of all the &lt;strong&gt;developer&lt;/strong&gt;&amp;#160;&lt;strong&gt;tools are free&lt;/strong&gt;.&amp;#160; It costs absolutely nothing to get started with your app the only time you have to pay Microsoft is when you want to sell your app on the Marketplace.&amp;#160; Then it is the standard $99 annual subscription fee and a 70/30 revenue split.&amp;#160; This subscription also gives you the ability to publish Xbox games as well.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://developer.windowsphone.com"&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="AppHub" border="0" alt="AppHub" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/6237.AppHub_5F00_7047F5C2.png" width="736" height="495" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;h2&gt;Developer Devices&lt;/h2&gt;  &lt;p&gt;I am a &lt;a href="https://twitter.com/#!/wp7dev/champs"&gt;Windows Phone Champ&lt;/a&gt; who covers the New York, New Jersey and Pennsylvania geographies.&amp;#160; I am available to assist you in getting your apps up and running and I have Windows Phones!&amp;#160; Are you at the point of wanting to test your app on a device but don’t have a Windows Phone yet?&amp;#160; I can ship you a loaner to use for a couple of weeks!&amp;#160; Have you written some apps but are under contract still unable to get a Windows Phone?&amp;#160; I may be able to get you a device to keep!&amp;#160; &lt;/p&gt;  &lt;p&gt;If I don’t know who you are though I can’t help you.&amp;#160; So please, if we &lt;strong&gt;haven’t met yet&lt;/strong&gt; and you are in these geographies&amp;#160; &lt;a href="http://blogs.msdn.com/b/davedev/contact.aspx"&gt;&lt;strong&gt;please contact me asap&lt;/strong&gt;&lt;/a&gt; and let me know what you are working on.&amp;#160; Specifically I need to know the following:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Company or Individual Info      &lt;ul&gt;       &lt;li&gt;Name &lt;/li&gt;        &lt;li&gt;Physical Address &lt;/li&gt;        &lt;li&gt;Website (blog or twitter is fine too) &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Primary Contact      &lt;ul&gt;       &lt;li&gt;Name &lt;/li&gt;        &lt;li&gt;Phone &lt;/li&gt;        &lt;li&gt;Email &lt;/li&gt;        &lt;li&gt;LiveID (used for Marketplace) &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Application(s) Details      &lt;ul&gt;       &lt;li&gt;Description (videos are great too) &lt;/li&gt;        &lt;li&gt;When you started development &lt;/li&gt;        &lt;li&gt;If it is a new app or port of existing application (iPhone, Android, RIM, etc.) &lt;/li&gt;        &lt;li&gt;How far along you are &lt;/li&gt;        &lt;li&gt;When you think it will be completed &lt;/li&gt;        &lt;li&gt;If you have published the app already what is the marketplace url &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;em&gt;* If you don’t fall in these geographies but are looking for assistance I can connect you with your local champ&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10253656" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/msdn/lTEL/~4/3ESrHkneOTs" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/davedev/archive/2012/01/05/are-you-a-developer-or-designer-in-the-ny-nj-pa-area-using-microsoft-software.aspx</feedburner:origLink></item><item><title>Windows 8 – First Apps Contest</title><link>http://feedproxy.google.com/~r/msdn/lTEL/~3/8uIyttzhlrw/windows-8-first-apps-contest.aspx</link><pubDate>Thu, 05 Jan 2012 19:54:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10253603</guid><dc:creator>Dave Isbitski</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/davedev/rsscomments.aspx?WeblogPostID=10253603</wfw:commentRss><wfw:comment>http://blogs.msdn.com/b/davedev/commentapi.aspx?WeblogPostID=10253603</wfw:comment><comments>http://blogs.msdn.com/b/davedev/archive/2012/01/05/windows-8-first-apps-contest.aspx#comments</comments><description>&lt;p&gt;&lt;a href="https://buildwindowscontest.com/"&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="Win8 - Build What&amp;#39;s Next" border="0" alt="Win8 - Build What&amp;#39;s Next" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/0815.Win8_2D002D002D00_Build_2D00_Whats_2D00_Next_5F00_12F6278B.png" width="768" height="438" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Just a gentle reminder for those of you working on your first &lt;a href="https://dev.windows.com"&gt;Windows 8 App&lt;/a&gt;. Submissions for the First Apps contest &lt;strong&gt;must be submitted this coming Sunday night by 11:59 PST&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;via the &lt;a href="https://buildwindowscontest.com/"&gt;Windows 8 First Apps Contest website&lt;/a&gt;&lt;/p&gt;  &lt;h5&gt;Windows 8 is powered by apps, and we're excited to see all the great apps our developers will build.&lt;/h5&gt;  &lt;p&gt;The First Apps contest will select eight winning apps to be the very first apps in the Windows Store when it opens. This is your chance to show off your great app and to be part of an &lt;strong&gt;exclusive group of developers invited to participate in the Store when it first opens&lt;/strong&gt;. The winning developers will also get some goodies to help them build even better apps:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;A Samsung Windows Developer Preview PC&lt;/strong&gt; from the BUILD conference, so you can test your apps with touch and sensors &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;One year of Windows Azure&lt;/strong&gt;, so you can build apps that feel connected and alive &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;A two-year subscription to the Store&lt;/strong&gt;, so you can continue to update and improve your app&lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;What to know before you participate&lt;/h5&gt;  &lt;p&gt;&lt;em&gt;Submissions are due by Sunday, January 8 at 11:59pm PST.&lt;/em&gt; This gives you just over 30 days to design and develop your app. Finalists will be notified on Sunday, January 15. Finalists must update their app to run on a new, confidential Windows 8 build provided by us and resubmit their app before February 3 to be eligible to win.&lt;/p&gt;  &lt;p&gt;You'll need a Windows Live ID to sign in to the contest site and submit your app. You'll also need the &lt;a href="http://msdn.microsoft.com/en-us/windows/apps/br229516"&gt;Windows 8 Developer Preview with developer tools&lt;/a&gt; in order to start building your app.&lt;/p&gt;  &lt;p&gt;Our panel of judges is very excited to review the innovative apps you submit. The judges are:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Jensen Harris, &lt;em&gt;Director of Program Management, Windows User Experience&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;Antoine Leblond, &lt;em&gt;Senior Vice President, Windows Web Services&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;Jason Zander, &lt;em&gt;Corporate Vice President, Visual Studio&lt;/em&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;h5&gt;What to consider as you build your app&lt;/h5&gt;  &lt;p&gt;The judges will be evaluating apps based on how well they embrace the &lt;a href="http://channel9.msdn.com/events/BUILD/BUILD2011/BPS-1004"&gt;Metro style principles&lt;/a&gt;, as outlined at BUILD. Great Metro style apps adapt to a variety of form factors and screen resolutions, so our judges will be evaluating each app on both a &lt;a href="http://www.samsung.com/global/buildpc/index.html"&gt;Samsung Windows Developer Preview PC&lt;/a&gt; (1376x768 resolution) and a laptop (1920x1080 resolution).&lt;/p&gt;  &lt;p&gt;Visit the Dev Center to learn more about &lt;a href="http://msdn.microsoft.com/en-us/library/windows/apps/hh465427.aspx"&gt;designing Metro style apps&lt;/a&gt; and &lt;a href="http://msdn.microsoft.com/en-us/windows/apps/"&gt;building Metro style apps&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;All apps must comply with the &lt;a href="http://go.microsoft.com/fwlink/p/?LinkID=235355"&gt;App Certification Requirements&lt;/a&gt;, and all apps must be submitted in the English language.&lt;/p&gt;  &lt;h5&gt;Ready to participate?&lt;/h5&gt;  &lt;p&gt;&lt;a href="https://oauth.live.com/authorize?client_id=0000000044072833&amp;amp;response_type=code&amp;amp;scope=wl.basic&amp;amp;redirect_uri=https://buildwindowscontest.com/LiveIDRedirect.aspx%3FtoPage=manage%26status=signedin"&gt;Enter the contest ›&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="https://buildwindowscontest.com/OfficialRules.aspx"&gt;Read the Official Rules ›&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10253603" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/msdn/lTEL/~4/8uIyttzhlrw" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/davedev/archive/2012/01/05/windows-8-first-apps-contest.aspx</feedburner:origLink></item><item><title>Win a Samsung Slate or Free Marketing for you Windows Phone Mango Apps</title><link>http://feedproxy.google.com/~r/msdn/lTEL/~3/OrYw8rJGof4/win-a-samsung-slate-or-free-marketing-for-you-windows-phone-mango-apps.aspx</link><pubDate>Mon, 14 Nov 2011 17:07:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10236864</guid><dc:creator>Dave Isbitski</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/davedev/rsscomments.aspx?WeblogPostID=10236864</wfw:commentRss><wfw:comment>http://blogs.msdn.com/b/davedev/commentapi.aspx?WeblogPostID=10236864</wfw:comment><comments>http://blogs.msdn.com/b/davedev/archive/2011/11/14/win-a-samsung-slate-or-free-marketing-for-you-windows-phone-mango-apps.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://bit.ly/MangoOffer"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="GoMango" border="0" alt="GoMango" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/5670.GoMango_5F00_68D9F5F0.png" width="678" height="212" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Are you a &lt;a href="http://create.msdn.com"&gt;Windows Phone developer&lt;/a&gt;?&amp;#160; Do you have an app you are upgrading to Mango?&amp;#160; Just getting started and will have an app ready soon?&amp;#160; This contest is for you!&amp;#160; Simply by submitting apps to the marketplace that are targetting the latest version of Windows Phone you could win a bunch of prizes.&lt;/p&gt;  &lt;p&gt;It couldn’t be any easier and you have two ways to win. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Every new Mango app&lt;/strong&gt; you publish will be entered to win 1 of 5 &lt;a href="http://www.microsoftstore.com/store/msstore/pd/productID.241554200"&gt;Samsung Series 7 slates&lt;/a&gt;    &lt;br /&gt;    &lt;br /&gt;&lt;a href="http://www.microsoftstore.com/store/msstore/pd/productID.241554200"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="en-US_Samsung_Series_7_Slate_CVF-00178" border="0" alt="en-US_Samsung_Series_7_Slate_CVF-00178" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/0702.en_2D00_US_5F00_Samsung_5F00_Series_5F00_7_5F00_Slate_5F00_CVF_2D00_00178_5F00_6DDC339F.jpg" width="408" height="238" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;When you &lt;strong&gt;publish 5 new apps&lt;/strong&gt;, you will earn 1 entry to win free advertising for one app of your choice.&amp;#160; The free advertising will run on the &lt;strong&gt;Windows Phone Application Network for about 60 days and include 25K impressions&lt;/strong&gt;.&amp;#160; &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.windowsphone.com/en-US/marketplace"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="MarketplaceNetwork" border="0" alt="MarketplaceNetwork" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/0880.MarketplaceNetwork_5F00_33ECF0B3.png" width="652" height="408" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The contest is running through December 31, 2011 so you still have plenty of time to submit your apps.&amp;#160; &lt;/p&gt;  &lt;p&gt;Full contest details and signup &lt;a href="http://bit.ly/MangoOffer"&gt;can be found here.&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10236864" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/msdn/lTEL/~4/OrYw8rJGof4" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/davedev/archive/2011/11/14/win-a-samsung-slate-or-free-marketing-for-you-windows-phone-mango-apps.aspx</feedburner:origLink></item><item><title>The new Mango Windows Phones are here!</title><link>http://feedproxy.google.com/~r/msdn/lTEL/~3/nBTxg3H2bSM/the-new-mango-windows-phones-are-here.aspx</link><pubDate>Tue, 08 Nov 2011 23:30:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10235171</guid><dc:creator>Dave Isbitski</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/davedev/rsscomments.aspx?WeblogPostID=10235171</wfw:commentRss><wfw:comment>http://blogs.msdn.com/b/davedev/commentapi.aspx?WeblogPostID=10235171</wfw:comment><comments>http://blogs.msdn.com/b/davedev/archive/2011/11/08/the-new-mango-windows-phones-are-here.aspx#comments</comments><description>&lt;p&gt;The Windows Phone Team &lt;a href="http://windowsteamblog.com/windows_phone/b/windowsphone/archive/2011/11/07/new-windows-phones-hit-u-s-stores-revealing-our-big-nyc-surprise.aspx"&gt;held a party yesterday in NYC&lt;/a&gt; to celebrate the launch of new Mango and the new Windows Phones.&lt;/p&gt;  &lt;p&gt;&lt;img style="display: inline; background-image: none;" title="Plants vs. Zombies getting down" border="0" alt="Plants vs. Zombies getting down" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/1727.7345.pvz_5F00_76E16BDF_5F00_3CEDCB59.jpg" width="473" height="317" /&gt;&lt;/p&gt;  &lt;p&gt;The event included a six story tall Windows Phone complete with live tiles!&amp;#160; One of my teammates, Peter Laudati, was on the scene and took plenty of pictures you can &lt;a href="http://blogs.msdn.com/b/peterlau/archive/2011/11/07/that-s-a-big-windows-phone.aspx"&gt;check out here.&lt;/a&gt;&amp;#160; The Windows Phone Team also has a post detailing the &lt;a href="http://windowsteamblog.com/windows_phone/b/windowsphone/archive/2011/11/07/new-windows-phones-hit-u-s-stores-revealing-our-big-nyc-surprise.aspx"&gt;event here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;img style="display: inline; background-image: none;" title="Big Crowds" border="0" alt="Big Crowds" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/7563.7450.fem2_5F00_26EBBD61_5F00_14DB1C3A.jpg" width="485" height="325" /&gt;&lt;img style="display: inline; background-image: none;" title="60 feet tall!" border="0" alt="60 feet tall!" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/5123.443065353_5F00_1AB5BFD3.jpg" width="241" height="320" /&gt;&lt;/p&gt;  &lt;p&gt;Watch a time lapse video of the giant phone being built here:&lt;/p&gt;  &lt;p&gt;&lt;iframe height="315" src="http://www.youtube.com/embed/nunL6ghJZnQ?rel=0" frameborder="0" width="560" allowfullscreen="allowfullscreen"&gt;&amp;#160;&lt;/iframe&gt;&lt;/p&gt;  &lt;p&gt;If you didn’t make it to NYC yesterday for the event, no worries there are &lt;a href="http://windowsteamblog.com/windows_phone/b/windowsphone/archive/2011/10/24/the-windows-phone-inner-circle-is-coming-to-your-city.aspx"&gt;more coming across the US&lt;/a&gt;!&amp;#160; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;9-Nov Miami&lt;/li&gt;    &lt;li&gt;9-Nov San Diego&lt;/li&gt;    &lt;li&gt;9-Nov DC&lt;/li&gt;    &lt;li&gt;9-Nov Denver&lt;/li&gt;    &lt;li&gt;10-Nov Baltimore&lt;/li&gt;    &lt;li&gt;10-Nov St. Louis&lt;/li&gt;    &lt;li&gt;11-Nov Chicago&lt;/li&gt;    &lt;li&gt;14-Nov Boston&lt;/li&gt;    &lt;li&gt;14-Nov Atlanta&lt;/li&gt;    &lt;li&gt;14-Nov Houston&lt;/li&gt;    &lt;li&gt;16-Nov Philadelphia&lt;/li&gt;    &lt;li&gt;16-Nov Charlotte&lt;/li&gt;    &lt;li&gt;17-Nov Dallas&lt;/li&gt;    &lt;li&gt;17-Nov Nashville&lt;/li&gt;    &lt;li&gt;17-Nov Phoenix&lt;/li&gt;    &lt;li&gt;21-Nov Seattle&lt;/li&gt;  &lt;/ul&gt;  &lt;p&gt;Ready to party? Then register &lt;a href="http://aka.ms/circle"&gt;here&lt;/a&gt;!&lt;/p&gt;  &lt;h1&gt;The Devices&lt;/h1&gt;  &lt;p&gt;Here is a run down of some of the devices that were being shown off yesterday from both &lt;a href="http://www.t-mobile.com/shop/Phones/cell-phone-detail.aspx?cell-phone=HTC-Radar-4G-White"&gt;T-Mobile&lt;/a&gt; and &lt;a href="http://www.wireless.att.com/cell-phone-service/cell-phone-details/?device=Samsung+Focus+(TM)+S&amp;amp;q_sku=sku5400268#fbid=juvHEVPF_kd"&gt;AT&amp;amp;T&lt;/a&gt;:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;b&gt;HTC Radar 4G:&lt;/b&gt; Crafted from a single piece of polished aluminum, the HTC Radar is the only white handset in the Windows Phone lineup. $99 after $50 mail-in rebate. &lt;a href="http://www.t-mobile.com/shop/Phones/cell-phone-detail.aspx?cell-phone=HTC-Radar-4G-White"&gt;Learn more.&lt;/a&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Samsung Focus S:&lt;/b&gt; Successor to the award-winning Samsung Focus, the Focus S features a brilliant 4.3” Super AMOLED Plus display—the brightest screen in the lineup—a thin 8.55-millimeter profile, and an 8-megapixel camera. $199. &lt;a href="http://www.wireless.att.com/cell-phone-service/cell-phone-details/?device=Samsung+Focus+(TM)+S&amp;amp;q_sku=sku5400268#fbid=bY20F4RPkxo"&gt;Learn more&lt;/a&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;Samsung Focus Flash: &lt;/b&gt;The fast and lightweight Samsung Focus Flash features a 3.7” Super AMOLED screen and 5-megapixel camera. $49. &lt;a href="http://www.wireless.att.com/cell-phone-service/cell-phone-details/?device=Samsung+Focus+(TM)+Flash&amp;amp;q_sku=sku5400236"&gt;Learn more&lt;/a&gt;      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;&lt;b&gt;HTC Titan:&lt;/b&gt; Coming soon from AT&amp;amp;T, the HTC Titan sports a 4.7” screen—the largest in the Windows Phone lineup—an ultra-thin 9.9-millimeter design, and an 8-megapixel camera with dual LED flash.&lt;/li&gt;  &lt;/ul&gt;  &lt;p&gt;And let’s not forget all of the great phone announcements from Nokia:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.nokia.co.uk/gb-en/products/phone/lumia800/"&gt;&lt;img style="border: 0px currentcolor; display: inline; background-image: none;" title="Nokia" border="0" alt="Nokia" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/3312.Nokia_5F00_0E8C47DD.png" width="624" height="273" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;Update 11/9 – Nokia just released an 8 minute video documentary on the making of the Lumia 8. Check it out below:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;iframe height="315" src="http://www.youtube.com/embed/QvnDunLJSPE" frameborder="0" width="560" allowfullscreen="allowfullscreen"&gt;&lt;/iframe&gt;  &lt;ul&gt;&lt;/ul&gt;  &lt;h1&gt;   &lt;br /&gt;Spotify&lt;/h1&gt;  &lt;p&gt;Lastly, if you are a &lt;a href="http://spotify.com"&gt;Spotify&lt;/a&gt; fan yesterday brought some good news.&amp;#160; The Spotify &lt;a href="http://channel9.msdn.com/Blogs/Windows-Phone-7/Spotify-launches-for-Windows-Phone-TODAY"&gt;app for Windows Phone is now here&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;iframe style="width: 512px; height: 288px;" src="http://channel9.msdn.com/Blogs/Windows-Phone-7/Spotify-launches-for-Windows-Phone-TODAY/player?w=512&amp;amp;h=288" frameborder="0" scrolling="no"&gt;&amp;#160;&lt;/iframe&gt;&lt;/p&gt;  &lt;p&gt;Check it out!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10235171" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/msdn/lTEL/~4/nBTxg3H2bSM" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/davedev/archive/2011/11/08/the-new-mango-windows-phones-are-here.aspx</feedburner:origLink></item><item><title>Get in the game! Announcing a round of free, HTML5 game camps from Microsoft</title><link>http://feedproxy.google.com/~r/msdn/lTEL/~3/a3McakqOw5I/get-in-the-game-announcing-a-round-of-free-html5-game-camps-from-microsoft.aspx</link><pubDate>Fri, 28 Oct 2011 13:02:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10231012</guid><dc:creator>Dave Isbitski</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/davedev/rsscomments.aspx?WeblogPostID=10231012</wfw:commentRss><wfw:comment>http://blogs.msdn.com/b/davedev/commentapi.aspx?WeblogPostID=10231012</wfw:comment><comments>http://blogs.msdn.com/b/davedev/archive/2011/10/28/get-in-the-game-announcing-a-round-of-free-html5-game-camps-from-microsoft.aspx#comments</comments><description>&lt;p&gt;&lt;img style="margin: 0px 12px 0px 0px; border: 0px currentcolor; float: left; display: inline; background-image: none;" title="HTML5" border="0" alt="HTML5" align="left" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/6663.HTML5_5F00_6F99198E.jpg" width="201" height="172" /&gt;&lt;/p&gt;  &lt;p&gt;Have you been wondering about HTML5?&amp;#160; Have an interest in creating games?&amp;#160; Microsoft is happy to announce a round of free, full day developer training for HTML5 with a specific focus on gaming!&lt;/p&gt;  &lt;p&gt;If you haven’t had the chance to get started yet now is the time.&amp;#160; These HTML5 Game Camps will get you up to speed and &lt;/p&gt;  &lt;p&gt;More details via &lt;a href="http://blogs.msdn.com/b/cbowen/archive/2011/10/24/html5-game-camp-series-coming-soon.aspx"&gt;Chris Bowen here&lt;/a&gt;…&lt;/p&gt;  &lt;p&gt;Ready to learn HTML5?&amp;#160; Enjoy games, too? &lt;/p&gt;  &lt;p&gt;Join in the &lt;strong&gt;HTML5 Game Camps&lt;/strong&gt;, free events offering a chance to learn about the next wave of web standards including HTML5, CSS3, Canvas, SVG, and more.&amp;#160; And while you gain practical knowledge about HTML5 and JavaScript techniques, it’s all joined together by the fun of creating games!&lt;/p&gt;  &lt;p&gt;&lt;img title="Web Camps" border="0" alt="Web Camps" align="right" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-75-06-metablogapi/1055.Web_2D00_Camps_5F00_169CD323.png" width="111" height="75" /&gt;These are part of the &lt;a href="http://www.webcamps.ms/"&gt;Microsoft Web Camps&lt;/a&gt; series and feature a half day of &lt;strong&gt;sessions &lt;/strong&gt;followed by &lt;strong&gt;hands-on game creation time&lt;/strong&gt;.&amp;#160; Get up to speed with HTML5 and game dev concepts in the sessions, then turn your ideas into reality as we leave the slides behind.&amp;#160; Design and develop creations of your own, with plenty of guidance and help for your questions.&lt;/p&gt;  &lt;h4&gt;The Schedule&lt;/h4&gt;  &lt;p&gt;Here’s where the HTML5 Game Camps are heading, with links to details and registration:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Atlanta, GA&lt;/strong&gt; – November 10 – Georgia Tech – &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032496696&amp;amp;Culture=en-US"&gt;Registration&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Cambridge, MA&lt;/strong&gt; – November 17 – Microsoft NERD – &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032496694&amp;amp;Culture=en-US"&gt;Registration&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;New York, NY&lt;/strong&gt; – December 9 – Columbia University – &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032496697&amp;amp;Culture=en-US"&gt;Registration&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;University Park, PA &lt;/strong&gt;– December 14 – Penn State – &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032496695&amp;amp;Culture=en-US"&gt;Registration&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;(Note some of these events are morning through afternoon, and others are afternoon to evening.)&lt;/p&gt;  &lt;p&gt;Don’t forget to read the prep steps at the bottom of the event pages.&amp;#160; To get ready for coding, consider &lt;a href="http://www.microsoft.com/click/services/Redirect2.ashx?CR_CC=200063210"&gt;installing WebMatrix (it’s free)&lt;/a&gt; and other tools via the &lt;a href="http://www.microsoft.com/web/downloads/platform.aspx"&gt;Web Platform Installer&lt;/a&gt;.&amp;#160; Also, consider attending with a friend and tackling the game creation as a team!&lt;/p&gt;  &lt;h4&gt;Bonus Points for Rochester, NY&lt;/h4&gt;  &lt;p&gt;For those of you in the Rochester, NY area, there’s a special &lt;a href="http://ritgamecamp.eventbrite.com/"&gt;RIT Game Camp&lt;/a&gt; the weekend of December 2nd-4th.&amp;#160; It’s all about game development, and features multiple ways to learn about and create games:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;img title="RIT Game Jam" alt="RIT Game Jam" align="right" src="http://evbdn.eventbrite.com/s3-s3/eventlogos/9955233/2352875514-3.jpg" width="166" height="74" /&gt;&lt;strong&gt;HTML5 Camp&lt;/strong&gt; (Saturday, 12/3)&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Game Jam&lt;/strong&gt; (all weekend)&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;XNA in a Day&lt;/strong&gt; (Saturday)&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Windows Phone Camp &lt;/strong&gt;(Saturday)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;It’s free, hosted on the campus of &lt;a href="http://www.rit.edu/"&gt;RIT&lt;/a&gt;, and open to everyone.&amp;#160; So, choose what you’d like to participate in, and enjoy!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10231012" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/msdn/lTEL/~4/a3McakqOw5I" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/davedev/archive/2011/10/28/get-in-the-game-announcing-a-round-of-free-html5-game-camps-from-microsoft.aspx</feedburner:origLink></item><item><title>October 2011 Philly.Net Code Camp and Alex's Lemonade Stand</title><link>http://feedproxy.google.com/~r/msdn/lTEL/~3/1VK8NNo5A-o/philly-net-code-camp.aspx</link><pubDate>Tue, 18 Oct 2011 20:17:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10227130</guid><dc:creator>Dave Isbitski</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/davedev/rsscomments.aspx?WeblogPostID=10227130</wfw:commentRss><wfw:comment>http://blogs.msdn.com/b/davedev/commentapi.aspx?WeblogPostID=10227130</wfw:comment><comments>http://blogs.msdn.com/b/davedev/archive/2011/10/18/philly-net-code-camp.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://www.phillydotnet.org"&gt;&lt;img style="background-image: none; margin: 0px 26px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; float: left; padding-top: 0px; border-width: 0px;" title="CodeCamp" border="0" alt="CodeCamp" align="left" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/5076.CodeCamp_5F00_5A6BC11B.jpg" width="203" height="325" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The &lt;a href="http://codecamp.phillydotnet.org/2011-2/SitePages/Home.aspx"&gt;second 2011 Philly.Net Code Camp&lt;/a&gt; was held at DeVry University campus in Fort Washington, PA this past Saturday, October 15.&amp;nbsp; As usual the day included:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p align="left"&gt;Lots of code!&lt;/p&gt;
&lt;p align="left"&gt;8 hours of learning and networking&lt;/p&gt;
&lt;p align="left"&gt;70 sessions by 60+ speakers&lt;/p&gt;
&lt;p align="left"&gt;13 tracks + Open Spaces Forum&lt;/p&gt;
&lt;p align="left"&gt;600 seats with tables&lt;/p&gt;
&lt;p align="left"&gt;Breakfast, lunch (two groups), and afternoon snack&lt;/p&gt;
&lt;p align="left"&gt;Raffles and prizes after second lunch and closing&lt;/p&gt;
&lt;p align="left"&gt;Booster registration option for charity donations, parties, and prizes&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="WP_000520" border="0" alt="WP_000520" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/6746.WP_5F00_000520_5F00_0E33B76D.jpg" width="244" height="184" /&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="WP_000521" border="0" alt="WP_000521" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/1778.WP_5F00_000521_5F00_5F6DFECA.jpg" width="244" height="184" /&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;/h2&gt;
&lt;h2&gt;Full Day&lt;/h2&gt;
&lt;p&gt;The content at Philly Code Camp has always been top knotch and you can watch some of the &lt;a href="http://channel9.msdn.com/Shows/Devs4Devs"&gt;prior years sessions here&lt;/a&gt;. &amp;nbsp;This year was no exception! With over 70 sessions from top local speakers the day was packed with content.&amp;nbsp; Here is a breakdown of the tracks:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;alt.NET - &lt;/strong&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Track/DispForm.aspx?ID=22"&gt;Brian Donahue&lt;/a&gt; - 113 &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=296"&gt;Mitch Ruebush&lt;/a&gt; - Designing a REST API for your ______ &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=228"&gt;Stephen Bohlen&lt;/a&gt; - Behavior-Driven Development: Turning User Stories into Executable Specifications &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=233"&gt;Dane Morgridge&lt;/a&gt; - The Demystification Of The Allure Of Ruby &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=253"&gt;John Zablocki&lt;/a&gt; - NoSQL and .NET: Relaxing with CouchDB &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=308"&gt;Vladimir Gizspenc&lt;/a&gt; - Using Mono and Open Source to reach MacOS, iOS, Android and Linux&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Architecture - &lt;/strong&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Track/DispForm.aspx?ID=28"&gt;Mitch Ruebush&lt;/a&gt; - 106 &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=311"&gt;Abraham Sultan&lt;/a&gt; - PaaS or Fail: Preparing for Your Changing Role in Software Development and Delivery &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=297"&gt;Bryan Deitrich&lt;/a&gt; - What's a DBA To Do? Continuous Integration and Automated Deployments of &lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=276"&gt;Miguel A. Castro&lt;/a&gt; - Advanced MVVM: Engineering the UI, Without the UI &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=281"&gt;Michael Montgomery&lt;/a&gt; - Modern Software Architecture: The Business of Building Better &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=287"&gt;Mike Diiorio&lt;/a&gt; - Build Hybrid Applications with the Azure AppFabric Service Bus&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Data - &lt;/strong&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Track/DispForm.aspx?ID=24"&gt;Dane Morgridge&lt;/a&gt; - 109 &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=267"&gt;Alan M. Silverblatt&lt;/a&gt; - Data Encryption 101 &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=230"&gt;David Hoerster&lt;/a&gt; - OData and jQuery - Perfect Together &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=235"&gt;David Hoerster&lt;/a&gt; - Expression Trees - The Missing LINQ &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=236"&gt;Ken Lovely&lt;/a&gt; - Using Repository and Unit of Work patterns in EF 4.1 with a WCF Domain Model &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=302"&gt;Jim Priestley&lt;/a&gt; - Real World SQL Azure: Tuning for 27,000 visitors per day searching against a 10,000 row catalog&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Framework - &lt;/strong&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Track/DispForm.aspx?ID=33"&gt;Todd Snyder&lt;/a&gt; - 132 &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=273"&gt;Daniel R. Clark&lt;/a&gt; - The Fundamentals of Object Oriented Programming &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=274"&gt;Doug White&lt;/a&gt; - Getting started with R &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=265"&gt;Chris Gomez&lt;/a&gt; - XNA Levels Up: Publish Your Games Now &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=305"&gt;Will Robertson&lt;/a&gt; - Window Phone MVC &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=244"&gt;Anthony Mastrean&lt;/a&gt; - Event Sourcing Simplified&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Mobile Apps - &lt;/strong&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Track/DispForm.aspx?ID=32"&gt;Rob Keiser&lt;/a&gt; - 108 &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=290"&gt;Samidip Basu &lt;/a&gt;- Let's peel Mangos! &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=225"&gt;Rob Keiser&lt;/a&gt; - Live Tiles in Mango &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=251"&gt;Greg Shackles&lt;/a&gt; - Cross Platform Mobile Development with .NET &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=238"&gt;Kevin Griffin&lt;/a&gt; - jQuery on the Go &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=284"&gt;Sachin Deshpande&lt;/a&gt; - Mobile Web Apps development using MVC3 and JQuery Mobile&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SharePoint - &lt;/strong&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Track/DispForm.aspx?ID=27"&gt;Michael Mukalian&lt;/a&gt; - 111 &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=301"&gt;David E. Patrick&lt;/a&gt; - SharePoint Developer Intro - Building Visual Web Parts &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=259"&gt;Chris Keyser&lt;/a&gt; - Integrating complex web services with a BCS Assembly Connector &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=260"&gt;Michael Mukalian&lt;/a&gt; - "Oh sir, it's only wafer thin!" - Managing Large Lists in SharePoint 2010 &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=261"&gt;David Mann&lt;/a&gt; - Instrumentation and Debugging, on-premises and in the Cloud &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=303"&gt;Jennifer Kenderdine&lt;/a&gt; - InfoPath Forms and Web Parts&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="WP_000528" border="0" alt="WP_000528" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/8132.WP_5F00_000528_5F00_7EB0A59D.jpg" width="244" height="184" /&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="WP_000532" border="0" alt="WP_000532" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/0383.WP_5F00_000532_5F00_570A2973.jpg" width="244" height="184" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Silverlight - &lt;/strong&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Track/DispForm.aspx?ID=35"&gt;John Baird&lt;/a&gt; - 125 &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=237"&gt;Jason L. van Brackel&lt;/a&gt; - Introduction to WPF &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=292"&gt;John Baird&lt;/a&gt; - Silverlight Data Templating and Styling &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=246"&gt;Joel Cochran&lt;/a&gt; - An Introduction to Expression Blend &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=250"&gt;Andy Schwam&lt;/a&gt; - Silverlight - Lessons from the real world &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=263"&gt;Matt Van Horn&lt;/a&gt; - Advanced XAML Tricks&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;SQL &amp;amp; BI - &lt;/strong&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Track/DispForm.aspx?ID=26"&gt;Said Salomon&lt;/a&gt; - 110 &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=295"&gt;Alex Grinberg&lt;/a&gt; - Make the system tables work for you. &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=306"&gt;Said Salomon&lt;/a&gt; - SQL Bouncer Logon Security Without Triggers &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=231"&gt;Joshua Lynn&lt;/a&gt; - Learn RegEx in T-SQL &amp;amp; kick \ &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=255"&gt;Mark Kromer&lt;/a&gt; - Silverlight in SQL Server BI Reporting Solutions &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=309"&gt;Dan Hartshorn &lt;/a&gt;- How to get started with BI using SharePoint and Office&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tools - &lt;/strong&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=254"&gt;John Zablocki&lt;/a&gt; - The Orchard Project: From Installation to Customization &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Track/DispForm.aspx?ID=34"&gt;Travis Laborde&lt;/a&gt; - 134 &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=243"&gt;Travis Laborde&lt;/a&gt; - NoSQL? No Way? Yes way! &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=279"&gt;Jeffrey McArthur&lt;/a&gt; - Dependency Injection with MVC3 and Unity (Session, we don't need no stinking Session) &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=288"&gt;Chris Meadows&lt;/a&gt; - Need Some Cache? Redis in Depth. &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=266"&gt;Doug Finke&lt;/a&gt; - PowerShell for .NET Developers&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;v.Next - &lt;/strong&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Track/DispForm.aspx?ID=23"&gt;Ken Lovely&lt;/a&gt; - 105 &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=300"&gt;Tony Verguldi Jr&lt;/a&gt; - Building Metro Apps &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=294"&gt;Roger Doherty&lt;/a&gt; - Introduction to Microsoft SQL Server Code Name "Denali" &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=299"&gt;Bill Wolff&lt;/a&gt; - A Lap Around Windows 8 &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=298"&gt;Chris Love&lt;/a&gt; - Going Metro Today, Tales from the Trenches &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=312"&gt;Dani Diaz&lt;/a&gt; - Cool New Things Your Windows Phone Apps Can Do&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="WP_000533" border="0" alt="WP_000533" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/1768.WP_5F00_000533_5F00_243A22FF.jpg" width="244" height="184" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Web Dev I - &lt;/strong&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Track/DispForm.aspx?ID=31"&gt;Nick Berardi&lt;/a&gt; - 120 &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=286"&gt;Prasad Bapatla&lt;/a&gt; - HTML 5 for ASP.NET Developers &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=256"&gt;Adam Tuliper&lt;/a&gt; - Hack Proofing your ASP.Net MVC and Web Forms Applications &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=258"&gt;JP Toto&lt;/a&gt; - Building a Proper REST API with the new WCF WebAPI &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=242"&gt;Roberto Hernandez&lt;/a&gt; - KnockoutJS and ASP.NET MVC &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=232"&gt;Dane Morgridge&lt;/a&gt; - Intro to Rails 3 with MongoDB&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Web Dev II - &lt;/strong&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Track/DispForm.aspx?ID=25"&gt;John V. Petersen&lt;/a&gt; - 121 &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=239"&gt;Kevin Griffin&lt;/a&gt; - ASP.NET MVC From The Ground Up &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=248"&gt;Stephen J . Bodnar&lt;/a&gt; - Using jQuery UI and Plugins to Make your Sites Look and Work Better &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=269"&gt;John V. Petersen&lt;/a&gt; - Building your first jQuery Plugin &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=240"&gt;Don Demsak&lt;/a&gt; - Not Miguel Castro's WCF - Intro To WCF Made Easy- WCF HTTP Programming Model &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=293"&gt;Soe Tun&lt;/a&gt; - MVC, T4, Scaffolding, &amp;amp; Architecture&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Web Dev III - &lt;/strong&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Track/DispForm.aspx?ID=29"&gt;Marc Ziss&lt;/a&gt; - 122 &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=278"&gt;Kendall Miller&lt;/a&gt; - Massive Scalability for ASP.NET you can Afford &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=241"&gt;Kevin Buckley&lt;/a&gt; - Build your own JQuery widget &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=234"&gt;Joy Chakraborty&lt;/a&gt; - WCF Performance Optimization &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=282"&gt;Jess Chadwick&lt;/a&gt; - Razor: From MVC Views to Maintainable Templating Solutions &lt;br /&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Sessions/DispForm.aspx?ID=310"&gt;Chuck Sailer&lt;/a&gt; - Asynchronous Programming in ASP.NET&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="WP_000526" border="0" alt="WP_000526" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/1854.WP_5F00_000526_5F00_2E8B475F.jpg" width="244" height="184" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Open Spaces - &lt;/strong&gt;&lt;a href="http://codecamp.phillydotnet.org/2011-2/Lists/Tracks/DispForm.aspx?ID=30"&gt;Jess Chadwick&lt;/a&gt; - 102 &lt;br /&gt;An open discussion forum lasting the entire day. The format is deliberately fluid, with the general flow consisting of: participants shout out topics to discuss, vote on a topic, discuss it for 10 minutes (or more... or less), and then pick a new topic. Rinse and repeat for an entire day of lively and intriguing group conversation!&lt;/p&gt;
&lt;h2&gt;&lt;br /&gt;Giving Back&lt;/h2&gt;
&lt;p&gt;&lt;a href="http://www.alexslemonade.org/"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="alsf" border="0" alt="alsf" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/8780.alsf_5F00_62BF70A5.jpg" width="283" height="303" /&gt;&lt;/a&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="WP_000537" border="0" alt="WP_000537" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/2746.WP_5F00_000537_5F00_13DEAB46.jpg" width="400" height="301" /&gt;&lt;/p&gt;
&lt;p&gt;The Philly .NET community also donated over $1,000&amp;nbsp; during the day to &lt;a href="http://www.alexslemonade.org/"&gt;Alex&amp;rsquo;s Lemonade Stand&lt;/a&gt;.&amp;nbsp; If you haven&amp;rsquo;t heard of this non profit before please click on the link and watch the below video that goes over the story behind who Alex was and her idea for a Lemonade stand.&amp;nbsp; There is also a heartwarming story from a mom who beat her child&amp;rsquo;s cancer and takes us through a journey of what Alex&amp;rsquo;s did for them.&amp;nbsp; A great reminder for how blessed we truly are in our industry and what we can do to give some of that back.&lt;/p&gt;
&lt;p&gt;&lt;iframe height="315" src="http://www.youtube.com/embed/IVoNHVbBKmc" frameborder="0" width="560" allowfullscreen="allowfullscreen"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10227130" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/msdn/lTEL/~4/1VK8NNo5A-o" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/davedev/archive/2011/10/18/philly-net-code-camp.aspx</feedburner:origLink></item><item><title>Sold out Windows Phone camps help students and professional developers publish their own apps</title><link>http://feedproxy.google.com/~r/msdn/lTEL/~3/7Lqtin5N59o/sold-out-windows-phone-camps-help-students-and-professional-developers-publish-their-own-apps.aspx</link><pubDate>Tue, 18 Oct 2011 11:20:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10226879</guid><dc:creator>Dave Isbitski</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://blogs.msdn.com/b/davedev/rsscomments.aspx?WeblogPostID=10226879</wfw:commentRss><wfw:comment>http://blogs.msdn.com/b/davedev/commentapi.aspx?WeblogPostID=10226879</wfw:comment><comments>http://blogs.msdn.com/b/davedev/archive/2011/10/18/sold-out-windows-phone-camps-help-students-and-professional-developers-publish-their-own-apps.aspx#comments</comments><description>&lt;p&gt;We are now a month into the &lt;a href="http://blogs.msdn.com/b/davedev/archive/2011/08/31/annoucing-the-windows-phone-camps-east-coast-fall-2011-tour.aspx"&gt;latest round of Windows Phone Camps&lt;/a&gt; on the East Coast, US and the apps keep pouring in!&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="WP_000479" border="0" alt="WP_000479" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/6683.WP_5F00_000479_5F00_46206A96.jpg" width="244" height="184" /&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="WP_000486" border="0" alt="WP_000486" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/7673.WP_5F00_000486_5F00_773FA536.jpg" width="244" height="184" /&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="WP_000492" border="0" alt="WP_000492" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/6014.WP_5F00_000492_5F00_76673F4C.jpg" width="244" height="184" /&gt;&lt;/p&gt;
&lt;p&gt;Over 80 new apps got created during the Philly, Reston and Cambridge events I attended.&amp;nbsp; You all rock!&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="WP_000507" border="0" alt="WP_000507" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/5123.WP_5F00_000507_5F00_237C2C1B.jpg" width="244" height="184" /&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="WP_000508" border="0" alt="WP_000508" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/0726.WP_5F00_000508_5F00_509118E9.jpg" width="244" height="184" /&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="WP_000509" border="0" alt="WP_000509" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/5826.WP_5F00_000509_5F00_3AC7308C.jpg" width="244" height="184" /&gt;&lt;/p&gt;
&lt;p&gt;If you&amp;rsquo;ve been thinking of writing an app for Windows Phone now is the time.&amp;nbsp; With &lt;a href="http://www.windowsphone.com/en-US/marketplace"&gt;over 30,000+ apps already&lt;/a&gt; the opportunities to strike it big continue to grow!&amp;nbsp; I have seen steady growth in my own apps on the marketplace as we continue to bring new countries and new advertisers online.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.windowsphone.com/en-US/apps/5188a4a4-421c-e011-9264-00237de2db9e"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="DoodlePad" border="0" alt="DoodlePad" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/8030.DoodlePad_5F00_0BDA2AA0.jpg" width="632" height="501" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;During Cambridge this past week we also had several app developers show up who told their own story and the type of money they were making.&lt;/p&gt;
&lt;p&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="WP_000497" border="0" alt="WP_000497" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/6661.WP_5F00_000497_5F00_38AA31C3.jpg" width="484" height="364" /&gt;&lt;/p&gt;
&lt;p&gt;I had the chance to invite one of those people onto stage with me &lt;a href="http://blogs.msdn.com/b/davedev/p/events.aspx"&gt;during my &amp;ldquo;How to make money with Windows Phone&amp;rdquo; talk&lt;/a&gt;.&amp;nbsp; &lt;a href="http://twitter.com/chevonchr"&gt;Chevon Christie&lt;/a&gt;, is a college student who first attended one of our &lt;a href="http://blogs.msdn.com/b/davedev/archive/2010/10/03/windows-phone-7-firestarters-feel-the-excitement.aspx"&gt;Windows Phone Firestarters in NYC last year&lt;/a&gt;.&amp;nbsp; Since then he has gone on to create several successful apps including &lt;a href="http://nyctransitapp.com/"&gt;NYC Transit that was featured on Gizmodo&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;iframe height="315" src="http://www.youtube.com/embed/gL1ONeciwNQ" frameborder="0" width="560" allowfullscreen="allowfullscreen"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/b/tarawalker/"&gt;Tara Walker&lt;/a&gt;, one of my teammates, did an interview with Chevon you can also check out: &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;iframe height="315" src="http://www.youtube.com/embed/zhF9l3991yE" frameborder="0" width="560" allowfullscreen="allowfullscreen"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;There are more &lt;a href="http://blogs.msdn.com/b/davedev/archive/2011/08/31/annoucing-the-windows-phone-camps-east-coast-fall-2011-tour.aspx"&gt;Windows Phone Camps planned&lt;/a&gt; so if you haven&amp;rsquo;t signed up yet you may be able to score a seat and a chance at winning some great prizes! &lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/5428.Prizes_5F00_779BB25E.jpg"&gt;&lt;img style="background-image: none; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="Prizes" border="0" alt="Prizes" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-85-18-metablogapi/7167.Prizes_5F00_thumb_5F00_2A8B42C6.jpg" width="679" height="429" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;-Dave&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=10226879" width="1" height="1"&gt;&lt;img src="http://feeds.feedburner.com/~r/msdn/lTEL/~4/7Lqtin5N59o" height="1" width="1"/&gt;</description><feedburner:origLink>http://blogs.msdn.com/b/davedev/archive/2011/10/18/sold-out-windows-phone-camps-help-students-and-professional-developers-publish-their-own-apps.aspx</feedburner:origLink></item></channel></rss>

