But right now, there are no reason why limit the options to develop for the iPhone OS.
Adobe's history of failing to update their products to take advantage of OS X, of Intel processors, of Cocoa, or of the Mac platform entirely seems to give to lie your belief.
The switch to Intel was another big porting project. Now, if they want to switch to x64, they will be also forced to switch from Carbon to Cocoa.
So in few years, Adobe had to port their codebase several times to meet the OSX moving target. Actually, I'm suriprised they did it at all, considering the lack of transparency on Apple side.
If you are asking Adobe to throw away any frameworks used, that were later duplicated by Apple in OSX, and port to Apple provided frameworks, you have no idea how the project of the Creative Suite size is managed and developed. You may port your little OSX-only utility fast, but not CS.
Other big projects had similar problems - Microsoft Office? Alias|Wavefront (today Autodesk) Maya? They have similar pain points for the exactly same reason.
When they knew about an upcoming platform change a year or two in advance, and didn't bother to deal with it until a year or two after, I have to assume that they just never cared. That's why Apple doesn't want to deal with Flash - they don't want to rely on a company that doesn't care about Apple or its users, and they don't want to be beholden to Adobe's schedule of 'we'll support that next year when users are hurting for it'.
When Apple announced location support in iPhoneOS 2.0, for example, including GPS for the iPhone 3G, would Adobe have had it ready for launch day? From their history, Flash would have waited until the next 'major release'. Flash-based apps would have had a reduced feature set, and the App Store would have been full of applications that couldn't support the latest and greatest features, distracting from applications that properly supported 2.0 from the start.
Are there examples of this happening consistently in other cross platform development environments? My understanding is that cross platform frameworks cater to a lowest common denominator among platforms, perhaps occasionally supporting a custom feature here and there. Even then, the people developing the app need to spend the necessary effort to take advantage of platform specific features, as opposed to just deploying the identical app to all platforms.
Of course you do, developing with Flash on OS X is infeasible, the performance is laughable and the stability is worse (like the article says, Adobe's been neglecting Flash on OS X since forever).
You have to use Windows to get any work done, and that is just as "specific" as having to use OS X.
That stuff is good for Apple (who gets a cut), and the developer (who gets money), but it isn't good for users (who have to be annoyed with requests for their money).
So fuck Apple's special features.
There are obviously features beyond in-app buying and iAd that differentiate iPhone OS from the rest of the smartphone market.
But anyway, why not list some of these features? That will improve the quality of this discussion.
This is the level of maturity it's always had; as jrockway courteously points out, he's been foaming at the mouth in iPhone-related threads since before you signed up.
More importantly, though, I'd recommend you spend some time reading through Clay Shirky's writings on online communities; the "once upon a time it was wonderful, now all the new people are ruining it" myth is pervasive and can be a sign of deep trouble (see, in particular, "A Group is its Own Worst Enemy").
Now, I agree that I comment on way too many Apple-related articles, but since HN has recently become "iPad News" and I haven't found another site to read, I don't really have a choice.
I would love it if Apple was never mentioned here again. Who cares what they are up to?
Let's say Apple brings out a new iPad with a special graphics processor. What are the chances that all the Flash apps will run slow as shit on the new iPad? Will users complain that developer X is at fault because they used Flash? No, users will complain that the new iPad is slow.
Apple has no interest in being at Adobe's mercy like this again.
Or maybe it offers something that Apple doesn't?
That is not a criticism of Apple or Flash, just pointing out that it isn't win-win.
Microsoft has maintained 20 years of backwards compatibility and Apple's OS and hardware is constantly in flux. Why is it Adobe's fault? It's hard work developing these projects, they have huge code bases and large numbers of users. This position is not supported by logic.
> Let's say Apple brings out a new iPad with a special graphics processor. What are the chances that all the Flash apps will run slow as shit on the new iPad?
Assuming it requires a software change, every single iPad developer will need to update their software to take advantage of it. But Adobe any simply update their software once and every single Flash application can be quickly and easily recompiled to support it. Not everything about Adobe's Flash compiler is immediately a negative.
Well, the writing was on the wall as soon as Cocoa was released. While Apple maintained both Carbon and Cocoa as first-class citizens as far as the UI was concerned, it was obvious that Cocoa was the future of the Mac's API. Adobe chose to not use Cocoa and stick to Carbon even after it was obvious that it would be deprecated.
This forced Adobe to rewrite all of their Carbon apps, which is what took all of the time. Had Adobe gone with the blessed Cocoa kit and XCode tool chain from the beginning, they could have just recompiled Photoshop and had a Universal binary immediately. They chose not to.
> every single Flash application can be quickly and easily recompiled to support it
Now, what are the chances of that happening? Not every developer will care to update their application.
If all native apps are running fast with the hypothetical new hardware and Flash based apps were slow as hell, Flash based apps would start to get deleted very fast...
Cocoa came first but Apple couldn't convince anyone to port their applications from Mac classic to a completely new OS with no marketshare. So they had to develop the Carbon API to get developer support.
> Adobe chose to not use Cocoa and stick to Carbon even after it was obvious that it would be deprecated.
Which was a smart move for Adobe. They have a lot of Mac code and converting it all to Cocoa is essentially a complete rewrite. You expect Adobe to have perfect knowledge of the future or a time machine.
> They chose not to.
It wasn't much a choice. OS X was in no way a sure thing. In fact, the only thing that actually allowed OS X to survive was Adobe's support of the platform.
> Now, what are the chances of that happening? Not every developer will care to update their application.
Did you read what I said? Isn't the possibility of Flash developers hitting "recompile" a lot more likely than Objective-C developers actually having to make code changes to support this new feature?
> If all native apps are running fast with the hypothetical new hardware and Flash based apps were slow as hell, Flash based apps would start to get deleted very fast...
Adobe's Flash compiler is exactly that, a compiler, which converts Flash apps into native code. If Adobe has done their job right, it's unlikely you'd notice the difference. And if you did, you would just delete them. Just like you would delete a crappy Objective-C app -- those already exist in droves.
Apple on the other hand did take a measure that is not only detrimental to Adobe, but to any developpers on the planet working on Iphone/Ipad apps. That it is the right business decision, like you're saying without any justification, is less than clear. The only thing you can say for sure, is that it's gonna fuck up with the competition, and make them a lot of ennemies.
You can also predict that this measure is just gonna drive innovation off the iPhone/iPad onto other platforms. This is less than certain, but it is just as much of a possibility.
For me we're into "cold hearted common sense business decision" VS. "agressive revenge nebulous business decision that _may_ pay off". The tone of the article shows that very well in itself.
I disagree. To me, assuming that the situation really is as described in this article, Apple's response come across as petty vengeance. Holding grudges. Childish and spiteful.
That kind of behaviour is of very limited use in business.
Yes, I can. Restricting developers' rights isn't a valid business decision. That's like saying Highway robbery is a respectable income source.
Why?
Developers aren't a constitutionally protected special class.
As for rights, he's referring the right of a developer to use whatever programming language he wishes to developer software on different systems. A closed system prevents a developer from exercising that right.
It's even worse when a system establishes itself with certain restrictions and freedoms, and then changes that later on. In fact, it's called Bait and Switch. Apple had certain rules and requirements, and certain people bought into that idea. Now they've changed that. You can argue with they are allowed to, but that doesn't diminish the criticism thrown at them. Just because they can do something doesn't mean they should do something. There are a million examples to demonstrate that.
For a long time, a lot of intelligent people were saying that Apple was inching closer and closer toward restricting rights of its users more and more. People disregarded us, and said "Hey, Apple can do this!" While they might be legally able to, this doesn't mean they should. They restrict the content. They restrict how you display that content. They restrict more and more. I have no pity for Apple supporters anymore. And when Apple restricts that thing you hold dear, you'll cry. Or you'll do what others have done: decide what you wanted was wrong, and you shouldn't have wanted it, and Apple was right.
Whether Apple's recent move is a good decision or not is totally up for debate. As is whether the change is distasteful or offensive. But whether it's a "valid business decision [because it violates some God-given right]" is not.
Probably because I can't think of a single time when this has been an issue. The argument isn't over what Apple can do. It's that Apple is dictating how developers are allowed to develop their applications. This isn't about writing Java apps that will run on the iPhone. It's about writing Objective-C apps using whatever tools we want that will run on the iPhone.
"As is whether the change is distasteful or offensive."
One could argue it's both. Either is fine by me.
Exactly. And that's not a natural right. And Apple not allowing it is a valid business decision (whether it's a good one for Apple's bottom line or a good one morally—or whether it even is a moral question—is up for debate). That's all I'm saying. Let's use reasonable terms so our debate is sensible and valid.
Note: Apple is doing the windows thing: Everyone developed for windows because that was the #1 platform. Then when people complain "oh there are no mac apps" guess why. Now the exact same thing is about the iPhone. The only difference is that Apple at some point decided that Microsoft was not evil enough and one-upped then with the app-approvals and the new TOS.