back
71 comments
When I see tools like this, that allow children and adults to make things, using the same platform, I can only think Microsoft is it literally investing in the future. It's so easy to get wrapped up in what a tech company can produce now, or in a year that often times people forget about creating awesome tools. Tools last a lot longer than platforms or devices. While Minecraft is a slightly different example, its core success is simply that it is a creativity tool for all ages and skill levels. When I look at something like TouchDevelop, I see similarities. It's a tool that can let people create awesome things, easily. Something that oversimplifies things at first, but encourages and gives you the ability to push it farther if you desire.

Tech politics aside, kudos to you Microsoft.

Seems like this was made by Microsoft Research. I'd argue Microsoft Research's very existence shows Microsoft is heavily invested in the future, more so than any other tech company as far as I know. Maybe besides IBM I dont know any other company that still funds research which isn't expected to have some relationship to the business side of things.
Microsoft Research is strongly expected to have an impact on the business side of things. It just so happens that Microsoft is willing to incubate projects like Midori* that have long runways (decade+) and may completely fail. The hope is that some new emerging tech long plays will become huge business boons (Cortana, Kinect, ..). There's lots of investment in NLP, vision, and OS research over at MSR.

As far as other tech companies with large R&D budgets, look at Google. However, Google's R&D investment areas are different than MSFT's (apparently they don't do OS research): http://money.cnn.com/2013/11/20/technology/mobile/apple-rd-s...

* http://en.wikipedia.org/wiki/Midori_(operating_system)

TouchDevelop has been around for quite a while; I remember first installing it on my WP7 phone back in 2012. I'm very happy to see the editor open-sourced.

I think this is a great example of Microsoft's new-found desire to promote learning and openness, rather than fight against it as they did in the past. My opinion of them over the past few years has slowly been swinging towards positive, and even though I'll likely never give up on Slackware and OpenBSD on the desktop and the server, I'm happy to see this new vision bearing fruit.

I'm glad all the MSFT research initiatives are getting attention and/or the development stage. There's so much new amazing things to make the future so shiny and great.

As Steve Jobs pointed out, MSFT's overall design and communications have and are still... astoundingly nerdy. Yet this new MSFT, one that notes they made something with WUV!, is such a departure from Micro$oft of yore.

This is almost... dare I say, embryonic of an earnest attempt at something new? Almost as if this new MSFT is a startup of a corporation in a landscape dominated by the most valuable corporation on earth (AAPL) and the most useful corporation on earth (GOOG) and the most cutthroat corporation on earth (AMZN).

I imagine in another year or two there will be a major overhaul of Microsoft's design process to bring about cohesion. I'm hoping the likes of hiring Andrew Kim (http://www.minimallyminimal.com/blog/2012/7/3/the-next-micro...) and other young talents will greatly influence that as it is sorely needed, much like how Google invested much into Matías Duarte and Material design.

Wow, imagine that. When the old question was can Apple be Google faster than Google can be Apple and now it's can Microsoft be Google faster?

>This is almost... dare I say, embryonic of an earnest attempt at something new?

While TouchDevelop is really cool, it's been a few years since it came out :)

Which is true, but I've been thinking for a while there's a very interesting company trying to get out from under the dead weight of the old 90s and 2000s era MS.

A single product won't change the culture, but it's obvious the ship is being steered in a different direction. Even if it takes a while to change course, it's obvious cool new stuff is happening.

I only hope MS can sort out its management culture to take full advantage of the cool new stuff.

I've been doing the hour of code with my 7 yr old daughter. She really enjoys it, so much so that I now get bugged more to "do coding" than to help her with her homework. She's going to love this!

As an aside - To all of you focused on making it easier for the next generation to learn and use these skills:

Thank you so much!

This is the coolest thing I've seen in a long long time. If I remember correctly Microsoft released something similar for Windows Phone but the UI was really clunky. This version (?) is amazing though, so much better.

I've just spent 10 minutes playing around and building a simple app sat on my sofa, I highly recommend spending a little bit of time using this.

There's very good precedence too with Scratch and it's derivative Android App Inventor (currently App Inventor 2), but it's nice that this is platform independent! (it does miss out on some cool things that are platform dependent, like fiddling with sensors and communication)

https://scratch.mit.edu/

http://ai2.appinventor.mit.edu/

GUI-oriented programming has much to offer and I'm excited in developments in this area, not only for kids but as a general enabler of coding without a large learning period.

It's the same project that was released for Windows Phone 7. The original name was TouchStudio. It became TouchDevelop around the time Windows Phone 8 came out, IIR.
Here's the landing page: https://www.touchdevelop.com/
They have some cool tutorial that introduce coding to newcomers. extraordinary Jetpack Jumper is my favorite! Every change to the code is annotated and explained with a short video
It's great to see so many great investments in creative tools by Microsoft.

For those interested, Microsoft Studios (Team Dakota) has a great desktop/Xbox One game called Project Spark (http://welcome.projectspark.com/) that is essentially a 3D game builder enabling you to build 3D games from scratch or "remixing" other games from the community. Games are constructed from visual blocks called "Kode". It evolved from a previous XBox game called Kodu Game Lab which was targeted strictly towards the education market [1]. You can install Project Spark for free on Windows 8 (I have it running in a Bootcamp partition on a Mac Mini and it performs well and is very fun).

[1] See http://en.wikipedia.org/wiki/Project_Spark for more history.

Just played around with it a little bit!

Super interesting, can certainly see a couple of applicable use cases! The way the tutorials are setup will actually be handy for education, certainly if it would be possible to create your own tutorial.

Edit: Typo

>The way the tutorials are setup will actually be handy for education, certainly if it would be possible to create your own tutorial.

WOW, that's a good idea. The amount of work (and other resources) that goes in to creating a high quality online tutorial really is much more than is required to teach a concept well. Making tutorial-making easy would be a HUGE win.

I haven't been able to check it out fully yet, but all this hour of code stuff looks amazing!

Being able to launch a little tutorial project right in the browser with videos and all, for free...great job Microsoft!

I'm not a teacher but I can already see the amazing educational potential here. I love helping people who are learning to code, and then watching them complete their first small project on their own, very satisfying; this is a great tool.

Edit: The more I keep looking at this the more excited I get...really great job Microsoft Research!

This is awesome. And what's even more cool, that it seems to be localized to other languages! I'm a polish speaker, and when I launched one of the tutorials (Jetpack Jumper), not only the interface was translated, but even the intro video. I had friends that wanted to jump into programming but couldn't start because of the language barrier. That could turn out as a great tool for them!

Edit: Just noticed that they use Microsoft Translator for most of the tutorials, but still kudos to them for taking time and providing a proper translation in at least one of them.

The web page from the TouchDevelop team at MSR is more helpful to know what the project is: http://research.microsoft.com/en-us/projects/touchdevelop/
It's like lively-kernel[1] with a layer of Scratch on top -- except it doesn't use WebDAV for storage, and you can't self-host the whole stack.

Still, very nice.

(Now I wonder if there's a service that allows you to list intersection of contributer to github projects... hmm.. there's an api, isn't there:)

    npm install -g json
    cons=(https://api.github.com/repos/{LivelyKernel/LivelyKernel,Microsoft/TouchDevelop}/contributors)
    comm -12 <(curl -s ${cons[0]}|json -a login|sort)\
             <(curl -s ${cons[1]}|json -a login|sort)

    #ed:spoiler alert: no overlap

[1] https://github.com/LivelyKernel/LivelyKernel
Very nice. But why not have full keyboard support for the PC ?

I'm working on a very similar experimental editor for Clojure/lisp and my intention is to make it vi-like - navigate and perform the edits with the keyboard.

Some other ideas I'm experimenting with:

Customisable icons or even specific shapes for functions.

For example the function "show loading screen" can be represented as the actual visual screenshot of the loading screen.

The idea is to get rid of most of the syntax and leave only the user-defined names.

In 'interactive' mode, each form (block) can be executed and arguments can be entered right inside it.

Each function block could have a 'back side', where all the meta data about the function resides, like documentation and unit tests.

So visual programming is a new hot topic and there's a lot of stuff to explore in this area.

Microsoft is becoming truly awesome!
Here's some info about the language used:

https://www.touchdevelop.com/docs/language

I looked at this a while ago while seeking out a good language for my daughter to learn some simple programming with. While I liked it, I can't help feeling that all these "visual" substitutes for programming languages are counter productive. It is so tedious to create even simple loops and logical structures. Consider a simple for loop such as in python:

    for thing in ["cat","dog","tree"]:
        print thing
I can explain this to her and she can run it and see it do something, modify it in small ways, etc etc. The same thing in TouchDevelop actually looks more complicated and is harder to experiment with. I feel like we should teach computer languages as languages and not try to turn them into lego blocks.

I'm curious if others feel the same way or not? Have people had success starting with something like TouchDevelop and then transition to a non-visual language? Or do kids just get good at playing in the visual sandbox and never make the jump?

Granted, it's not the same, but my programming career started with RPGMaker. It's a point-and-click interface to make simple 2D RPG games for Windows. Much of the point and click interfaces let you create programming constructs like if-else conditions, go-to statements, and loops.

I was intimidated by the idea of using a real language, instead I liked just pointing/clicking my way through things. This was the case until I wanted to make something sufficiently complicated that doing it in RPG Maker would create spaghetti code.

For me, after spending years playing with RPGMaker 2000 (I was 11 when I started), moving onto a real programming language like Python was completely effortless. It was a transition from "I need to click this to make this if-condition" to "I need to write this if-condition here".

An alternative: http://www.algoid.net/index.php

"Algoid is an educational app that uses a simple but complete language called Algoid Language (AL) to teach programming.

Target Audience: Kids, teenagers and adults interested in learning computer programming."

Pretty cool. Just sent this to my daughter to look at as well. She liked code.org's visual building, till it got in her way. This looks like you can dive into actual code if you want to. I think she'll like that.
I might integrate this into the web based platform we use to teach kids. Very cool.
I'm very glad this project is available but somewhat surprised how in awe some comments are here. How does this do a better job at teaching than etoys? Yes being able to deploy easily is a big deal, but given the length of time the smalltalk/squeak/etoys folks have been working on this idea I don't see how this project is garnering the level of admiration it is from HN folks.
Oh. At first glance I thought this was simply a text editor that was actually usable on a phone/tablet. Maybe one day...
I think you're going to need a hardware solution for that problem. No amount of software will ever overcome the fact that touch screens are not efficient input devices.
Am I the only one that found this cumbersome? That struggled to write a "hello world" in under 5 minutes?
Very interesting! So the language looks similar to Scratch and Blockly, but targeted to mobile web. I would like to see a comparison overview.

Anyone have a link to a published paper? This is from Microsoft Research so I would expect there to be one, eventually, relating this to similar efforts.

This paper: http://research.microsoft.com/en-us/um/people/moskal/pdf/bey... describes the basic idea behind integrating an IDE, GitHub-like collaboration, and an app store.

The main thing about the interface it's that it's touch-optimized and has this unique semi-structured editor, where the expressions (as opposed to statements) are edited token by token, and not as a tree. This was proven to work better on touch-devices.

This paper describes some aspects of the system: http://research.microsoft.com/pubs/189242/pldi097-burckhardt...
They also support compiling their language to Arduino C++.
>> 253523 scripts published

That's quite a large repository. Do they have collaborations with schools and organizations helping kids code?

I was always thinking it's C# and XAML, but it's actually JS :(.
It somewhat looks like better and flatter version of scratch by mit.
I really enjoy the beginner mode, much more fun than using vi :)
Wow .

Does anyone know which framework they've used to make this ?

Looks like they custom rolled a bunch of custom stuff on top of Node, if that's what you're referring to.
Heads up: build failing + dependencies out of date.
Little buggy on desktop chrome, but may that is not the intended browser?

http://i.imgur.com/QVzTlqD.png

Chrome is certainly one of the supported browsers, and we do use TouchDevelop on desktop all the time. This is actually fixed in our beta version, see https://www.touchdevelop.com/app/beta
Chrome is definitely in Microsoft intended browser. Most of the dev are using Chrome at Redmond while developing.