Great news for iPhone. Terrible news for Android.
Adobe has said it won't be developing any more versions of its packager, which allowed Flash applications to be recompiled for the iPhone. Instead Android will be its focus in the future. Apple doesn't want Flash on the iPhone, so Adobe fitted its development platform with "Packager for iPhone" which compiles Flash apps into …
The reason Apple are against the idea is simple: Developers must use Cocoa Touch APIs, Apple can improve these APIs over time, tune for performance (or new hardware) and Apple remain in control of the iPhone's destiny. Layers that get between an app and Cocoa Touch introduce a dependancy that Apple cannot control, and mean that part of the iPhone experience is a "closed box" to them - the success of the iPhone OS platform is far to important to them.
But this is only part of the story, Apple also want developers to create UI's customised for the iPhone (and now iPad) a "cookie-cutter" application development environment would have eroded that - Apple understand that the success of the iPhone is actually a story about the success of two things: The development environment (yes, Objective-C is actually really nice to develop in) and the iPhone UI.
Cue scene in Adobe HQ boardroom:
CxO #1: "Hey guys! I have this awesome way to get back at Apple - let's cut off CS and make Apple beg for mercy!"
CxO #2: "Err, that would cut off about 25% or so of our income, plus it opens a gargantuan hole for competitors to create a market in. Even Apple could build something."
CxO #1: "Umm, err, umm..." (taps into email: "Dear Flash evangelists: please relay to the world that Steve Jobs is a poopyhead! Kindly put in the usual disclaimers about it not being our official position, etc.") There - problem solved!
the lack of Flash forces people to use apple's SDK and thus to publish apps through the app store, this is a huge amount of money for apple.
this is why, if I were to upgrade from my now ageing Nokai E71, I'd consider an n900, to get a truly hacker-friendly phone and not a crippled device like an iphone or pre (and please don't suggest jail-breaking, I have considered it but it's not a sustainable option).
Any app produced through Adobe's Flash Packager would still have had to go through the App Store approval process, thus you'd still need a dev account, have paid your $99 and done what every other dev has to do to get their app approved. You appear to conflate developing a Flash app for the iPhone with somehow magically bypassing the App Store - just stupid!
Second, Apple make no money from the App Store, just like they make no money from iTunes. You appear to have no understanding how this ecosystem works, yet you feel confident enough to pass comment, thus making yourself look most foolish.
I doubt it.
Adobe needs Apple way more than Apple needs Adobe.
But I'm a generous man, and we'll entertain your hypothesis for the time being.
ADOBE: Ha ha! Have at you! No more Photoshop for Mac! Take that, you turtleneck-wearing, goateed Beatnik hipster scum!
GOATEED BEATNIK HIPSTER SCUM: Oh, botheration. /fires up Parallels
ADOBE: Damn and blast!
GOATEED BEATNIK HIPSTER SCUM: /sips decaff Soy latte
...Jobs is concentrating too much on making people purchase an app for every little function they need or want for their phone. Meanwhile, iPhone users are becoming removed from the general freedom of the Net.
If I fancy a game of Space Invaders, I can just visit a Flash Games site using Skyfire on my HD2. An iPhone user would have to line Steve's pockets to do a similar thing.
The iPhone is ultimately a tool to milk people of the folding stuff in their wallets. And it's very good at that.
"If I fancy a game of Space Invaders, I can just visit a Flash Games site using Skyfire on my HD2."
If I fancy a game of Space Invaders, I can just download the fee app from the internet onto my HTC Touch HD. Don't need flash for that.
While I am in *no way* an Apple fan (I own no Apple products), I applaud anything that kills this damn-awful product - while Flash might have made sense in the old days of 'net development, it is now bloated and unnecessary. Much like the PDF formats, in fact - what started of as a good idea soon had scope-creep plastered all over it and now is a bloated piece of junk (the ability to store and run an executable inside a PDF? who came up with *that* one?)
"Such things are probably collateral damage to Apple, who clearly intended the changes to hit Adobe's Flash" - how do you figure this? Aren't Adobe just the most high-profile recipients of said collateral damage?
I highly doubt Apple would allow their strategy to be directed by a vendetta against Adobe, or anyone else.
You're missing a lot of facts in this article.
1. Apple didn't change the rules. They never allowed runtimes or intemediate layers. Adobe tried to do an end run and Apple wouldn't let them.
2. Flash doesn't work on ANY mobile device. Even 10.1 is likely to work only on a tiny percentage of the highest end phones. It's not Apple's fault that Adobe has been unable to write a version of Flash that works on mobile devices.
3. The Adobe converter doesn't make sense. Flash doesn't work on any mobile devices today, so why do they think that adding another layer makes it work any better?
The writing has been on the wall for 3 years since the iPhone came out. Adobe could have either fixed Flash or they could have had CS5 support html 5, but they declined.
Apple has excelled on creating a great user experience and Adobe has yet to convince anyone that they are a part of that.
I like the way...
"2. Flash doesn't work on ANY mobile device."
Is immediately contradicted by...
"Even 10.1 is likely to work only on a tiny percentage of the highest end phones."
And then back to...
"It's not Apple's fault that Adobe has been unable to write a version of Flash that works on mobile devices."
Uh-huh....so you seriously believe there isn't a mobile version of Flash? So I wasn't using Flash 2 years ago on my previous phone, and I totally can't see those Flash games on my current phone.
And this never happened:
Judging by the defence of Apple, the doublespeak and the complete detatchment from reality, I'm gonna bet you've got an iPhone. Either way, you're talking out of your ass.
Logic - try it some time.
'Flash does not work on ANY mobile device' does not contradict ' SOME DAY Adobe might have a version of Flash'. There's this little thing called 'time' that you seem to be unaware of. TODAY, no mobile phone runs a full version of Flash. SOME DAY, Adobe says that a tiny percentage of today's phones will be able to run Flash.
I love your crunchgear article. It says that Flash will SOME DAY come to Android and you seem to think that means that Android has Flash today. Once again, please have someone explain the concept of 'today' and 'some day' to you.
The rest is simply your misunderstanding of how Flash works. I specifically referred to a FULL version of flash - which does not exist on any phone today. Yes, there is a mobile version of Flash, but it is so limited as to be useless. If you have to rewrite the page to work in the limited subset of mobile Flash, you might as well rewrite it to not use Flash at all. Most Flash pages don't work on mobile Flash.
Your 'fact' is wrong.
There is currently no full version of Flash on any mobile phone. Flash 10.1 is supposed to come to Android some time later this year, but it has already been delayed several times - and in its current form, it is reported to be slow and choppy.
So, your statement that 'Flash works on Android' is just more of the Adobe FUD that fills these forums.
You're missing the point here.
The primary reason Apple is banning flash has nothing to do with performance or user experience (although I'll grant you it might be a bonus).
The primary reason is that flash & silverlight allow apps to be distributed via websites, rather than via the App$tore, which costs Apple money. So Silverlight won't be allowed either (aside from the fact that I haven't seen many silverlight-based apps yet)
I think Jobs is a complete Bastard, but I have to agree with the comments that Adobe Flash has seriously missed the boat on the mobile platform. The early Symbian implementations were so bad they were dropped from later phones.
Many of the "free" flash games, embedded into web pages aren't designed with touch in mind, requiring mouse (onmousexxx() actions etc.) or key press interaction.The equivalent disposable apps are more often or not available for free on the app store (Apple gain nothing from free, 30% of 0 is 0 afterall!). This has noting to do with bypassing revenue streams and everything to do with not allowing a third party to dictate the future development road map that shills a poor quality insecure product. It really is that simple, though admittedly the reality is less scandelous.
This post has been deleted by its author
I once had high hopes for cross-platform development, but it only seems to be applicable to games (and high-end games at that). It seems Apple did too, investing a great deal implementing Java on the Mac for example. The results were almost universally hideous. I haven't used a single Java app that felt at home with everything else, and the net effect was a drain on my productivity.
Flash is in the same category, but worse. I've seen so few good uses of Flash that I finally resorted to using a plugin to block Flash content unless I explicitly click to load it (which almost never happens). I was dreading Flash in the iPhone because it would launch a tidal wave of junk on the App Store. I pity the Android users who are now in Adobe's sights...
There's been far too much hysteria over this issue. I strongly doubt Apple's development kit T&Cs will have *any* impact on high-profile game development kits or libraries. IMO this policy change is all about blocking low-end cross-platform 'fluff'. Apps that look like they belong on the iPhone will fly through the approval process.
If only there was an android phone released by a cooler brand than Apple.
Apple is quite chavvy now in my opinion - sure it's a good piece of hardward - but walk in any city and it's reached critical mass - it used to stand out from the crowd - now it is the crown - it's as common as muck and I can get one for free off any mobile network I choose to call.
The big question, is that given a superior platform and hardward, which brand could topple Apple amongst cool circles.
For example a joint Android release by Adobe and B&O as a software/hardware combo would be a very exotic and desirable piece of kit.
I am furious with Apple- my local Apple store sold me a MacBook Pro Core 2 Duo just 2 weeks before the new i7 was released. Almost 2K that cost me, and if I'd waited just 2 weeks I'd have the latest model. They are scum as far as I am concerned and hope somebody takes them to task.
"I am furious with Apple- my local Apple store sold me a MacBook Pro Core 2 Duo just 2 weeks before the new i7 was released. Almost 2K that cost me, and if I'd waited just 2 weeks I'd have the latest model. They are scum as far as I am concerned and hope somebody takes them to task."
What, you're annoyed that a newer bit of kit came out after you bought something? Or did you forget to select the 'joke alert' icon?
Apple store staff don't generally know about new kit that far ahead.
Do you know that you can (in the UK and US) return a product back to Apple within 14 days and get your money back? Here's a tip for the future, find out the cooling off period before making any big purchase.
Did you consider *returning* it? The same happened to me with a MacPro I ordered last year, right before the specs were upgraded. I called the Apple Store, explained the situation and they agreed to take it back. Since I ordered online, I had to pay shipping myself, but they gave me a full refund and I bought the current model.
Reason and civility goes a long way.
Adobe gives up on the iPhone?
That's absolutely astonishing news. You mean that following on from the recent worldwide revelation that compiled Flash from CS5 will be rejected by Apple, you mean to tell me that Adobe AREN'T going to carry on pumping millions of dollars of development into CS5's ability to compile iPhone apps? You're must be kidding me!
Thank you, Reg. Thank you for sorting out this blinding piece of journalism that none of us could have possibly worked out for ourselves.
Unbelievable. Adobe discontinuing support for a platform they can't develop for anymore. Still can't get over it. Who'd have thought it? Such news...
I reckon that the underlying reason for all this is because Apple are the only company brave enough to try and stamp all over the abomination that is Flash.
Frankly (and I don't say this often), I bloody love Apple for it.
I also bloody love the FlashBlock add-on for Firefox which I recently discovered.
Is it that hard to make a pre-compiler that would read a flash app and output the equivalent in Objective-C code? Is Apple going to study every code and try to guess whether it was translated or not? Silly me, of course Apple would. But would they really be able to tell the difference? There is no end to the obfuscation you could go to in order to make it look like a human being typed the code from scratch.
I can imagine Apple starting to randomly refuse apps because they look like they might have been translated...
Firstly, it is not trivial to do such a translator. Secondly, even if you did, the translator can only translate code, not intention: functionality written for a particular platform or usage pattern may not be obviously mapped to similar functionality on another, completely different platform. For instance, if the application relies on the current mouse position to trigger an event, how do you translate that to an input interface that does not have a mouse, nor any constant stream of user input events?
This is the real problem that Apple are trying to solve. They are basically saying that if you want to write an application for the iPhone, it must be developed as an iPhone app, with all that entails: an intuitive interfaced based on the common interaction patterns of the iPhone, a work-flow that fits a touch-interface model, and exploitation of available features exposed through the native APIs.
Lets say that Flash were to be allowed on the iPhone, and that iPhone OS 4.0 is released with its new-fangled "multi-tasking" and gaming API, both highly desired features. And say that the Flash infrastructure, not having been updated to be aware of these new APIs, lacks this functionality. In a single stroke, there's a myriad applications that will not be able to take advantage of multi-tasking, graphics acceleration, and social gaming features. Now, consider that the Flash platform were popular enough that Adobe could say "naw, we're really not in a hurry to implement those features yet," and you can see how they could hold Apple hostage.
This exact scenario has happened before with various platforms on various operating systems, and it has happened before to Apple. Steve Jobs is now in a position to prevent this from occurring from the outset.
All right, I think I get it. Apple does not want apps based on Flash, because it would flood the iTunes stores with apps of "lower quality of experience" that would bring down the level of apps as a whole.
Fair enough, I guess. There may be 100'000 apps already, but there are millions of Flash games. And it would certainly be a let-down if people start saying that apps are just like flash games on the web, except you need to pay for them.
...Of course, that might be ignoring the fart apps, but I do get that if you have a very rosy-colored view of what an app should be, you might turn up your nose at flash games.
"Adobe has said it won't be developing any more versions of its packager, which allowed Flash applications to be recompiled for the iPhone. Instead Android will be its focus in the future."
Sucks for Android. And its users. I have an especially big hate-on for Adobe today after having just caught their GetPlus(R) DLM virus trying to sneak install into Firefox and having read up on that POS. They still don't get it and I doubt they ever will.
As far as developers are concerned, we cannot use any type of browser plugin with the new SDK, except those provided by the WebKit engine.
Right now, there are many WebKit/Safari browser plugins that are supported 'natively'. So, if Apple wanted to, they could allow an Objective-C-based Safari plugin to run Flash SWF files, just like they allow the browser to run a native PDF viewer plugin to display PDF files.
What I find surprising is Adobe and Apple just can't seem to work together to give the users what they want: Flash on the iPad. For now the closest we can get is Flash on the MacBook Air.
It is not obvious that Flash on the iPad is what the users want. For three years now, the iPhone has sold like hot-cakes and many people are happily using it, all knowing very well that Flash was not supported.
Please consider this: The people who post on Internet fora, and in particular on techie sites like El Reg, are *not* the majority of consumers.
Honestly I can understand why some TMZ loving short bus lickers would be Apple Fanbois but how the hell can anybody defend and actually like Adobe (that isn't paid to do so)? The only people I could see are the pony tail hipster web designers that think they are developers but even they are getting ass reamed by Adobe with their forced upgrade bloat. Apples business model often sucks but at least they some times have decent products. Adobe hands down puts out the worse software security, performance and bloat wise of any major player in the industry. Their business model seems to be one of maintaining inertia at all costs by resting on what little innovation the company had over a decade ago. When a competitor comes along, buy them and proceed to destroy their once promising products by outsourcing everything to clueless sweatshops in India. Unfortunately they are also trashing their crown jewels lately as well. Even my lady was complaining about no longer being able to use Photoshop effectively because the interface has gone to sh_t. I am in the process of weaning her on the GIMP so our computers can be Adobe free (in general malware bad especially if you have to pay for it).
This has really put me off wanting to develop for the iPhone.
Mainly because of the insecurity. I could spend lots of money developing an application, and then Apple suddenly whimsically decide that the technology I chose to develop it isn't allowed.
This isn't just theoretical - business apps like SugarCRM don't know what is going on, see earlier reg article http://www.theregister.co.uk/2010/04/13/sugarcrm_ipad_html5/
If Apple wanted to stop apps that had bad user interfaces, or were slow, or were memory hogs, or didn't cooperatively mulitask, or that drained batteries, that would make sense.
But they haven't.
They've stopped code converters, even ones that go via C and call all the right APIs properly. Which means it must be a business decision, rather than one about usability.
That's very simple, instead of picking just some random technology to develop your apps in, why not just learn Objective-C and make programs directly for the iPhone, you know, in the actual technology that is designed for that platform.
>> "They've stopped code converters, even ones that go via C and call all the right APIs properly. Which means it must be a business decision, rather than one about usability."
It means no such thing, necessarily. code converters will most likely end up in bad user interfaces, or slow, memory hogs that may not take advantage of the latest APIs. This is because the code converter will translate *code* not *intent*, and code is typically highly specific to a task.
Now, could you also please give up on Windows and OSX development (they're both OBVIOUSLY hopeless, one full of bugs, the other run by an control freak, you be the judge) and go and write software for Sun, Oracle and the Linux zoo?
Or maybe just focus on Palm, they're going to be the next big thing, for sure.
a) what, no cross platform compatibility? yeah i'm gonna rewrite something just for one platform.
b) no calling other apis? really? isn't that common libraries out of the bloody window? they export APIs. Argue me calling a library you haven't written to do something that might interface with the iphone (i dunno opening a file or something) means you aren't calling an API. look up its definition on wikipedia.
c) oh they want it to be just like the ibollock interface then without some kind of intermediary api. what about this then. http://almost.done21.com/2010/04/adlib-apples-secret-ipad-web-framework/ . guess doing it not straight to APIs is a bad, bad thing.
d) objective-c. uglier than PHP, less easy to read than PERL, with all the drawbacks of C
g) i hate objective C
i must say as an enterprise with around a few thousand customers, we will be building in flash/air to support the maximum number of users across multiple platforms. the vagarities of various browsers can sod off its not going html5 as telling people to change their browser is painful.
adobe should just cancel CS for the mac. screw 'em.
"b) no calling other apis? really? isn't that common libraries out of the bloody window? they export APIs. Argue me calling a library you haven't written to do something that might interface with the iphone (i dunno opening a file or something) means you aren't calling an API. look up its definition on wikipedia."
Even if that were a proper sentence (or set thereof), it would still be wrong.
"d) objective-c. uglier than PHP,"
If you do it wrong.
"less easy to read than PERL,"
If you do it wrong.
"with all the drawbacks of C"
If you do it wrong.
Exactly what I was thinking.
Sure, Apple might want native apps written in Objective-C just for the iPhone/Touch/Pad devices.
Third parties might like generic app frameworks that can take one common source code base and assets like graphics/sounds, and then churn out versions for Flash (for websites), Android and Apple i-devices. You can do this by writing a layer on the device that runs say Actionscript so that your Flash app runs on the iPhone. Which Apple have banned.
You can just as easily have your translation layer that takes your Flash app source code from one machine, and churns out native Objective-C source code for a proper Apple compliant application on another machine (a Mac) where it is compiled and tested. No Actionscript needs to be anywhere near the Mac or the iP*-device
All legal as far as I can see; all you are doing is automating the code-monkey who would otherwise be manually porting code from one language and environment to another. Apple don't ban you from borrowing your C64 basic code from your mid-80's Space Invader code and writing a native Objective-C version of Space Invaders for the iPhone, so an automated or semi-automated version would be silly to ban.
The 800lb gorilla here is MS. They are unlikely to support the iPhone, but would be interesting if they made a Silverlight to iPhone converter; see how Apple reacts to that.
Apple had to wait a year after the launch of Mac OS X for Adobe to launch a native version of Photoshop, see http://www.wired.com/science/discoveries/news/2002/02/50600
"Photoshop 7.0, Adobe's latest version of its popular photo-editing application, features a few fine new tools to speed up routine tasks like portrait retouching and photo cataloging, but when it's released in April, its biggest draw will be that it runs, finally, on Mac OS X.
Many Macintosh users have said that they're putting off switching to Apple's next-generation operating system, which was released last year, until Adobe releases Photoshop for the platform."
Just now Adobe's launch of Flash 10.1 for mobile devices has been put back 6 months, see http://www.engadget.com/2010/04/18/adobe-ceo-flash-coming-to-android-webos-and-blackberry-smartp/
So, if 1,000 iPhone apps were based on compiled Flash, or 10,000, especially if any of them manage to be useful, what happens when a major new iPhone feature is introduced?
Why on earth would Apple ever want to hold up the development of the iPhone platform for a year or 6 months just so that users of compiled Flash apps could continue to be supported? If Apple supported compiled Flash apps they could be held hostage again by Adobe like they were in 2001-2002.
"Just now Adobe's launch of Flash 10.1 for mobile devices has been put back 6 months, see http://www.engadget.com/2010/04/18/adobe-ceo-flash-coming-to-android-webos-and-blackberry-smartp/"
What Engadget didn't mention that Adobe has already delayed the release of this product - it was meant to have come out six months ago.
On a recent story, someone did a nice job listing the kind of support Adobe has offered the Mac platform for the last decade - and mentioned that Adobe basically said 'OS X will never take off, use Windows instead'. One product that I don't think the poster mentioned was PS Elements - there have been two big updates (Versions 5 and 7) that appeared for Windows but not the Mac OS.
The programmer is a small cog; a cost in a wider strategy; he is no more than that.
If it turned out programmers had to recode in Chinese, or revert to assembler, or whatever, you would because you would have to.
Money is what matters, and money is made, not earnt.
Many Amiga games were crippled by the code being shared between the Atari ST version and the Amiga version. If it was an arcade conversion and the original code was 68k ASM they would use part of the original arcade game code.
As a result the Amiga version didn't take advantage of the custom chips properly and was on par or even inferior to the ST version.
The moral of the story? cross compatibility results in a product that can only be as good a lowest common denominator. Cross compatibility only affects development, a product properly coded for the target platform will be better and the end result will be happy users and a good product.
In this world of increasing laziness and resource sharing (look at cars for a good example) this is Apple trying to increase quality.
"In this world of increasing laziness and resource sharing (look at cars for a good example) this is Apple trying to increase quality."
While your points w/r/t Amiga/ST are almost right - the issue was not code sharing, but which parts of the code were shared, which is not a problem with shared code per se but a function of rushing a product to market without consideration of the platform - this is not about quality, it is about Jobs waving his wang at Adobe.
Almost everything Apple does is about Jobs waving his wang at /someone/.
I'm a BIG Apple fan. I have a Mac Pro, an Imac, a Mac Mini, a Mac Book Pro, 3 iPods, an iPhone.
I will always suggest my customers to use a Mac instead of a PC for various reasons.
But this is one step too far for me. Is Steven going mad? Where does he thing he get's the "right" to decide which apps we can have and which not. I'm all for some quality control and stability control. The "lite" porn app's discussion is already stretching it.
But what is the difference between this and MS forcing IE on every Windows user ?
Other then personal grunge, and a personal quest against Flash, there is little or no business reason I can see that would support this behaviour.
From a man of his intelligence, (at least in Europe) you'd expect a little more common sense.