Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!


Forgot your password?
Microsoft Cellphones Portables Programming Windows

Microsoft TouchStudio Uses Phone To Program Phone 162

theodp writes "Over the weekend, Microsoft released the beta of TouchStudio, a free Windows Phone app that allows one to write programs for a phone on the very same phone, no computer required. According to the Microsoft Research project page, the work-in-progress TouchStudio aims to bring 'the excitement of the first programmable personal computers to the phone.' Among the code examples provided is a four-liner that scans a phone's music collection for songs less than three minutes long and produces a fairly slick, clickable playlist complete with track info and artwork. Easier than iPhone SDK programming, no?"
This discussion has been archived. No new comments can be posted.

Microsoft TouchStudio Uses Phone To Program Phone

Comments Filter:
  • by Anonymous Coward

    I never trust the "look at what we just did in only 100 lines or less" examples. Such examples rarely indicate a "thought of everything" programming environment, instead usually indicating a "we made assumptions about everything and you'll either like it or spend hours hacking around it" environment.

    The four line example given doesn't make it clear what database it's pulling that from, what if the user has an Amazon Cloud Music service and player? Will it find those as well?

    • I never trust the "look at what we just did in only 100 lines or less" examples.

      Really? How about this:
      10 do while (iWantToWriteCode = true) {
      20 self.goUseARealComputer = true ;
      30 }

      And I've got 97 lines to spare ;-)

      • You're using an equals sign for both and assignment and a comparison here. Even though this is pseudocode, you couldn't write a parser that could compile it.
  • Late Again? (Score:3, Interesting)

    by airos4 ( 82561 ) * <changer4.gmail@com> on Tuesday April 12, 2011 @05:28AM (#35790850) Homepage

    So, it appears to be not true programming, but just script manipulation? Wouldn't that be like Tasker for Android?
    http://tasker.dinglisch.net/ [dinglisch.net]

    • by mwvdlee ( 775178 )

      As I understand it, this TouchStudio has actual flow control and expressions, so it's more than simple cause-&-effect type scripts.
      I don't personally know Tasker, but it looks far less flexible than what TouchStudio claims to be.

      I wonder if TouchStudio has an "upgrade" path for budding new programmers who want to move from their TouchStudio-created apps to a more complete IDE. Perhaps a PC-based version of TouchStudio or C# code generating?

    • Re:Late Again? (Score:4, Informative)

      by Sc4Freak ( 1479423 ) on Tuesday April 12, 2011 @06:01AM (#35790986)

      It's "script manipulation" in the same sense that writing Python would be "script manipulation". TouchStudio contains a turing-complete scripting language that's tailored to working with/on a touchscreen phone.

      eg. A screenshot [microsoft.com] I found on Microsoft Research [microsoft.com].

      • That is actually pretty damn cool.

        I mean, I imagine that it's really only capable of creating second-class apps compared to a complete dev environment like iOS developer tools, the Android SDK, or the Visual Studio for WP7. But I do admire the premise of the product. The sheer complexity of learning an entire dev stack from scratch is pretty difficult for a non-specialist to overcome; hopefully this thing is simple enough that it can act as a good starting point for neophytes who just want to add "one littl

        • Like someone commented, "I like the part where he says developers [youtube.com].

        • In what way is this more cool than this? [google.com] The sl4a provides you with your choice of scripting languages including Python, Perl, PHP, Ruby, Beanshell, Javascript and I'm probably missing something. With webview, you have a GUI, You can import libraries. Pretty sophisticated programs can be written in sl4a. I've written a few myself including a very useful barcode scanner that integrates with the Amazon AWS api for up to the moment price and sales velocity for products when I'm out flea marketing. The pro
      • Like, n900 having gcc and perl that's tailored to working with a keyboard, which that phone has? Makes sense.

        (Nokia screwed the pooch with the default keybinding -- no basics like Esc, PgUp, PgDn, [, ], <, >, {, } and the like, but if you use a better one [angband.pl], it's just a notch worse than a laptop. Which sucks compared to a real computer, but is usable.)

      • It's been a long time since that was my first raction to a Microsoft product, but this thing looks neat in every sense of the word -- a fine UI to throw some code together on a small display; and it reminds me of ChipWits, Lego Mindstorm and other such easily graspable perspectives on what is undeniably a very complicated topic.

        The thing is, of course, how much integration this app has with the rest of the system. It can evidently hook into the file system, and I wonder if it can know, ask, or be told what

        • It can evidently hook into the file system, and I wonder if it can know, ask, or be told what other applications are installed and what they're up to (that is more or less what the HackMaster app did on PalmOS, which was exceedingly powerful yet relatively simple given that it was an event-driven (as opposed to multitasking) OS).

          I say godspeed to this project, and I hope they'll allow others to follow in their footsteps.

          My first reaction when finding this topic today was "Wow, neato". My 2nd reaction, after reading the above section of your post was : "Uh oh - a new era of VBS-type exploits and rampant malware problems on a microsoft platform."

    • by gl4ss ( 559668 )

      'the excitement of the first programmable personal computers to the phone.'

      now a question: who invented basic and for what? that's what they're referencing there.

      but they're late because there's already phone where you can run a full gcc on. been for years, too.

      that it's an interpreted thing that they got going is no surprise here though, it makes it so much more possible to do it on xna..

      • "The original Dartmouth BASIC was designed in 1964 by John George Kemeny and Thomas Eugene Kurtz at Dartmouth College in New Hampshire, USA to provide computer access to non-science students." -- Wikipedia

        Why do you ask?

    • by cpct0 ( 558171 )

      For me, it strangely reminds me of Hypercard ... and thus of current Mac OS X Automator. If you want even easier, I'd even go to Quartz Composer. Yet again things pioneered by Apple. I wouldn't create a full 3D game using that scripting system, it's totally different and not meant for the same thing.

      People simply don't understand high-level versus low-level; both has merits.

    • So, it appears to be not true programming, but just script manipulation?

      Looks like Apple Script for a phone, or for those of us with old memories it could even be HyperCard.

    • by khr ( 708262 )

      So, it appears to be not true programming, but just script manipulation?

      But what is programming? It's just giving the computer instructions to perform later... Script manipulation certainly qualifies for that.

  • by SJ2000 ( 1128057 ) on Tuesday April 12, 2011 @05:39AM (#35790910) Homepage
    Not a new concept, mShell for Symbian [m-shell.net]
    • by SJ2000 ( 1128057 )
      Apparently the website is having issues.
      • by gl4ss ( 559668 )

        no wonder, it's written in .net

        they should have hosted it on a symbian phone, http://sourceforge.net/projects/raccoon/ [sourceforge.net] (the project seems sort of dead now, but it was a pretty far taken proof of concept that you could run apache on symbian and even have python scripts serving up the content. mobile use too. also a proxy system because most of these mobile connections are behind a firewall.

    • Not a new concept, mShell for Symbian

      ... or just N900's Maemo, for that matter. Not only can you write shell scripts, but also C or Java programs, and compile them on the phone itself.

  • It is a very cool tool.

    I don't know if mshell or other mobile programming languages have any real system integration this thing does. Sort of reminds me of hacking in AppleScript.

  • Reminds me of OPL (Open Programming Language) http://en.wikipedia.org/wiki/Open_Programming_Language [wikipedia.org] that was embedded by default on the Psion Series 5mx.
    I had great fun making stupid applications on that thing back in high school.

  • by siddesu ( 698447 ) on Tuesday April 12, 2011 @05:51AM (#35790954)

    And here I am, reprogramming my phone with pliers, soldering iron, some wires, a(n) USB connector and a resistor. I must be doing something wrong.

    • by AmiMoJo ( 196126 )

      a(n) USB

      The use of a/an is one of those annoying special cases in English. If the following word starts with a vowel sound it is "an", otherwise it is "a". The U in USB, although a vowel, does not make a vowel sound in this case. If it did it would be pronounced "uh" rather than like the word "you".

      I feel for those trying to learn English. Native speaker children have enough trouble with this kind of thing.

  • I'm actually somewhat surprised that Apple hasn't been supportive of a native scripting platform or programming tool. I can understand that there would be more work involved in developing the SDK, but the utility of having this feature would be tremendous. At the very least, it would inflate the number of apps in the App Store.

    I know Android has this capability [google.com] from third-party support; has anyone played around with this?
    • As there are > 300,000 apps already on the App Store, and continually growing, they don't really need to do anything to inflate numbers.

      The reasons Apple limits programming to developing using the standard SDK and delivering through the App Store include:

      1) It's a one stop shop for users. If they want an app to do something, then they know exactly where to find it. If it's not there it doesn't exist. For users, that's really nice and easy.

      2) It means that if developers charge for their apps, Apple gets a

      • by jrumney ( 197329 )
        I don't think you quite understand the rules for numbered lists on Slashdot. Number 2 is way too early for the "Profit!" step, and where is the "..."?
    • Why would apple want to do such a thing?

      You're suggesting giving users more freedom to program what they want. This is blasphemy. Burn the Heretic!

    • by gl4ss ( 559668 )

      look, if apple just _allowed_.. you would have all kinds of computer emulators on the store, complete with native basic, c compiler and so on support. but that doesn't fit in their business plan where they sell you the small apps you used to download from bbs's for free.

  • by asnelt ( 1837090 ) on Tuesday April 12, 2011 @06:16AM (#35791040) Homepage
    Android has had more powerful scripting for quite some time: http://code.google.com/p/android-scripting/ [google.com]
    • Android has had the ability to run scripts, sure. There is also a bunch of simple REPLs for various languages on the market (I have Ruby and Lua ones on my Xoom).

      This thing, however, seems to be more about making a touch-friendly code editor / IDE than it is about the language itself. I'm not aware of something similar for Android. Though it would be nice if someone took a newbie-friendly language - Python or Lua would both do nicely - and write a similar thing on top of that.

  • So, when can be have an ultra-portable device with on-the-go programming in mind? I'd find it very amusing/interesting to pound out a program while waiting at the bus stop.

    • by tepples ( 727027 )

      So, when can be have an ultra-portable device with on-the-go programming in mind?

      That's what a netbook is for. I routinely whip a 10" Atom laptop out of my bag and fire up IDLE (Python editor) while riding the city bus to and from work.

  • by Ecuador ( 740021 ) on Tuesday April 12, 2011 @07:04AM (#35791216) Homepage

    would be so much happier with a N900 running vi & gcc.

    • I was doing cross-platform development in 1981. So long as I have proper emulation of the target machine, why should I care? The only thing I want to be able to do on the target as regards development is rapid and efficient debug.
    • Vi.. on a smartphone??

      Vi is a good text editor for a keyboard & monitor combo, but it's hardly ideal for a smartphone interface. Labview probably comes closest to the ideal type of programming environment for a smartphone...

      • by Ecuador ( 740021 )

        Forgive me, but I work fine with vi on my N900. In fact one of the basic reasons I got it was because it is the only possible way I can work while riding the subway (in the common situation when I don't have a seat), and whatever the developments of touch screen keyboards I find them unusable for serious text entry, while the N900's hardware keyboard is decent.

      • This is not true at all. I had a terrible time trying to use the Android Scripting Environment [google.com] before I had vim installed [blogspot.com]. Instead of constantly trying to reposition the cursor with your fingers, you just tap the hjkl keys. Not only that but you get everything that using vi implies. Code completion, instant shell access, advanced regexp find and replace, line numbering, and so on. Please, don't knock it until you've tried it.
    • exactly

      After zillion clicks I got to actual demo:

      http://channel9.msdn.com/Blogs/Peli/TouchStudio-Script-Your-Phone-ON-Your-Phone [msdn.com]

      Basically the SDK allows you write code text using menu of text choices. So if you want to feel like Stephen Hawking doing some scripting, knock yourself out.

      What I see as a decent environment for programming for ANY device that does not have a decent keyboard and screen is an SDK running on conventional laptop, desktop seemlessly connected to the device. You hit Run on your laptop

      • Basically the SDK allows you write code text using menu of text choices.

        The menus are there to make it easier to write common constructs, but the very first option on the list is always "arbitrary expression", which brings you down to an editor. You still get helpers for characters that would be inconvenient to type on the usual keyboard (operators mostly, but also quotes), and arrow keys for precision navigation; but it doesn't really force you to go through menus if you don't want to.

        What I see as a decent environment for programming for ANY device that does not have a decent keyboard and screen is an SDK running on conventional laptop, desktop seemlessly connected to the device. You hit Run on your laptop, your app is executed on your device.

        This is pretty much how all mobile SDKs (iOS, WP7, and so far as I know Android as well) work

    • The "/. crowd" that you refer to has long since moved on. The current stable of users and contributors are primarily Wired readers and other "gadgeteer" types. Just don't tell that to the advertisers, who are being sold on the (now quaint) notion that the readership is comprised of IT Industry decision-makers.

  • "TouchStudio aims to bring 'the excitement of the first programmable personal computers to the phone.' "

    So Integer BASIC and assembler? Pinch me.

  • You guys are funny (Score:3, Insightful)

    by vawwyakr ( 1992390 ) on Tuesday April 12, 2011 @07:55AM (#35791486)
    I constantly see comments on here about how phones and tablets are crippled devices that could never be real tools because you can't do things like programming on them. Then MS (the great and scary evil thing) makes something you can program on and now it's "lame, late, not good enough". Just come to grips with your biases please.
    • by MBC1977 ( 978793 )
      lol you must be new here.(j/k)

      Seriously thought, its not gonna matter. Hating Microsoft is the svelte thing to do on /. (Along with argue about hate / love with Apple, RMS, Free vs Open vs Proprietary).
    • The problem is not that Microsoft is coming out with something that you can "program" with on your phone. The problem is that you can't really program with it, and the slashdotters have realized this. When you have a "language" that is so efficient that you can create an application in four lines of code, you're giving something up.

      What are you giving up?
      Likely, you're giving up the ability to actually make something. It seems that TouchStudio will allow you to do the things that the phone already does,
      • This thing is more like AppleScript, really. It lets you automate usage scenarios for the phone, and it works on high-level abstracted objects (e.g. if you "print" a music track, it'll actually print the nicely formatted metadata, complete with album cover).

        It's still a Turing-complete language, and it does have what amounts to REPL, so you can do arbitrary complex calculations with it. But then there are apps that let you do the same on iPhone (at the very least, there's a bunch of JavaScript REPLs there,

  • It can also be done in four lines of applescript:

    tell application "iTunes"
        set foolist to make new playlist with properties {name:"foo"}
        duplicate (every track whose (time contains "0:" or time contains "1:" or time contains "2:" or time is "3:")) to foolist
    end tell

    So.. get on it apple. make applescript and smart playlists available in iPods and iPhones already...

  • by mug funky ( 910186 ) on Tuesday April 12, 2011 @08:36AM (#35791776)

    we heard you like to program, so we put the program in your phone so you can program while you phone

  • It's not excitement unless you're programming in hand-optimized assembly like a real programmer.

  • I wrote Final Fantasy XI Timer for Palm [homeip.net] entirely on my Palm Tungsten W using the PP [ppcompiler.org] compiler. There where several other compiler for Palm as well.

    I'm also hoping to write application on my Palm Pre. I already released [precentral.net] an update to Terminal by compiling it with gcc right on my Palm Pre.

  • I've been able to program on my phone since my Treo 650. The Nokia N900 just takes it to a whole [maemo.org] new [maemo.org] level [my-meego.com].

  • allows one to write programs for a phone on the very same phone, no computer required.

    Uh, the phone is a computer, dimwit.

    Srsly, WTF?

    • Uh, the phone is a computer, dimwit.

      It's an "appliance" these days, don't you know? Ever since iPhone munched competition for breakfast.

Receiving a million dollars tax free will make you feel better than being flat broke and having a stomach ache. -- Dolph Sharp, "I'm O.K., You're Not So Hot"