Apple's iPhone lockdown: apps must be written in one of three languages, Adobe in the hurt locker
Apple's already got a veritable novella describing things you can't do with the iPhone as a developer -- create apps that execute their own code is the biggie, obviously, blocking technologies Flash and Java in the absence of a loophole -- but it seems they've locked down the ecosystem just a little further today with the release of the iPhone OS 4 beta SDK. Check out this snippet from the developer's agreement:What does that mean, exactly? Well, it means that technologies like Adobe's iPhone compiler in Flash CS5 won't be allowed, simply because the source code of the app that you're writing isn't in a language Apple's comfortable with. The compiler had been seen as a potential boon for Flash devs that had already been blocked out of the iPhone ecosystem for lack of a true Flash player, but Apple's found a way to block even this workaround -- technically you don't need to be using Apple's own tools, but you've got be using one of three variants of a single programming language. It's hard to say why Apple cares, exactly, but we suspect that the company would have to analyze your app pretty closely to detect variances in how the compiler produced your machine code in order to determine that you'd violated the rule.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).
This could be a blow to publishers -- Condé Nast included -- who'd been banking on Adobe Air to lead the digital push, since those guys presumably won't be able to bring their issues to the iPhone (and, more importantly, the iPad) without violating the terms of Apple's agreement. Protectionism is a core element of the iPhone's success, in Apple's view -- but ultimately, this might come out as a decision that's difficult to defend, unnecessarily sours publishers to the platform, and turns Flash devs' heads just a little grayer than they already were.
























Oh no he didn't. You gon' take that Adobe?
@CJisohsocool
it's not like they have a choice. They have to abide by apple's ridiculous rules.
@CJisohsocool
I really hope this backfires, and some of their deals with content owners and producers fall through. Technological advancement should support openness; the thought of sharing information, ideas, and cool new things. Now limiting the language in which you must code an app? Ridiculous.
I love my Apple products, but this is just too much. I can understand a closed ecosystem to protect profits, but this goes WAY beyond that. Not cool Apple, not cool.
@Chizzed All Adobe needs to do is listen to Apples demands basically. If they make a few steps forward maybe it will change for the better.
@Chizzed im with you. this "my way or the highway" attitude from Apple is ridiculous.
@CJisohsocool Well there goes my career path. I quit making HTML/CSS websites to continue developing my Flash skills for Web/phone apps, since Adobe announced their iPhone compiler. Right now I'm f*#ked!!
Imagine developers who already have Flash developed iPhone and iPad apps ready for deployment, unless this new rule is only applies to Iphone OS 4.0.
But in the future clients have to pay double or more for an App for everything and everywhere.
I already loath Steve Jobs, can you image how I feel now. Now I'm wondering if I should learn Obj-C and join the devil? Plus Ill need a Mac if I do.
@mrpixel
apple is cold blooded!
Wow, someone at Adobe has put a serious burr in Jobs' underpants...
@kyphem you sir is an idiot for saying what you said.
@mrpixel i didn't see anything that says "You can't use Adobe's Flash to iphone converter"
they care about the language of the end result. so long as it doesn't have some meta tag that says "created by xxxx" and it's in the correct language how are they going to know.
which makes the next question, how does this Adobe program work, what is the form of the final result.
@mrpixel Since you already know HTML and CSS, I suggest that you focus on JavaScript first, to leverage the knowledge that you already have. After all, it has a lot in common with ActionScript 3, since both languages are variants of ECMAScript. JavaScript is here to stay, and it will be always supported by everyone, that is guaranteed. Also, look into Canvas (super easy to learn), or preferably SVG/SVG Tiny, although I am not sure about the performance of both on phones, especially the former (it should be pretty good on the iPad, though).
@CJisohsocool I hope Adobe fires back and delays the Mac version of CS5 (indefinitely?) until Apple plays nicely.
@shotta "you sir is an idiot for saying what you said." Really? Did you really just call someone an idiot by "You is idiot"? Because that would be really dumb if you did.
@Charlik According to some sources I read today that Apple could know if the code was originally done in Obj-C by looking at the binary code, or the size of the binary code, or some complicated jargon like that.
@mrpixel This is only for the iPhone OS 4.0. I know a developer who got an e-mail from Apple just this afternoon that his iPhone app made with a beta of Flash CS54 was approved. Meanwhile Adobe announced a few weeks ago that there's already over 100 iPhone apps in the iTunes store built with Flash CS5. Any apps made with Flash CS5 currently wouldn't break the current 3.2 iPhone agreement. Which makes me wonder if there will be a little rush to get apps in before the 4.0 OS gets out of beta.
@DEFYgravity
Soup nazi.
@CJisohsocool
Apple is actively helping everyone to open web standards like HTML5.
There will be winners and losers when HTML 5 arrives, but the sooner we can be rid of intermediary plugins like, Flash, Air and Silverlight the better.
This is typical Apple 'push' approach by 'burning the bridges' but with the iAd 'pull' approach this might actually help us get to a web based on open standards and as web users/ technology consumers isn't a web based on open standards like HTML5 in our interest?
Here is the problem for Adobe. Apple has their own proprietary "Flash", can't remember what they call it, Cocoa or something. Windows/Windows Phone has WPF/Silverlight the "flash killer" for their platform. And Android relies heavily on HTML5, I believe (correct me if I am wrong). The problem is there is no longer a platform that "needs" flash to do flash-like things. Flash is a 5th Wheel that is looking for a home. Adobe AIR creates the application framework for flash, but there still is no "home" for that framework. All the OSes have their own framework. Flash and AIR I believe is on the way to being obsolete very quickly.
@JeanMichel Decombe
Good point. I did look into that a few months ago, but it seemed overly complicated process. There doesn't seem to be a good dev tool similar to Flash/Flex that does Javascript/HTML5 etc. I'll eventually will learn Canvas as it does interest me, and not just that but I think Flash CS5 does have some Flash Canvas goodies coming. We'll have to wait next week.
Great thing ablut Flash/Flex/Air is you can create one App and compile for all. Now it looks like you can't which is my main hassle.
@CJisohsocool
Adobe's gonna take it like they dropped the soap in iPrison.
@McKirf Thats the problem. Clients and developers don't want OS's to have their own framework. They want a framework for all. It saves the client money and gives them a broader target market.
I'd also like to add that it seems the ONLY way Flash and AIR can survive is if they start producing their own OS, then they will have a home... and an uphill battle.
@CJisohsocool
Why don't they just change CS5 compiler-compiler to generate Objective C code instead of machine code?
I'd love to see Adobe threaten to cease all development of its OS X applications. See how Steve Jobs like that. My word, what a prick that guy is. I can't wait until he leaves Apple and maybe they can stop being assholes all the time.
I agree, however, there is NEVER going to be just one framework to support. My point is that without Adobe having their OS, flash is just another framework to keep up with while you're supporting the other frameworks that have an OS. Why take the additional time to learn AIR and Flash when it's barely even usable on any Apple platform, is being pushed out of the way in the Andriod platform, and WPF/Silverlight is so intertwined in Windows, why write additional code for Adobe? Adobe needs to create an OS and shop it around in order to survive in that product category.
@CJisohsocool
As web users and technology consumers don't we want a web based on open standards like HTML5?
Apple is supporting HTML5 and it would be good if Adobe started to support the emerging HTML5 standard in all their creative suite products, rather than pushing their own intermediary plugs like Flash and Air.
At WWDC this year it wouldn't surprise me if Apple started to move more aggressively into the the HTML5 development space. Adobe's CS cash cow might get some competition.....
@mrpixel Which was the problem Apple saw. They want apps to be native, they don't want effectively "ports" from other platforms.
As a user, I want native apps too (think: the difference between a native Mac app and a ported Windows or Java app.
As a developer, especially one who planned on using other proprietary dev tools like .NET , this would suck.
@mrpixel OK, cool. The reason why I think SVG is even better for the long term is that it is entirely parseable, as its structure is based on the DOM. Thus, its philosophy is aligned with the ideals of the Semantic Web, one of which being that semantic statements should be favored over programming instructions (one could say that a visual language does make semantic statements, in this case parseable even if they are not expressed in RDF). Canvas, on the other hand, is more of a black box where all the visual statements are expressed in code. Naturally, one could imagine that the Semantic Web could also infer new facts from parsing JavaScript "business logic" someday, but that will not happen for a verrry long time.
@CJisohsocool
iAd will help the adoption of HTML5 for advertising, which should mean more work for iPhone developers.
Guess its not so good for flash developers ....
Adobe please start supporting HTML5 in creative suite, the time for pushing proprietary plug-ins like flash is over, please get behind open web standards.
@mrpixel
The Android OS welcomes you with open arms my friend.
@CJisohsocool
This is more than aimed at Adobe. This is a move that prevents developers from using one codebase to develop cross-platform apps for the iPhone, Android, WebOS, WinPho7, etc...
Instead, Apple is saying, "If you want to develop for us, we are going to make you use our tools, our computers, and our language" which then makes it harder to develop for the other platforms.
After all, what would happen if the majority of iPhone apps existed on the other mobile OSes? It is great for developers who can earn more revenue for their work, but it lessens Apple's uniqueness.
@jwdav I understand. I want quality native apps as well. I for one disliked games being ported from XBOX/PS3 to PC, as half were slightly buggy. But I would have a choice, buy a 360/PS3 and play a native coded game or save the cash and buy the ported PC version despite the bugs (such as memory leaks or performance).
With Apple now, there is no choice. If there's a great App on Android, created for Android, you will either have to buy an Android phone, or with luck wait for a natively coded iPhone version.
@JeanMichel Decombe Thanks for the info. Ill look into this.
But I have to admit, I'm more of a designer by heart. :) Hence why I like Apple's industrial design, kind like a beautiful blond.....but the dumb b**ch bit me!! ::(
@mrpixel -- Don't give up on your ActionScript dreams yet...
Once Mobile Air and Flash 10.1 are available to the likes of Android, Blackberry and Web OS, Apple stands to lose out on being the kid who gets the hot new app. As an ActionScript developer would I rather develop an app to run on 56.5% of the smart phones (Adobe Air) or 25.4% (Apple)? Sure I was stoked when I thought I could just run my code through a compiler and tap into the Apple Market. But now, it makes more sense to develop for the Adobe Air market and if your app is popular then decide to recode it in Obj-C for the iPhone.
comScore (market share) Source:
iDon’t know if its ignorance or arrogance but I don’t see this decision ending well for Steve & Co…
@CJisohsocool
The Apple Haters are too busy making a mountain out of a molehill..
LMAO. Its adobe that needs/wants Apple. Not the other way around.
It's Apple's product and their OS. They have the right to do whatever they want with it.
@TheLondonExchange
Obviously you have no idea about software development. In recent decades developers invented a lot of ways how to use all kinds of pre-processing, multi-platform frameworks etc. to make it easier to build applications for multiple platforms. This is something all software developers try to do. If Apple indeed is trying to ban this it would be an unprecedented move, a very sad day in the history of software design and ultimately a self-defeating proposition. But we all know that Apple with its paranoid leadership will break its neck one way or another.
@CJisohsocool
Huh, Apple's selling exclusive hardware with exclusive software requirements. When did this happen before? Oh righhhht....
@lilo they are not trying to restrict cross-platform development. They're trying to restrict everybody and their grandmother from writing fart apps in ActionScript and then compiling it using tools they probably didn't pay from from Abode to pollute the iPhone OS platform like they did to the Windows platform. It's called quality control. Much like everything that goes onto the XBox or PS3 or Wii or PSP or DS or whatever device out there goes through MS, Nintendo and Sony to make sure it doesn't fuck up their customers experience. Last I checked C/C++ can be compiled on any platform and any architecture.
If you want to create software for Windows Phone 7 you have to use XNA or Silverlight. Both technologies only work on Windows and Windows Phone 7. This is no different from what Apple is doing. If you want to make a game for PSP there is no way in hell you're going to be allowed to use Flash. It won't get past Sony's quality control team.
If you don't want to code in C/C++, Objective-C then the iPhone OS is not the platform for you. Why not choice a different platform. There are choices.
It's really disturbing reading all these ill informed comments. Thankfully, nobody who actually makes real decisions takes any of it seriously or the world would implode.
@schammy
Adobe isnt as childish as Jobs.
Anyway, how can they bag out flash when iTunes and Quicktime for windows are UNSTABLE PIECES OF SHIT!
I pay 400$ and it frezzes without fail for 5 minutes when I plug in my iPod touch! WTF!
@CJisohsocool
Steve and his personal vendetta
@CJisohsocool So now Adobe can focus on getting Flash available for Windows Phone 7 until the end of this year.
@CJisohsocool Strange how Adobe made Apple to what it is today, and gets stabbed in the back so hard now... :'(
If I were Adobe I'd be all like "we're not giving adbe CS5 to OSX because it's programming laguage is'nt what we want."
@scottkrk "Adobe please start supporting HTML5"
Adobe already supports HTML5. Unlike Apple, Adobe made their RTMP protocol open source. RTMP is now being coupled with HTML5 applications across the world wide web. Of course the Flex/Air Framework is and will always be better suited for RIAs than HTML5.
@McKirf
u r crazy? everyone buy apple supports Flash.. question is if Apple can survive without Adobe. Macs used to be the N1 choice for graphic designers and other professionals for many years.. before they have decided to play the iCool card and try to hit the masses.
@Chizzed Look beyond Youtube, look beyond facebook. Look at the Internet, a dynamic powered system.
Apple doesn't want the internet to exist. This is all a plot of monopoly of the market. What about the free cloud computing? Obviously they're gonna release an app that costs $20 and have $10 for themselves. or what about those free listening sites like Playlist.com that rely heavily on Flash?
Apple wishes to restrict free information and clutch net-streaming in its grasp. And so this is why I personally will not use iPad until we can use everything that comes with the internet on it. Install everything we want on it, and use it without restrictions.
Reactions to the new iPhone OS- http://bit.ly/4-0-OS-iPhone-reactions
@mrpixel
You could always just move from developing for apple products and help develop for pre, win mobile 7, android etc. If developers move system then apple will change their ways.
@CJisohsocool Screw you Apple and your regime, I'm an Android and proud.
@CJisohsocool You know, this is serious business. Apple is almost single handedly killing a platform Adobe has invested significantly in, which leads me to wonder what actions Adobe would be willing to take in order to combat this. Press Release, "Adobe Suite now only available for Windows because we're not comfortable with Obj-C as a base programming language." Want to wonder how fast the flash stance would change at Apple?
@CJisohsocool I am with my co-workers. Adobe should stand up to Apple and CS5 should be released for Windows only.
@JeanMichel Decombe, SWF is also a DOM-like format, just represented in binary and tightly compressed, but you can traverse the data tree the same you can with XML...