Adobe Evangelist Lashes Out Over Apple's "Original Language" Policy
An anonymous reader writes "Apple's recent decision to restrict the languages that may be used for iPhone and iPad development has provoked some invective from Adobe's platform evangelist Lee Brimelow. He writes on TheFlashBlog, 'This has nothing to do whatsoever with bringing the Flash player to Apple's devices. That is a separate discussion entirely. What they are saying is that they won't allow applications onto their marketplace solely because of what language was originally used to create them. This is a frightening move that has no rational defense other than wanting tyrannical control over developers and more importantly, wanting to use developers as pawns in their crusade against Adobe. This does not just affect Adobe but also other technologies like Unity3D.' He ends his post with, 'Speaking purely for myself, I would look to make it clear what is going through my mind at the moment. Go screw yourself Apple. Comments disabled as I'm not interested in hearing from the Cupertino Comment SPAM bots.'"
It's Apple. For at least 10 years people have been saying that if Apple had MS's market share that things would actually be worse than they are now. Well, now we get a small hint of things to come. OTOH, perhaps Apple is so large now their left hand doesn't know what their right hand is doing.
Yeah, I read the book and I saw the commercial. Ironic.
This week, Slashdot featured a really good article form Slate that ended with this quote:
Steve Wozniak has said that he pre-ordered three iPads, two for himself and one for a friend. This is a testament to his incredible good nature and his loyalty both to the firm that marginalized him in the 1980s and to a friend, Jobs, who refused to write a foreword for his memoirs. Yet somewhere, deep inside, Wozniak must realize what the release of the iPad signifies: The company he once built now, officially, no longer exists.
That last sentence is really the core problem here. We were used to Steve Wozniak's Apple and we were in love with that Apple. Now the only Apple left is Steve Job's Apple. Times have changed but before we cast acerbic words at Jobs you must acknowledge he has led the company in a very profitable direction. Could he have done that while adhering to Wozniak's "open" idealism? That's the real debate here.
My work here is dung.
Apple hasn't forgotten the lesson they learned from IBM and others. Allowing developers to use proprietary tools like Adobe's Flash suite makes them dependent on Adobe's development cycle and not their own. Apple claims to have just released 1500 new API's for iPhone OS. How long will it take for Adobe to support them with their development tools? About as long is it takes to get a version of Flash for OSX that doesn't use 99% of the CPU? Or as long as it takes IBM to release a 3 GHz G5?
Not all issues surrounding control are negative. Sometimes it's just about controlling your own destiny and place in the market.
"So, hey, Adobe: have you started porting Photoshop yet?" --or creating a fucking viable version of 64bit flashplayer for even the most basic Linux OS? One not buggy as fuck IMHO?
Do you suppose Steve Jobs might still be upset about the long delays in Adobe's release of OSX/Intel native products?
Nah.
With reasonable men I will reason; with humane men I will plead; but to tyrants I will give no quarter. -- William Lloyd
In the real world, Safari (including on Mac OS X) only has around 5% market share. That's not ubiquitous at all. I think 'irrelevant' is the word you're looking for.
As far as Microsoft goes... I don't get where where you get the the idea that they "demand" anything. I don't recall having to even ask their permission to write Windows applications more or less ask them for permission to write the application in any of my choosing. Or install them. Or run them. Or distribute them.
Maybe because they know that Apple would produce a decent alternative to Photoshop for a fraction of the price?
Apple massively undercut Steinberg's Cubase when they released Logic Studio. No lame dongle protection either!
Five Tremendous Apple vs. Adobe Flash Myths
http://www.roughlydrafted.com/2010/04/10/five-tremendous-apple-vs-adobe-flash-myths/
A bit of his summary:
And so, through a mix of incompetence, belligerence and emotionalist hypocrisy, Adobe has been pumping a non-stop stream of propaganda about how critically important Flash is on mobile devices, even though millions of people been using the highest ranked smartphone for three years now without suffering any ill (not even the rest of humanity on lessor smartphones have missed being able to render desktop Flash content, because they haven’t been able to either). There’s a reason for all that talk: Adobe is terrified.
Somehow, developers have to realize that the iPhone, iPad (and in a certain way an iMac too) are no longer meant to be computers with an operating system. They are devices with an API. As far as I see these API's are trying to protect the devices (and the company and the users).
Get over it.
--------
* Sigh *
BS.
All Apple has to do is say that all apps released have to pass all their multitouch UI requirements. As far as I can tell they already do this.
Even requiring that the apps call the apple specific APIs when using gestures would be fine. The devs can work with that. Requiring all the devs that want to write iPhone apps to learn and write in apples crappy little language is pure asinine.
Strongly disagree.
Supporting bad long-term over-arching policies because they happen to work towards a small short-term result that you like is really a bad idea. In the end you'll just work against your own actual goals. For instance, presumably you dislike Flash because it is closed, proprietary, non-compliant, resource-intensive, or whatever. But promoting a ridiculous closed ecosystem will just mean that Flash will replaced with something just as closed, proprietary, non-compliant, or whatever.
Just be consistent, and explain exactly what you dislike about Flash, and what you dislike about Apple's policies.
If it is so easy to compete with Photoshop, why isn't anyone doing it and doing it good?
Actually, I'd say Pixelmator is pretty good competition, and one should not ignore Corel's offerings. I don't know anyone with quite as pricey and high-end of an offering, but I bet Apple could buy Pixelmator inexpensively and put some real hurt on Adobe with it in a few years of highly paid development.
Why would Apple succeed where several other have failed?
Apple has the money and the development expertise, especially if Adobe were to step out of the competition by abandoning all those on the Mac platform. Of course Adobe would never do that since it would be pissing off half of their customer base and losing them a pile of money (and probably get the CEO fired).
This is bullshit through and through, sorry.
The problem here is that Apple is restricting applications that are pure C/C++/ObjC code, not any different in that regard from anything that you'd write manually, so long as that code is generated from something else. Such applications don't pose any more portability problems than any other C/C++/ObjC application written for the platform.
Furthermore, they go ahead and ban all frameworks - even those written in languages that are otherwise allowed - if said frameworks enable cross-platform development. Again, since a framework just calls the same system APIs that an application would otherwise call directly, an app+framework combo is not at all different then just the app alone when it comes to porting to a new architecture.
Nah, this is clearly about control, and forcing people to develop for iPhone and only for iPhone, rather than single app for multiple platforms.
...no rational defense other than wanting tyrannical control...
Well, maybe no rational defense other than not wanting apps that drag along a horribly crash-prone Flash runtime--extrapolating from experience with Flash on OS X.
Or, maybe no rational defense other than not wanting apps that are built for some kind of cursor device and will deliver a horrible user experience on a touch-only device.
"proper multitasking" and what Apple is doing don't belong in the same sentence.
I disagree. What Apple is doing is more complex than is normal, but it also yields better results for platforms where battery and processing power are important limitations.
If it *was* proper multi-tasking (and the cross-compile didn't do stupid things, of course), there wouldn't be a problem.
If the apps thread strangely and don't have clean enough code separations, then it will not be finely grained enough to pause parts of it usefully and those apps will not perform well. It's not entirely unreasonable for Apple to require decent performance with their provided APIs to keep from tarnishing the brand by having their entire device perform poorly as a result of these third party apps.
Litany of excuses. As the AC said, supposedly, supposedly. The fact of the matter is apple already controls which apps gain approval, so any quality control argument is nonsense. Not to mention some of the undoubtedly bad apps on the app store already. The plain truth is people have come to associate Flash and advertising and have put on emotional blinders to everything else. If this was not about Flash, Slashdot would be outraged.
meep
Apple is saying "you can only use C, C++, Objective C, and JavaScript as executed by the iPhone's JavaScript engine". No more, no less. This has fuck all to do with saving your platform from OMG EVIL PORTED GAMES. Poorly ported games are still possible under the new policy. And it applies to many, many things that aren't games. At best, this is an insane and stupid attempt to fuck over Adobe for little reason, and at worst, it's just insane and stupid. Either way, this isn't "good" by any metric that doesn't involve the RDF.
Don't worry though, I'm sure Apple will apply this rule arbitrarily and inconsistently, so you at least won't see the major applications that grossly violate it gone, but it will probably be lots of headaches for everyone else, and be yet another contributing factor to continuing to drive developers away from Apple's little walled garden of madness.
* Apple have invested a huge amount of effort in getting UIKit up and running. They think they've got the best interface out there for touch.
Apple hasn't mandated the use of UIKit so this point is pretty moot. Lot's of developers port desktop C apps to the iphone, particularly games and there is no requirement to use UIKit and quality control of native iphone Apps is nearly non-existant.
* If Adobe (or whomever) want to produce cross-platform build tools (ie: write for one platform, target another), they can only target the lowest common denominator of all those platforms or provide spotty coverage.
If the apps are crap and unpopular and don't bring anything to the party why would Apple be worried?
* Even if they do provide coverage for everything in Cocoa-Touch, when will support arrive ?
When will support arrive in HTML5 for everything in cocoa touch? does that mean apple shouldn't support web based apps?
* If Adobe want to play, they need to bring something that excites the user-base.
Why, is that necessary when they meet all the current ToS, and other companies release crap iphone apps and aren't punished?
Just a thought. When tens of thousands of Android phones get 0wned, due to some Flash exploit, for example, and at the same time, hundreds of thousands of iPhones don't get 0wned by any exploit, who do you think will be smiling quietly to himself at all the bad publicity towards Android & Google
Fear is such an useful tool to keep people quiet and compliant.
I'm not sure I understand your logic. If Cocoa Touch apps are that much better than Flash apps, then this should not be a problem - Flash apps will get negative reviews in the App Store and people won't buy them. On the other hand, if Flash apps are Good Enough(tm) then Apple is just trying to exercise lock-in.
I am TheRaven on Soylent News
Like MS demanding Win7 apps be written in a managed language (ie C#) or Android in Dalvik/Java. iPhone demands C/C++/ObjC. What's the big deal here?
First, I think you mean Windows Phone 7, not Windows 7.
Second, WinPhone7 and Android only "demand" that your compiled program conform to a certain virtual machine spec. You don't have to use their tools or write in their preferred languages; you can use any language that compiles to the right format. (And in fact, Android has a native development kit now, so you can write 99% of your app in any language that compiles to ARM!)
Third, Apple's demand goes even further than the demand you're falsely ascribing to MS and Google. They don't just demand that you have C/C++/ObjC code for your program -- they also demand that your program be originally written in one of those languages.
Let's take a trip down memory lane. In the early 80s, there were no direct C++ compilers: instead, there was something called cfront, which translated C++ code into C. It would be strange for an OS vendor to demand that applications be written in C, of course, because all that really matters is whether the compiled program can run on the hardware. But it would be batshit insane for an OS vendor to prohibit programs that were originally written in C++ and then translated to C, because even if there were some legitimate reason to require C code, it would apply to all C code. There would've been absolutely no technical justification for that ban, just like today there's no technical justification for banning programs translated from Flash to Objective-C.
Visual IRC: Fast. Powerful. Free.
Owning the APIs has proven time after time to be where the money is at. Microsoft has written that in stone. If there's one thing Steve Jobs, et. al. have learned, is: don't sit on your ass and let somebody else run away with your golden goose. They let Microsoft run away with it once. So did IBM. Which is why he gets it, the lesson is learned - if you let another platform take over your device, you lose any control over the quality of the experience.
You go on about 'we're developers we just want to provide a tool'. Do you really trust your non-developer (maybe you forget once upon a time, Jobs wrote software too) executives at Adobe don't get the power they have to mint money with their platform? To open their own open app store? To begin to charge a per-end-user licensing fee for the next version of the flash compiler for the iphone, once its indispensible?
Let's look at the facts. There's tons and tons of people out there that have some Flash experience and some with actual professional training, and lots without either that can manage to produce something with Flash. Let's call these Flash people "flashies". I'm not comfortable calling them developers, programmers or coders, out of respect to the people that really are. Some very well may be, but if we're going to draw a Venn diagram of Flashies, we all know that's a fairly small percentage of the set that gets to overlap into Software Engineer or Developer. I'm taking the middle road, nothing derogatory.
So these Flashies are out there; they can pound out some moving pictures and stitch it together to do something. Great. See what's happened in Android? You've got a load of crap out there. Steve doesn't like a load of crap. He's trying to do something different than the load of crap permeating the Microsoft ecosystem.
Also, I really appreciate your remarks about how open the Adobe culture is, when obivously your boss said, edit that shit on your blog right now, even if you did say, its' my own personal opinion.
So you are the SWF evangelist. You have drunk the SWF kool-aid. I suppose I might have drunk the Tim Berners-Lee kool-aid. Your platform is not an open standard. Nobody has to give it due respect just because the tools are easy to get started on. Just like some people are visual learners, some are visual Flashies. Cool, y'all seem to have developed a tool to target SWF whether a Flashie is visual, ore more technical. That's neat. You're tools are pretty cool. It would be cooler if you'd open your format up. I know, that would allow competitors an even keel to compete with you on your tools, but hey, that's better for Flashies.
You aren't just buildling the tools. You are selling a proprietary platform too. So is Apple. A lot of their code is open source, and free software at that. And a lot of it isn't. They are competing against RIM & Microsoft and Google for all the marbles right now. Adobe is on all of their radars now as coming hard after the platform. You don't think the Adobe executives let the Flash team go and spend all that development time on the compiler out of the goodness of their hearts, or because it would be paid for by selling the tools to developers. No, there's a lot more craft in the economics of that business decision.
Also, you guys could be bought by Microsoft or Google tomorrow or two years from now, and really fuck Apple in the ass. The scenario: lots of great killer apps are running on your SDK for the iPhone, the apple sdk is no longer in the mindshare of developers... then Microsoft or Google, hai, we bought it, dead now. *poof* the app marketplace is disrupted and the platform dies. Your market cap of $20 billion dollars is fuck you money to those guys. Sorry.
Yeah, when there's this much money involved, and the dynamics are such: it's happened before and it will happen again. All the strategy thinkers at Adobe, Apple, RIM, Google, and Microsoft have learned the lessons from mistakes made by Apple and IBM in launching, and letting platform be marginalized or wrested by a thir
Anyone seen my low uid? last seen 10 years ago while panning the #@$# out of Taco's 'web based discussion system'
Easily.
"Hello, is that the Web development team? This is the CEO. I'm browsing our site on my new iPad, and it's broken. Fix it."
~~~~~ BigLig2? You mean there's another one of me?
So Steve Jobs is going to wave the middle finger at Adobe until they properly support platforms they're currently releasing software for before risking letting them screw up another platform. Sounds like sensible business.
> Here's hoping you expected no different from any proprietor.
Except Apple just managed to find a new low to sink to.
They took the SOP for console gaming and managed to pull something that's even lower.
A Pirate and a Puritan look the same on a balance sheet.
That's the problem... tons of non-technical people (and Apple fans) will just take whatever Jobs tells them as gospel without checking up on the facts or anything.
What about all of the non-OS4 apps that are written? They've never used those APIs. So, are they all suddenly going to perform very badly with regard to battery drain? Since they aren't "multitasking", I'm guessing that would be a "no"... since they have to actually, you know, use the new APIs to actually multitask (or not, if they don't want to participate in that). The "pausing" is because the app receives a message from the OS and then the app can elect to ignore it (as will all pre-OS4 apps because, again, they weren't written to acknowledge those messages) or to save its state. If it doesn't save its state then it doesn't 'pause', it just starts over from initial run. If it does save its state, then it has paused and can pick up where it left off when it gets another (new) message to resume.
The cross compiled stuff is also used to throw off non-technical people. As long as the executable program output by the compiler uses the correct methodology, code in it can be linked to the system libraries to perform the tasks exactly as the Obj-C or whatever ones can. If it didn't make the executable right it wouldn't run correctly anyway. Here's something that is disallowed with this thing... I could write an Obj-C routine that does everything perfectly with respect to the new APIs and all that, but if that Obj-C routine then calls something that was written in another language, somehow it suddenly breaks stuff? It simply doesn't happen that way. As long as the compiler is doing its job properly (and they tend to do that), there's no way the OS could tell what language the application was written in. That's why they are APIs... that stands for Application Programming Interface... Interface being a key word... it's how you interface to the libraries. You have to interface to them correctly or all bets are off in the first place. Choice of language is otherwise completely irrelevant as long as it *interfaces* correctly.
Also, applications being written in C/C++/Obj-C have absolutely zero guarantee that they'll meet the requirments. They could have poor battery usage, poor UIs, etc. just like any other app written in any other language. In fact, there are tons of apps in the AppStore that were written in the "blessed languages" that are crappy. If Apple wanted to make sure things conformed to a stricter UI guideline and such, then they could start by actually, you know, putting stricter UI requirements in place and rejecting the ones that don't measure up *regardless* of language it was written in. However, this is clearly not the purpose of the disclosed requirements.
There has been nothing that Apple or any Apple fan defending Apple has said that holds up to logic. The *only* goals of this are: to make cross-platform development as difficult as possible (thus making developers who originally saved time/money by using cross-development tools have to make a choice of whether to support the iPhone or support another mobile platform... and having two code bases is more than 2x the work and cost so it may be too expensive for some developers to do... thus making them choose which to do), and to hurt Adobe (because Jobs is throwing another temper tantrum), Google (because Droid is dangerous to Apple), and Microsoft (who might someday have a product worthy of competition in that market). This is anticompetitive behavior in its purist form.
Is the Unity3D Game Engine threatened?
It looks very much like it will be. The forums are buzzing with fear and anger over there. It also affects a number of other tools including mono-touch. It really goes way beyond Adobe and is going to hurt a lot of developers. If people start using cross-platform toolkits to produce iPhone Apps, the apps are not going to be exclusive for the iPhone. If the same apps are available on Android and other platforms, the iPhone is less of a compelling purchase. That's probably the real reason Java is not allowed. It's not an issue with virtual machines, it's that they want applications to be exclusively developed for the iPhone.
I don't think I'd want to risk time and money writing apps for such a closed system. Even if you totally follow their rules and stick to using their tool chain, who knows what horrors the Terms of Service in version 5.0 of the OS will bring?
The primary reason for the change, say sources familiar with Apple's plans, is to support sophisticated new multitasking APIs in iPhone 4.0. The system will now be evaluating apps as they run in order to implement smart multitasking. It can't do this if apps are running within a runtime or are cross compiled with a foreign structure that doesn't behave identically to a native C/C++/Obj-C app.
Bullshit.
For starters, C, C++ and Obj-C all compile to native code. Native code is native code - if you have some magic pixie dust "multitasking analyzer" for that, it just works, whatever it is compiled from. There is no "foreign structure" to speak of.
If the said magic analyzer would rely on code patterns produced by a particular compiler, then breaking it would be as easy as changing optimization flags, and every GCC upgrade would result in massive breakage all along the line. It is an architectural decision that is so stupid it cannot even be seriously contemplated.
Furthermore, Apple doesn't restrict just compilers that compile from some-other-language to native. No, they restrict code translators that "compile" from some-other-language to C/C++/Obj-C. If the aforementioned magic analyzer can handle output of GCC, it shouldn't have any trouble witht hat.
Furthermore, Apple also bans wrapper frameworks that can be used for cross-platform development. At this point the intent is perfectly clear - note that the use of frameworks isn't forbidden as such, it's the intent that matters. Of course, the aforementioned multitasking analyzer being powered by the Reality Distortion Field, it may well be affected by mere thoughts...
Finally, and most importantly, there is no "evaluation of apps", because there is still no multitasking for apps. All multitasking there is in iPhone OS 4 is a bunch of stock daemons, all written by Apple and shipped with the phone, that provide certain very specific services. Third-party applications are simply shut down if you switch away from them, though they are given the opportunity to persist their state, and queue any finalization tasks for background processing (that's what one of the daemons is for).
Not that I expect the various MS/Adobe/Android astroturfers and other Apple-haters to accept this. They're not big on rational explanations when it interferers with their world view.
You might want to try rationally explaining your own world view, first. A good place to start would be going point-by-point through this reply.
Let me correct that:
Microsott = Evil
Apple = Evil
Google = Somewhat less evil