Adobe reacts to Apple's about-face
blogs.adobe.com
blogs.adobe.com
Yeah right. More like: Adobe's incapacity to build a suitable mobile Flash plugin, one that doesn't suck and which won't make the web experience feel like walking through molasses, remains in place.
For now the choice is between no Flash on the iPhone, and seriously buggy Flash on Android. For what I want (and I accept others are different) there's really no difference between these two options - if I can't rely on it, I'm not interested.
I'd be interested to know what the view of the engineers inside Adobe is though. From everything I see and hear what's shipped so far is bad enough that it probably shouldn't have been released into the wild.
Were they aware of that and was it pressure from the top that forced them to release it as it is? Or are the problems things which result from the significant scaling up of the number of devices and users? And do they have faith that these things can be solved before HTML5 gets a big enough foothold that they've got a real fight on their hands?
Getting back on topic, does the ability to compile Flash code to a native iPhone app actually undermine the need for Flash in the browser? If the biggest players can just release an app which reuses their existing code and fulfils the specific need they have, do they care that it's not through the browser?
Mmm, the reusing code bit may only be partially true. Note that in today's App Review Guidelines there is a specific mention that apps must abide by Apple's HIG in order to qualify.
In other words, ugly apps, or apps that don't abide by Apple's usability standards, will not be allowed in the App Store.
IMHO this is a good thing - I personally despise one-size-fits all UI design... it maintains the weaknesses of all targeted platforms while being completely unable to leverage the strengths of any. Truly atrocious.
In any case, simply turning your Flash app into something that runs on an iPhone may not be sufficient to get Apple's seal of approval.
Adobe claims that some CS5 apps have already been accepted. Any examples?
All you'd need is a web page with the flash app embedded in it.
I really wonder how much of apples anti-flash stance is due to the fact that it would allow instant bypass of the app store and another way to get apps on the iphone.
The whole battery life and user experience argument is nonsense, if a user wants or needs something they should simply get it.
Apple have made a choice - if they can't make these tradeoffs transparent to the user, then they won't allow the tradeoff to be made. I think that a vast majority of the population would agree with that as an idea, they don't want to have to deal with the complexity of modern gadgets, they just want them to work. If you're a user that figures that they can handle this complexity without shooting off your foot, then you're really not Apple's target market.
Of course, I can't help noting that you can always just jailbreak an iPhone, or get a dev certificate, and you can modify things to your heart's content - it is only "power users" - those comfortable with technology, but not good enough to be able to modify things themselves that find the iPhone platform frustrating...
A creative developer doesn't start off with developer-grade skills, he starts off as a child(newbie), learns to walk(normal user), learns to run (leg power user), then figures out how to attach rockets to his legs without killing himself.
Unless it's HTML/JS/CSS, there is no way of embedding an app, Flash based or otherwise, in a web page on the iPhone. iPhone Apps are standalone and interact very minimally with each other. Safari on iOS certainly has no way of accomodating something akin to a Flash plugin.
What Apple have OK-ed is using tools other that XCode to produce standalone apps and one of the tools this now allows is Adobe's Flash to iPhone app builder which, very roughly speaking, takes the source of a Flash application and creates an iPhone app with the same functionality.
But the apps it produces are not Flash, they're standalone native iPhone apps, they can't download or run Flash from the web, they sit outside the browser, they still have to go through the app store and are still subject to Apple's rules and restrictions.
In terms of restricting things to the App Store - Apple already allow a mechanism for going to the web and running apps that don't go through the App Store. It's called web standards - HTML/CSS/JS/H264 and so on - indeed for a while it was the only mechanism they supported.
The App Store contributes 1% of Apple's profits (high volume but the margin is pretty low as you've got to host, review and distribute every app, regardless of cost or sales). I honestly think this is about the experience rather than the money.
So we're more in to adobe 'air' territory, flash based stand alone applications without a web container.
Short answer: You still need to get apples seal of approval.
You will still have to use the AppStore to get that app on the iPhone. The only other route is a web-app. You will still have to get Apples seal of approval to get on the AppStore. There is no alternative. You will still have to adhere to the HIG (and more) to get Apples seal of approval. So no generic cross-platform apps, your app will have to behave like a proper iOS app in every way.
I think that in reality nothing has actually changed. The reason behind the original ban of 3d party cross-platform frameworks has not changed. It's just the way in which Apple defends against this risk that has changed.
I guess it will also allow these companies to reuse existing skills as much as existing code.
(I haven't installed this week's firmware update yet. I hope that does in fact improve things)
I too experienced the "freezes from hell" with iOS 4.0 running on my 3G, but ever since upgrading to 4.1 on Wednesday I've had no more freezes.
Case in point on the Mac side Flash was (and is?) horrible but Adobe couldn't seem to give it a second thought.
And please don't say "Android".
http://newteevee.com/2010/08/31/video-flash-on-android-is-st...
http://newteevee.com/2010/09/02/is-flash-on-android-shocking...
Many web sites rely upon hover, don't operate with touch, and demand a keyboard. Most canvas demos (all the rage right now) make the highest of the high end smartphone absolutely beg for mercy, with a miserable experience that can choke a high end PC.
Once every website is infected with heavily dynamic, non-segregated HTML5 ads, experiences will slow to a crawl.
Nonetheless, I'd rather have the option of using the web than to have someone else tell me what's good for me using worst examples. Every justification used to try to pretend that Jobs' Flash embargo is good for consumers is just as applicable to web applications.
I have Flash on my Android phone and I quite enjoy it, as, it seems, do most Android owners so equipped. It's far from a perfect experience, but it has come in very handy in a pinch many times.
It strangely seems to be a lot of iPhone owners telling us how poor of an experience it provides.
And yes, users can give apps they don't like a bad rating, but that is something they can do no matter what language or framework the app is written in.
Finally, there is no reason to expect that an App written in flash is a priori inferior to one written in objective c; especially not as a developer of a higher level language can spend more time matching the capabilities of his app to the expectations of its users.
"Looks like the new policy would allow to have VM included in the app itself. Why not focus instead on the VM instead of this as3 to native code conversion (sure the innovation in one can already help the other but still it’s the VM which since in need of a bit more love)." [1]
Now that Apple allows interpreters (as long as they run code packaged embedded in the app), I wonder if this approach would be easier for Adobe to maintain than the AS3-to-assembly compilation they do now. Arbitrary SWFs could be paired as data with a standard interpreter app.
EDIT: I suppose this would make the packager a lot more like AIR for Android( http://labs.adobe.com/technologies/air2/android/).
[1]: http://blogs.adobe.com/conversations/2010/09/great-news-for-...
"Now that we are once again committed to the iOS platform, we will work on tools and frameworks to make developing iOS applications much easier. I’m currently using early versions of these projects for Android development, and they are extremely easy to use and help to create a very efficient developer workflow."
http://blogs.adobe.com/cantrell/archives/2010/09/packager-fo...
So, according to Adobe, by browsing with flash disabled, I'm missing out on the full web experience?
Funny, I don't notice anything missing except a crapton of ads.
On another note, I do hope that browsers will add the option to selectively enable/disable html5 audio/video, because that'll also get rid of ads coming in the future.
Deleted comment
If you want to display something on the screen, you will have to use the native API (which, too, is native ARM code).
What Adobe did here was to statically link a flash player to the flash movie. So what you install is basically the flash player capable of just playing that one movie of yours.
It's still native code and doesn't load external code either, so it's fine with Apples new rules.