Posted
by
Soulskillon Tuesday April 12, 2011 @05:15AM
from the calling-functions dept.

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?"

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 a native speaker who cannot use his own language correctly. "look at what we just did in only 100 lines or fewer".

Use fewer with objects that can be counted one-by-one.

Use less with qualities or quantities that cannot be individually counted.

Incorrect: There were less days below freezing last winter.

Correct: There were fewer days below freezing last winter.(Days can be counted.)

Correct: I used less flour to bake the cake than she did. (you cannot say 'one flour, two flour')

The more you know!

There is no such thing as "correct" in the English language. There is no organization that dictates what is and what is not "correct." Even among linguists there are prescriptivists and descriptivists. The descriptivists say that "correct" is whatever most people understand and use in the current time period. Prescriptivists try and make rules to decide what should be correct. That's how words such as "ain't" make it in the dictionary. In the end, though, if people understand what you're saying withou

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?

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.

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

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

The coolest part to me is that this has the potential to be to a new generation of kids what QBasic and TI calculator programming were for kids like me

Have you forgotten that these are smartphones with 70 dollar plus plans attached? These are not like the calculators and commodore64's of yesteryear and the overlap between budding 12 year old programmer and the people who will be carrying these things will be small.

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

"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

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.

Not really. Scripting engines are often limited. Consider the difference between an MS-DOS batch file and Java or C or LISP. Then compare Python or Perl.

If all they've done is present a scripting language that binds some common functions (which would allow a 4-line "program" that accesses your music collection), then you really don't have a fully programmable system. You have a customizable system, but not one that is fully programmable.

There is definitely a non-arbitrary distinction between scripting langu

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.

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.

It is not always a simple rule. It may be for Americans. But in British English, upper class and ordinary speech sometimes follow different rules. Take the word "hotel". In upper class speech it used to be pronounced without the h, so one would say (and write) "an hotel". "Hero" usually takes "a". But the word "heroic" doesn't. It is actually more or less correct to write "a hero leads an heroic lifestyle". This is because in that upper-class speech the H in hero is more consonantal than the h in heroic.

That is exactly what I said. The point is that unlike most rules which are based on the actual letter, the a/an rule is based on the sound. A vowel can be preceded by 'a' if it makes a consonant sound. That is particularly hard for non-native speakers whose pronunciation might not be that good.

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?

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.

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.

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

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.

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.

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.

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,

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 foolistend tell

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

But that's jailbroken, not stock iPhone, so it doesn't count.
Seriously I wish people would stop comparing jailbroke iPhone to stock Android, Windows and other phones, It's a stupid, unfair comparison.

It matters here. Windows Phone 7 hasn't been jailbroken, even if you want to (and if you think the Chevron hack is a jailbreak, you need to turn in your geek card). And the iPhone SDK is so much richer than the WP7 SDK, that any comparison is a joke (just try networking on WP7.....you will quickly start hating your life).

The summary claims it is bringing 'the excitement of the first programmable personal computers to the phone.' No, to me it looks like it is bringing the excitement of visual basic to a ph

Windows comes with a text-editor (albeit a crappy one), a terminal (also a crappy one) and runtimes for.NET, that doesn't seem to scare people off. It's not an either/or, you can have a user-friendly phone with advanced features, the less advanced users can just ignore the advanced features.

It's not an either/or, you can have a user-friendly phone with advanced features

Unless the carriers don't want to carry your phone. In the United States, the big three wireless carriers have only a small selection of phones, and they tend to shun anything that gives the user too much freedom. Nokia hasn't been able to get any major U.S. carrier to take the N900 (for which I'd appreciate corrections), and buying a phone and service separately is something that the vast majority of subscribers just don't do, for various reasons. Verizon and Sprint, which use CDMA2000, are reluctant to ac

The biggest drawback for me (not for "the market", but for me) from iOS is you can't use it to make stuff. Until you can use an operating system to make stuff, it's a toy. That's why iOS is a top gaming platform. The iPad is not a phone, so if all it's going to be is a gaming platform, then it's in a different conversation than computers. It's fine, but it's not what I need. (again, yes I know it's the number one tablet, but the number one song r

This is the first time since the N900 that there will be a handheld platform you can make stuff with. For it to be Microsoft is somewhat surprising. It's not going to make Windows Phone 7 number one, but I really don't care what's number one.

You've been able to program on an Android phone for quite a while now. Android Script Engine (ASE) is an official Google project that binds Python, Perl, JRuby, Lua, BeanShell, JavaScript, Tcl, and shell to the Android API, and if you're a masochist, you can edit scripts right there on the phone.

You've been able to program on an Android phone for quite a while now. Android Script Engine (ASE) is an official Google project that binds Python, Perl, JRuby, Lua, BeanShell, JavaScript, Tcl, and shell to the Android API, and if you're a masochist, you can edit scripts right there on the phone.

Even more reason that this notion of an SDK that you only can run on a jailbroke platform is a joke.

And AT&T can suck my balls for not allowing the Android Script Engine.

Even more reason that this notion of an SDK that you only can run on a jailbroke platform is a joke.

I'm not quite sure how to parse that sentence but, I can assure you the ASE runs on non jailbroken Android phones. Furthermore, anybody that is going to be writing code on their phones is probably up to the task of getting the runtime on an AT&T phone.

I'm not quite sure how to parse that sentence but, I can assure you the ASE runs on non jailbroken Android phones. Furthermore, anybody that is going to be writing code on their phones is probably up to the task of getting the runtime on an AT&T phone.

Sorry for not being clear. I wasn't referring to ASE, I was referring to the tools available for jailbroken iOS. Somewhere earlier someone was trying to devalue ASE and this new Windows Phone 7 SDK by saying "there have been SDK's for jailbroken iPhones"

I'm not sure what you're getting at. The ability to program it is also essential to me for any computing device. It's what I do, after all. But the idea of programming on a handheld is rather miserable. I hate it even when I have to use the terminal, because it is so painful to enter text. Is it not sufficient to you to be able to program it with the sdk?

Also, once again, if you're a programmer, I'm pretty sure you'll hate WP7 despite this. It is a nice start, and easy to program, but too much is missing.

I admit that this can't be done on a stock iPhone, but the whole innovation is that they're writing code on a mobile device, which people have been doing for years, in fact completely set up by end users.

I admit that this can't be done on a stock iPhone, but the whole innovation is that they're writing code on a mobile device, which people have been doing for years, in fact completely set up by end users.

This is very important because they will probably try to patent this idea with a view to stopping other people doing it. Having a ready list of prior art could prevent that

Or python, perl, lua, tcl, with Qt, Gtk or Tk on the N900. I'm always amazed how companies like Microsoft and Apple manages to first push the paradigm that "less is more" (no scripting, no inventive GUI concepts, no access to phone applications, but "magic") and then they throw you breadcrumbs of what they took away and people get all excited and the news even makes it into slashdot...

Or python, perl, lua, tcl, with Qt, Gtk or Tk on the N900. I'm always amazed how companies like Microsoft and Apple manages to first push the paradigm that "less is more"...

How many times more iPhones ship than N900s? It makes far more commercial sense for companies to spend their finite time creating products that are easy and pleasurable for ordinary people to use than ones that have everything slashdot geeks wish for.

Until it can print it can't be considered a true development environment with that tiny screen because debugging usually requires a view larger than a few lines of code. Add in any palettes/widgets/etc, an error console or error messages and you don't have much real estate left. And let's face it, editing code on any smartphone has got to be much worse than editing a txt, note or email.

Any ideas how it will be able to run the code through emulators to verify it works on older or newer Windows Phone vers

Until it can print it can't be considered a true development environment... because debugging usually requires a view larger than a few lines of code

I'm not quite sure I see what printing has to do with it being a true development environment or not... I haven't printed code in years, except when doing some BPM diagram programming and needed to make notes about what wasn't viewable on the screen at one time...

Granted, maybe it's not an ideal debugging environment, but it sure sounds like a development environment to me if you can use it to create programs... Perfect? Powerful? Maybe not...

Your buses don't have power outlets? That's too bad. There are a good number of buses in my city that do. I suppose that they're technically considered "BRT"-style buses, but that seems to have more to do with the body work than the routes that they run, which existed before we ever got any BRT-style buses. Anyway, you should petition your city to look into getting New Flyer D60LF BRTs. The ride is smooth, and the articulation tends to hide the technological antics you get up to at the back of the bus from

My local uni has a surplus department. Anyone can walk in anytime, and purchase whatever's available. Currently late-model P4 and early Core2Duo class machines are available, $40-$80. Once they've been there for a certain amount of time unsold, the price drops by 60%. The last machine I got from them was a P4 3.something GHz with 1.5GB of RAM. I paid $17. It's nice 'cause it's one of those little desktops (HP, I believe) that are nearly silent.