Friday, October 9, 2009

Adobe's Ace in the Hole?

There's one thing I'm having trouble figuring out about this whole Flash CS5 thing. Adobe invested a lot of time and money to get Flash on the iPhone, seemingly against Apple's wishes. To sink that much time and money into trying to get software onto a closed, proprietary platform without the consent or help of the gatekeeper seems odd. From an outsider's perspective, Apple seems to hold all the cards. They have any number of technical means to prevent Flash-generated apps from going on to the App Store if they decide to. It seems to me that there's only two possible explanations for Adobe's actions.
  1. Their management is desperate and completely incompetent. Possible, but doesn't seem that likely. While Adobe has made a lot of decisions in the last few years that I consider poor, I haven't seen any evidence of this level of gross ineptitude

  2. They have leverage to use against Apple, or some reason to think Apple will allow them to do this. Perhaps, some kind of "ace in the hole" that Apple really wants? Perhaps a 64-bit version of their main CS5 apps, like Photoshop and Illustrator?
I don't know. Obviously, Adobe's not going to tell me anything, but one has to wonder if there isn't more to this than meets the eye.



21 comments:

Niall said...

I think they're just desperate to get a hold on 'mobile' internet in anyway they can. And to do this they have to have a presence on every handset. Alas the coolest phone, with the largest percentage of web use is the iPhone. Apple won't allow the plugin, so they have shoehorned their way into the app process instead.

I don't think it's a good idea at all, but now at least they 'look' as if they are the perfect solution to mobile web.

Jeff LaMarche said...

I agree that they are desperate to get full coverage of mobile devices, but it seems to me that Adobe's got enough smart people working there who could foresee that Apple might have a problem with this and they MUST have some plan to convince Apple to let them.

wballard said...

I think you are over-thinking it as you find this disrupting to a native platform focus. Apps are going to be judged on their quality individually, and by quality I mean midwest style popularity-is-quality, not deep thinking San Jose innovation-is-quality.

Jeff LaMarche said...

wballard:

I'm not sure I understand your point. I'm talking about getting Apple to allow the Flash-generated applications on the App Store in the first place. I know that the end-user isn't going to give a rat's ass about what tools were used to create the program, but this post doesn't really have anything to do with that.

Given the situation, it seems like Adobe has to be aware of the possibility of Apple not letting Flash-generated apps on to the App Store and must have a contingency plan of some kind. They wouldn't invest this much time and effort if they didn't think they had a good chance of convincing Apple not to block Flash-generated applications.

schwa said...

Why does Apple even care?

Adobe can (probably) easily fix the private API usage that Louis Gerbarg found. After that's done - why should Apple have any issue with pre-compiled flash apps on the iPhone?

Explain to me how this is any different that pre-compiled Unity apps?

Jeff LaMarche said...

I think the big reason they care, or should care, is the volume. Overnight, literally thousands of new developers with pre-existing content could potentially flood the app review team. They already get a fair amount of bad press over the current delays in the review process. I do not think they could ramp up in time to handle it.

Also, in case you hadn't noticed, Apple likes to exert a fair amount of control over anything that might affect the user's perception of the phone. There's evidence to suggest that these applications are slower and use more memory. Since they are built using a process and tools that Apple has no control over, there's every possibility that certain future updates could affect every single Flash-generated application, rather than just isolated applications here and there. Having a mass application failure would generate very bad press.

I could be wrong, but I think they care.

It's different from Unity because Unity applications are created with Apple's tools - the same tools that are used to create Apple's applications. Flash CS5 generates applications without using any of Apple's tools; they claim you can even compile from Windows and push directly to the App Store.

onedayitwillmake said...

Today i launched my free app - http://littlephysics.com and i couldn't even find it on their, but what I did find was an app called "Advice Dog" that cost a dollar and you can ask a dog for advice.

It had 44 written reviews, so that means it has AT LEAST 44 people who bought it, but probably a lot more.
-

On one hand, people should care more about crap apps like that or ones that just are a collection for pictures flooding the market - than flash made apps on the iphone.

On the other hand, once cs5 can output native iphone apps, there are going to be a lot more Advice Dog apps.

Steven Fisher said...

II'm concerned that the Flash apps are probably -- probably! -- going to be bad enough that users will care.

Don't get me wrong, the quality of existing apps varies. But when your new ceiling is inches off your old floor, you've got problems.

So how are users going to know without downloading? If we're expecting Apple to add a "Development tools:" field to the store we're crazy.

schwa said...

Appstore submission volume should have nothing to do with Flash. Zero. Zip. Nada. Apple is a victim of its own success.

There's no part of the AppStore agreement (AFAICT) that says you have to use Apple tools.

So what it comes down to is the quality of the app. And this should be judged on a per-app basis. There are some great flash games out there - that could work really well with some small iPhone tweaks. Performance (framerate, memory and battery usage) is obviously an issue - but I expect that Adobe will (try to) address that going forward.

But really you're telling me that fart apps, flash lights, boob wobbling apps are ok - but anything that isn't written in Cocoa isn't?

I'm not a fan of flash in the browser (I have clicktoflash installed, i'm not insane) but really - who cares what iPhone apps are written in? All this anti-flash hysteria just leaves a really unpleasant taste in my mouth.

warmi said...

"It's different from Unity because Unity applications are created with Apple's tools - the same tools that are used to create Apple's applications. Flash CS5 generates applications without using any of Apple's tools; they claim you can even compile from Windows and push directly to the App Store."

Uh… ...no, both of them are created using the same tool .. .namely gcc/gasm and make, everything else is just a matter of personal preference and doesn’t really matter.
I think the way Apple attempts to control everything within their store (especially trying to ensure quality) will eventually overwhelm them. This is not a game console with 10 or even 20 titles being released every month where keeping tight wraps on what gets released is relatively easy.

I just don’t understand why Apple doesn’t let the market decide what is worthwhile and what is not ….... have developers pay additional $100 or so per title if they want to have their app reviewed by Apple employees and , assuming a successful review, receive some sort of "approved by Apple" logo or something but let everyone else release at will ( perhaps with some basic automated tool checking for obvious stuff like abuse of internal APIs etc)

Jeff LaMarche said...

Appstore submission volume should have nothing to do with Flash. Zero. Zip. Nada. Apple is a victim of its own success.

That's just inane. Apple owns the store and the infrastructure. In what fantasyland do they not have a say in who or what gets put on there. They have ever legal right to say what can go on the store, including prohibiting applications that were generated by a tool that is known to use private APIs and create bloated, slow applications. They also have the technical means to do so.

There's no part of the AppStore agreement (AFAICT) that says you have to use Apple tools.

Actually, there is, in a manner of speaking.

Section 2.5 prohibits the creation of derivative products. A product like Flash CS5 that creates applications that link to parts of the SDK frameworks is clearly a derivative product and prohibited.

It may not be a violation of the SDK agreement to use other tools, but it is a violation of the SDK agreement to create those tools in the first place, at least without Apple's permission. So unless Adobe created Flash CS5 without access to the SDK, they breached the letter and spirit of the SDK agreement.

schwa said...

"In what fantasyland do they not have a say in who or what gets put on there."

Of course it's up to them. But really - banning apps because they were Flash apps? That won't be opening themselves up to a can of worms?

I'm sorry you don't like Flash apps. But really - inventing reasons why apple could, in theory, maybe if they felt like it, ban apps from the store isn't really helping the discussion.

"Section 2.5 prohibits the creation of derivative products. A product like Flash CS5 that creates applications that link to parts of the SDK frameworks is clearly a derivative product and prohibited."

Hmm. Will check the doc later. But based on the info you're providing - how does that apply to Unity or the new .NET/Mono thingie too?

Jeff LaMarche said...

Uh… ...no, both of them are created using the same tool .. .namely gcc/gasm and make, everything else is just a matter of personal preference and doesn’t really matter.

That's like saying they're both made with the same tool: a computer. There's a lot more to Apple's iPhone toolchain than gcc/gasm and make. Those are, of course, critical underlying components, but hardly the whole story. You only need to look at the generated apps to know that they are not the same.

I just don’t understand why Apple doesn’t let the market decide what is worthwhile and what is not ….... have developers pay additional $100 or so per title if they want to have their app reviewed by Apple employees and

You seem to be under the impression that they do app review for our benefit. They do it for their own benefit. One of the reasons they do it is because not doing it would potentially open them up to legal liability. They have an obligation to make sure the stuff that goes on the App store is legal in every jurisdiction where the iPhone can be legally purchased. They are not just a carrier like an ISP, they are actually selling these applications, more like a retailer, and they can and will be held accountable for illegal content. To say they should stop doing reviews simply shows ignorance of the situation. They do app reviews to protect themselves and to be compliant with the laws and regulations that affect them.

Mobile computing is a far more regulated and complex space than desktop computing.

Jeff LaMarche said...

I'm sorry you don't like Flash apps. But really - inventing reasons why apple could, in theory, maybe if they felt like it, ban apps from the store isn't really helping the discussion.

What you're really sorry about is that I don't agree with you. From your statements, I'm not sure you understand the point of having a discussion, honestly. There absolutely are things that don't help the discussion (like the straw man attack you used in response to Daniel Pasco's tweets), but to claim that pointing out factual and legal issues inherent in the situation and giving an opinion on how they could or should impact the end result isn't helpful, well, that isn't helpful. Or accurate. I'm fine with being disagreed with. I'm fine with being proven wrong. I'm not so keen on being dismissed simply because I don't agree.

I'm not "inventing" reasons, I'm analyzing the situation. I haven't said Apple will ban Flash apps, I said they could and there are valid reasons why they might. I also said they need to take steps to protect the user experience which I believe is true, and consistent with their past behavior. I don't think either banning Flash apps or taking legal action should be the first course of action, but we do ned to recognize them as possibilities.

Hmm. Will check the doc later. But based on the info you're providing - how does that apply to Unity or the new .NET/Mono thingie too?

Unity apps are generated using Xcode, so are not created by a derivative product. You might be able to argue that writing code to generate an Xcode project would amount to a derivative product, but it's a weaker case. I don't honestly know enough about .NET/Mono to know how it applies.

schwa said...

Ok so section 2.5 basically says don't redistribute the SDK, don't install on a non-apple computer (or enable others to do so), or reverse engineer the SDK/use private APis, etc etc. And a big, don't use the SDK in another other way than specified in the agreement.

So if it's true that you can build an app on windows then yeah - they're probably breaking that section. But that would be stupid. (Also I find it hard to believe that they have elliminated the need for a Mac in the build-chain - if nothing else they probably need one for code signing etc)

Also, they are using private-apis. That is a big no-no. And if I were adobe i'd be fixing that NOW.

But apart from that I can't see how they're breaking the agreement.

Assuming the private-apis they're using can be replaced with legit apis and that the whole windows hosted build chain stuff is stretching - then there's no big deal as fas as I can see.

IANAL of course.

Tom Frauenhofer said...

I really agree with what you're saying in your original posting - it does smell of Adobe desperately wanting to be on ALL mobile platforms - missing out on the eight hundered pound gorilla platform just makes them look like also-rans (at least, it seems, in their opinion).

I'm not anti-Flash (I've done a fair amount of Flash/Flex programming in my day, it's put food on my table), but given what I've seen about the apps built by the CS5 tool, I don't think I want one of those on my iPhone. At least, not yet.

schwa said...

I'm really not concerned with a random blogger disagreeing with me. Your blog. Your opinions. Enjoy.

What I'm not keen on is the early judging of this technology and it's supporters. Let's keep an open mind and see how it develops. Inventing theories as to why Adobe is doing this - or how Apple could in theory shut it down - does nothing useful.

There is value to this technology, like it or not. There's no reason in the world why apps (especially Games) need to be written in Cocoa (as Unity ably shows us), and if Adobe can solve the technical problems (performance, private APIs, etc) then why not?

And really it isn't just games, I can see this being useful for rapid prototyping (some things are easier to whip up in Flash than Cocoa) amongst other things. Who knows what it'll be used for?

So yeah, current implementation seems to suck. But why not be open-minded about the whole thing, see where it goes, wait for apple to react (if they bother) and take it from there?

The cocoa community doesn't immediately need to shit on this just because it's flash.

Keith Peters said...

Man, you blog more about Flash than I do.

K. A. Barber said...

I have been checking Keith's blog for the other side of the story as I assume he knew about this earlier than the rest of us.

Malcolm Hall said...

Personally I'm glad all the shoddy flash/web developers can't write iPhone apps. The app store would be full of crap.

sayjava said...

Seriosuly? we are still talking about this issue, common!.how will you justify Unity3D and MonoTouch and the Javascript/Html/CSS frameworks out that lets you build iPhone App.

One question though , why should Adobe consult Apple, the last time i checked,Novell,Unity and the rest didnt, this whole discussion is so subjective.
Talking of quality, please, wasnt it about a year ago that we started seeing applications that are remotely near "quality"?

If the approval process gets congested is that Adobe's fault? , i mean common, isnt the aprroval process Apple's own making?

We can make argument that good developers use the right tools for the right job, but point fingers, i dont think thats right. I could seriously go on (How about c/c++ developers), by the way love you blog , great content!