

Microsoft releases tool for creating Windows 8 apps in the browser - kyriakos
https://www.touchdevelop.com/app/

======
shuw
To add some context to the title, this isn't a traditional IDE in the browser.

It's a kind of experimental touch-centric IDE with it's own semi-visual
programming language (your not exactly dragging boxes around, but your not
editing text either).

I only played with it for 2 minutes, but it's apparent that this is a
"research" project. It's not meant as a replacement SDK for whatever is the de
facto standard for Win8 apps.

~~~
KeyBoardG
Yep, this started as an app on WP7 from MSR. You could download and share
various scripts/apps. The app was a little clunky but neat.

~~~
brudgers
The first version was called "TouchStudio."

------
moconnor
This is very impressive.

I got further with this in fifteen minutes on my iPhone lying in bed than an
hour last night with the Windows Phone 8 SDK.

The APIs seem nicely designed and the interface works surprisingly well on a
phone. I haven't seen anything else as likely to democratize programming since
Click 'n Play back in the 90s.

It would be nice to see some kind of automatic wrapper facility for the full
API, even if the syntax became necessarily horrible and it was hidden behind
an expert panel. Sooner or later every large project will want to step beyond
the bounds of the current garden, I think.

~~~
quinndupont
Oh Microsoft... so it works on iOS Safari, but not on their own Internet
Explorer on Windows Phone 8 :(

~~~
seattlemaf
For windows phone 7 and 8 there is a native free app in the marketplace. Try
that.

------
michalmoskal
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.

~~~
tinco
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 :)

~~~
michalmoskal
Thanks!

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)).

~~~
tinco
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?

------
twog
In order for Windows 8 to be a success from an app development standpoint,
MSFT needs to make their apps the easiest to develop. Their SDK must be the
best. They should have starter projects, and go crazy on supplying developer
resources & starter apps. They need to make apples development & submission
process look and feel outdated.

Windows is and will remain a huge OS with a ton of opportunity, but MSFT needs
to do a better job incentivizing developers to build apps. Make it the easiest
platform to get started with.

~~~
seanmcdirmid
Developers want a market (consumers), consumers want content (by developers).
A classic chicken-egg feedback loop.

Easier to develop apps is just one point that can ease the feedback loop, but
its not sufficient...nor is it shockingly necessary (just look at Apple).

Disclosure: MSFT employee, just sharing what I've learned about platforms (and
what many probably already know).

~~~
smuckfordshire
Learning curve != ease. The niceness of Cocoa Touch is one of the things that
keeps me working on Apple's platform.

~~~
seanmcdirmid
My point was that barriers don't matter much when you have a healthy market to
receive your app. So while we might work on lowering barriers, its all for not
if the store is a ghost town. This is very humbling to us PL/tools
researchers.

What keeps you working on Apple's platform is the popularity of the app store,
if you couldn't get customers; you would leave in a heart beat for a platform
that had a healthier market. Look at all the people who learned Objective
C...not because it was the best language, but because it was a technical
barrier that was necessary to overcome to access a healthy market (and
technical barriers are much easier to overcome than market barriers!).

------
Samuel_Michon
_"Sign in using your account on: Windows Live, Facebook, or Google"_

Wow, that's really inclusive! I don't see Google or Apple reciprocating
anytime soon...

I wonder if Google credentials can also be used to submit the final app in the
Windows Marketplace.

~~~
wrt54g
I actually use my Google email address to log into my Windows account too -
they know we don't want yet another email address to manage.

------
DigitalSea
BOOM. It's moves like this that are going to ensure that Windows 8 prevails in
the end. I hate to make the comparison, but Microsoft's only competitor is
Apple and now that Jonny Ive is helping out with the design aspects of not
just the products but interfaces, Microsoft have forced Apple's hand so-to-
speak.

I doubt we'll be seeing Apple make a web-based touch interface for building
applications, but it'll no doubt force them to consider something because
Microsoft are starting to make me even consider trying to build an app. And
out of a C based language and web based builder, which has the lesser learning
curve?

Very smart move. Well played, Microsoft.

~~~
mahmud
I think you're being a little too optimistic here. There is no shortage of
web-IDE or foo-Touch on any platform. They're all poping up for all the
platforms at the same time, this is not some edge Windows 8 has over other
platforms. (If there is any edge at all, it's probably Visual Basic 5.0 or
later)

Windows 8 will succeed not because it has a web-based toy for making toy apps,
but because people still want to run Windows95 applications.

~~~
JuDue
Agreed, there are lots of tools like this around.

------
jwarzech
I've only really seen screenshots of metro but this app looks like a bad
recreation. Are the colors usually that bright and are the fonts that padded?

~~~
modarts
This is admittedly poorly executed and doesn't really follow a lot of metro
conventions.

------
w1ntermute
This was a very smart move on Microsoft's part. They recognized and accepted
the fact that almost all the developers behind the most popular apps on
Android and iOS are running OS X. Releasing an OS X IDE to cater to those
developers would have been admitting defeat to Apple in that arena, so they
cleverly sidestepped the issue by just creating a web-based IDE instead.

~~~
novalis
Could you please provide some hard numerical reference that shows that "almost
all the developers" that produced "the most popular apps on Android and iOS
are running OS X". That would be a great cross referenced treasure trove of
data. It seems absurd and borderline illogical that one does not come to have
contact with such a fountain of proof that supports the stated inference. This
would be an invaluable source. Thank you in advance.

~~~
tomasien
I'm not saying that asking for hard proof is ever a bad thing, but I will say
that it's not illogical to make this claim without.

Anecdotally, I know exactly 1 programmer TOTAL that does not use a mac laptop
when they develop out of the dozens that I know, and he just got hired at
Microsoft. I know several that use Windows desktops, but exactly 1 that
doesn't have a mac laptop.

~~~
novalis
Small detour; logic is a funny thing because it can be countered by
insufficient measures of extent and intent even when it is expressed in the
form of presentable proof. So assuming a counter point of view would also be
acceptable by your own process of reasoning if an anedoctal could express it.
That tells me you recognize your own confirmation bias and so should I
recognize mine.

Had the poster said "the majority" instead of "almost all" it would have been
much more agreeable to my own impression and my own limited anedoctal
experience wich makes up the extent.

But I do take your response in the same good candid nature that you meant it.
Still, a cross referenced data set on this you proposed would be amazing.

~~~
tomasien
I'd like that too actually. Personally I think the fact that devs I know feel
like they HAVE to have a Mac is a sign that Apple's growth is possibly not
finished. w

------
tluyben2
This is a re-release from MS their secret weapon; <http://rise4fun.com/>. MS
research is really good and they are working on important things other
companies ignore. I think Norvig is not ignoring them but working on them from
a totally different angle which will roll out in the coming years, but that's
offtopic.

------
woj
The on-screen keyboard reminds me of the good ol' days of ZX Spectrum (each
key had a command assigned to it, you typically wouldn't type the commands but
press the corresponding button)

<http://zxspectrum48.i-demo.pl/zx-spectrum_keyboard.jpg>

------
cheeaun
So I signed in, going to change my username and it says 'nickname is too
short' (at least 8 characters). I uploaded my avatar image, it says 'Only
proper JPEG files allowed' :(

~~~
ryanglasgow
If this was a social network, I'd understand your frustration. It's a
developer tool tho — not sure what you expect.

------
JuDue
Am I the only one who finds the design and layout totally confounding on their
desktop browser?

Might flow smoother on a touch tablet?

------
saint-loup
It seems very nice. It was originally an app for Windows Phone 7 [1], released
something like one year ago.

[1] [http://www.windowsphone.com/fr-
fr/store/app/touchdevelop/fe0...](http://www.windowsphone.com/fr-
fr/store/app/touchdevelop/fe08ccec-a360-e011-81d2-78e7d1fa76f8)

------
smarx
EDIT: I'm wrong. See Dan's helpful reply about exporting to a Windows 8 app.

\---

I think the title is wrong. This doesn't look like it has anything to do with
creating Windows 8 apps.

~~~
dangrossman
It's accurate. Once you create an app and publish it, you'll find an "Export
to Windows Store" button. You need to sign up for a developer account and
download the SDK (part of Visual Studio 2012 Express, free) to publish to the
store, but this site will do all the work of giving you the app to publish.

~~~
cbhl
Does that mean it only runs on Windows 8 Pro, or does it also run on Windows
RT devices?

~~~
michalmoskal
TouchDevelop runs in IE10, Chrome (including on Android), Firefox, Safari (on
Mac and iOS). You can run apps you create right away, inside TouchDevelop, in
the browser.

If you want to sell them, then they will run on Windows Phone, Windows RT and
Windows 8. To submit them to the store you will need a Windows 8 PC and a dev
account.

------
sturadnidge
Still, I wouldn't say this <http://imgur.com/pUlXu> is the best way to drive
adoption amongst the Microsoft faithful. Yes I know they need to draw the line
somewhere, and IE9 (maybe IE anything... haven't tried 10) sucks, but this is
quite a departure from the general Windows stance of "backwards compatibility
at all costs" (why their hosts file still lives in an 'etc' directory is
beyond me, for example).

Additionally, if you have cookies disabled it just sits there on the loading
screen (in FF 17 at least) - I thought it was just broken at first.

~~~
ygra
It's a research project, not an actual product MS wants to sell. So how is
this different from the dozens or hundreds of bleeding-edge experiments that
demand a current version of Chrome/FF to work and refuse to do anything on any
other browser?

~~~
sturadnidge
As I said in my comment, it's not how Microsoft have done things, ever. IE10
isn't even shipping as a final product for the most widely deployed version of
Windows, and Windows 8 has basically no market share.

The difference with Mozilla and Google is I don't need to migrate my entire OS
to use their experimental stuff.

------
nemoto

        TouchDevelop Wep App Preview does not work with Opera.
        Please use Internet Explorer 10, Chrome or Firefox.
    

Why?

~~~
cageface
There's always a post like this. Who gives a shit about Opera at this point?
It's hard enough making a complex web app work on IE, Chrome and Firefox as it
is.

~~~
frozenport
When they take away opera they will take away firefox, then they will take
away the next one. One day we will all be using chrome.

I think they should warn about compatibility but allow us to proceed anyways.
Often when I spoof opera to identify as firefox everything works fine. The
`built only for this browser` scheme treats the browser as the platform and
not the internet as the platform. I understand the practical motivation for
perspective, having spent many hours making sure my design worked in IE and
Firefox, but I dream of a world where every-browser will render things
identically.

Ultimately, its called a webpage not a chromepage.

~~~
cageface
Not buying this slippery slope argument at all. Nobody has ever cared about
opera. Wake me up when people stop supporting Firefox.

------
ygmelnikova
First my mom learns to use an Ipad, next she's hacking together a recipe book
for her phone. Developers are losing their monopoly.

------
arikrak
Is this kinda like Google's App Inventor (before they gave up on it and gave
it to MIT) ?

------
camus
Uncaught SyntaxError: Variable 'handler' has already been declared

that's what i get when i try to run that thing.

~~~
amima
They definitely need some js error tracking tool (like qbaka.net) to handle
errors. Their main javascript size is 420K!

~~~
nikolaitillmann
Thanks for the recommendation. We (I am in the TouchDevelop team) have an
excellent crash tracking system in place, and whatever issues you see today
might be fixed tomorrow. If you are curious how we build TouchDevelop, you can
watch this video from a session at the recent Build conference:
<http://channel9.msdn.com/Events/Build/2012/3-018>

~~~
amima
Thank you for the link. I am curious and will try to find an hour to watch the
video. Do you mind if I contact you by email (already googled it) to ask some
questions about your error tracking? It seems that you do not use
window.onerror so I wonder how exactly you track unhandled errors. Your
experience may help me with my project.

~~~
nikolaitillmann
Sure, send me an email. We might be missing out on some errors, appreciate any
kind of feedback, and maybe can give some advice too.

