<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Nikolai Tillmann's Blog</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/nikolait/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/nikolait/feed.xml</link>
    <description>Nikolai works at Microsoft Research on TouchDevelop, Pex, and Spur</description>
    <lastBuildDate>Wed, 17 Apr 2019 04:03:25 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Moving from Microsoft Research to DevDiv…</title>
      <link>https://docs.microsoft.com/archive/blogs/nikolait/moving-from-microsoft-research-to-devdiv</link>
      <pubDate>Wed, 15 Apr 2015 09:38:00 GMT</pubDate>
      <dc:creator><![CDATA[Nikolai Tillmann]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/nikolait/2015/04/15/moving-from-microsoft-research-to-devdiv/</guid>
      <description><![CDATA[I didn&rsquo;t blog for more than a year, and many interesting things happened during that time!
I...]]></description>
      <content:encoded><![CDATA[<p>I didn&rsquo;t blog for more than a year, and many interesting things happened during that time!</p>
<p>I moved from the <a href="http://research.microsoft.com/rise/">Research in Software Engineering</a> team (RiSE) in Microsoft Research to the <a href="http://research.microsoft.com/tse/">Tools for Software Engineers</a> (TSE) team in DevDiv to work on a new challenge.</p>
<p>Here&rsquo;s a summary of everything that&rsquo;s been going on:</p>
<h2>TouchDevelop is getting one million users in the UK.</h2>
<p>The <a href="http://www.touchdevelop.com">TouchDevelop</a> project keeps going strong in Microsoft Research: There is now an <a href="https://www.touchdevelop.com/blog">official TouchDevelop blog</a> to which you can subscribe to get the latest updates. As <a href="https://www.touchdevelop.com/blog/touchdevelopgoesopensource">recently announced</a>, the TouchDevelop web app is now <a href="https://github.com/Microsoft/TouchDevelop">open source on GitHub</a>! A big new feature in the editor is <a href="https://www.touchdevelop.com/blog/newcollaborationfeatures">collaborative coding</a> &ndash; a whole new experience of pair programming. The biggest news is that the <a href="http://www.bbc.com/news/technology-31834927">BBC is going to give out one million mini-computers</a> to children, and TouchDevelop is a designated programming language for those devices.</p>
<p>Congratulations to everyone in the TouchDevelop team! <a href="http://research.microsoft.com/en-us/people/micmo/">Michal Moskal</a>, <a href="http://research.microsoft.com/en-us/people/jhalleux/">Peli de Halleux</a>, <a href="http://research.microsoft.com/en-us/people/sburckha/">Sebastian Burckhardt</a>, <a href="http://research.microsoft.com/en-us/people/tball/">Tom Ball</a>, <a href="http://research.microsoft.com/~jbishop/">Judith Bishop</a>, <a href="http://jonathan.protzenko.fr/">Jonathan Protzenko</a>, and everyone else who has been helping along the way.</p>
<h2>Pex technology is shipping in Visual Studio 2015</h2>
<p>The <a href="http://research.microsoft.com/pex/">Pex</a> project, providing an automated unit test generation framework for .NET, is seeing some great updates as well:</p>
<p>You might have earlier played around with Pex on the web at <a href="http://www.pex4fun.com">pex4fun.com</a>, a website we put online a while ago to showcase our tool.&nbsp; Almost a year ago, thanks for <a href="http://research.microsoft.com/~jbishop/">Judith Bishop</a> at Microsoft Research Connections, we <a href="http://blogs.msdn.com/b/msr_er/archive/2014/05/15/what-if-coding-were-a-game.aspx">launched a new website</a>: <a href="http://www.codehunt.com">codehunt.com</a>. Built on a <a href="http://api.codehunt.com/">limited Pex-as-a-service in the cloud</a>, it&rsquo;s a first-class coding game &ndash; you have to write code to win!</p>
<p>The by far most exciting news around Pex is <a href="http://blogs.msdn.com/b/somasegar/archive/2014/11/12/opening-up-visual-studio-and-net-to-every-developer-any-application-net-server-core-open-source-and-cross-platform-visual-studio-community-2013-and-preview-of-visual-studio-2015-and-net-2015.aspx">an announcement from S.. Somasegar</a>: &ldquo;<em>We&rsquo;ve also added the Smart Unit Tests feature to Visual Studio 2015.&nbsp; Based on the Pex technology developed by Microsoft Research, Smart Unit Tests analyses code and automatically generates unit tests to describe its behavior.</em>&rdquo; This is awesome! Pex technology will ship in Visual Studio 2015, taking the former research project to a whole new level. Many thanks to Pratap Lakshman for driving this effort.</p>
<h2>A new build system in the making&hellip;</h2>
<p>In Satya Nadella&rsquo;s recent letter, &ldquo;<a href="http://news.microsoft.com/ceo/bold-ambition/index.html">Bold Ambitions &amp; Our Core</a>&rdquo;, he made a call for action to &ldquo;<em>modernize our engineering processes</em>&rdquo; and &ldquo;<em>reduce the amount of time and energy it takes to get things done</em>&rdquo;.&nbsp; To help this new effort, I moved to the <a href="http://research.microsoft.com/tse/">Tools for Software Engineers</a> (TSE) team in DevDiv. TSE is driving several projects to improve engineer productivity. Many potential productivity gains start with the build systems. I am now leading an effort to modernize the build tools that are at the core of the build systems. We recently <a href="http://blogs.msdn.com/b/dotnet/archive/2015/03/18/msbuild-engine-is-now-open-source-on-github.aspx">open-sourced</a> the source code of the currently shipping implementation of&nbsp;<a href="https://github.com/microsoft/msbuild">MSBuild on GitHub</a>, and we are developing a <a href="https://github.com/microsoft/msbuild/tree/xplat">cross-platform</a> port in the public. Going forward, we are working on the next version of MSBuild. The challenge is to accommodate existing MSBuild users, while at the same time dramatically increase build reliability and performance by caching and distributing tool invocations.</p>
<h2>Stay tuned</h2>
<p>You should hear more about MSBuild vNext soon.</p>]]></content:encoded>
    </item>
    <item>
      <title>130,000+ TouchDevelop Participants in the Hour of Code</title>
      <link>https://docs.microsoft.com/archive/blogs/nikolait/130000-touchdevelop-participants-in-the-hour-of-code</link>
      <pubDate>Thu, 19 Dec 2013 00:01:00 GMT</pubDate>
      <dc:creator><![CDATA[Nikolai Tillmann]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/nikolait/2013/12/19/130000-touchdevelop-participants-in-the-hour-of-code/</guid>
      <description><![CDATA[Congratulations to all participants!
As you can see on code.org/learn, the TouchDevelop Hour of...]]></description>
      <content:encoded><![CDATA[<p>Congratulations to all participants!</p>
<p>As you can see on code.org/learn, the <a href="https://www.touchdevelop.com/hoc">TouchDevelop Hour of Code tutorials</a> had more than <strong>130,000 participants</strong> during <a href="http://csedweek.org/">CSEdWeek</a> from December 9-15, 2013!</p>
<p>The TouchDevelop participants earned more than <strong>840,000 trophies</strong> for completing individual tutorial steps, writing <strong>millions of lines of code</strong>!</p>
<div style="text-align: center;"><iframe class="video-frame" src="http://www.youtube-nocookie.com/embed/g7EuUc4zJYE" frameborder="0" width="480" height="300"></iframe></div>
<h2>6 Interactive Tutorials to choose from</h2>
<p>Games, apps - you can build anything with TouchDevelop! For the Hour of Code, we have been featuring six interactive tutorials that show you how to get started.</p>
<div style="text-align: center;"><img style="margin-right: 0px; margin-left: 0px;" src="https://az31353.vo.msecnd.net/pub/sefphldk" alt="screenshot" width="90" height="58" /><img style="margin-right: 0px; margin-left: 0px;" src="https://az31353.vo.msecnd.net/pub/ojefqwbp" alt="screenshot" width="90" height="58" /><img style="margin-right: 0px; margin-left: 0px;" src="https://az31353.vo.msecnd.net/pub/dkjikzvn" alt="screenshot" width="90" height="58" /><img style="margin-right: 0px; margin-left: 0px;" src="https://az31353.vo.msecnd.net/pub/pwrqfgvr" alt="screenshot" width="90" height="58" /><img style="margin-right: 0px; margin-left: 0px;" src="https://az31353.vo.msecnd.net/pub/rigzqzdx" alt="screenshot" width="90" height="58" /><img src="https://az31353.vo.msecnd.net/pub/edwmwvjo" alt="screenshot" width="90" height="58" /></div>
<p>Here&rsquo;s the ranked list of our most popular tutorials, and how long it takes for the typical participant to complete the coding, and how much time one typically spends playing and enjoying the game.</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="48">
<p>rank</p>
</td>
<td valign="top" width="115">
<p>tutorial name</p>
</td>
<td valign="top" width="93">
<p>coding time</p>
</td>
<td valign="top" width="77">
<p>play time</p>
</td>
</tr>
<tr>
<td valign="top" width="48">
<p>1.</p>
</td>
<td valign="top" width="115">
<p><em><a href="https://www.touchdevelop.com/hoc">monster slicer</a></em></p>
</td>
<td valign="top" width="93">
<p>10:33</p>
</td>
<td valign="top" width="77">
<p>2:53</p>
</td>
</tr>
<tr>
<td valign="top" width="48">
<p>2.</p>
</td>
<td valign="top" width="115">
<p><em><a href="https://www.touchdevelop.com/hoc">turtle drawings</a></em></p>
</td>
<td valign="top" width="93">
<p>6:35</p>
</td>
<td valign="top" width="77">
<p>4:31</p>
</td>
</tr>
<tr>
<td valign="top" width="48">
<p>3.</p>
</td>
<td valign="top" width="115">
<p><em><a href="https://www.touchdevelop.com/hoc">falling rocks</a></em></p>
</td>
<td valign="top" width="93">
<p>14:55</p>
</td>
<td valign="top" width="77">
<p>4:12</p>
</td>
</tr>
<tr>
<td valign="top" width="48">
<p>4.</p>
</td>
<td valign="top" width="115">
<p><em><a href="https://www.touchdevelop.com/hoc">bubble popper</a></em></p>
</td>
<td valign="top" width="93">
<p>13:34</p>
</td>
<td valign="top" width="77">
<p>4:39</p>
</td>
</tr>
<tr>
<td valign="top" width="48">
<p>5.</p>
</td>
<td valign="top" width="115">
<p><em><a href="https://www.touchdevelop.com/hoc">soundboard</a></em></p>
</td>
<td valign="top" width="93">
<p>7:09</p>
</td>
<td valign="top" width="77">
<p>2:39</p>
</td>
</tr>
<tr>
<td valign="top" width="48">
<p>6.</p>
</td>
<td valign="top" width="115">
<p><em><a href="https://www.touchdevelop.com/hoc">love me not</a></em></p>
</td>
<td valign="top" width="93">
<p>5:59</p>
</td>
<td valign="top" width="77">
<p>2:58</p>
</td>
</tr>
</tbody>
</table>
<p>(All reported times are median times, in minutes:seconds.)</p>
<h2>high completion rates</h2>
<p>The <em>turtle drawings </em>tutorial had the highest completion rate &ndash; more than 60% of all participants who completed the first step also made it through all remaining 18 steps.</p>
<h2>do your own Hour of Code</h2>
<p>It&rsquo;s not too late to experience the joy of coding with TouchDevelop for yourself! Try one of the tutorials at <a href="https://www.touchdevelop.com/hoc">https://www.touchdevelop.com/hoc </a></p>
<p>Check out our <a href="https://www.touchdevelop.com/docs/hourofcodeeducatornotes">educators notes</a>&nbsp;if you want to organize an event or class.</p>
<h2>beyond an Hour of Code</h2>
<p>If you have completed the tutorials, read the <a href="https://www.touchdevelop.com/pmdfa/info">notes on love me not</a> and the <a href="https://www.touchdevelop.com/tgewlpgn/info">notes on turtle drawings</a>. The notes build on what you learnt in the tutorial and give you the fundamental understanding of some of the elements of TouchDevelop. Together with your imagination, you will be able to create scripts that amuse, amaze, and assist yourself and others.</p>
<p>Like <a href="http://facebook.com/TouchDevelop">TouchDevelop on Facebook</a> to stay up to date.</p>]]></content:encoded>
    </item>
    <item>
      <title>Releasing TouchDevelop for Android: a companion app to receive notifications</title>
      <link>https://docs.microsoft.com/archive/blogs/nikolait/releasing-touchdevelop-for-android-a-companion-app-to-receive-notifications</link>
      <pubDate>Thu, 05 Dec 2013 18:56:00 GMT</pubDate>
      <dc:creator><![CDATA[Nikolai Tillmann]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/nikolait/2013/12/05/releasing-touchdevelop-for-android-a-companion-app-to-receive-notifications/</guid>
      <description><![CDATA[Today, the TouchDevelop team is excited to announce the first release of a TouchDevelop app for...]]></description>
      <content:encoded><![CDATA[<p>Today, the TouchDevelop team is excited to announce the first release of a <a href="https://play.google.com/store/apps/details?id=com.microsoft.touchdevelop"><strong>TouchDevelop app for Android</strong></a>.</p>
<p>The TouchDevelop team at Microsoft Research has taken on the mission to enable anyone who has a mobile device to create apps directly on the device. Our <a href="http://blogs.msdn.com/b/nikolait/archive/2011/04/09/announcing-touchstudio.aspx">first release in 2011</a> was an app designed exclusively for Windows Phone. <a href="http://blogs.msdn.com/b/nikolait/archive/2012/10/22/announcing-touchdevelop-web-app-preview.aspx">In 2012, we released</a> the <a href="https://www.touchdevelop.com/app/">TouchDevelop Web App</a> that runs pretty much on any modern device in a web browser: not just Windows Phone, but also iPhone, iPad, Android, and it also runs on PCs, Macs, and some other systems.</p>
<h2>TouchDevelop &ndash; the future of app development</h2>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/2746.screenshot_4_2B87983E.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/2746.screenshot_5F00_4_5F00_2B87983E.png"><img style="margin: 8px 0px 8px 8px; display: inline;" title="screenshot_4" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/0285.screenshot_4_thumb_66DAFDFC.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/0285.screenshot_5F00_4_5F00_thumb_5F00_66DAFDFC.png" alt="screenshot_4" width="148" height="244" align="right" border="0" /></a>TouchDevelop brings everything together that we envision for the future of app development:</p>
<ul>
<li>an integrated development environment optimized for mobile devices with touch-screens</li>
<li>cross-platform development: pick up any device to write or run code</li>
<li>a built-in <a href="https://www.touchdevelop.com/docs/debugging">on-device debugger</a> and <a href="https://www.touchdevelop.com/docs/insights">crowd-sourced insights</a> including coverage, profiling, and crash logging</li>
<li>a sharing platform to get other people to try out your apps, give hearts, take screenshots, write comments, create code variations</li>
<li><a href="https://www.touchdevelop.com/hoc">interactive guided tutorials</a> that help you get started even if you have never programmed before</li>
<li>a really powerful programming language that includes a <a href="https://www.touchdevelop.com/docs/gameboard">physics engine</a> to build fun games, <a href="https://www.touchdevelop.com/docs/pagesandboxes">boxes</a> to compose forms for quick data display and entry, <a href="https://www.touchdevelop.com/docs/cloudsessions">cloud data</a> to build apps with automated data replication, and much more!</li>
</ul>
<h2>TouchDevelop for Android</h2>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/5516.image_34772A7D.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/5516.image_5F00_34772A7D.png"><img style="margin: 8px 8px 8px 0px; display: inline;" title="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/0310.image_thumb_0D3CE148.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/0310.image_5F00_thumb_5F00_0D3CE148.png" alt="image" width="154" height="244" align="left" border="0" /></a>While the TouchDevelop app works great in a web browser, the TouchDevelop app for Android enables an important aspect of a native app experience: <strong>notifications</strong>. The TouchDevelop app for Android allows you to receive notifications directly on your Android phone or tablet related to your user account. You&rsquo;ll get notified when someone gives you a heart, writes a comment, takes a screenshot, or creates a variation of your code.</p>
<p><a href="https://play.google.com/store/apps/details?id=com.microsoft.touchdevelop"><strong>Download TouchDevelop for Android from the Google Play store!</strong></a></p>
<p>You&rsquo;ll notice that the app will still open the Chrome browser at <a href="https://www.touchdevelop.com/app/">https://www.touchdevelop.com/app/</a> for the actual TouchDevelop experience. That&rsquo;s because the TouchDevelop system is implemented in HTML5, and most Android versions do not support using all of the latest and the greatest HTML5 within any app other than the Chrome browser.</p>
<h2>Looking ahead: WebAppBooster</h2>
<p><img style="margin: 8px 0px 8px 8px; display: inline;" src="https://az31353.vo.msecnd.net/pub/tqhemwdf" alt="picture" align="right" />The native TouchDevelop app for Windows Phone exposes many sensors and much of the data available on the phone (NFC, Bluetooth, your songs and pictures, etc.) However, the TouchDevelop Web App running inside of the Chrome browser on Android cannot access all those sensors and data directly. We are working on a way to expose this information on Android: WebAppBooster is a free Android app that gives the TouchDevelop Web App access to sensors and data of your Android phone or tablet.</p>
<p>At this time, WebAppBooster is still a work in progress, and not all sensors and data providers are exposed yet. <a href="https://www.touchdevelop.com/docs/webappbooster]">Learn more&hellip;</a></p>
<h2>stay in touch</h2>
<p>Like <a href="http://facebook.com/TouchDevelop">TouchDevelop on Facebook</a> to stay up to date.</p>]]></content:encoded>
    </item>
    <item>
      <title>TouchDevelop: Hour of Code tutorials</title>
      <link>https://docs.microsoft.com/archive/blogs/nikolait/touchdevelop-hour-of-code-tutorials</link>
      <pubDate>Tue, 26 Nov 2013 06:04:00 GMT</pubDate>
      <dc:creator><![CDATA[Nikolai Tillmann]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/nikolait/2013/11/26/touchdevelop-hour-of-code-tutorials/</guid>
      <description><![CDATA[A PC in every home, a smartphone in every pocket &ndash; billions of people now own a computer, be...]]></description>
      <content:encoded><![CDATA[<p>A PC in every home, a smartphone in every pocket &ndash; billions of people now own a computer, be it in the shape of a smartphone, a tablet, or a PC. Smartphones have become our personal companions, connecting us with the ones with love, storing our personal memories in the form of pictures and videos, playing our music, and managing everything else digital that&rsquo;s important to us.</p>
<p><a href="http://www.csedweek.org"><img style="border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block;" src="https://az31353.vo.msecnd.net/c04/fmkb.png" alt="Hour of Code" border="0" /></a></p>
<p>The <a href="http://www.csedweek.org">Hour of Code</a> is an initiative to demystify how all of that magic actually works, putting us back into the driving seat. During one week in December, millions of students will get the opportunity to learn how to program computers, write code and create apps. They will become creators and not just consumers of technology.</p>
<p><a href="https://www.touchdevelop.com/hoc"><img style="margin: 8px auto; border: 0px currentcolor; float: none; display: block;" title="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/4075.image_10ABD43B.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/4075.image_5F00_10ABD43B.png" alt="image" width="408" height="97" border="0" /></a>At Microsoft Research, we believe that anyone can learn to create apps, and that it can be a fun and rewarding experience. We created TouchDevelop, an app to create apps, which turns this idea into reality. You can use TouchDevelop on all <a href="https://www.touchdevelop.com/platforms">modern devices</a>: Windows Phone, iPhone, iPad, Android, PCs, Macs, &hellip; That&rsquo;s right: you can create apps with nothing else but your smartphone or your tablet. To help you get started, we&rsquo;ve built an awesome tutorial experience that will guide you step by step to your very own first app in as little as 10 minutes &ndash; even if you have never coded before.</p>
<div style="text-align: center;"><iframe class="video-frame" src="http://www.youtube-nocookie.com/embed/g7EuUc4zJYE" frameborder="0" width="480" height="300"></iframe></div>
<h2>Hour of Code tutorials</h2>
<p>TouchDevelop comes with many step-by-step tutorials, and we will be adding even more soon.</p>
<p>We are featuring four tutorials for the Hour of Code, all available at <strong><a href="https://www.touchdevelop.com/hoc">touchdevelop.com/hoc</a></strong></p>
<p>Join the thousands of people of all ages who have been using these new tutorials in TouchDevelop over the past few weeks. Even if you already know how to create apps with TouchDevelop, go ahead and show your friends how easy it can be! Let them create their own game or app with TouchDevelop.</p>
<h2>falling rocks</h2>
<p><a href="https://www.touchdevelop.com/hoc"><img style="border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block;" src="https://az31353.vo.msecnd.net/pub/dkjikzvn" alt="screenshot" border="0" /></a></p>
<p><strong>Are you ready to create your own game? </strong>The rules of the game are simple: the monster can move sideways by tilting the device; you lose a life when hitting a falling rock or the walls. Good luck!</p>
<p>This is a great tutorial if you are working on a mobile device that has an accelerometer &ndash; the game uses this sensor detect if you tilt your phone or tablet, and then the figure on the screen will move accordingly.</p>
<h3>love me not</h3>
<p><a href="https://www.touchdevelop.com/hoc"><img style="border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block;" src="https://az31353.vo.msecnd.net/pub/ojefqwbp" alt="screenshot" border="0" /></a></p>
<p><strong>Are you ready to build a love, love me not app? </strong>When you tap on a petal, it floats down and a random love sentences flies up.</p>
<h3>monster slicer</h3>
<p><a href="https://www.touchdevelop.com/hoc"><img style="border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block;" src="https://az31353.vo.msecnd.net/pub/sefphldk" alt="screenshot" border="0" /></a></p>
<p><strong>Are you ready to create your own game? </strong>In this tutorial, you will learn how to build an awesome game where you have to tap a monster (or a flower) to prevent it from bouncing off the bottom!</p>
<h3>turtle drawings</h3>
<p><a href="https://www.touchdevelop.com/hoc"><img style="border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block; width: 480px; height: 309px;" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/3632.ahhpqcco.jfif" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41/3632.ahhpqcco.jfif" alt="screenshot" border="0" /></a></p>
<p><strong>Are you ready to create an app? </strong>In this tutorial, you will create crazy drawings by controlling a turtle.</p>
<h2>educator notes</h2>
<p><img style="margin-right: auto; margin-left: auto; float: none; display: block;" src="https://az31353.vo.msecnd.net/pub/olmbhvfn" alt="picture" width="480" height="96" /></p>
<p>If you are a teacher, or want to organize a coding event, check out our <a href="https://www.touchdevelop.com/docs/hourofcodeeducatornotes">educator notes</a> &ndash; a recipe to run an awesome Hour Of Code event with TouchDevelop!</p>
<h2>create your own tutorials</h2>
<p>It&rsquo;s really easy for you to create your own tutorials! All you really have to do is to come up a goal script, and then our tutorial engine will guide the user step-by-step to re-create the code. <a href="https://www.touchdevelop.com/docs/creatinginteractivetutorials">Learn more&hellip;</a></p>
<h2>stay in touch</h2>
<p>Like <a href="http://facebook.com/TouchDevelop">TouchDevelop on Facebook</a> to stay up to date.</p>]]></content:encoded>
    </item>
    <item>
      <title>Announcing contest winners + TouchDevelop v3.2: Interactive Tutorials</title>
      <link>https://docs.microsoft.com/archive/blogs/nikolait/announcing-contest-winners-touchdevelop-v3-2-interactive-tutorials</link>
      <pubDate>Tue, 19 Nov 2013 07:00:00 GMT</pubDate>
      <dc:creator><![CDATA[Nikolai Tillmann]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/nikolait/2013/11/19/announcing-contest-winners-touchdevelop-v3-2-interactive-tutorials/</guid>
      <description><![CDATA[The final round of the Microsoft Touch of Summer 2013 Contest is over, and we are happy to announce...]]></description>
      <content:encoded><![CDATA[<p>The final round of the <a href="https://www.touchdevelop.com/summer2013contest">Microsoft Touch of Summer 2013 Contest</a> is over, and we are happy to announce the <strong>contest winners</strong> who created awesome scripts!</p>
<p>Also, <a href="http://www.windowsphone.com/s?appId=fe08ccec-a360-e011-81d2-78e7d1fa76f8">TouchDevelop v3.2 for Windows Phone 8</a> is out! It is a bug fix update &ndash; many thanks to all our users who send us feedback! When you launch the app, it shows you some exciting new content: <strong>interactive tutorials</strong>.</p>
<p>Like <a href="http://facebook.com/TouchDevelop">TouchDevelop on Facebook</a> to stay up to date.</p>
<h2>Contest winners</h2>
<p>Thanks to everyone who submitted a script and to everyone who voted for their favorites! Out of the many submission for the last contest period, three winners emerged. Congratulations! Each winner will receive $500 in cash.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/2570.image_628D3BFD.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/2570.image_5F00_628D3BFD.png"><img style="margin: 8px 8px 8px 0px; display: inline;" title="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/2502.image_thumb_04E4D177.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/2502.image_5F00_thumb_5F00_04E4D177.png" alt="image" width="150" height="216" align="left" border="0" /></a><strong><a href="https://www.touchdevelop.com/bclr">Lazy Garfield</a></strong> is by Ahmadreza Khonsari, age 15, from Canada, also known as <a href="https://www.touchdevelop.com/semqa">ZedStudio</a> in TouchDevelop. A fun game with no less than 114 pieces of art! Here&rsquo;s the game description: &ldquo;<em>As usual Garfield is hungry again and you have to help him to collect foods, in the meanwhile you have to make sure that he doesn't fall from the Hotdog Platforms. Survive to collect coins and with the coins, you can buy stuff; for example, Sunglasses, Hats and etc. BE WARNED: This game is INSANELY addictive! </em>&rdquo;</p>
<p>The game can use your device&rsquo;s accelerometer to control the action, and your achievements are tracked by an online leaderboard.</p>
<p>Ahmadreza tells us the following about the game creation process: "<em>Lazy Garfield is the most complicated app that I have ever made.&nbsp;[...] I spent around 2 month for finishing Lazy Garfield, I spent around 2 or 3 weeks for developing the actual game and I spent a month for developing the Costumes Store (In-Game Store).</em>"</p>
<p>If you are running Windows 8 or Windows 8.1, you can also get the <strong><a title="Lazy Garfield" href="http://apps.microsoft.com/windows/en-US/app/2d80ada6-177b-4eb2-b918-352a29d8e248">Lazy Garfield app in the Windows Store</a></strong>.</p>
<p><img style="margin: 8px 0px 8px 8px; display: inline;" src="https://az31353.vo.msecnd.net/pub/qsmjqgye" alt="by rnb_psp19, 1 month ago" width="144" height="240" align="right" />In the productivity category, the winning script is <strong><a href="https://www.touchdevelop.com/wfcl">Scroogle Search</a></strong> by Noel Arthur Mangalonzo, age 20, from the Philippines, also known as <a href="https://www.touchdevelop.com/wryra">rnb_psp19</a>&nbsp;in TouchDevelop.</p>
<p>Here&rsquo;s the list of features: "<em>Unlimited scrolling results (automatically fetches next batch of results at end of page). Rich settings (safe mode, google domain select, language and multiple country restrict).</em>" Note that you&rsquo;ll need to obtain your own personal Google API key to run the script.&nbsp;</p>
<p>Noel uses TouchDevelop on a phone: "<em>I can't live a day without writing a single line of code. So when a power outage, due to a storm, broke my laptop, my phone was the first thing I picked up (it's the only other equipment I have where I could possibly code). Instantly, I fired up TouchDevelop.</em>"</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/6305.image_4FD84246.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/6305.image_5F00_4FD84246.png"><img style="margin: 8px 8px 8px 0px; border: 0px currentColor; display: inline;" title="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/8484.image_thumb_5280FDF7.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/8484.image_5F00_thumb_5F00_5280FDF7.png" alt="image" width="244" height="231" align="left" border="0" /></a><strong><a href="https://www.touchdevelop.com/gdwxa">Quantum Random</a></strong>&nbsp;by Eric Johnston, age 44, from the USA, also known as&nbsp;<a href="https://www.touchdevelop.com/ajld">machinelevel</a>&nbsp;in TouchDevelop, is the winning script in the Education and Society category.</p>
<p>Eric says: &ldquo;<em>While most programs and apps use 'pseudo-random' patterns to try to appear random, this one actually receives random numbers generated on a quantum optics bench by the brilliant and fun team at Australian National University. (<a href="http://qrng.anu.edu.au/">http://qrng.anu.edu.au/</a>)</em>&rdquo; Such truly random numbers can be used for coin toss, treasure finding, song picking, a love machine, a card picker, to help pick your next lottery numbers, and for snake eyes.</p>
<p>He's "<em>an acrobat, amateur quantum computation geek, and professional software engineer in San Francisco</em>", and he programmed this script away from the desk: "<em>I noticed TouchDevelop while specifically looking through Microsoft-developed WP8 apps. I wrote most of my Quantum Random program on airplanes and buses, when using a laptop would have been awkward.</em>"</p>
<p>If you didn&rsquo;t win this time, don&rsquo;t despair, we are planning to have more contests in the future!</p>
<h2>TouchDevelop v3.2: Interactive Tutorials</h2>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/1121.image_645D91C4.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/1121.image_5F00_645D91C4.png"><img style="margin: 8px 8px 8px 0px; display: inline;" title="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/7206.image_thumb_0B2BA805.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/7206.image_5F00_thumb_5F00_0B2BA805.png" alt="image" width="185" height="244" align="left" border="0" /></a>TouchDevelop now comes with a new set of interactive tutorials. The entire TouchDevelop team is really excited about these tutorials, as they can turn anyone into an app creator!</p>
<p>The tutorials are <strong>interactive</strong>; they guide you step-by-step on the way to your first app. Tool tips show you exactly which buttons to press. If you make a mistake, they will show you how&nbsp;to&nbsp;get back on track.</p>
<p>Even if you already know how to create apps with TouchDevelop, go ahead and show your friends how easy it can be! Let them create their own game or app with Touchdevelop</p>
<p>Tutorials are also available in the <a href="https://touchdevelop.com/app/">TouchDevelop Web App</a> on any device. Look out for another blog post in the future where I&rsquo;ll drill down into how these tutorials work.&nbsp;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/4505.screenshot_3_18FDEE00.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/4505.screenshot_5F00_3_5F00_18FDEE00.png"><img style="margin: 8px 8px 8px 0px; display: inline;" title="screenshot_3" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/8880.screenshot_3_thumb_26D033FB.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/8880.screenshot_5F00_3_5F00_thumb_5F00_26D033FB.png" alt="screenshot_3" width="284" height="472" border="0" /></a> <a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/6646.screenshot_4_71C3A4CA.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/6646.screenshot_5F00_4_5F00_71C3A4CA.png"><img style="margin: 8px 0px 8px 8px; display: inline;" title="screenshot_4" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/2045.screenshot_4_thumb_7F95EAC5.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/2045.screenshot_5F00_4_5F00_thumb_5F00_7F95EAC5.png" alt="screenshot_4" width="284" height="472" border="0" /></a></p>
<p>Oh, and we also got rid of the requirement to log in. Unless you want to publish new content, or want to use certain cloud-based functions, you don&rsquo;t need to log in anymore if you just want to try out TouchDevelop.</p>
<h2>stay in touch</h2>
<p>Like <a href="http://facebook.com/TouchDevelop">TouchDevelop on Facebook</a> to stay up to date.</p>]]></content:encoded>
    </item>
    <item>
      <title>cloud data for TouchDevelop released today</title>
      <link>https://docs.microsoft.com/archive/blogs/nikolait/cloud-data-for-touchdevelop-released-today</link>
      <pubDate>Mon, 28 Oct 2013 14:26:00 GMT</pubDate>
      <dc:creator><![CDATA[Nikolai Tillmann]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/nikolait/2013/10/28/cloud-data-for-touchdevelop-released-today/</guid>
      <description><![CDATA[What makes some of the best mobile apps great is the ability to share data, game progress, or to...]]></description>
      <content:encoded><![CDATA[<p>What makes some of the best mobile apps great is the ability to share data, game progress, or to play or work together with your friends or other people at the same time.</p>
<p>Today is a big day for TouchDevelop: We are releasing <strong>cloud data</strong>, a super easy, integrated way to create apps with distributed program state. All you have to do is mark some of your tables or indices as cloud, and the TouchDevelop runtime system does the rest to upload the data to the cloud, and download it to all relevant clients. The feature is now available in the TouchDevelop Web App on <a href="https://www.touchdevelop.com/">touchdevelop.com</a>&nbsp;and in the <a href="http://www.windowsphone.com/s?appId=fe08ccec-a360-e011-81d2-78e7d1fa76f8">TouchDevelop app for Windows Phone 8</a>.&nbsp;</p>
<p>Check out the sample scripts below, or create a new script with the <strong>blank cloud app</strong> template to get going.</p>
<p>Like <a href="http://facebook.com/TouchDevelop">TouchDevelop on Facebook</a> to stay up to date.</p>
<h2>what is the challenge?</h2>
<p><a href="https://www.touchdevelop.com/qcjn"><img style="margin: 8px 8px 8px 0px; display: inline;" title="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/0310.image_7FE8B72B.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/0310.image_5F00_7FE8B72B.png" alt="image" width="302" height="216" align="left" border="0" /></a>What does it take to create an app that uses data shared between many devices and many people?</p>
<p>Well, you would typically need to subscribe to some cloud service that stores, manages and distributes the data; you need to somehow glue the cloud together with your mobile app, and deal with conflicts in the data; while mobile devices tend to be connected to the internet most of the time, you also have to deal with scenarios where the internet connection is lost, for example when you enter a tunnel or an airplane. You would want your app to keep working, and gracefully resume cloud-connected operations once the internet connection is re-established.</p>
<p>There are many powerful approaches that make all of this possible day. For example, you can create a <a href="http://www.windowsazure.com/en-us/">Windows Azure</a> account to get access to a cloud service, and you can use the <a href="http://www.windowsazure.com/en-us/develop/mobile/">Mobile Services</a> package that comes with code templates to use in languages such as C# and JavaScript to glue your mobile app to the cloud. Such an approach might involve writing or adapting code in multiple languages, for example SQL for transactions and queries, JavaScript for business logic that runs on the server, and C# for your Windows Phone client code.</p>
<p>Can it be even simpler?</p>
<h3>just tag it as cloud!</h3>
<p><img style="margin: 8px 0px 8px 8px; display: inline;" src="https://az31353.vo.msecnd.net/pub/orqcvddh" alt="picture" align="right" /></p>
<p>With TouchDevelop cloud data, you don&rsquo;t have to set up your own cloud service, and you don&rsquo;t have to learn new programming languages. Cloud data is fully integrated as a language feature in TouchDevelop, and there is only a tiny tweak needed to bring cloud data to your program: Go to the definition of one of your tables or indices (in the records section), and change the record kind from &ldquo;table&rdquo; to &ldquo;<strong>cloud table</strong>&rdquo;, or from &ldquo;index&rdquo; to &ldquo;<strong>cloud index</strong>&rdquo;.</p>
<p><img style="margin: 8px auto; float: none; display: block;" src="https://az31353.vo.msecnd.net/pub/xeoyrbdn" alt="picture" width="460" height="215" /></p>
<p>By default, cloud data is shared between all your devices where you have signed in with the same credentials. There are many ways to enable sharing with other people; the easiest is to add the following line of code:</p>
<blockquote>
<p><strong>cloud data &rarr; switch to session(cloud data &rarr; everyone session)</strong></p>
</blockquote>
<h2>how it works</h2>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/3301.image_620A332A.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/3301.image_5F00_620A332A.png"><img style="margin: 8px 8px 8px 0px; display: inline;" title="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/8686.image_thumb_6446BBE6.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/8686.image_5F00_thumb_5F00_6446BBE6.png" alt="image" width="314" height="273" align="left" border="0" /></a> All cloud data is first of all stored locally on the device where you are working. That's why everything works offline as well. If your device has a working internet connection, data changes you make locally get sent to a TouchDevelop cloud service, and any new changes available in the cloud from other devices are downloaded to your device. As a result, the cloud and any other connected device maintains a full copy of the relevant data. When you connect with a new device, it will automatically download all the data from the cloud.</p>
<p>You can manage your cloud data in the app: go to your user page, tap on <strong>private</strong>, <strong>cloud sessions</strong>. You can see and delete your cloud data stored on your device or in the cloud.</p>
<p>We&rsquo;ll impose limitations on the size of each individual session, and on the combined size of the data stored in all of your cloud session. In future, we are planning to give you an option to export your cloud data to your own Windows Azure account, where no such limitations would apply.&nbsp;</p>
<h2>sample scripts</h2>
<p>Take a look at the following sample scripts to see cloud data in action.</p>
<p>Sample scripts written by the TouchDevelop team:</p>
<ul>
<li><a href="https://www.touchdevelop.com/blqz">cloud list</a> - a simple list using cloud data</li>
<li><a href="https://www.touchdevelop.com/mqwf">quick vote</a> - very simple voting app</li>
<li><a href="https://www.touchdevelop.com/qcjn">cloud paper scissors</a> - real time matchmaking and gameplay of the classic game</li>
<li><a href="https://www.touchdevelop.com/afqc">Cloud Square</a> - age old game for keeping kids occupied at restaurants</li>
<li><a href="https://www.touchdevelop.com/oxow">Cloud Checkers</a> - thanks to lycan.999 for the initial version!</li>
<li><a href="https://www.touchdevelop.com/fgal">instant poll</a> - quickly polling an audience and displaying the responses as a grid of colors</li>
<li><a href="https://www.touchdevelop.com/ebvb">bird log</a> - Log your bird sightings and share them with other people!</li>
<li><a href="https://www.touchdevelop.com/wipjhykw">contest voting</a> - we'll keep this app around even after the voting period will have closed</li>
<li><a href="https://www.touchdevelop.com/odyd">guess multi-player demo</a> - demo of Cloud Game Selector library</li>
</ul>
<p>Useful libraries created by the TouchDevelop team:</p>
<ul>
<li><a href="https://www.touchdevelop.com/brpq">Barrier user round</a> - helps synchronize multiple players in a game with rounds</li>
<li><a href="https://www.touchdevelop.com/udub">Cloud Game Selector</a> - join multi-player games in cloud sessions</li>
</ul>
<p>Cool scripts written by TouchDevelop users:</p>
<ul>
<li><a href="https://www.touchdevelop.com/dnch">Today's humanity</a> by <a href="https://www.touchdevelop.com/fcnq">Mihai Codoban</a></li>
<li><a href="https://www.touchdevelop.com/ornb">CSCE 1030 DASHBOARD</a> by <a href="https://www.touchdevelop.com/rcbm">Patrick K.</a></li>
</ul>
<h2>the research behind cloud data</h2>
<p>We had been planning to add a cloud data feature since the first released version of TouchDevelop. It turned out to be quite a challenge to hide all the complexity of cloud data so that you don&rsquo;t have to deal with it. One researcher in our group,&nbsp;<a href="http://research.microsoft.com/en-us/people/sburckha/">Sebastian Burckhardt</a>, studied the problem in depth and developed cloud state as we are releasing it today. If you are interested in the theoretical underpinnings, check out the following research papers:</p>
<p><em><a href="http://www.google.com/url?sa=t&amp;rct=j&amp;q=&amp;esrc=s&amp;frm=1&amp;source=web&amp;cd=1&amp;cad=rja&amp;ved=0CCwQFjAA&amp;url=http%3A%2F%2Fresearch.microsoft.com%2Fjump%2F163842&amp;ei=UqpuUqD1KJT7yAG1lYFI&amp;usg=AFQjCNEkBY7JYIsDSygMPuW9ThBAgXI2Mg&amp;sig2=R8Z3TjQ9iF2xDALmR2VNuw&amp;bvm=bv.55123115,d.aWc">Cloud Types for Eventual Consistency</a>, </em><em><a href="http://research.microsoft.com/apps/pubs/default.aspx?id=158085">Eventually Consistent Transactions</a></em></p>
<p>If you are attending the SPLASH conference this week in Indianapolis,&nbsp;<a href="http://splashcon.org/2013/program/splash-i/991-cloud-sessions-a-simple-face-for-eventual-consistency">come to his talk on Wednesday</a>&nbsp;to hear all about it!</p>
<h2>documentation</h2>
<p><a href="https://www.touchdevelop.com/docs/cloudsessions">Read more about how to use cloud session in your scripts on the TouchDevelop documentation page.</a></p>]]></content:encoded>
    </item>
    <item>
      <title>Microsoft Touch of Summer 2013 Contest</title>
      <link>https://docs.microsoft.com/archive/blogs/nikolait/microsoft-touch-of-summer-2013-contest</link>
      <pubDate>Thu, 17 Oct 2013 17:59:00 GMT</pubDate>
      <dc:creator><![CDATA[Nikolai Tillmann]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/nikolait/2013/10/17/microsoft-touch-of-summer-2013-contest/</guid>
      <description><![CDATA[We received many TouchDevelop script submissions for the August/September period of the Microsoft...]]></description>
      <content:encoded><![CDATA[<p>We received many <a href="https://www.touchdevelop.com/">TouchDevelop</a> script submissions for the August/September period of the <a href="https://www.touchdevelop.com/summer2013contest">Microsoft Touch of Summer 2013 Contest</a>. Thanks to everyone who submitted a script, and to everyone who voted for their favorites! We are now happy to announce the winners. There is one winner in each category.</p>
<p>We&rsquo;ll soon start voting on scripts for the September/October period. If you didn&rsquo;t win this time, or if your script won't be picked for the September/October, or if you didn&rsquo;t quite finish your script yet: Don&rsquo;t despair, we are planning to have more contests in the future!</p>
<p>Like <a href="http://facebook.com/TouchDevelop">TouchDevelop on Facebook</a> to stay up to date.</p>
<h2>Productivity</h2>
<p><img style="margin: 0px 8px 0px 0px; display: inline;" src="https://az31353.vo.msecnd.net/pub/dejhzuzb" alt="by Spon Hum Com, 1 month ago" width="144" height="240" align="left" />The productivity winning script is <a href="https://www.touchdevelop.com/inyha">Digit Clock</a> by <a href="https://www.touchdevelop.com/svid">Spon Hum Com</a>. It&rsquo;s a fancy digital watch that shows not only time, but also the current weather, what appointments you have coming up, and much more!</p>
<p>You will want to run this on your Windows Phone to take advantage of all features.</p>
<p>&nbsp;</p>
<h2>Entertainment</h2>
<p><img style="margin: 0px 0px 0px 8px; display: inline;" src="https://az31353.vo.msecnd.net/pub/tuxkaasc" alt="by Nikolai@TouchDevelop, 25 seconds ago" width="144" height="240" align="right" />The winning game script is <a href="https://www.touchdevelop.com/fcfda">JungleMaster</a> by <a href="https://www.touchdevelop.com/xffm">SpiegelEye</a>. Here is what the authors says: &ldquo;<em>JungleMaster is a classical master mind game. If you don't know the rules, you can find it on the internet.</em>&rdquo; It&rsquo;s a really great way to hone your code-breaking skills; hours of fun in the jungle.</p>
<p>We really liked the graphics of this game.</p>
<p>It looks best on a smartphone, but also runs great on tablets and PCs.</p>
<h2>Society and Education</h2>
<p><img style="margin: 0px 8px 0px 0px; display: inline;" src="https://az31353.vo.msecnd.net/pub/ajrimodl" alt="by User81453, 3 months ago" width="144" height="240" align="left" />If you want to practice your math skills, try the winning Entertainment script: <a href="https://www.touchdevelop.com/hhuc">Quick Math</a> by <a href="https://www.touchdevelop.com/onqt">nomad_Kid</a>. Here is what the author says: &ldquo;<em>This app intends to help [&hellip;] to learn basic arithmetic in a simpler and quicker way. The idea of this app is basically from the memory when I was a kid learning basic arithmetic. Even addition and subtraction within 10 took me many days to get familiar with. At that time, I did plenty of practice exercises. Therefore, I am trying to develop this app that can generate random basic arithmetic questions [&hellip;]. I hope they can have fun learning basic arithmetic. When I was trying to develop this app, I found an app- <a href="https://www.touchdevelop.com/bxcza">LetterDefender</a>, designed by <a href="https://www.touchdevelop.com/eadb">Russel Beattie</a>, which can present my idea very well, so I used some lines of code in LetterDefender. For this version, features included: 1. Question types: "+" , "-" , "*" , "/" , "mixed" 2. Level of difficulty 3. Maximum number 4. Tutorial --- 4 basic math tricks in two slides 5. Bonus questions 6. More sound effects</em>&rdquo;</p>]]></content:encoded>
    </item>
    <item>
      <title>Announcing TouchDevelop v3.1: Bluetooth, pin to start, Radio, debugger, profiler, insights, tutorials, videos</title>
      <link>https://docs.microsoft.com/archive/blogs/nikolait/announcing-touchdevelop-v3-1-bluetooth-pin-to-start-radio-debugger-profiler-insights-tutorials-videos</link>
      <pubDate>Thu, 19 Sep 2013 04:11:00 GMT</pubDate>
      <dc:creator><![CDATA[Nikolai Tillmann]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/nikolait/2013/09/19/announcing-touchdevelop-v3-1-bluetooth-pin-to-start-radio-debugger-profiler-insights-tutorials-videos/</guid>
      <description><![CDATA[The TouchDevelop team is excited to announce that the latest update of the TouchDevelop app is now...]]></description>
      <content:encoded><![CDATA[<p>The TouchDevelop team is excited to announce that the latest update of the TouchDevelop app is now available.</p>
<p>We&rsquo;d like to thank all of our beta testers &ndash; we considered all of your feedback and suggestions when we prepared this update.</p>
<p>TouchDevelop v3.1 for Windows Phone brings back an easy way to pin your scripts to the start screen, and it also enables cycle tiles so that you can show different pictures. The update introduces support for certain Bluetooth protocols, and it brings back support for radio APIs on supported phones. It also bundles many improvements that were already available in the TouchDevelop web app, including a debugger, a profiler, tons of new tutorials and videos.</p>
<p>If you have a Windows Phone 8 device then you can <a href="http://windowsphone.com/s?appId=fe08ccec-a360-e011-81d2-78e7d1fa76f8">install the latest version from the Windows Phone Store</a>. (This update is only available on Windows Phone 8 devices. Devices running a Windows Phone 7.x OS can continue to use TouchDevelop v2.11.)</p>
<p>Like <a href="http://facebook.com/TouchDevelop">TouchDevelop on Facebook</a> to stay up to date.</p>
<h2>Pin to start</h2>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/2772.image_68C8A039.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/2772.image_5F00_68C8A039.png"><img style="margin: 0px 8px 8px 0px; display: inline;" title="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/2705.image_thumb_21734A47.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/2705.image_5F00_thumb_5F00_21734A47.png" alt="image" width="244" height="95" align="left" border="0" /></a> We brought back an easy-to-use button that enables you to pin any installed script to your start screen.</p>
<p>You can also use one of the following new APIs in your code to have a custom tile show a single picture, rotate between several images, and more.</p>
<ul>
<li><a href="https://www.touchdevelop.com/docs/tilespinpicture">Tiles &rarr; pin picture</a>: Pins or updates the default tile with a custom picture.</li>
<li><a href="https://www.touchdevelop.com/docs/tilespinpictures">Tiles &rarr; pin pictures</a>: Tile that rotates between up to 9 images.</li>
</ul>
<h2>Bluetooth</h2>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/4846.image_5D32E2FA.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/4846.image_5F00_5D32E2FA.png"><img style="margin: 0px 0px 8px 8px; display: inline;" title="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/1715.image_thumb_35F899C5.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/1715.image_5F00_thumb_5F00_35F899C5.png" alt="image" width="224" height="370" align="right" border="0" /></a> You can now enumerate all paired Bluetooth devices, connect to them, and exchange data with them using the RFCOMM protocol. <a href="https://www.touchdevelop.com/docs/bluetooth">Learn more&hellip;</a></p>
<p>This protocol is supported by many different Bluetooth-enabled gadgets. But whatever particular device you have, you must first find information about the data packets that it can send and receive in order to make sense out of the Bluetooth API.</p>
<p>We created some example scripts around the <a href="https://www.gosphero.com/">Sphero ball</a> that understands navigation commands via Bluetooth to move around. Check out the following scripts to learn how to use Bluetooth:</p>
<ul>
<li><a href="https://www.touchdevelop.com/hrky">sphero turtle</a>: a library to move a Sphero as if it was a turtle</li>
<li><a href="https://www.touchdevelop.com/evii">sphero turtle drawing</a>: a sample script that uses the library</li>
</ul>
<p>Or simply look out for the <strong>Sphero tutorial</strong> template when you tap on the <strong>Create Script</strong> button in the hub.</p>
<h2>Radio support</h2>
<p><a href="https://www.touchdevelop.com/docs/radio">Radio support</a> is back. We dropped it temporarily as early versions of Windows Phone 8 didn&rsquo;t expose the radio functionality. All radio APIs are now available again on some phones running Windows Phone 8.0.10327.77 or 8.0.10328.78 or better.</p>
<h2>Debugger, profiler, insights</h2>
<p><img style="margin: 0px 8px 8px 0px; display: inline;" src="https://az31353.vo.msecnd.net/pub/mbndlfvb" alt="picture" align="left" />You might have already seen the integrated <a href="https://www.touchdevelop.com/docs/debugging">debugger</a>, <a href="https://www.touchdevelop.com/docs/profiling">profiler</a>, and the <a href="https://www.touchdevelop.com/docs/insights">crowd-sourced runtime insights</a> in the Web App; all these features are now included in the TouchDevelop app for Windows Phone 8.</p>
<h2>Tutorials, videos</h2>
<p><a href="https://www.youtube.com/watch?v=_UsBb4G4YoM"><img style="margin: 0px 0px 8px 8px; display: inline;" title="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/2804.image_519D25BB.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/2804.image_5F00_519D25BB.png" alt="image" width="242" height="137" align="right" border="0" /></a> If you are not yet a professional TouchDevelop programmer, then you might pick up something new in the many <a href="https://www.touchdevelop.com/docs/tutorials">tutorials</a> and <a href="https://www.youtube.com/user/TouchDevelop">videos</a> that are now available.</p>
&nbsp;&nbsp;
<h2>Stay in touch</h2>
<p>Like <a href="http://facebook.com/TouchDevelop">TouchDevelop on Facebook</a> to stay up-to-date.</p>]]></content:encoded>
    </item>
    <item>
      <title>help us make TouchDevelop scripts run faster</title>
      <link>https://docs.microsoft.com/archive/blogs/nikolait/help-us-make-touchdevelop-scripts-run-faster</link>
      <pubDate>Mon, 05 Aug 2013 15:07:00 GMT</pubDate>
      <dc:creator><![CDATA[Nikolai Tillmann]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/nikolait/2013/08/05/help-us-make-touchdevelop-scripts-run-faster/</guid>
      <description><![CDATA[As a development platform, TouchDevelop is committed to running your scripts in a way that is fast...]]></description>
      <content:encoded><![CDATA[<p>As a development platform, TouchDevelop is committed to running your scripts in a way that is fast on all platforms and with minimal energy consumption, allowing scripts to better preserve the battery life of your devices.</p>
<h2>do you want your script to run faster?</h2>
<p>In order to improve your experience, we would like to better understand how fast TouchDevelop scripts run on your devices today. We have built a system to measure the performance of selected benchmarks; when you run any benchmark, the results will get automatically uploaded to the cloud so that we can analyze the performance characteristics. We are considering various compiler optimizations that will make your scripts run faster on any particular device and in any particular browser. To find out which optimizations are most effective, we need your help!</p>
<p><a href="https://www.touchdevelop.com/app/beta/#hub:benchmarksuite"><img style="border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block;" title="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/4276.image_1BE6EAE6.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/4276.image_5F00_1BE6EAE6.png" alt="image" width="401" height="189" border="0" /></a></p>
<h2>run a benchmark</h2>
<p>Tap on the following link to run a single benchmark:</p>
<blockquote>
<p><a href="https://www.touchdevelop.com/app/beta/#hub:singlebenchmark">touchdevelop.com/app/beta/#hub:singlebenchmark</a></p>
</blockquote>
<p>This link will run a single benchmark program from the entire benchmark suites. Depending on your speed, browser platform, and the randomly selected program, the test speed of a single benchmark may vary from a few milliseconds to a minute. Tap on the following link to run the full benchmark suite:</p>
<blockquote>
<p><a href="https://www.touchdevelop.com/app/beta/#hub:benchmarksuite">touchdevelop.com/app/beta/#hub:benchmarksuite</a></p>
</blockquote>
<p>Don&rsquo;t close your browser or move to another tab &ndash; your browser will only run the benchmarks if you stay on the same page. If you wait until all benchmarks have completed, you will get an overview table:</p>
<blockquote>
<p><a href="https://www.touchdevelop.com/app/beta/#hub:benchmarksuite"><img style="margin-right: auto; margin-left: auto; float: none; display: block;" title="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/5756.image_14C7AE6E.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/5756.image_5F00_14C7AE6E.png" alt="image" width="484" height="274" border="0" /></a></p>
</blockquote>
<h2>benchmarks</h2>
<p>We purposely built computation-intensive benchmarks scripts to test the overall system speed and it is expected that it will take some time to complete them. These scripts have ids just like all other scripts (iyyydbkw in the screenshot above); you can open them to investigate what operations are being tested. The full list of benchmark scripts appears below and is a subset of the programs featured in the <a href="http://benchmarksgame.alioth.debian.org">Computer Language Benchmarks Game</a> implemented in TouchDevelop.</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="102">
<p><strong>ID</strong></p>
</td>
<td valign="top" width="162">
<p><strong>Name</strong></p>
</td>
<td valign="top" width="360">
<p><strong>Description</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="102">
<p><a href="https://www.touchdevelop.com/smvepynf">/smvepynf</a><strong></strong></p>
<strong></strong></td>
<td valign="top" width="162">
<p>binary trees</p>
</td>
<td valign="top" width="360">
<p>Allocate many binary trees</p>
</td>
</tr>
<tr>
<td valign="top" width="102">
<p><a href="https://www.touchdevelop.com/iyyydbkw">/iyyydbkw</a><strong></strong></p>
<strong></strong></td>
<td valign="top" width="162">
<p>mandelbrot</p>
</td>
<td valign="top" width="360">
<p>Generate a Mandelbrot set and write in a bitmap</p>
</td>
</tr>
<tr>
<td valign="top" width="102">
<p><a href="https://www.touchdevelop.com/kibzzrvl">/kibzzrvl</a><strong></strong></p>
<strong></strong></td>
<td valign="top" width="162">
<p>spectral norm</p>
</td>
<td valign="top" width="360">
<p>Calculate an eigenvalue using the power method</p>
</td>
</tr>
<tr>
<td valign="top" width="102">
<p><a href="https://www.touchdevelop.com/gkzpyhif">/gkzpyhif</a><strong></strong></p>
<strong></strong></td>
<td valign="top" width="162">
<p>n body</p>
</td>
<td valign="top" width="360">
<p>Perform an N-body simulation of the Jovian planets</p>
</td>
</tr>
<tr>
<td valign="top" width="102">
<p><a href="https://www.touchdevelop.com/hmbgugdu">/hmbgugdu</a><strong></strong></p>
<strong></strong></td>
<td valign="top" width="162">
<p>pfannkuchen</p>
</td>
<td valign="top" width="360">
<p>Repeatedly access a tiny integer-sequence</p>
</td>
</tr>
<tr>
<td valign="top" width="102">
<p><a href="https://www.touchdevelop.com/ezksbyle">/ezksbyle</a><strong></strong></p>
<strong></strong></td>
<td valign="top" width="162">
<p>fasta</p>
</td>
<td valign="top" width="360">
<p>Generate random DNA sequences</p>
</td>
</tr>
<tr>
<td valign="top" width="102">
<p><a href="https://www.touchdevelop.com/sqdrxjsu">/sqdrxjsu</a><strong></strong></p>
<strong></strong></td>
<td valign="top" width="162">
<p>reverse complement</p>
</td>
<td valign="top" width="360">
<p>Read DNA sequences and write their reverse complement</p>
</td>
</tr>
<tr>
<td valign="top" width="102">
<p><a href="https://www.touchdevelop.com/zuakcwjt">/zuakcwjt</a><strong></strong></p>
<strong></strong></td>
<td valign="top" width="162">
<p>k nucleotide</p>
</td>
<td valign="top" width="360">
<p>Repeatedly update tables and k-nucleotide strings</p>
</td>
</tr>
</tbody>
</table>
<h2>compiler optimizations</h2>
<p>If you test a single benchmark instead of the full suite, not only the chosen benchmark will be randomly selected, but also some random optimizations may be selected to help reduce the script run time. The TouchDevelop compiler may end up applying any subset (including the null subset) of the following optimizations:</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="120">
<p><strong>Name</strong></p>
</td>
<td valign="top" width="504">
<p><strong>Description</strong></p>
</td>
</tr>
<tr>
<td valign="top" width="120">
<p><strong>Inlining</strong></p>
</td>
<td valign="top" width="504">
<p>Improves the speed of calls to simple private actions</p>
</td>
</tr>
<tr>
<td valign="top" width="120">
<p><strong>Assertion elimination</strong></p>
</td>
<td valign="top" width="504">
<p>Determines when assertion checks are unnecessary and removes then, improving the speed of the code without sacrificing error checking</p>
</td>
</tr>
<tr>
<td valign="top" width="120">
<p><strong>Block chaining</strong></p>
</td>
<td valign="top" width="504">
<p>Improves the speed of loop-intensive scripts</p>
</td>
</tr>
</tbody>
</table>
<p>If you are curious about comparing the test speed among different devices, you may run the full benchmark suite, which contains 8 programs. Since they are not randomly selected and no optimizations are used, you will get the same speed if you run it multiple times, allowing you to compare the time with other devices.</p>
<h2><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/3632.image_1AA357C3.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/3632.image_5F00_1AA357C3.png"><img style="border: 0px currentcolor; margin-right: auto; margin-left: auto; float: none; display: block;" title="image" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/6864.image_thumb_4F43B3FE.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/6864.image_5F00_thumb_5F00_4F43B3FE.png" alt="image" width="327" height="163" border="0" /></a>acknowledgements</h2>
<p>The benchmarks and compiler optimizations are currently being developed by <a href="http://www.ic.unicamp.br/~ra045840/">Rafael Auler</a> who is currently visiting us from the University of Campinas, Brazil, for a summer internship.</p>
<h2>stay in touch</h2>
<p>Like <a href="http://facebook.com/TouchDevelop">TouchDevelop on Facebook</a> to stay up to date.</p>]]></content:encoded>
    </item>
    <item>
      <title>Debugging TouchDevelop scripts</title>
      <link>https://docs.microsoft.com/archive/blogs/nikolait/debugging-touchdevelop-scripts</link>
      <pubDate>Wed, 10 Jul 2013 00:15:00 GMT</pubDate>
      <dc:creator><![CDATA[Nikolai Tillmann]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.msdn.microsoft.com/nikolait/2013/07/10/debugging-touchdevelop-scripts/</guid>
      <description><![CDATA[You might already know that you can try out upcoming features of the mobile application development...]]></description>
      <content:encoded><![CDATA[<p>You might already know that you can try out upcoming features of the mobile application development environment TouchDevelop by going to <a href="https://www.touchdevelop.com/app/beta">touchdevelop.com/app/<strong>beta</strong></a> which runs the beta version of the TouchDevelop Web App in your browser.</p>
<p>We often get asked what the new features in the beta version are. Right now, we have a really useful new experience lined up in the latest beta 44996: <strong>Debugging</strong>. You have to try out the new debugging experience to see yourself how easy it can be to debug your scripts on your mobile device!</p>
<p>This new feature will become available in the regular TouchDevelop experience later once we have received positive feedback from our beta testers. Everyone is invited to beta test now by going to:</p>
<blockquote>
<p><a href="https://www.touchdevelop.com/app/beta">touchdevelop.com/app/<strong>beta</strong></a></p>
</blockquote>
<p>Like <a href="http://facebook.com/TouchDevelop">TouchDevelop on Facebook</a> to stay up to date.</p>
<p><strong>Update (July 15th): The new debugging experience is now part of the regular TouchDevelop experience </strong>on all platforms, except the TouchDevelop app 2.11 for Windows Phone 7. You might have to refresh the page or clear your caches to get the latest experience.</p>
<h2>running in debug mode</h2>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/4572.debugbutton_64776DD2.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/4572.debugbutton_5F00_64776DD2.png"><img style="margin: 8px 8px 8px 0px; border: 0px currentcolor; display: inline;" title="debugbutton" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/5611.debugbutton_thumb_7A38182C.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/5611.debugbutton_5F00_thumb_5F00_7A38182C.png" alt="debugbutton" width="65" height="64" align="left" border="0" /></a> Once you enter the TouchDevelop script editor, you will see a new big <strong>debug </strong>button next to the familiar run button.</p>
<p>We carefully designed the icon of the new button so that you won&rsquo;t feel like pressing it unless you really want to debug your script. Scripts running in debug mode run slower than normally.</p>
<h2>stepping through your code</h2>
<p>Once you start your script in debugging mode via the <strong>debug </strong>button, you will see an array of new buttons.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/6281.buttons_7318DBB4.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/6281.buttons_5F00_7318DBB4.png"><img style="margin: 8px auto; border: 0px currentcolor; float: none; display: block;" title="buttons" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/6204.buttons_thumb_3E0C4C84.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/6204.buttons_5F00_thumb_5F00_3E0C4C84.png" alt="buttons" width="421" height="100" border="0" /></a></p>
<p>You can <strong>continue</strong>, <strong>step in</strong>, <strong>step over</strong>, and <strong>step out </strong>of the individual statements in your code &ndash; just like you might already know it from other debuggers. You can also choose to exit the debugger and terminate the run.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/4150.breakpoint_79CBE537.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/4150.breakpoint_5F00_79CBE537.png"><img style="margin: 8px 8px 8px 0px; border: 0px currentcolor; display: inline;" title="breakpoint" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/3554.breakpoint_thumb_59B0D87A.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/3554.breakpoint_5F00_thumb_5F00_59B0D87A.png" alt="breakpoint" width="65" height="64" align="left" border="0" /></a> You can set a <strong>breakpoint</strong> at any statement either while editing code, or while debugging. Just tap on a statement and then tap the big red breakpoint button. Tap the button again to remove the breakpoint. Breakpoints are not permanently stored; they may disappear when you leave the editor or debugger.</p>
<p>&nbsp;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/2577.back_3995CBBD.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/2577.back_5F00_3995CBBD.png"><img style="margin: 8px 8px 8px 0px; border: 0px currentcolor; display: inline;" title="back" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/8875.back_thumb_04893C8D.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/8875.back_5F00_thumb_5F00_04893C8D.png" alt="back" width="65" height="64" align="left" border="0" /></a><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/6131.pause_125B8288.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/6131.pause_5F00_125B8288.png"><img style="margin: 8px 8px 8px 0px; border: 0px currentcolor; display: inline;" title="pause" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/1348.pause_thumb_43E6F01D.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/1348.pause_5F00_thumb_5F00_43E6F01D.png" alt="pause" width="64" height="64" align="left" border="0" /></a>While your script is running in debugging mode, the <strong>back</strong> button on the wall takes you back into the code view while the script is still running. You can also <strong>pause</strong> the script by tapping on the pause button on the wall.</p>
<p>&nbsp;</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/2330.debugturtle_23CBE360.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/2330.debugturtle_5F00_23CBE360.png"><img style="margin: 8px 0px 8px 8px; display: inline;" title="debugturtle" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/7142.debugturtle_thumb_5B9E2783.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/7142.debugturtle_5F00_thumb_5F00_5B9E2783.png" alt="debugturtle" width="344" height="446" align="right" border="0" /></a>On the right you can see an ongoing debugging session for the showcase turtle script.</p>
<p>At the top are the continue and stepping buttons that allow you to run your code in a controlled fashion, and at the bottom are a few buttons that help you navigate during your debugging session: <strong>current </strong>takes you back to the next statement to be executed, you can show all active actions on the <strong>stack</strong>, and you can switch back to the <strong>wall</strong> view.</p>
<p>While you step through your code, you will see that all the statements that already got executed get colored in blue. What you are seeing is another feature of the debugger: a built-in <strong>code coverage</strong> view.</p>
<p>You can tap the <strong>exit </strong>button if you want to stop debugging.</p>
<p>I took the screenshot on a PC, but all debugging features work just as well on your mobile device!</p>
<h2>viewing values</h2>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/1307.debugbreakout_3059907C.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/1307.debugbreakout_5F00_3059907C.png"><img style="margin: 8px 0px 8px 8px; display: inline;" title="debugbreakout" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/8737.debugbreakout_thumb_16F18D42.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/8737.debugbreakout_5F00_thumb_5F00_16F18D42.png" alt="debugbreakout" width="396" height="446" align="right" border="0" /></a>When you tap on a statement while debugging, you get a panel at the bottom showing you the values of relevant data and local variables --- that is all data and local variables mentioned in the selected statement.</p>
<p>If a value is a compound value, then you might get more information when you tap on it.</p>
<p>You can tap on any visible statement to view different parts of the script&rsquo;s data and local variables. Changing the statement selection for viewing values is independent of stepping through the statements in your code.</p>
<p>Viewing of values is not only available when you started a debugging session via the <strong>debug </strong>button in the code editor, but also when a script crashes.</p>
<h2>debugging and posting crashes</h2>
<p>When a script crashes, you now get a dialog with many more options; some only become visible after you check the <strong>additional actions</strong> box.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/4540.crash_41C9F154.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/4540.crash_5F00_41C9F154.png"><img style="margin-right: auto; margin-left: auto; float: none; display: block;" title="crash" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/1234.crash_thumb_0193D7DA.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/1234.crash_5F00_thumb_5F00_0193D7DA.png" alt="crash" width="404" height="361" border="0" /></a></p>
<p>You get a number of options in this dialog: You can post crash information consisting of a stack trace, coverage information, and the error message shown in the dialog; you can <strong>post </strong>this information and associate it with your user account, which is similar to how you would post a comment. Alternatively, you can <strong>post anonymously</strong> which is still going to be helpful to debug the script, but doesn&rsquo;t identify you. You can also simply <strong>cancel</strong>.</p>
<p>You can also help by writing a comment on how you triggered the crash; this comment gets posted under your user account, just like all other comments. If this is your script, or you feel like debugging someone else&rsquo;s script, then you can inspect the crashed program state by tapping on <strong>debug</strong>. You cannot continue executing the script, as it has crashed. But you can inspect the stack trace, the coverage data, and the values.</p>
<h2>script insights</h2>
<p>We have rearranged the tabs in the script properties that you see when you browse a published script in the script bazaar.</p>
<p><a href="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/8686.insights_3A3E81E7.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/8686.insights_5F00_3A3E81E7.png"><img style="margin: 8px auto; float: none; display: block;" title="insights" src="https://msdnshared.blob.core.windows.net/media/MSDNBlogsFS/prod.evol.blogs.msdn.com/CommunityServer.Blogs.Components.WeblogFiles/00/00/00/98/41/metablogapi/5047.insights_thumb_35C80120.png" original-url="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-98-41-metablogapi/5047.insights_5F00_thumb_5F00_35C80120.png" alt="insights" width="504" height="302" border="0" /></a>There is now a new <strong>insights </strong>tab on the right. Insights aggregate <strong>code</strong> and <strong>art</strong>, and also features two new concepts: crowd <strong>coverage </strong>and crash <strong>buckets</strong>.</p>
<p>If someone runs a published script, and the script eventually stops (without crashing), then anonymous code coverage information may be uploaded to the cloud. You can view the aggregated anonymous code coverage information via the crowd <strong>coverage </strong>icon in the insights tab. The collection of anonymous code coverage only starts with beta 44996, and the anonymous collection is not exhaustive but stochastic. So you won't find too many scripts with crowd coverage data yet.</p>
<p>If someone runs a published script and the script crashes, the user may post crash information (via the yellow dialog described above). The cloud sorts all posted crashes into buckets (depending on how similar to stack traces are), and you can view the posted data via the <strong>buckets </strong>icon in the insights tab. The ability to post crashes only starts with beta 44996, so you won't find too many buckets yet.</p>
<h2>documentation</h2>
<p>We are still improving the official documentation, and we are looking for your feedback.</p>
<ul>
<li>documentation on <a href="https://www.touchdevelop.com/docs/debugging">debugging</a></li>
<li>documentation on <a href="https://www.touchdevelop.com/docs/publishingrun">crash posting</a></li>
</ul>
<h2>bugs</h2>
<p>We are still working on the interactions between pages, boxes and debugging. Please send any other bugs you find to <a href="mailto:touchdevelop@microsoft.com">touchdevelop@microsoft.com</a>.</p>
<h2>acknowledgements</h2>
<p>The debugging feature is the result of the still ongoing internship of <a href="https://www.touchdevelop.com/ctpwa">Mikhail Beliaev</a> who is currently visiting us from Saint-Petersburg, Russia.</p>
<p>This is not the first graphical debugger that runs directly on a mobile device, <a href="http://research.microsoft.com/apps/pubs/default.aspx?id=193120">we experimented with other platforms earlier</a>.</p>
<h2>stay in touch</h2>
<p>If you want to stay up-to-date, like <a href="http://facebook.com/TouchDevelop">TouchDevelop on Facebook</a>.</p>]]></content:encoded>
    </item>
  </channel>
</rss>