Last week, I was fortunate to attend the Microsoft Research Faculty Summit, an industry-academia event looking at the future of computer science. Mark Sample noted many of the cool projects shared throughout the weekend in his Digital Culture Week post, and you can see a lot of the recorded talks online. One highlight of the summit was a DemoFest featuring a number of tools both futuristic and current, including TouchDevelop, a platform for scripting on and for mobile Windows devices that offers an intriguing solution for learning mobile design.
While Windows Phones are relatively new to the mobile landscape, the platform is experimenting with some capabilities that others (namely Apple) limit. As the conflict over MIT’s Scratch for iPad app demonstrated, Apple has not been comfortable with programs that allow for the execution of code on the device. Mobile development appeals to non-programmers, but many of the tools for development are currently high-investment and require endurance through a tough learning curve. They also are rarely accessible on the devices themselves, meaning that would-be mobile creators need an additional computer and software set-up to build anything. TouchDevelop uses a powerful fundamentals-based scripting language and the Windows Phone’s native touch interface to allow users to compile code right on the phone, and thus has an instant gratification that other mobile development lacks. This also allows for playing with code on the go and removes the need for awkward emulation of touchscreens.
When playing with TouchDevelop, I noted several parallels with Logo, a now mostly forgotten programming language for inciting interest and building fundamental skills in coding. The TouchDevelop environment can access the phone’s native features and makes it relatively simple to import media or even work with sensor data. For educators interested in using the platform, there’s a loaner program available to help bring a set of phones into the classroom for development (I haven’t tried it, but hope to apply for a future class.)
Once coded, scripts don’t just live on their coder’s phone–TouchDevelop is itself a platform with a social component for sharing programs. Mostly, these stay within the platform, although apps made in TouchDevelop can apparently be submitted to the external Marketplace with some limitations and obstacles. While TouchDevelop would probably not be the tool of choice for a highly complex app, its balance of accessibility and immediate gratification with a real scripting language makes it an interesting platform for experimenting and educating, particularly outside of the computer science dedicated classroom.
Have you tried TouchDevelop or another tool for learning and teaching mobile design? Share your experiences in the comments!