TouchDevelop
TouchDevelop

Create apps everywhere on all your devices! For Windows Phone and the web. In the TouchDevelop programming environment you write scripts by tapping on the screen. You do not need a separate PC or keyboard. Scripts can perform various tasks similar to regular apps. Any TouchDevelop user can install, run, edit, publish scripts. You can share scripts with other people by publishing them to the TouchDevelop script bazaar, or by submitting them as an app to the Windows Store or Windows Phone Store.

Go to www.touchdevelop.com to get started.

TouchDevelop: Create Apps Anywhere, on All Your Devices
TouchDevelop: Create Apps Anywhere, on All Your Devices
00:03:39 · 1 November 2012

TouchDevelop is a development environment for mobile and Web apps that runs on phones, tablets, PCs, and even giant touchscreens. Create fun games and useful tools regardless of your working environment.

End-User Programming for Mobile Devices
End-User Programming for Mobile Devices
01:21:08 · 16 July 2012

Nikolai Tillman from Microsoft Research chairs this session at Faculty Summit 2012.

In 2012, we are in the middle of a technology shift: instead of using PCs and laptops, mobile devices are becoming more prevalent for most everyday computing tasks. In fact, never before in human history were incredibly powerful and versatile computing devices such as smartphones available and adopted so broadly.

In this session, we discuss whether and how end-users can program mobile computing devices for fun and to automate tasks and implications for teaching computer science in today’s classrooms. Microsoft Research created the novel application creation environment TouchDevelop, which enables end users to author programs on smartphones—without a PC. We compare the traditional approach of using established programming languages to write mobile applications on a PC to novel programming approaches that enable creating applications on mobile devices directly. By mining existing mobile programming environments, we can infer what kind of applications end users want to create and what challenges they face.

Exploring Mobile Programming using TouchDevelop at Rainier Beach High School
Exploring Mobile Programming using TouchDevelop at Rainier Beach High School
00:02:17 · 21 June 2012

What do you do when your students are more interested in their phone than in what you’re trying to teach them? If you’re Michael Braun, well, you make their phones a central part of their classroom learning. Braun, a computer science teacher at Rainier Beach High School in Seattle teaches “Exploration of Computer Science on Smartphones,” which essentially teaches students how to create mobile apps. In collaboration with Rainier Beach High School, Southshore Middle School, Seattle Public Schools, and Microsoft employees Peli de Halleux (Senior Software Development Engineer) and Chris Mitchell (Principal Development Engineer) assisting through the Microsoft TEALS program). They taught students to use TouchDevelop to create mobile apps. Students were able to install, run, edit, and publish scripts using Windows phones.

Future of Software Engineering on Mobile Devices
Future of Software Engineering on Mobile Devices
00:56:47 · 24 May 2012

The world is experiencing a technology shift. In 2012, touchscreen-based mobile devices, namely smartphones and tablets, will outsell desktops, laptops, and netbooks combined. Powerful, easy-to-use smartphones are likely to be the first and, especially in developing countries, possibly the only computing devices that virtually everyone will own and carry at all times. Is it possible to develop new software directly on these mobile devices, without using a PC? What would a user interface for such a new development model look like?

In this presentation, we present a new tool from Microsoft Research, TouchDevelop, that tries to address these questions. TouchDevelop is an application-creation environment that runs on the smartphone itself-no separate PC required. Its programming language and code editor have been built from scratch around the idea that all code is entered via a touchscreen, without a keyboard. We report on how TouchDevelop is being used today by thousands of people.

TouchDevelop@UW Hackathon
TouchDevelop@UW Hackathon
00:03:06 · 4 May 2012

On May 4–5, 2012, Microsoft Research Connections held a 24-hour “TouchDevelop@UW Hackathon” at the University of Washington, inviting students to try their hand at TouchDevelop programming. TouchDevelop is a novel application development environment from Microsoft Research that enables users to code right on their smartphones, with no need for a separate PC.

the idea behind TouchDevelop

The way in which we interact with computing devices is changing: instead of keyboards, advanced touchscreens become more common; mobile devices are often equipped with more sensors, such as location information and acceleration, and are always connected to the cloud.

TouchDevelop is a new programming environment and language built around this new reality. Its typed, structured programming language is built around the idea of only using a touchscreen as the input device to author code. It has built-in primitives which make it easy to access the rich sensor data available on a mobile device. In our vision, the state of the program is automatically distributed between mobile clients and the cloud, with automatic synchronization of data and execution between clients and cloud, liberating the programmer from worrying (or even having to know) about the details.

Publications

main publication to reference
publications by TouchDevelop team

2014

Thomas Ball, Sebastian Burckhardt, Jonathan de Halleux, Michał Moskal, and Nikolai Tillmann, Beyond Open Source: The TouchDevelop Cloud-based Integrated Development Environment, no. MSR-TR-2014-127, 18 September 2014

Nikolai Tillmann, Michal Moskal, Peli de Halleux, Sebastian Burckhardt, Tom Ball, and Judith Bishop, Tutorial: Create Rich Mobile Apps on Touch Devices, in Proceedings of the First International Conference on Mobile Software Engineering and Systems, , June 2014

Arno Puder, Nikolai Tillmann, and Michal Moskal, Exposing Native Device APIs to Web Apps, in Proceedings of the First International Conference on Mobile Software Engineering and Systems, , June 2014

Michael Hilton, Arpit Christi, Danny Dig, Michal Moskal, Sebastian Burckhardt, and Nikolai Tillmann, Refactoring Local to Cloud Data Types for Mobile Apps, in Proceedings of the First International Conference on Mobile Software Engineering and Systems, , June 2014

Michał Moskal, Nikolai Tillmann, Jonathan de Halleux, Sebastian Burckhardt, Thomas Ball, and Judith Bishop, Tap Here: A Diff-powered Programming Tutorial Engine, in Proceedings of 2nd Workshop on Programming Languages Technology for Massive Open Online Courses, April 2014

Rafael Auler, Edson Borin, Peli de Halleux, Michal Moskal, and Nikolai Tillmann, Addressing JavaScript JIT engines performance quirks: A crowdsourced adaptive compiler, in Proceedings of Compiler Construction - 23rd International Conference, CC 2014, , April 2014

Manuel Fähndrich, Lessons from a Web-based IDE and Runtime, in Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation, ACM, New York, NY, USA, 2014

2013

Sihan Li, Tao Xie, and Nikolai Tillmann, A Comprehensive Field Study of End-User Programming on Mobile Devices, in Proc. IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC 2013), September 2013

Sebastian Burckhardt, Manuel Fahndrich, Peli de Halleux, Jun Kato, Sean McDirmid, Michal Moskal, and Nikolai Tillmann, It's Alive! Continuous Feedback in UI Programming, in PLDI, ACM SIGPLAN, June 2013

Tuan A. Nguyen, Christoph Csallner, and Nikolai Tillmann, GROPG: A graphical on-phone debugger, in Proc. 35th ACM/IEEE International Conference on Software Engineering (ICSE), New Ideas and Emerging Results (NIER) track, May 2013

Sihan Li, Tao Xie, and Nikolai Tillmann, A Comprehensive Field Study of End-User Programming on Mobile Devices, no. TR-2013-3, March 2013

Vu Le, Jonathan de Halleux, Sumit Gulwani, and Zhendong Su, Keyword Programming for TouchDevelop, in Proceedings of the 11th international conference on Mobile systems, applications, and services, 2013

2012

Nikolai Tillmann, Michal Moskal, Jonathan de Halleux, Manuel Fahndrich, and Sebastian Burckhardt, TouchDevelop — App Development on Mobile Devices, in Proc. 20th International Symposium on Foundations of Software Engineering (FSE 2012), Demonstration, ACM, November 2012

Xusheng Xiao, Nikolai Tillmann, Manuel Fahndrich, Jonathan de Halleux, and Michal Moskal, User-Aware Privacy Control via ExtendedStatic-Information-Flow Analysis, in Proc. 27th IEEE/ACM International Conference on Automated Software Engineering (ASE 2012), September 2012

Nikolai Tillmann, Michal Moskal, Jonathan de Halleux, Manuel Fahndrich, Judith Bishop, Arjmand Samuel, and Tao Xie, The Future of Teaching Programming is on Mobile Devices, in Proc. 17th Annual Conference on Innovation and Technology in Computer Science Education (ITiCSE 2012), July 2012

Sebastian Burckhardt, Manuel Fahndrich, Daan Leijen, and Benjamin P. Wood, Cloud Types for Eventual Consistency, in Proceedings of the 26th European Conference on Object-Oriented Programming (ECOOP), Springer, 15 June 2012

Tuan A. Nguyen, Sarker T.A. Rumee, Christoph Csallner, and Nikolai Tillmann, An experiment in developing small mobile phone applications comparing on-phone to off-phone development, in Proc. 1st International Workshop on User Evaluation for Software Engineering Researchers (USER), IEEE, June 2012

Marat Akhin, Nikolai Tillmann, Manuel Fahndrich, Jonathan de Halleux, and Michal Moskal, Search by Example in TouchDevelop: Code Search Made Easy, in Proceedings of the 2012 ICSE Workshop on Search-Driven Development-Users, Infrastructure, Tools and Evaluation, IEEE, June 2012

Nikolai Tillmann, Michal Moskal, Jonathan de Halleux, Manuel Fahndrich, and Tao Xie, Engage Your Students by Teaching Programming Using Only Mobile Devices with TouchDevelop, in Proc. 24th IEEE-CS Conference on Software Engineering Education and Training (CSEE&T 2012), Tutorial, April 2012

Nikolai Tillmann, Michal Moskal, Jonathan de Halleux, Manuel Fahndrich, and Tao Xie, Engage Your Students by Teaching Programming Using Only Mobile Devices with TouchDevelop (abstract only), in Proc. 43rd ACM Technical Symposium on Computer Science Education (SIGCSE 2012), Workshop Summary, February 2012

2011

Sebastian Burckhardt, Manuel Fahndrich, Daan Leijen, and Mooly Sagiv, Eventually Consistent Transactions (full version), no. MSR-TR-2011-117, October 2011

Marat Akhin, Nikolai Tillmann, Manuel Fahndrich, Jonathan de Halleux, and Michal Moskal, Code Similarity in TouchDevelop: Harnessing Clones, no. MSR-TR-2011-103, 9 September 2011

Xusheng Xiao, Nikolai Tillmann, Manuel Fahndrich, Peli de Halleux, and Michal Moskal, Transparent Privacy Control via Static Information Flow Analysis, no. MSR-TR-2011-93, 2 August 2011

Nikolai Tillmann, Michal Moskal, Jonathan de Halleux, and Manuel Fahndrich, TouchDevelop - Programming Cloud-Connected Mobile Devices via Touchscreen, no. MSR-TR-2011-49, 15 April 2011

Nikolai Tillmann, Michal Moskal, Jonathan de Halleux, and Manuel Fahndrich, TouchDevelop: programming cloud-connected mobile devices via touchscreen, in Proceedings of the 10th SIGPLAN symposium on New ideas, new paradigms, and reflections on programming and software, ACM, New York, NY, USA, 2011

publications by the community

For iPad, iPhone, Android, PC, Mac:
Run the TouchDevelop Web App in your browser, now! 
For Windows Phone:
Get the app in the Windows Phone Store.
For Android:
Get the app in Google Play

 

You might also like:

Associated research groups: