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.
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
Actually, I read about this the other day. Rumor has it, the language requirements actually do have a purpose, that is making sure the apps work with the new profiled multitasking setups. Supposedly cross compiled apps don't behave in the same way and individual threads can't be halted to save battery and processing power the same way that native apps can.
Whether or not that is true is a bit above my head. The claim has been made that all of Apple's fancy tricks with threat pausing, fail completely with cross-compiled apps and as a result those apps perform very badly with regard to battery drain. This is somewhat supported by the fact that Apple has applied this only to the version of iPhone OS that includes multitasking and not to older versions including current development for 3.x.
Others have also faulted Gruber for misquoting them in his rant by claiming Unity3D will no longer be allowed, despite the fact that the person he was quoting said maybe it will or maybe it won't as it is actually a pre-compiler and it does create objective C source files. The rant should be taken with a grain of salt as it is from a fairly biased Adobe employee.
Is the Unity3D Game Engine threatened? I doubt it. Adobe, yes. Unity, no. I think this Adobe guy is reading between the lines of Apple's announcement. He knows Flash (its code generator workaround, not Flash itself) will be targeted, but not Unity3D. He's only trying to get Apple to admit its hidden agenda, or goad them into banning Unity3D to maintain consistency (which would only go against Apple's interests, Unity3D already has many top selling titles, the code generator from Adobe is not even close).
The only way Apple will stop strong arming Adobe is for them to suddenly pull Photoshop from Mac OS.
You don't think there's already a move by Adobe away from MacOS? Interesting. You clearly don't use Adobe's Creative Suite in your day job.
Many of us who do have noticed a distinct shift in their design philosophy away from making a Mac program for graphic designers towards making a PC program for graphic designers which happens to run on the Mac. The examples are small yet numerous and it paints a clear picture, to anyone who actually thinks about it for a second, that Adobe was the first to turn their backs on the Mac community. I believe there's been a cold war brewing behind closed doors for years now and, while Apple may have been the most obvious about bringing it into the light, Adobe was the first to act on it with their shift in design philosophy with CS3.
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.
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 *
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.
Before I got flashblock, any site I would visit with flash adds would instantly send my processors to about %60, and the fans would start spinning (X3100 MacBook). The situation is even worse in Linux. Would you expect the flash runtime to be any better on the iPhone????
This is the exact same crap that Semantec pulled in the 90's with their 'java compiler', they advertised a java dev tool that I paid about 150$ for that claimed to produce native executables. Well, technically it did, they produced an giant executable, with the entire java interpreter statically linked in, and your code statically linked in, so at runtime it would just interpret your code using the linked in interpreter.
Same freaking thing that CS5 does.
All Apple it trying to do is limit the number of crap applications. If there are all of a sudden all kinds of apps built on flash, battery life drops to minutes, then people will be pissed and most likely blame apple, when its flash's fault.
And their probably is no way to even write a runtime for flash that will not drain battery, because flash is all timer based. The runtime needs to allocate all kinds of timers that are firing at a very fast rate, so there would be NO POSSIBLE WAY to suspend the app in a multitasking env.
I do think Apple went a bit too far, I think they should have allowed apps written in Python/Ruby or some other decent lang, but absolutely ban flash.
And BTW, what is more cross platform then C/C++ and Javascript???
Note, even if they somehow figured out a way to compile CraptionScript to native code, the fundamental problem is the TIMER /EVENT based programming model of flash, where the runtime creates a timer that fires every millisecond to tiger the animations and craptionscript events. CPU usage was not one of the design goals of flash, the fundamental design goal of it was to make obnoxious animations trivial by point and click development tools. Hogging CPU resources was fine I suppose on desktop machines with unlimited power resources, but its a no-go on devices with limited battery capacity.
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.
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.
As someone who has worked at Adobe and developed on the Mac - trust me - its a labor of love - its not nearly as easy as it is on Windows, Linux and even Solaris.
You don't develop on the Mac because of your insane sales figures on that platform. You don't develop on the Mac because of the tons of developer help they give you. You don't develop on the Mac because they even like you. You do it because ... you always have and you have customers to support.
Good example - they would release a patch on 10.4.x - that would break various things like printing (in minor ways - like custom doc sizes start failing), break drivers that work with our products and on and on and on. They never tested a single thing of ours when releasing anything - despite being their largest 3rd party software developer. We never got a single patch ahead of time - ever - to even do the testing ourselves.
Apple's announcement of Intel OSX caught us blindsighted (we found out the exact same second everyone else did), their announcement of not supporting carbon on 64bit was a surprise (caught mid development of CS4) - especially when they said it would be supported previously.
Radar bugs are a black hole - ask anyone who has filed one.
Compare that with Microsoft. They used to log bugs with us on Vista against things like Acrobat 4 - which we hadn't supported in 8 years. That sort of thing was really really really common. But it shows their commitment to making sure that apps from one of their largest 3rd party vendors ran perfectly on Vista when it shipped. And guess what? Despite all of Vista's issues - everything Adobe ran perfectly.
Microsoft used to pre-emptively notify us when the Windows crash reporter picked up a new problem, including their analysis of the issue. There has been more than one crash report they provided that I've personally seen lead to a bug fix in a patch.
Although I strongly condemn Apple's bullying tactics, I can only say that Adobe had this coming for a long time.
Back in the 80s, at the dawn of desktop publishing, Apple held a kind of symbiotic relationship with Adobe, Aldus, and Macromedia, the once-competing companies that eventually merged into today's Adobe. But somewhere in the late 90s Adobe started to drop the ball on Apple as they saw greener pastures in Windows Land. They started to invest much more in the development of the Windows versions of many of their products and Mac versions started to become second-class products.
Adobe even used Premiere as leverage against Apple, threatening to stop its development for the Mac, something that would have essentially kicked Apple out of the video editing market. That's why Apple bought and started heavy development of Final Cut (1999?). Adobe in fact pulled the plug from Premiere (2003?) until they realized that this has backfired on them making them loose a lot of the video market (2007?).
But perhaps the epitome of Adobe's contempt for Apple is Flash. if you think Flash for windows is crappy, you haven't seen the Mac version (or for that matter the Linux one). Macromedia Flash was equally good for Mac and Windows, but while the performance of the Windows version was kept almost acceptable, the Mac version became even more sluggish, processor intensive, and buggy.
Furthermore, Flash became probably the biggest security hole in Mac OS X. in the security update for January, 12 vulnerabilities were plugged. But seven of them were not really in the operating system but in the flash pluggin!
Again, I reject Apple's tactics. But with all this, it is not surprising that Apple doesn't want flash anywhere near their new products even if this kills their former ally. These two companies long ago lost any reason to trust each other, and now Apple is punishing Adobe for treating them with contempt.
First of all, there's no comparison between C/C++/ObjC and managed languages languages like C# and Java. Two of the largest classes of bugs (memory allocation and buffer overflow) are entirely eliminated. You simply can't write a double-free in Java or C#; it's just not possible. Meanwhile, Steve Jobs won't let you write an app without having to worry about them.
Second, Google and MS don't care what language you originally wrote your app in. Even if MS only supports C#, they're not going to stop you from using VB, F#, Python, or Ruby. Google doesn't make you sign some NDA preventing you from using Scala or Groovy. There is no specific list of approved languages, and as far as I know there is nothing to prevent you from writing an interpreter that runs on the platform. If you want to run a DOS program on an iPad, you're SOL. If you want do so on an Android, just port a DOS emulator over to Java!
Third, MS and Google are only telling you what your compilation *target* must be. Well, duh! All platforms have some machine that they ultimately run on. There's nothing wrong with Apple saying that your compiler has to output ARM machine code. It might even be OK if Apple said that it had to be a C, C++, or Objective-C compiler. The real problem is that Apple is saying what kind of code you can write in your *editor*!
dom
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 too have developed for 'both sides' not for Adobe a different 'lower tier' company. The PC is 'easier'. MS is amazing bend over backwards for the developers. Apple has always been amazingly bend the developers over. The difference you missed in your 'skipping the rest' was the fact that adobe is the 3rd largest software vendor out there in the MS world. Then how did they find out about the intel move? An 'oh btw' in a keynote?! MS does *NOT* ignore them. Apple on the other hand is very 'well we put some stuff on the web site dig it up yourself, or here are our press releases... good luck'.
I have dealt with Apple and MS in getting 'support'. MS was always top notch work and they do not stop until it is resolved. Apple I always felt like 'how dare I bother them with such trivialities'.
Ever wonder why Apple went from the 90% market share in the early 80's to the 5% it is now? Its because they have always treated their 3rd party devs like crap. Even the top tier ones. Photoshop was pretty much *THE* only app keeping them alive in the 90s and Apple comes back and treats them like crap. They have changed out the whole platform about 20 times over the years and then just go 'oh well sucks to be you HAHAHA'. Then wondered why no one wanted to make hardware or software for them.
Honestly MS's business practices make me sick. But Apple is the zen guru master Bill Gates takes tips from.
I can understand why they are forcing the API thing and sticking to it. They want the devs to 'just recompile' and it works or at least works quickly on the iPhone version 20 with the new cpu arch that they switched out too. This means you play Apples game. You play it their way. You *WILL* however get burned at some point by it. I can name at least 10 companies off the top of my head who thought as you did. These were multimillion dollar per year companies that were 'gone' overnight because of some change in the wind at Apple. These were hardcore 'we only develop for Apple' shops. Use them as a business partner at your peril.
The computer industry put MS on top because Apple and IBM was just that shitty to deal with. We were willing to look the other way when it did monopoly type things (eventually it became too much). It looks like a whole new set of developers needs to learn the lesson again 'deal with Apple and you will get burned eventually'.
I remember the day Apple dropped all support for 3rd party OS install. All of my fellow developers looked like Apple had taken their puppy away. Within 2 months we were all looking for jobs. No one was buying Apple software anymore. Why should they when a equiv PC was half the price?
People got tired of the Apple treadmill. Every 2-4 years totally changing out software and hardware. People want a bit more platform stability out of computers. Even if they buy them every 6 months.
I can buy a piece of software from the mid 90s written for windows and have a pretty good shot at it working. I can not do that with a Mac. I guarantee in 5 years all those cool apps you bought for your iPhone will not work anymore unless you keep the same phone. I understand that computers progress. But Apple needs to stop changing the platform. Hell you could say they changed it again with the iPhone.