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 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
Nikolai Tillman from Microsoft Research chairs this session at Faculty Summit 2012.
|Exploring Mobile Programming using TouchDevelop at Rainier Beach High School
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
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?
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.
- 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
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
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
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
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
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
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
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
- Vu Le, Sumit Gulwani, Zhendong Su. SmartSynth: Synthesizing Smartphone Scripts from Natural Language Descriptions, MobiSys '13,
- Athreya, B., Bahmani, F., Diede, A., Scaffidi, C. End-user programmers on the loose: A study of programming on the phone for the phone. IEEE Symposium on Visual Languages and Human-Centric Computing, 2012
|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.
Get the app in Google Play.