Apple's Developer Tools Turnaround 'Great News' For Adobe
cgriffin21 writes "Apple is being praised for loosening of some of the restrictions in its Application Developer Program license agreement that open the door for app developers to work in Flash for the Apple iPhone, iPad and other devices. And no one is happier about the change than Flash-maker Adobe itself. They wrote, 'This is great news for developers and we're hearing from our developer community that Packager apps are already being approved for the App Store. We do want to point out that Apple's restriction on Flash content running in the browser on iOS devices remains in place.'"
Apple also received praise from Google over their reversal, which may have been prompted by an FTC probe. Reader Stoubalou adds that Apple shed more light on the app review process by publishing a list of guidelines (PDF) the violation of which may get an app rejected from the App Store.
Isn't that like praising a fundamentalist preacher for stopping his book burning?
This is eerily similar to Microsoft being praised for Windows 7 after pushing Vista. Sure the situation is completely different, but praising a company for finally listening to consumers is the wrong way to go about it.
I think this is the first time I've heard "flash support" and "good news" in the same sentence. My, how the times they are a changin'.
Nice that they post the rejection guidelines, but when will they actually follow them? The WiFi finders that disappeared is one. If Apple thinks that is own wifi locating software in iOS is enough to trump all the quality apps that were out there then that means they could do the same for any app even if the app performs better then the so called existing app. The wifi finders found 10x the networks that the network finder in iOS finds, yet this was enough to have apple take the stupid action of eliminating all wifi finders. An example is Wifi-fo-fum which will find 10 networks, tell you the mac, mode, security protocol channel, rssi and rates as opposed to apple's that tell you subnet and ip, with rssi only given in the form of the signal graphic that is about useless when trying to trouble shot signal strength on a wifi network and what might be affecting it.
After reading the pdf "App Store Review Guidelines" I'm of two minds.
First, damn that's a long list of rejection reasons.
Second, the subset of that list that is neither reasonable nor obvious is very short. There are only a couple that I would say are stupid, and they revolve around censorship (i.e. adult themes).
In the end, would I try to write an app that violated any of those rules? Probably not. One could argue that I might want to... and that's true. But if I want to do that, there's an Android market just over thataway. It's a walled garden, but there's a door right there.
I just recently got full and official Flash support on my Motorola Droid with Android 2.2. It seems oddly coincidental to me that as soon as Android has solid Flash support, Apple decides it's time to open the floodgates and be best buddies with Adobe.
What the fuck? Sure, it's natural that Apple would do that because they want to stay competitive with the Android segment of the market, but Apple was supposed to be the leader and "innovator", not the follower.
I guess you still have to pay $99/yr for appstore developer ability, or $299/yr for corporate development.
But what about people that just want to do the coding for themselves or fun? I don't want to distribute my app. Why can't I register one device that I can load my code onto for free without paying either of these?
I have a Mac, iPhone and XCode. Why can't I compile my code and move it onto my device without paying (or jailbreaking).
Seems that would be a nice way to get some more developers in.
Publicity 101 for leveraging a strong market position:
....
1) Impose unnecessary and draconian restrictions
2) Lots of anger in community; blog postings / news articles result (read: publicity)
3) Remove unnecessary and draconian restrictions
4) Lots of praise in community; blog postings / news articles result (read: more publicity)
5)
6) Profits!
GOOD NEWS EVERYONE! Flash can now port applications to the iphone!
No...only spam.
Living With a Nerd
Why would Flash take more battery than a normal app? Is there a suck_battery_life() function somewhere in the API nobody else is using but Adobe?
I don't want flash-based apps on my iOS device. They are slower and use more batteries than non-flash-based equivalent apps.
my opportunity to freely express myself with the potential persecution and hangings and such
I think it will be good for everyone involved that the rules are clearer and more app creation tools exist, as long as the approval process is both stringent and non-abusive.
Also glad that Flash applets are not allowed... those are 90% advertisements, and for those useful non-ad content, I'm happy using my desktop to view them.
Make sure everyone's vote counts: Verified Voting
I saw that with libimobiledevice, it's possible to control your iOS device with your Ubuntu desktop, including doing things like installing apps: https://help.ubuntu.com/community/PortableDevices/iPhone
What I'm wondering is, would it now be possible to develop apps for the iPhone from your GNU/Linux desktop, using a free software stack? What I have in mind is something like this: you write the application in C (a strict subset of Objective C), compile it using GCC (targeting ARM architecture?), using headers obtained from the Apple SDK (I suppose GNUStep wouldn't do), and then use libimobiledevice to deploy it to your phone. I suppose this still lacks some important parts, such as a device emulator which can hook back into a debugger, but still I think it's interesting to think about.
Is anyone currently pursuing this kind of work?
It's possible to both hate Flash and realize that a lot of things you want still require it.
(And, possibly, that there isn't a better alternative technology in some cases. I said some cases, HTML5-is-the-answer-to-all-things-video partisans.)
So lets see.. first there was "Edge is fine.. 3G is overkill," then "WE HAVE 3G!!" Then it was "nobody needs tethering," "Stop the presses: WE HAVE TETHERING*!!!! (*except in the US)", then "Multitasking is ridonkulous," "Oh, one more thing... WE HAVE MULTITASKING!!!"
And now Flash.
Steve Jobs is such a visionary.
https://www.eff.org/https-everywhere
"Which feature of Flash is impossible to re-implement?"
1) High-quality fast vector graphics with morphing and keyframe animation. Nothing in HTML5 is even close (sorry, Canvas is just a toy).
2) Video overlays and compositing.
3) Audio (nope, HTML5 doesn't have enough support).
4) Language with optional typing and fast VM. JS is not yet there.
"Heck, they've even ported Quake to HTML5 [techcrunch.com]. That is quite a bit more advanced program than most Flash apps."
Nope, they haven't. They ported it to WebGL which is NOT a part of HTML5 draft standard.
Flash is a hammer that frequently gets used to nail in screws. But sometimes you actually need a hammer.
The ______ Agenda
Apparently. Firefox CPU utilization without Lexulous (a non-animated Flash-based Facebook game - shut up, my Mom likes to play it with us) is about 8%-10%. (This is with Twitter and Facebook open which presumably are doing AJAX polling in the background.)
Throw open Lexulous, and I discover that I'm losing again (bah), and the CPU usage shoots up to 90% as long as that tab is open. With a Flash app that is literally sitting there doing nothing. No animation, no AJAX polling, just showing a Scrabble board.
So, joke or not, yes, it would appear that somewhere Flash has found the equivalent of suck_battery_life() and has a rather liberal usage policy for it.
Disclaimer: the computer I'm trying this on is an old Mac Pro G5, so I'd hope modern computers wouldn't be quite as bad, but still, that's pretty horrible.
You are in a maze of twisty little relative jumps, all alike.
There are extremes, and a happy medium... I prefer being happy.
Make sure everyone's vote counts: Verified Voting
Well, you have to admit that it takes a visionary to make a product that's functionally inferior to everything else on the market, and yet outsell everyone by such a large margin. And then roll out new versions with all those missing features, and sell it to all those poor schmucks who had already bought the original phone again and again!
Video overlay is up to the browser, but compositing is certainly possible.
Support is there. Including the ability to generate audio from code. Which lacking feature do you feel is necessary?
If you are talking about the development of the viewer, Javascript can run anything that LLVM can spit out. That includes Objective-C and even ActionScript in the optionally typed language category.
If you are talking about the Flash content itself, why wouldn't you be using ActionScript? There is no reason why a Javascript app cannot interpret it.
You're probably got me on performance, but that does not stop one from implementing said features.
I actually think supporting the addition of Flash in apps but, now this is key: continuing to not support Flash in Safari -- is actually rather ingenious of Apple.
First off, Apple was smart to ban Flash from App Store apps, initially. This has allowed Apple to build the thriving eco-system of apps, using their native graphics APIs, that exists today. Now, they have lifted said ban, one might be concerned that this means that suddenly a bunch of slow flash-based apps are going to dominate. But, here is the kicker: in order for a flash-based app to be successful it will have to compete favorably against the hordes of non-flash apps, already out there. Personally, all the apps that I use on a daily basis, aside from having all the features I need, are fast, pleasant to use, and just look nice. All the rest simply sit on my last page of the home screen as they approach their fate of being deleted.
By lifting the ban, they have effectively said to Adobe: "Fine, you can submit Flash-based apps. But, just watch what happens." My guess is that there maybe only a handful of flash-based apps will make the cut, if that. And by continuing to not support Flash in Safari, Apple continues applying their pressure on web developers to migrate from Flash to HTML5. Of course, this move could potentially back-fire on Apple, should Adobe figure out a way to optimize flash such that it's performance hit would be insignificant. My former prediction is the more likely scenario. And I'd bet real money that this is exactly what the folks in Cupertino are counting on.
The reality is, the "room" has gotten a bit too hot (with everyone complaining about App Store restrictions, the iPhone 4 Antenna issue, etc.) so Apple made, what I believe to be a very wise decision, to help relieve some of this pressure. It's a calculated risk for sure. But, one that will pay off for them in the end.
Well, good thing the code is converted to native iPhone code since the iPhone still does not run flash.
Running an app that has been ported from flash will be no different than running any other native app that runs with a native abstraction library. ie. Will not use any more battery power than a non-flash equivalent app.
"Video overlay is up to the browser, but compositing is certainly possible."
Not really. It's possible to have other items over the "video" tag, but effects like 'fade in' are going to be difficult.
"Support is there. Including the ability to generate audio from code. Which lacking feature do you feel is necessary?"
Not really. There's no programmatic access to live audio stream. There are some proposed extensions: http://ajaxian.com/archives/amazing-audio-sampling-in-javascript-with-firefox but nothing standard so far.
"There is no reason why a Javascript app cannot interpret it. You're probably got me on performance, but that does not stop one from implementing said features."
I'm talking about AS3, it has optional typing to speed up JIT. So far, it works much better than most JavaScript JITs.
Which is a total phail.
There's no real animation support for SVG and its renderers are dog-slow.
You see, vector model of SVG is not really suitable for morphing and keyframe animation. In SVG, pictures are composed of polygons, which are composed of vertices connected by edges.
Suppose that we have a picture of two adjacent triangles (a square with one diagonal).
Then in SVG it will be represented as 4 vertices and 2 triangles composed from these vertices. These triangles are separate and are not dependent on each other.
Flash uses completely different way to represent data: as a plane divided into sections. So to get this picture you start with a plane (frame surface), and divide it into two adjacent areas. The diagonal line is represented not as a line from point A to point B, but as an element dividing two areas.
This gives a lot of advantage, Flash player can easily and smoothly animate scenes. There's no risk of ugly 'hole' effects caused by numerically instable algorithms or incorrect processing of self-intersections.