Abstract

Software engineering tools and environments are migrating to the cloud, enabling more people to participate in programming from many more devices. To study this phenomenon in detail, we designed, implemented and deployed TouchDevelop (www.touchdevelop.com), a cloud-based integrated development environment (CIDE), which has been online for the past three years.

TouchDevelop combines a cross-platform browser-based IDE for the creation of mobile+cloud apps, an online programmer/user community, and an app store. A central feature of TouchDevelop is to track all program edits, versions, runtime information, bugs, as well user comments, questions and feedback in a single cloud-based repository that is available publicly via Web APIs.

In this paper, we examine a key feature of TouchDevelop that should be relevant to others creating CIDEs, namely the seamless integration of replicated workspaces, simplified version control and app publishing. An analysis of the TouchDevelop repository shows that this combination of capabilities allows users to easily create new versions of apps from existing apps, make changes to other users’ apps, and share their results from a variety of devices, including smartphones, tablets and traditional PCs.