We accept that touch interfaces are already a part of the application user experience. We like using them most of the time, and so we might be considering whether to design them into our own application development projects. Perhaps there is a logical and intuitive reason that begs for a touch interface, or you might want to indulge your creative side to add some new functionality to your application. Did you ever think that an application development tool vendor might find themselves in this situation? Can a touch interface help make a better IDE?
My son used to use a Windows 7 Phone, and last year he showed me a new app he was playing with. He has complained before that Windows Store didn’t have enough apps , and so I shouldn’t have been surprised that he was desperate enough to try an application development tool app, i.e. develop other apps to run on his phone. But what surprised me was that the tool used a touch interface to create programs. Sure, it was a brand new language, but you never had to actually learn it because you just pushed buttons to select commands, use variables and build statements.
If you haven’t come across this yourself, I’m talking about TouchDevelop, which is a Microsoft Research project. Have a look at https://www.touchdevelop.com/ . Being Microsoft, this IDE comes as a native Windows Phone app, or a Web App that runs on other platform’s web browsers. The language is the same for both, but capabilities vary a little bit. It is still a research project, using an active user community to ”test the waters” on its viability. To get the gist of actually developing by touch gestures, you should look at the videos. Writing about it here just doesn’t cut it.
I don’t intend to review this IDE, or the development language, I just think it’s cool that people are researching this. Indeed a part of the strategy is to encourage Universities, and even a few high schools, to use TouchDevelop in their courses. Microsoft will also loan out some Windows Phones for student use. I imagine that a simpler language will allow faster learning of basic programming concepts, as well as introducing students to mobile computing principles.
One consequence of using of TouchDevelop is that it really encourages development on all kinds of mobile devices, from iPhone to Surface Pro. If you save the programs, or scripts, on the cloud, then the development really is portable and mobile.