TouchDevelop: Cloud-based Scripting on and for Touch-based Devices

Wednesday, November 13, 2013 - 17:30
TH 331
Nikolai Tillmann (Research Software Design Engineer - Microsoft Research)
TouchDevelop is a cloud-based programming environment that provides high-level abstractions to enable the creation of scripts on and for touch-based mobile devices. TouchDevelop has four main components: a statically typed scripting language with novel abstractions to support stateless GUIs with support for live programming and replicated data for collaborative applications; a browser-hosted touch-based integrated development environment that makes it possible to productively create small scripts with a single finger on a variety of devices; a set of high-level APIs to make it easy to access device sensors/resources and web services; a cloud back-end that enables a social approach to software development. In this talk, I'll show how the unique aspects of the TouchDevelop development environment and language such as seamlessly replicated data, as well as the research opportunities opened up by hosting a software environment in the cloud.

Nikolai Tillmann has been working at Microsoft Research since 2001. His main areas of research are program authoring on mobile devices, program analysis, testing, code optimization, and verification. He leads the Pex project, a framework for runtime verification and automatic test case generation for .NET applications based on parameterized unit testing and dynamic symbolic execution. Most recently, he started the TouchDevelop project, which enables writing of programs for mobile devices on mobile devices.