After v2.7, which was just bug fixes and updates to the license agreement, the TouchDevelop team (Nikolai Tillmann, Michał Moskal, Peli de Halleux, Manuel Fahndrich, Sebastian Burckhardt) is excited to finally announce shipping v2.8 today: The latest version allows you to define structured datatypes, including tables, indices, decorators, and objects. We have also added the ability to create simple user interfaces by adding pages and buttons. This update also packs several new visual and social features, including featured screenshots shown in all script lists, and tags to organize the script bazaar. As always, we also fixed many bugs.
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.
Structured datatypes (records)
Until now, you could not declare your own datatypes in TouchDevelop. TouchDevelop always offered many built-in collection types, but you could not declare your own. We saw that many users got creative by encoding values in JSON objects and strings. This is no longer necessary! TouchDevelop now allows you to define structured datatypes. As with the code editor in TouchDevelop, you declare tables, indices, decorators, objects via a structured editor.
For more information, read the new overview documentation on records: structured datatypes (records).
Today, the record state is stored locally on the phone. Coming in a future app update, you may choose to move certain tables and indices to the cloud and then share them among different users.
Tags, featured screenshots, users, subscriptions
All TouchDevelop users have published so many scripts and screenshots already that it was getting hard to find all the cool games and tools that you created. With this update, we are introducing the concepts of tags and subscriptions in the app. Tags such as education, entertainment, games, tools are a way to organize scripts in the script bazaar. Any user can assign tags to scripts. When you publish a new script, you should assign a tag to it right away. The tags given most often to a script determine in which tag views that script will appear. Users can add tags in the rate&review page in the script bazaar in the app.
Every script appearing in a script list is now shown with a featured screenshot (if the script has any screenshot). At this time, you cannot choose yourself which screenshot gets featured – TouchDevelop automatically picks one that looks best. So don’t forget to upload screenshots for your scripts!
Scripts that have tags and screenshots are more likely to get featured.
You can also browse the list of all users in the app. Users are ordered by their scores – you get points when other users like your scripts or comments, when you use more language features, and when other users subscribe to you.
If you like many scripts of another user, you can subscribe to the user – just tap on the subscribe button on the user’s page. You will then receive notifications whenever that user publishes a new script.
Revamped help and API search
You can now access a help page in the app for each built-in API. When you write an expression in the TouchDevelop expression editor, tap on a property name in the expression; a little help text appears under the expression and just above the buttons; tap on the little help text, and the full API help page will open up. Watch video…
The intellibuttons at the bottom of the expression editor often provide you the choices you are looking for. But sometimes what you are looking for is not listed. That’s because in the cloud, TouchDevelop analyzes all scripts that were published in the past and using that information the app tries to predict what you are going to do next; sometimes, this prediction fails to list what you want, and then you need to do an old-fashioned search for the variable, action, built-in API, … We revamped the API search so that you no longer have to swipe through different pages; instead, you can immediately start typing a part of the name you are looking for. Watch video…
Pages and Buttons
While TouchDevelop had great support for 2D graphics with the board, it was a bit cumbersome to create custom user interfaces for TouchDevelop scripts. This is now changing: You can now create pages, and pages can have buttons. You can only operate on the wall that belongs to the current page, but you can push a new page that becomes the current page, and you can pop the current page. This matches the typical navigation behavior in mobile apps, where you can go into nested pages, and then you go back along a stack. Unlike a typical social wall, you probably want to organize your user interface from top to bottom; you can now set the direction in which new items are posted to the wall.
- https://www.touchdevelop.com/jvuua – my bird log: Browse bird species and tracks your sightings – uses records, pages, buttons, and more
- https://www.touchdevelop.com/fiol – rmc reader: Explores the content of research.microsoft.com – uses records, pages, buttons, and more
- https://www.touchdevelop.com/svkv – khan academy browser – uses pages
- Browse through new APIs: https://www.touchdevelop.com/help/apidiff/200070/200080
- Read more about records: https://www.touchdevelop.com/doc?path=records.pdf
If you want to stay up-to-date, like TouchDevelop on Facebook.
Oh, and we changed the way you declare local variables. The hammer is gone! Watch video…