The typical mode of operation is developing apps in TouchDevelop and running them in TouchDevelop, in the browser (or the WP7 app). If you want, you can also export the apps and sell them in the store, but you will need a dev account.
TouchDevelop is a research project exploring programming paradigms that are more touch-centric.
Think of it as a way of programming your phone or tablet, whatever it may be, on the device itself.
Will Microsoft be seriously backing the TouchDevelop project as a commercial effort? (ie. marketing it to developers and cultivating a community?)
I have the feeling TouchDevelop is what a next generation IDE should feel like. Not just with the touch-friendly editor, which is nice, but also how the rest of the IDE is constantly reacting to what is happening in the editor.
Is the web-app a subset of the WP7 project? Will it be possible to define types like the 'Board' type in the demo? Perhaps by linking to javascript(/typescript) libraries? (the library functionality didn't work for me in Chrome so I assume it's just not implemented yet)
Congratulations on creating a truly impressive IDE :)
TouchDevelop is a research project, and as of now there are no plans of full-scale productization.
The webapp supports all programming language features of the WP7 app (and some more ;-). Not all library APIs are implemented though (some are obvious - it doesn't make phone calls - some are just still missing).
If something didn't work with the libraries for you, let us know!
It is possible to define record types (with fields but not methods). You can also define libraries operating on these. Libraries can be parametrized, much like functors in ML (but without the heavy type system). The interaction between records and libraries is not fully worked out yet, but we're working on it, time permitting.
Note that TD is not an object-oriented language - there is no inheritance or subtyping. I myself intend to keep it this way :) Still, we want to have something akin to C#'s extension methods as far as the syntax goes (i.e., method lib1->m(x:t,y:number) could be invoked as x->t(10)).
I can understand not wanting inheritance or subtyping, but then I think the language needs at least first class functions. Extension methods would be great. Perhaps you could have typeclasses like in Haskell?
TouchDevelop is a research project exploring programming paradigms that are more touch-centric.
Think of it as a way of programming your phone or tablet, whatever it may be, on the device itself.