Is Mike Chambers a hypocrite?

Apr 23, 2010

I truly hope not.

This post is directed to Mike Chambers and the team at Adobe. This will properly be my last public statement on the Adobe/Apple mess for some time. As with many of you in the development community, I'm getting pretty sick of the mess now.

Mike Chambers posted his thoughts on the recent news that Adobe is stopping Flash and AIR development for the iPhone and iPad platforms. In it, he made a very interesting comment.

"I think that the closed system that Apple is trying to create is bad for the industry, developers and ultimately consumers, and that is not something that I want to actively promote."

I completely agree with his statement. Closed architectures, in the vast majority of cases, hurt the development community and hinders advancement of the technology, but at the same time, this is clearly a case of the "pot calling the kettle black". How?

The Flash and AIR players are closed systems. In fact most everything from Adobe is closed, ColdFusion, LiveCycle, etc. If closed architectures are bad for the community, then Adobe needs to take a very serious look in the mirror. As a ColdFusion developer, I get shortchanged all the time waiting on features and patches to the CF environment. In Flash and AIR development, the same happens as well. There are several features in FP 10.1 and AIR 2 that I had to literally wait years for, and as it so happens there are many features I'm still waiting for. This only obstructs my development on those platforms. It is bad for me as a developer, my clients as consumers and ultimately bad for Adobe as, in many cases, I'm forced to use competing technologies to solve basic problems.

Apple is hurting us in keeping their platforms closed. So is Adobe, and frankly I pretty sick of the hypocrisy and company spin as the people responsible for this mess cover their butts. Adobe's leadership had their developers spend a lot of time developing a compiler and around 100 apps for the iPhone/iPad platforms and yet clearly didn't give Apple a heads up on their work. That ended up becoming nothing more than a hugh waste of time for everyone involved and the blame can be squarely placed on Adobe. Before I spend the time and money to build a technology, I make certain that the platform will support it. This is even more critical if the platform is closed. Adobe didn't do this and that's completely their fault, not Apple's.

So some will naturally read this and say but how exactly is Adobe going to be able to profit from open sourcing more of their technologies. The key to all of this is very simple. As a general rule, you should almost always open source the platform to a technology. Adobe doesn't sell the Flash or AIR players. That is not where they make their money. They sell the IDEs and other supporting tools. To make money, they need a big development community around the technology. Luckily, open technologies encourage adoption and wider use. As more people use a technology, the greater the need for developers. Open sourcing is actually very big business and Adobe has missed several opportunities to profit from it over the years. Perhaps, they will finally get a taste of their own medicine in this latest situation and realize they have been hurting their own developers as well.

So Mike, I agree with your statement and hope that you are truly committed in not actively promoting closed systems. That naturally includes Adobe technologies that are closed as well. Otherwise, this is just more company spin isn't it?

Comments

mike chambers

mike chambers wrote on 04/23/10 12:03 PM

You seem to be conflating open platforms with open source. My article is discussing open platforms. Indeed, there is no mention of open source in that article at all.

Anyone can design, develop and deploy Flash content via the Flash Player without Adobe (or anyone else for that matter) acting as an arbiter of that content. You can use any tools, language or technology that you want to create that Flash content.

i.e. Adobe does not and cannot block you from deploying Flash content via the Flash Player, be it for technical, business or moral reasons. We do not as as a content gatekeeper for Flash content.

Hope that helps clarify...

mike chambers

mesh@adobe.com
Micah Douglas

Micah Douglas wrote on 04/23/10 12:11 PM

I agree that Adobe can always work towards more openness in all that they do, but....

What he said (Mesh).
phill.nacelli

phill.nacelli wrote on 04/23/10 12:13 PM

HI John,

While I see your frustrations and points as being valid, keep in mind that although ColdFusion and other Adobe products is closed platform, they never said or enforced that you have to only develop within their set of tools, this also includes Flex & AIR development. If they said that only Flex/AIR apps compiled using their set of IDE tools will work on the Flash Player, I'd agree with you 100%. But that's not the case here, as far as developing new features goes, Adobe has always been consistent about investing time and resources on features that are in higher demand to bring the most value to their product, after all they are in business for profit. But in CF case you are also free to use other third party Java or .NET libraries to accomplish certain things if already available. That in my opinion is not closed platform.
Mingo Hagen

Mingo Hagen wrote on 04/23/10 12:16 PM

@mike chambers The same can be said for the iPhone: Anyone can design, develop and deploy HTML (swf) content via the web browser (Flash plugin) without Apple (Adobe.)
John Mason

John Mason wrote on 04/23/10 12:19 PM

You said "closed system". The 'platform' on the Adobe side is software - the flash player. On Apple its hardward - iphone/ipad. The problems are very similar, and I'm seeing Adobe saying they are open which is not the case at all. Adobe has placed several restrictions in the flash and air players, which developers have to deal with. So there are restrictions on what we can deploy. There's also several bugs, etc. that we have to wait on you guys to fix. The key here is you're correct in that Apple's closed nature hurts us. The same is true on the Adobe side.
John Mason

John Mason wrote on 04/23/10 12:24 PM

@Phil, we can extend CF, but we have to deal with the many quirks within the coldfusion engine. The engine itself is the platform and to me closed.
Jeffry Houser

Jeffry Houser wrote on 04/23/10 12:34 PM

I was trying to think of a good way to sum it up the other day. This is what I came up with.

Adobe;s Flash Platform is an open platform built on proprietary technology.

Apple;s Mobile Devices are a closed platform built on open technologies.

But, even that is not entirely accurate. Apple is clearly making use of closed technologies ( H.264 ) and Adobe; while proprietary; is partially open ( Tamarin and the SWF spec ).

Native apps on Apple devices are much more closed than web apps built for Apple's devices.

But, at the end of the day, Adobe doesn't limit how I develop or what I develop. Apple is enforcing limits on me if I want to deploy to their devices.
mike chambers

mike chambers wrote on 04/23/10 12:35 PM

@Mingo Hagen

--
The same can be said for the iPhone: Anyone can design, develop and deploy HTML (swf) content via the web browser (Flash plugin) without Apple (Adobe.)
--

Sure, except my post isnt about web / browser content on the iphone. It is about deploying standalone applications to the device.

You can read the entire article here:
http://www.mikechambers.com/blog/2010/04/20/on-adobe-flash-cs5-and-iphone-applications/

mike chambers

mesh@adobe.com
Mingo Hagen

Mingo Hagen wrote on 04/23/10 12:53 PM

@mike chambers I read it and you quote clause 3.3.1. in which it mentions Javascript and WebKit. I was merely drawing a parallel between Adobe and Apple's thinking as I see it.

Also, Apple does not say you have to use Xcode. It only states you have to use a certain language and link agains their API's.
phill.nacelli

phill.nacelli wrote on 04/23/10 1:09 PM

@John,

"we can extend CF, but we have to deal with the many quirks within the coldfusion engine. The engine itself is the platform and to me closed."

Sure, but isn't that a language/product maturity issue? I mean, how would I get a feature/bug fix added to JAVA? Sun (now Oracle) owns that, I don't have any access to changing it. .NET belongs to Microsoft, forget trying to get something changed there that doesn't fit their long term vision of what goes into the CLR. All of them require you to report the bug with no guarantees that it will be fixed in the next release.

Yes, Adobe's platforms are closed, it's a product, they own it, and we choose to use it. In the last few years, in my opinion, Adobe has done a great job in allowing the public access to their products during development, they have heard our feedbacks and done, in my opinion, a decent job for the most part in implementing changes based on majority requests. Yes, there are features in CF, Flex and AIR that you and I want (who doesn't want direct access to the USB port in AIR??? or some other resource on the desktop?) but as a product the owners need to weigh in the consequences of adding those features. Think of the consequence if they made the Flash Player open source? Who would you trust to get your Flash Player builds from on the internet?
John Mason

John Mason wrote on 04/23/10 1:32 PM

@Phill

"Adobe's platforms are closed, it's a product"

That's where they're messing up. The platform should be as open as possible and then you surround it with the for-profit products, services, consulting, etc. Flash is a quirky thing, on the business side, because its current wide adoption. That was mostly by accident. That will over time change. We're starting to see that already with the iPhone/iPad issues. There are other closed platforms like .NET which affects its use and application. In the long run, open source platforms, more times than not, win over the closed platforms. History is pretty clear proof of that.

Trust is always interesting. We trust Adobe right? I use Linux base OS systems. I trust those vendors and everything works fine too. We trust many different companies in life without much thought or concern. Perhaps that is a problem.

The other key issue with open source is it's important for developers to learn and understand how their code runs on the platform. Currently, the Adobe platforms are a black box. That ends up costing developers in the long run. If you could see how the players actually ran the code there would be many benefits and better applications built for the environment. That helps everyone.
Mingo Hagen

Mingo Hagen wrote on 04/23/10 2:49 PM

@phill.nacelli Java is open source.

"Think of the consequence if they made the Flash Player open source? Who would you trust to get your Flash Player builds from on the internet?"
Like webkit/firefox those are open source, seem to work great?
Jeffry Houser

Jeffry Houser wrote on 04/23/10 3:15 PM

"In the long run, open source platforms, more times than not, win over the closed platforms. History is pretty clear proof of that."

Can you provide a few examples?

Windows vs Linux? [Windows, clear winner]

Java vs .NET: I've always had the impression Java has flattened; but .NET is going strong; I can't find numbers though. I'd call it a wash unless someone can tell otherwise.

I'm not sure what else out there I might consider a platform. IE killed all the browsers. The only reason Firefox was able to gain market share is because MS dropped out of the game once they killed the competition. Even then with that, IE still has the winning market share. If we consider a browser to be a platform--which I don't.

My god your capthca is impossible.
John Mason

John Mason wrote on 04/24/10 12:09 PM

@Jeffry, there are some stats out there but there are several things that come to mind. Most of the fundamental protocols that run the Internet are open as well as the services that run them. For example, Email, DNS, TCP/IP, ftp. People forget that in the early days there were several closed alternatives to these systems that in many cases were very compelling at that time. The open systems won out through adoption.

Windows v Linux - well that depends. Windows dominates the end-user market currently, but Apple and Linux are making gains. On the server end, Linux wins hands down. On the web server side, Apache is dominate. As we get more mobile devices, the segmentation of OS systems will naturally continue - which by the way will put a lot of pressure on Adobe to keep up and have Flash/AIR work on as many systems as possible. Keeping this closed, will make this work extremely difficult.

IE is the current dominate browser, but the alternatives are gaining on it. If you remember, Microsoft was under an anti-trust lawsuit in the 90s for bundling the browser with their OS. Frankly, they didn't win the market share in a natural and fair process or by having a better product.

Many at Adobe are now making the argument that Apple's closed policies are not going to work in the long term. That is correct, but as a result they really need to ask themselves the same question.

They are an excellent group of talented people, but they have certain strengths and weaknesses. Adobe has been very good at building developer and designer tools. The company depends on the CS suite. They are also very good at distribution of the players like PDF Reader and the Flash Player. However, platform and server development is not a strength. They out source entirely too much and end up with sub-par releases. Support for these platforms are almost completely useless. Bug fixes and patches are slowing down - for example, CF, Blaze, etc. In several cases, they were critical security fixes that should have been out within hours, instead it took months.

Now here's the problem, if people start dropping off the Adobe platforms because they are closed, slow, insecure and difficult to work with, which we have seen in the CF world, then there will be less developers and that will affect the company's bottom line over time. Many hate the Flash platform for exactly the same reasons. If Adobe doesn't address this quickly they will not be around much longer. Frankly, I think it's time for a major reshuffling of the top management there.
Jeffry Houser

Jeffry Houser wrote on 04/24/10 10:27 PM

John,

Are networking Protocols the same as development platforms? Can such things be considered open, or closed? Or even platform? Are their open, standard, open source implementations of such things that everyone uses? Or is it a defined "spec" that lots of people implement independently, but consistently.

I'm probably not educated on such things to decide. It makes since to me that a protocol designed for communication between two machines will not be used in the long term if certain machines are prevented from communicating using that protocol.

On Windows vs Linux:
Slow market share gains by niche products hardly makes them winners from a historical perspective. Who knows what the future holds.

Regarding IE:
See previous argument regarding market share. Slow gains by smaller players does not make those small players a historical winner.

I never understand why it was bad for Microsoft to include IE in the operating system; but perfectly fine to include things such as a calculator app, notepad, or a sound recorder. Even if Microsoft had not made deals to block other browsers from being installed by OEMs it is unknown whether folks would have looked for alternate options. Traditionally there have been plenty of "Windows Shell" replacements over the years but statistically, how many people use these alternates? I bet the browser market would have played out similarly.


I personally think that platforms or systems that do not 'constrain' the developer or the consumer will win out in the end. I don't think computer science is old enough to pull the history card for what works and what doesn't.

I think there is a fundamental difference between platforms that don't constrain me as a consumer or developer and platforms that are open source.


Computer Science isn't like engineering or carpentry which have been around for thousands of years. We're still figuring out what works and what doesn't.


As an aside, Last time I heard stats on the number of CF Developers, that number was going up at a surprising rate. Do you have stats to confirm that CF use is dropping?
Charles

Charles wrote on 04/29/10 2:43 PM

Open architecture / open source is just a pretext. Adobe paid a fortune for Flash. No it is threatened. They are using every tactic at their disposal to save their market position.

Another example is the promise that mobile devices that support Flash will offer the entire web to its users. While this may be true for tablets, it is not true for mobile phones. Take any Flash application designed for a computer/laptop screen, reduce 300 to 400% in size, and try interacting with buttons, movieclips and the like. Zooming won't help because only a section of the interface will be available. So, in most cases it will be usuable. No one really paid attention to that. Adobe is pushing this misconception knowing perfectly that this is not correct. Sure the files will show on your phone, but you won't be able to use them correctly.

So, in the end it is all about business. Adobe uses every trick at its disposal to protect their product. Apple is determined to get their own products to the market. In the end, it is up to you the developers to decide what your clients will want. Right, we find our clients excited about the iPad. So, we will likely branch out and learn to program for that platform. That's where the money will be in 2010 / 2011. Most marketing clients don't even understand what Android is anyway.
John Mason

John Mason wrote on 04/29/10 3:16 PM

I used networking protocols since they have the timespan I'm referring to. We're seeing the same with web based technologies like HTML, XML, JSON, various video formats, etc. LLVM bytecode format is open and look at everyone using it. Open platforms gain adoption and become dominate over time. If Adobe focused its efforts on building tools for those open platforms, they would gain in the long run. I think opening up the AMF spec and Flex were very smart moves on their part. They make their money making tools, not platforms. It's great that they try to make platforms, they just need to keep them open. Look at LiveCycle, probably Adobe's most closed platform and hardly anyone uses it. It has some very cool ideas, but that isn't enough in the modern world.

Jobs mentions many of these same themes in his post 'Thoughts on Flash'
http://www.apple.com/hotnews/thoughts-on-flash/

I don't agree will all his points, but lets face it, flash player performance is bad. And not just on Apple products, I use linux and the player can be a processor hog and very buggy. Putting it on mobile in its current form will be a complete mess.

On the stats that Adobe uses in their marketing from Evans and Gartner I find very suspect. Those are paid-for marketing reports. I can't begin to tell you all the times that these for-hired research firms get things completely wrong. Gartner famously said back a few years ago that Apple should simply outsource their hardware to Dell.

If Adobe is truly committed to their platforms, they shouldn't outsource their development and support to the cheapest, subpar providers in the world. If they are truly committed to their technology, they shouldn't try to cheat their customers by having rapid-fire product releases complete with numerous bugs and few new features.

As a small stock holder of Adobe, I had to cut back since watching Shantanu Narayen and Kevin Lynch take the company into this fatal stall. The major investors don't hear us, but they do hear Jobs. In time, they will rethink their investment in Adobe. It may be too late by then - I hope not, but I think it's finally time for Natayen and Lynch to step aside.
John Mason

John Mason wrote on 04/29/10 3:31 PM

Jesse Warden just posted a response to many of the items that he felt Jobs got wrong on his post.

http://jessewarden.com/2010/04/steve-jobs-on-flash-correcting-the-lies.html

I don't agree with all of Jesse's points like Flash being 'mostly' an open spec, but that's life.
John Mason

John Mason wrote on 04/29/10 10:45 PM

And finally Kevin Lynch's response..
http://blogs.adobe.com/conversations/2010/04/moving_forward.html

It's pretty clear the path Adobe's leadership wants to take. They're hoping that Android and similar non-Apple devices will balance out the market and give Flash a place in the mobile world. They're also hoping that Flash performs well on those platforms. I would prefer that they finally address the performance issues with the player - which I believe everyone agrees is the core problem. Only time will tell, but if their strategy doesn't work, they need to take full responsibility for it.
Matthew Fabb

Matthew Fabb wrote on 04/30/10 10:13 AM

John, some of the biggest changes to Flash Player in version 10.1 deals with lower CPU, lower memory usage and containing code that crashes so that it doesn't crash the plugin or browser. These optimizations were done to get Flash Player on to mobile devices but at the same time the desktop version is getting these same advantages. So I think Adobe are finally addressing any performance problems.

Also Adobe has mentioned before that the Flash Player can never be completely open source because there's codecs in the player that they do not own. So if there were a completely open source player it would mean that open source versions of Flash would be released to users which couldn't play video or audio properly. This would likely result in some really bad fragmentation.
John Mason

John Mason wrote on 04/30/10 10:32 AM

@Matthew, yes they are just now starting to do hardware video acceleration which should help, but in many cases that still will not be available unless you have the particular hardware they support. Hardware acceleration isn't a new concept, and they are just coming around to using it? The code rewriting for 10.1 is suppose to be faster, but is it faster than the other options I could use?

The codecs are interesting considering that the Flash player is probably the biggest user of any of the proprietary codecs out there. If Adobe didn't support them on FP, they probably wouldn't be proprietary for very long. Again, picking closed platforms and standards ends up hurting everyone involved. If they made a policy of supporting just the open codecs, they could maintain flexibility which is only a good thing in this environment.
mike chambers

mike chambers wrote on 04/30/10 10:51 AM

@Jason

--
yes they are just now starting to do hardware video acceleration which should help, but in many cases that still will not be available unless you have the particular hardware they support. Hardware acceleration isn't a new concept, and they are just coming around to using it?
--

Whether or not we can leverage hardware acceleration is completely dependent on whether it is exposed in the underlying OS. Mac only added the baseline support we needed in 10.6.3, and thus we are not taking advantage of it.

As far as which GPUs are supported, that is completely up to Apple and it's APIs. So, if you have questions about why only certain GPUs are supported, then you will need to ask Apple about that.

mike chambers

mesh@adobe.com
John Mason

John Mason wrote on 04/30/10 11:08 AM

That appears to be a core of the problem with Adobe/Apple is the GPU support. Like I mention before, I'm on Linux (using a DELL XPS M1530 laptop) and it seems pretty clear than FP isn't using acceleration on my system. Why is that? Apple doesn't control Linux and the OS is completely open for you guys to support acceleration.
John Mason

John Mason wrote on 04/30/10 11:46 AM

From Adobe's post on hardware acceleration for FP 10.1
"Hardware-accelerated H.264 decoding on Windows desktop, notebook, and netbook systems is supported on some video cards and drivers running on Windows XP, Windows Vista, and Windows 7. These include some recent NVIDIA, AMD/ATI, and Intel graphics cards. The player also supports hardware decoding with hardware such as some Broadcom video decoders."

"In Flash Player 10.1, H.264 hardware acceleration is not supported under either Linux or Mac OS X. Linux currently lacks a developed standard API that supports H.264 hardware video decoding, and Mac OS X does not expose access to the required APIs. The Flash Player team will continue to evaluate adding hardware acceleration to Linux and Mac OS X in future releases."
Source: http://www.adobe.com/devnet/flashplayer/articles/fplayer10.1_hardware_acceleration_02.html

Since Android is Linux based, you can imagine my concern at this statement and if FP/AIR on the Droid platforms are going anywhere either.

You basically don't get GPU support unless you're on Windows PC with very particular video cards. Am I correct?
John Mason

John Mason wrote on 04/30/10 7:25 PM

Shantanu Narayen's interview with the WSJ yesterday
http://www.flashstreamworks.com/archive.php?post_id=1272653989

He directly says the issue is not a technology problem. The Apple/Adobe fight is probably mostly personal now, but the performance concerns are real. And it's not just with Apple products as I have stated here. It's important that Shantanu clearly admits that and works to fix it.

Shantanu says that Adobe is focused on multi platform and open technologies. As a Flash/Flex/AIR developer using Linux, that statement, to me, is completely false. None of the Adobe tools or IDEs are being actively supported on Linux even though a few are eclipse based. Flex Builder for Linux is a very buggy alpha and it's clear that FB4 will not have a Linux version. There is no hardware acceleration for the FP for Linux. Apple didn't cause these problems. It's all on Adobe.

Shanatanu is right that ultimately customers and developers will pick the technology that works best. If nothing is addressed soon, they may not like the outcome of that process.
Andy Jarrett

Andy Jarrett wrote on 05/04/10 6:08 AM

I am not going to take sides Apple/Adobe fight i as they both have merits and depending on the day I will fight for either corner. The only argument against Adobe that I agree with totally is that they are not (or have been) multi-platform. Look when Mac went to intel, Adobe dragged its feet in upgrading its suite (I've seen conspiracy posts saying this is some kind of payback), and when it comes to running on Linux its a no-go from the start and not even worth going there.

Adobes issues is that they need developers and developers need OS's but the OS of choice is no longer Windows. As soon as the paradigm shift away from Windows started happening they should started putting profits in R&D to make their tools cross-platform. I agree not all of their tools probably need a Linux port (I'm sure others would argue) but any coding tool/IDE should be available across the OS's.

Write your comment



(it will not be displayed)