Apple introduced some new terms to its developers contract on Thursday. Buried away in the 21,000-odd words of the agreement is this interesting clause:

3.3.1 Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++ or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++ and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

It's that last bit which is the real kicker. The stuff about private APIs - basically, calls to programming hooks that Apple reserves for its own applications on the iPhone and iPod Touch (the iPad uses a slightly different version of the OS) - isn't new.

But that last bit is a shot not just across the bows of Adobe - it's a broadside aimed right into its new Creative Suite. Because CS5, which is being readied on the slipway right now and is due to be introduced next week (I was to have had a prebriefing on it yesterday but - ah, cruel fate - had to put that to write about the Digital Economy bill, now Act) - allows you to write apps in Flash but then to cross-compile them to run on devices like, ooh, iPhones or iPod Touches.

See, it's even been touting it on its blogs:

"Adobe® Flash® Professional CS5 will include a Packager for iPhone that will let you publish ActionScript 3 projects to run as native applications for iPhone. These applications can be delivered to iPhone users through the Apple App Store.*"

Oh yeah, the asterisk in that sentence? You scroll wayyyy down and you get to the caveat: "* Delivery through the App Store requires participation in the iPhone Developer Program and approval of the application by Apple."

And now Apple is saying: no way. You write it in something that's one of our favoured languages - particularly Cocoa Touch - or you don't get it on our device. Perhaps the asterisk ought to have a BLINK marquee around it and a giant pulsing arrow.

We've already seen that Apple wants to keep Flash off the iPhone OS devices (which covers iPhones, iPod Touches and iPads). Its reasoning: that Flash programs suck up CPU and cause more crashes than it wants (basically, that they spoil the user experience). The absence of Flash on the iPad is really quite annoying, not just for users but also for news organisations and publishers which want to be able to serve video and ads: Apple's refusal, tied to the fact that it's selling a lot of these devices, and that they're a growing proportion of the mobile access of news websites, means that it would be easier all around if Apple would just let them serve Flash.

OK, so Apple won't. But what's the reason for this change to the developer agreement? After all, what is there to complain about in a process that lets developers produce programs that run in Flash but then cross-compile to run on the iPhone OS devices without Flash?

Adobe seems discomfited. In a statement to the New York Times, it said: "We are aware of Apple's new SDK language and are looking into it. We continue to develop our Packager for iPhone OS technology, which we plan to debut in Flash CS5." (And: "Apple did not respond to a request for comment." Did you guess that would happen?)

John Gruber, who first pointed out the changed clause, interpreted that statement thusly. And he's been analysing why Apple would have made the change:

"what Apple does not want is for some other company to establish a de facto standard software platform on top of Cocoa Touch. Not Adobe's Flash. Not .NET (through MonoTouch). If that were to happen, there's no lock-in advantage. If, say, a mobile Flash software platform — which encompassed multiple lower-level platforms, running on iPhone, Android, Windows Phone 7, and BlackBerry — were established, that app market would not give people a reason to prefer the iPhone.

"And, obviously, such a meta-platform would be out of Apple's control."

Yes, control. It's all about control. Gruber again:

"I'm not saying you have to like this. I'm not arguing that it's anything other than ruthless competitiveness. I'm not arguing (up to this point) that it benefits anyone other than Apple itself. I'm just arguing that it makes sense from Apple's perspective — and it was Apple's decision to make."

And what do developers think? There's a lot of jaws dropped. Here's one from Dominique Jodoin, president and CEO of Bluestreak Technology, which describes itself as "the second largest provider of embedded Flash solutions in the world (after Adobe)":

"with Apple leaving Flash off the iPad and iPhone, [plus] Microsoft's announcement of no Flash support in the new Windows Phone, and the emergence of HTML5 as a new standard to compete with Flash this situation presents a serious challenge for Adobe going forward."

He goes on to point out some facts we probably already knew:

"Steve Jobs and some frenzied analysts may enjoy positioning Flash as a dying technology [actually, nobody says it's dying; Jobs and his engineers just dislike the crashes and the CPU use - CA] but let's just look at the facts as they stand today:

"1.2 Billion mobile phones are Flash-capable; 70% of online gaming sites run Flash; 98% percent of internet-enabled desktops use it; 85% of top 100 websites use Flash; it's the #1 platform for video on the Web – 75% of all videos use Flash (including Hulu, Disney and YouTube); 2-3 million person Flash developers community; 90% of creative professionals have Adobe software on their desktops.

"With numbers and penetration rates like that, the better question is why wouldn't I choose to support this technology? None of the facts indicate that Adobe Flash is disappearing anytime soon."

The trouble with this analysis is that it doesn't tell us much about the future. It may be that 85% of the top 100 websites use Flash, but is that because they're using it to run ads or video (as the Guardian, where you should be right now, does)? And the bit about 1.2bn Flash-capable phones is interesting, but doesn't tell you if those phones are actually using it. I mean, my phone is email-capable - but there's not a chance in hell of my trying to set it up, because its interface is horrendous.

Certainly, Flash isn't going to vanish. Well, not overnight. (It might be superseded by something - also from Adobe.)

The real question is, what sort of meeting did Apple staff have where they determined that it was a good idea - and a necessary idea - to block cross-compilation? "Hey, Adobe's doing a cross-compiler that will generate iPhone OS programs. Do we like that?" In code terms, they should be indistinguishable from a native app (although they might look a bit horrendous: Gruber points to the Kindle app, cross-compiled using Qt, as an example).

It's just possible that Apple is trying to enforce some sort of user interface guidelines here, having seen the horrors of the Kindle app and yelped; on the Mac, programs created with RealBasic and Java have a similar ability to look like something lovingly built with a knife and fork.

The timing, though, speaks of a snub - although at least those developers will be happy that Apple did it now rather than after CS5 was released. Power games? You bet. And Apple is again demonstrating that if you control the hardware and control the gates, you control the whole of the experience. The odd thing is, people - as in users - seem to like it, judging by Apple's financial results.