Announcing TouchDevelop v2.10: tutorial videos, code synthesis, trace+replay, and more!

The TouchDevelop team is excited to announce a new app update. The growing TouchDevelop team got help over the summer from several awesome interns.

You can install the latest version from the Windows Phone Marketplace; you might have to wait a few hours before the latest TouchDevelop version becomes available in your marketplace.

Like TouchDevelop on Facebook to stay up to date. Visit touchdevelop.com to see all the scripts that people have created with TouchDevelop.

Tutorial videos

learn2learn1We heard your request for more documentation and tutorials. We already posted a book, a set of slide decks, and there were some tutorial videos.

We now refreshed all tutorial videos and added many more. You can access the new tutorial videos on the web and via the learn button on the home page in the app where you can now also search for particular keywords.

 

Code synthesis

synthesis1synthesis2After studying how often which buttons are tapped in the code editor we made some improvements.

We brought two cutting-edge research components into the foreground:

You might have already heard about our existing feature that allows you to search for scripts that contain statements similar to the ones you currently have selected – this feature is now directly accessible from the statement editor buttons; just tap on a statement in your action and then tap similar.

You probably have not yet heard about the following ability of TouchDevelop: you can now let TouchDevelop synthesize code that realizes an idea you can just describe informally! Just add a statement via a + button, and then tap on search to open the command search page (it’s the same page you can reach from the search button of the expression editor). When you type in a query that doesn’t directly map to a single TouchDevelop command, then the TouchDevelop code synthesis engine is launched in the cloud.

 

synthesis3synthesis4You can find more information about how code synthesis works on the web, and you can even try out code synthesis in your browser right now without having the TouchDevelop app installed.

We really tried hard to make it easy to use, so you don’t actually have to know how it works internally.

Often TouchDevelop can give several suggestions how to turn your query into code. You can choose from the list, and then the entire code snippet, possibly multiple statements and even control-flow, gets added to your action.

 

Trace+replay, crash debugging

trace1trace2trace3trace4

Debugging scripts on a small mobile device, such as a phone, is tricky. This update adds two new features that may make debugging easier:

You can trace & replay a script run. You can configure this option from the running page by selecting trace & replay (experimental) in the menu. After enabling tracing for a script, all runs get recorded, and you can replay them by going again to the trace & replay page, selecting traces, and then tapping on the trace you want to replay. While recording, “REC” appears on the screen; while replaying, a little play icon appears. This feature is still experimental, so let us know if you have any feedback. Besides recording a full program trace, you can also use time→log to record a list of strings, and view the log later by tapping on show debug log in the menu on the running page.

A script run may fail if the script operates on invalid values. You may get invalid values from uninitialized global data, and as results from external-facing calls that fail. For example, when you try to take a camera picture, but the user decides to cancel this operation via the back-key, then the result is no valid picture. If the script uses such an invalid value, then it fails. You can now drill into the reason for such a failure by selecting i want to debug it, and then tapping on the edit button. You will enter the statement editor in a special state, where it shows you the failure location in the code. If multiple actions were active at the time of the failure, then you can swipe between them.

crash1crash2crash3

New APIs

Stay in touch

If you want to stay up-to-date, like TouchDevelop on Facebook.