|Microsoft Open Sources TouchDevelop|
|Written by Mike James|
|Friday, 13 February 2015|
Adding to its orgy of open sourcing, Microsoft has added TouchDevelop to the list. The big problem is that a lot of people who might like TouchDevelop don't even know it exists. What is it all about?
TouchDevelop is intended to be an easy-to-use web app creator. It isn't a block language like Scratch or App Inventor but something between a full text coding langauge and a block-based drag-and-drop language.
In TouchDevelop you use text but you can drag-and-drop instructions from a palette of possible instructions. What is interesting about this approach is that you are still "coding" but the approach more-or-less eliminates typing. This makes it very easy to use on touch enabled tablets and even phones - hence the name TouchDevelop.
As far as the language goes it is nothing special - a standard block- structured language that supports functions and, optionally, objects. It has if statements, for and while loops. What makes it a little special is that it supports synchronous code and events. It also has an extended user interface that includes touch events and sensors making it possible to write code for devices such as the Arduino.
It arguably hasn't had as big an impact as you might expect and part of the reason might be the idea that it is tied to Windows Phone. It is true that there is only a dedicated app for Windows Phone but there is a web app that you can use to create TouchDevelop programs using almost any device.
Once you have created your app and tested it you can export it to, yes, Windows Phone, but also Android, iOS or Windows. The point is that it makes use of Cordova to create an almost universal web app.
The only downside is that you have to run TouchDevelop locally and install Cordova. However, it is worth it because you end up with what look like native apps. Also notice that this is how Windows Phone is supported, so there isn't a lot of bias towards Microsoft's own platform.
There are also other alternative export formats - App Studio, Azure or raw HTML5 web app - which makes the approach very flexible.
TouchDevelop is a great way to get started with programming and, as it uses text, there is no real barrier to moving on to something more complicated. It is also a great way to prototype apps and in some cases the prototype could even become the final version.
If the idea that it was a closed Microsoft system put you off considering TouchDevelop, the good news is that it is now open source - or at least the Web App is open sourced.
To quote the blog:
"Today, we’re taking another step on this path – we’re releasing the TouchDevelop web app under the MIT license. The team at Microsoft Research remains dedicated to leading its further development, but you, our users, fellow researchers, and hackers of the world, are invited to contribute."
The project is on Github and consists of approximately 160,000 lines of TypeScript, which is interesting in itself. There are a few limitations. The backend support and the Windows Phone app are not included in the open source. If you fork the project then you can only run your new client web app against the Microsoft cloud service, which you can do for free - as long as you are happy with the domain. If you want to run it from your own domain you need to speak to Microsoft.
So TouchDevelop is not 100% open source.
You can develop your own editing environement but you can't break away from Microsoft's servers. If the servers go the way of the dodo then you might be left holding the code.
If Microsoft is serious about getting TouchDevelop into education and other uses, it needs to consider reassuring users that the service will continue by either open sourcing the server side or handing the server's code over to an independent foundation.
To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, Facebook, Google+ or Linkedin, or sign up for our weekly newsletter.
or email your comment to: firstname.lastname@example.org
|Last Updated ( Friday, 13 February 2015 )|