Here it goes – Apple officially locked itself out from majority of development community again. While people are trying to find justification for such move ( http://www.taoeffect.com/blog/2010/04/steve-jobs-response-on-section-3-3-1/ ) and while it came as a shock to some Adobe developers ( http://theflashblog.com/?p=1888 ) I actually have deja vu of 1991 / NeXT Computer fiasco. NeXT was the best PC of 1991. First browsers/servers were developed on NeXT platform. I took time to learn Objective-C and developed for that platform. But proprietary language and hardware lock drove the company in the ground. The truth being told, people make the same mistakes again and again, and Steve Jobs is no different. So the only question remains – will it will be fixed soon enough via Adobe/Apple negotiations and public outrage or Apple will win this battle and loose the war to Google, RIM and Microsoft.
Technically Apple’s terms and reasonings are absurd. The quality of the code is not related to the language. Specialized p-code languages sometimes outperform native ones by highly optimizing (even writing in assembly for specific CPUs) critical parts. In case of Flash/AIR a lot was done to support GPU that would take ages for regular C++ developers to even approach. P-code toolkit can include generation of C/C++ code – however it would be just a waste of developers time to do so.
I have been using Apple products exclusively for the last 3 years and I really enjoyed ability not to deal Windows problems during the development process and still reliably deploy (thanks to Adobe) on 100% of PCs regardless of OS. Performance was never an issue for our apps, and we had steady job helping others to achieve good/excellent performance.
Apple has 3 month to fix this mistake. After that developers will make choice – Adobe or Apple. It will mean significant boost for Google, RIM and Microsoft – and end of Apple growth. At that time, if not resolved, I will be selling my Apple stock. Reasons are simple : in the last 3 years I personally spent about $15K on Apple products, planning to spend at least the same amount over the next 3 years. I was planning to replace my development machine Mac Pro dual Xeon/20GB/10TB for faster one by the end of the summer – looks like it will be Linux server as without platform neutrality it will be easier to at least have development and deployment platforms the same. With developers fallout getting tools and new software for OSX will be even more difficult, so developers need to move toward growing platform. It is really a shame, as Apple really had a chance to become the biggest player in the new market.
In meanwhile, it is time to shop for Nexus phone and Linux development machine.
Sincerely
Anatole Tartakovsky


Richard said,
April 11, 2010 @ 6:09 pm
I agree with Apple. I am Java/Flex developer and now I am ObjectiveC developer too.
1. iPhone/iPAD is very limited hardware (similar to PSP, Palm, etc). There is real problem with CPU or with memory. ActionScript is really slow when it is compared against native code.
2. FlashPlayer is very CPU consuming. 50 times per second compute positions of objects and refresh them in actual window. It really CPU consuming. It is done for Flex applications too and my customers are not very satisfy (I know I can programmatically decrease this number of frame rate). This feature of Flash player can be real problem for slow computer as is iPhone/iPAD.
3. If Apple allow Flash games on iPAD, there will be a lot of these games in AppStore. And probably they will be very slow (try for example http://itunes.apple.com/app/just-letters/id331034020?mt=8 – it is application done with Flash CS5). It is simple game but is very very slow. Experience of users will be, that iPAD is very slow tool.
Ken said,
April 11, 2010 @ 9:51 pm
I am against Apple for same reason. Too much control from top to bottom where world is open source from top to bottom.
If Apple think Flash is crap take idea from google and Nexus Phone which runs flash apps without any problem. I had no problem with Flex application running on windows or Mac. But I am not into game development so that might be different on mac but on windows I had no problem with youtube or any video site.
Anatole Tartakovsky said,
April 12, 2010 @ 2:18 am
Richard,
Problems with CPU and Memory are Adobe’s and developers problems to deal with and have nothing to do with license changes. If the performance or CPU consumption is the problem, the application can be tuned or written using less consuming tweaks. Optimizing performance of Flex application or any other (including Objective-C) is an art, and over the last 3 years we did quite a few tunings of clients applications, increasing real and perceived performance by 1000%. If the application is not performing or not behaving by the time of submission, Apple can stop that particular application. Moreover, license explicitly stops products developed with cross-tools like elips as long as original code is not c/Objective-C even if it translates via C++ stack and thus have native performance.
Here is what I see happening. I have application that I was hoping to roll out this year to 100K+ mobile devices – laptops, netbooks and iPads. With Flex for iPad out of picture we will have to concentrate on the Android/WM as the most likely next contenders in the iPad format. I would do iPads last as that requires me to develop separate application from everybody else. .
I can write code in Objective-C but Apple has just 25% of smart-phone market and even less in other areas. Sales have been flat – majority are upgrades vs new customers . Hopes for new markets like China are slim – Qualcomm failure there should of been taken seriously. RIM, Windows and Google have 70%+ – I would really think Apple is going to win the short term battles but loose the war,and this step just speeds up the process.
Moreover, if not revised quickly it would lead to coalitions like Google-Adobe-HTC to quickly reduce Apples share of devices by offering better OS integration and more open platform – I did not feel Android Flash as sluggish as iPhone one. I would really be surprised if Google and RIM will not use this opportunity. Never underestimate the power of truly “free” software and disillusioned people.
Regards,
Anatole
Richard said,
April 12, 2010 @ 3:30 am
> With Flex for iPad out of picture ….
But there was no plans for Flex for iPad. There were plans only for support Flash for iPAD.
> lead to coalitions like Google-Adobe-HTC
Google is no friend with Adobe on this field. Google has own SDK too. And HTC is no friend too. HTC sold more devices with Microsoft OS than with Android.
Vladimir Prudnikov said,
April 12, 2010 @ 4:54 am
I can’t really understand the choice “Apple vs. Adobe”. It looks like choice for drivers — BMW vs. Michelin, they are different companies that make different products.
I think the problem here is that Apple do not allow to run Flash on their mobile devices and the real choice is “Flash supported devices vs. No-Flash devices”, But common, 1) major amount of crashes on my mac is flash player crashes 2) battery life will b 10 times lower with flash player — do you need this?
Most of the Flash applications are games, I don’t think that Steve cares about games on iPhone and iPad. Another pie is probably enterprise application, but crashes and small battery life is not the things that enterprise will be happy with.
Anthony said,
April 12, 2010 @ 12:01 pm
Richard – Fact Check needed Flex =Flash Flash is the run time Flex is the SDK
Also look out for the improvements in Flash 10.1 due out soon and look how many devices will support it…
Yakov Fain said,
April 13, 2010 @ 1:57 pm
Allowing Opera on iPhone http://bit.ly/9xUx8H is yet another proof that Apple breaks their own rules easily.
Don’t try to find logic in Appple’s actions. Steve Jobs is so moody… Adobe must bribe Apple.
Anatole Tartakovsky said,
April 13, 2010 @ 2:33 pm
Richard,
“But there was no plans for Flex for iPad” – I strongly believe that this is overstatement. You do not announce products before you can roll them out in a way it helps to sell it – definitely you would not do it before CS5 announcements
Google is no friend but does not compete with Adobe. It uses Adobe technology and can benefit from OpenDisplay, video support and others elements of Adobe stack. Most importantly Adobe provide market advantage for Android over iPhone.
HTC is agnostic and in competition with Apple. Enemy of my enemy is my friend by association.
Sincerely
Anatole
Anatole Tartakovsky said,
April 13, 2010 @ 3:01 pm
Yakov,
I am merely following the changes in the law. Whenever law changes, there are inevitable changes in marketplace and new opportunities/risks. Assuming the practices like the one discussed become common place – we quickly move from 21st century to circa XII law of guilds. Very comfortable, sustained for eight centuries, and indeed provided foundation for quality control and market ethics.
Second option – current market laws tear it apart as counter productive in the current market conditions. That is based on the notion that smartphones and tablets will go into mass production/growth spur. It is pure math, and laws of big numbers are opposite to ones we usually base our logic upon.
In either case, whenever the law changes you must react. Android/RIM look better for the next 6 month then they did 2 weeks ago. Good enough to set up lab/development on the same scope we did for iPhone/CS5
Sincerely,
Anatole
Michael McConnell said,
April 14, 2010 @ 11:18 pm
Anatole,
First off, I am a great admirer of your work. I’ve seen you speak at various Adobe related engagements and I am now the proud owner of your new Enterprise Flex/Java development book. Great stuff. Can’t wait to see what you guys do with Flash Builder (Flex 4).
I could not agree more with your stance on Apple. They’ve been doing so well in recent years and then they go make a boneheaded move like this. I don’t believe HTML5 is going to supplant Flash anytime soon, if ever. Hopefully, Apple (aka Steve) will come to their senses in the near future. I, too, have heavily invested in the Mac platform over the last 3 or 4 years. I love their systems and OS X is probably one of, if not the, best operating system on the market. I run a complete development environment on my MacBook Pro including Flex 4, ColdFusion Builder (both in Eclipse), and Windows 2008 Server running in VMWare Fusion. It is literally a “network in a bag”. I’ve attempted similar set-ups on PC hardware (Win XP, Vista, and now 7) with less than spectacular results. Those OS’s simply can’t do what OS X does, which is truly a shame. I find myself married to a hardware vendor who’s ego seems more important to them than market forces and, more importantly, the needs/desires of their user base. I’ve very disappointed. The only thing I can figure is that somehow, at some time, Adobe really pissed off Jobs and he hasn’t forgotten about it. Then again…what do I know. I’m not a multi-billionaire, just a code monkey trying to make a living.
I just picked up a Dell quad-core laptop and I’m installing one or two flavors of Linux on it tomorrow. It probably won’t be as nice as my MBP set-up, but at least I won’t feel like a sell-out.
Best Regards,
M. McConnell
Valery Silaev said,
April 17, 2010 @ 5:37 am
@Richard (first comment)
The “limited hardware” argument is simply not valid (to say polite)
You may compare hardware used by Motorola Droid (Google Android) and Apple iPhone 3GS (iPhone OS 3.x).
Do you see similarities? It’s just the same hardware profile, and Motorola even uses “slower” processor. And larger screen, btw, — this stresses CPU/mem more.
Meanwhile, (an)Droid can do multitasking and Flash easily, but iPhone can’t due to “hardware limitations”.
Anatole Tartakovsky said,
April 18, 2010 @ 11:20 pm
Valery,
Argument about limited hardware is beyond absurd – comparing Flash and approved technologies like HTML show that the issue is pure political. I find it hard to believe that people buy that JavaScript considered to be well performing and Flash is not.
As always, it’s just a matter of repeating it enough times – and people believe anything.
Multitasking is more about simplicity and maturity. The old DOS was suppose to be a single task OS, but there was a bunch of technologies based on TSR (Terminate and Stay Resident) notion. Windows 3 had Resource Sharing Multitasking, but with trivial tricks you could turn it into Real-Time Multitasking. Flash AIR has variable different rate for background mode (2 frames per second) and can be easily customized if OS can trigger wake events on predefined rate, suspend execution after certain number of cycles and as well as access real time clock events, the rest is up to the framework/player developers.
Regards,
Anatole