My Analysis of the Apple/Adobe situation
TLDNR you say?
Hey, folks. Seems there's been a bit of a mixup/flamewar over the past little while about our good friends in Cali. To help clear things up, I've put together a handy reference you can use to educate yourselves and your friends. I'm far from an expert, so anywhere I may be wrong, please feel free to correct me. Or troll me and everybody here with flamebait - I mean this is the Internets, right?

Although, as a bit of friendly advice, to avoid making yourself look silly, try to avoid quoting one Q&A set and bringing up invalid points that are covered by a separate Q&A elsewhere in the post. I'll try to cover the main points (Flash player, open vs. closed, 3rd-party layers, etc.)
Questions about the Apple/Adobe hullaballoo:
3rd-party Dev Tools
Q: Does Apple's SDK agreement force developers to choose whether to write for iPhone or other devices?
A: No, it doesn't. The same functionality can be included in apps for other devices.
Q: Does Apple's decision limit choice for consumers?
A: Given the answer to the previous question, it's really the developers that decide to only support one platform or another (whether via native iPhone app or Flash app) that limit what functionality is available on each type of device. If they decide to only cater to one audience, the other audience doesn't have the choice. And yet, the end users do then have the choice to switch to the platform that has the apps they want. Not all products are equal, and that's ok. Manufacturers and developers all make decisions that produce differing end-products. Wikipedia 'Invisible Hand' sometime.
Q: Does the updated SDK agreement mean you can't easily cross-compile for multiple platforms?
A: Yes. That was the stated point. But you can still develop separate apps for different platforms that have the same functionality, insofar as those devices have publicly available SDKs and support the same features hardware-wise. In a similar way, developers who wish to bring the same software to Windows, OS X, and Linux may need to maintain separate code bases, and even employ developers with skillsets targeting those differing platforms.
The Flash Player
Q: Is Apple's stance on not allowing the Flash player on iPhone OS devices a poor business decision for them?
A: Time and the market will tell. Right now it looks like enough people are ok without Flash enough to buy enough devices that Apple probably feels no market pressure to alter their stance.
Q: Isn't most video on the web delivered via Flash?
A: Kinda. A lot of video content is available via Flash. But not only via Flash. A lot of the video delivered by Flash is also available in other formats. The youTubes are a great example (like how the youTube app on iPhone doesn't use the Flash player or the flv format).
Q: What about Flash games?
A: Yep - games only available in the Flash format aren't accessible from an iPhone OS based device. In many cases, developers that see success with their games in Flash also port their offerings as a native iPhone app.
Q: If Uncle Steve let Flash on touch devices, would we be able to enjoy all those spiffy games?
A: Depends on the game. Any flash game that uses mouseover and click on the same element with different behaviors for each will not function properly. Adobe's Flash evangelist himself admits that some features (based on the mouseover/hover events) wouldn't work right. He notes that the click event may even fire before the hover event. Brilliant. To make the problem more clear, think of a game where the only user inputs come from mousing over objects or clicking them - both of which would be interpreted as very different actions and produce very different results. Fail. (In fact, this is the same problem we see with the :hover CSS pseudo-class. It's not just Flash that has issues on touch devices. In fact, any UI that relies on input from a device that has 2 buttons, a wheel that can scroll and click, and a cursor that can hover, click, and change appearance to indicate the function that will happen when the hovered UI element is clicked... will not port well to touch-based devices. Also, a mouse can't do multi-touch, so it goes both ways.)
Open vs. Closed
Q: Is the H.264 format for video Reeeeeeally open?
A: Uh, kinda. But not free. If you care about the long term, it's really bad. Ok for Apple and Microsoft, but bad for Firefox and other non-profit open-source developers. Here we see Apple being a culprit and bad guy. Boo. Open but restricted = bad. Got it, kids?
Q: Here's a tricky one - is Flash closed/proprietary?
A: It's both. As of June 2009 through the Open Screen Project, the Flash specification (with the exception of info on Sorensen Spark) was made freely and openly available by Adobe. That covers the .swf file format and what it takes to make a player that will handle the SWF format. However, this only means that the specification is accessible to the public. It's still proprietary in the sense that while devs can use it and code to it, they can't change it - Adobe still holds the sole ability to decide every detail of what'll be in the next version. The Adobe Flash Professional authoring tool/environment is closed/proprietary, and is sold as part of the Creative Suite.
Q: Is the iPhone OS platform closed/proprietary?
A: It's both. Apple clearly states that you should use C, C++, Objective-C, or Javascript (as run by the iPhone OS's native WebKit implementation). Those are all non-proprietary languages, and (I believe) GCC, Clang, and LLVM are all open-source. Xcode and the associated developer tools can be downloaded free of charge (and yes, to submit to the app store it's like 9,900 pennies a year). In other words, Apple expressly commands you to write your iPhone/iPad/iPod touch apps using open languages and open-source based tools. They do require you to have your app go through approval to appear on the App Store. It's not a free-for-all. The App Store itself is closed/proprietary in the sense that you can't install native apps otherwise without jailbreaking, which Apple tries to prevent, and without jailbreaking there's only one source for apps. But development of apps is not proprietary (since the developer tools are freely downloadable) or closed (since the APIs for development are richly documented and available to the public). The app approval process is Exclusive and Verbose. Development is open/non-proprietary. The system (by virtue of the approval process) is closed/proprietary. Whether this is anti-competitive or simply a business decision seems to be hotly debated, but we'll cover that as a separate question.
Legality and Business Competition
Q: Is competition in the marketplace good?
A: Yes. It gives consumers choice, and drives companies to innovate. Often in markets where there's not much competition we repeatedly see companies stagnate, cease innovating, and become unresponsive to customer needs. In the end it not only benefits the consumer, but companies, shareholders, and the economy in general.
Q: Should a company be punished for producing a great product and being so successful that they gain a large market share or rake in tons of dough because customers like their products?
A: Um. No?
Q: Should a company be punished for engaging in anti-competitive practices?
A: Uh - yep.
Q: Do people have differing opinions on whether Apple's stance on flash is just a business decision geared towards making the iPhone OS platform stable/high-quality/etc. or a nefarious anti-competitive tactic designed not just to compete with Adobe but to use Apple's market position in an illegal way to put Adobe down?
A: It'd appear so.
Q: Does Apple's stance limit choice for consumers?
A: Only on Apple devices. Adobe's promised Flash on 'every screen' (that they're allowed on

. Given the number of smartphone and other mobile device offerings out there, I'd say there's almost an over-abundance of alternative choices. There's one (1) iPhone product line. (Ok, so 3 total product lines if you include the iPhone-without-the-phone-part and the great-big-iPhone-without-a-phone-part devices.)
Q: So what's the answer to all this mess, Mr. Q&A? Huh? What's your take on it?
A: ...
Q: Sissy! C'mon!
A: That's not a question. But I give. Mostly I wanted to clear up some points for us all. I don't claim to understand the antitrust laws well enough or the details of how those bear on 3rd-party runtimes, developer agreements, market share, choice, etc. It'll definitely be interesting to see the gov'ment's analysis of the situation. I do feel strongly that the antitrust laws were put in place at a time when they were sorely needed. I also feel strongly that they haven't always been applied correctly, nor updated to account for what *should* be done in such multi-faceted, complex, and technology-rich situations like we see here. Here are a few points I find relevant:
- There's definite precedent for electronic devices where the maker exhibits strict control over the development of software that's allowed to run on said devices. One example is game consoles. Microsoft lost on the IE integration antitrust case in part because PCs are sold as a general computing device, and a personal computer OS should provide an even playing field for developers (like OS X). But the iPhone OS was never intended to be a general purpose computing device OS. And in that sense, the iPad really is a big iPod touch. Apple never intended these devices to be generic/general devices with iPhone OS as simply a way to organise files and run whatever-you-may-please. Understanding the difference is key to making a rational judgement in this case.
- More specifically, there's a huge number of mobile phones that have browsers which do not support plugins. My Motorolla Rival A455 is an example. No one cries foul. (Well, I do, but my gripe is general to the UI in general - I could care less about Flash as long as my provider maintains an unreasonable pricing structure for data plans
)
- I personally don't think it's right that a device manufacturer be required to support/allow any given 3rd-party plug-in, compatibility layer, language, or software. Or put it another way - if I create a runtime, and some other people create content that use it and put it up on the web, that shouldn't be grounds to legally require a device manufacturer to support it. Especially if it's a proprietary format (see above on Flash being a proprietary if openly published format).
- HTML is what the www is based on. It's an evolving standard that people keep improving collaboratively, compared to Flash - which only one company has a say in. Adobe recently appeared to be trying to hinder it. If you want to talk about ethical business practices, let's clear that one up first, eh? And speaking of which, you can (without needing to pay 99 clams or seek Apple's blessing) develop for Safari mobile. Using open web standards. And achieve most of what you could functionally with the SDK.
- I could go on, but I think you see that the issue is not just clear cut either way. You probably also have a good idea of my personal opinion. I'm certainly welcome to alternative views, especially (bordering on only) when they're well-stated and well-supported with reason. In fact, the more of those I'm exposed to, the more able I am to critically assess my own views.
To give credit where it's due, many of these points have been made by others elsewhere, but they're also my own views which I wanted to throw out there to the wind.
Best