The FUD Apple has been able to generate about flash is amazing. As a developer myself that uses Flash in front end interfaces, this battle of words has made me sick to the stomach. Not because either side is wrong, but because Apple is printing lies and falsehood about flash. And, I tend to dislike those who lie.
Lets study the “Thoughts about Flash”
Adobe’s Flash products are 100% proprietary. They are
only available from Adobe, and Adobe has sole
authority as to their future enhancement, pricing,
etc. While Adobe’s Flash products are widely
available, this does not mean they are open, since
they are controlled entirely by Adobe and
available only from Adobe. By almost any definition,
Flash is a closed system.
Let’s get this straight. Neither Apple iTechnology or Adobe Flash are OPEN. They both use open and freely available standards. They both use proprietary standards such as H.264. Steve Jobs claiming that Apple iTechnology is Open is a subjective point. But let’s look it from another angle.
Free is usually associated with Open. To use any of Apple’s iTechnology you have to purchase their hardware and be a registered($) developer to run software on them. For Flash, you can use any computer using any operating system, obtain the Flash player for free, then download the open source compiler. This is all free and Open, however the Player is closed source. (Or you could use the open source Flash Player called Ganash).
So comparing both, I can use Adobe flash technology and build workable results without paying Adobe a cent. I have access to all the source for the tools that make the swf files. Not so with Apple. So who is more open again?
Apple has many proprietary products too. Though
the operating system for the iPhone, iPod and iPad
is proprietary, we strongly believe that all standards
pertaining to the web should be open. Rather
than use Flash, Apple has adopted HTML5, CSS and
JavaScript – all open standards.
The issue here is not the openness of the web, but
the tools and costs to get you to this open web. For
Apple you have to purchase expensive iTenchnology.
For Adobe, you get a free Flash Player.
Apple’s mobile devices all ship with high performance, low power
implementations of these open standards. HTML5,
the new web standard that has been adopted by Apple,
Google and many others, lets web developers
create advanced graphics, typography, animations and
transitions without relying on third party
browser plug-ins (like Flash). HTML5 is completely
open and controlled by a standards committee,
of which Apple is a member.
Has anyone bothered to tell Steve that HTML5 is a “developing standard” and is not slated to be completely ratified until 2012? HTML5 is by no means a technology we should be putting out there on a large scale yet as the standard is likely to change. Every time it does, every website using the current Draft and prototype example implementation will have to change their code to suit. Any web developer pushing hard into this now is being foolish at best. Potential Darwin awards member of the web community at worst.
Second, there’s the “full web”.
The full web, to me, would mean the most common technologies, Open or otherwise. But let’s keep reading..
Adobe has repeatedly said that Apple mobile
devices cannot access “the full web” because 75% of
video on the web is in Flash. What they don’t say is
that almost all this video is also available in a more
modern format, H.264, and viewable on iPhones,
iPods and iPads. YouTube, with an estimated 40% of
the web’s video, shines in an app bundled on all
Apple mobile devices, with the iPad offering perhaps
the best YouTube discovery and viewing experience
ever. Add to this video from Vimeo, Netflix, Facebook,
ABC, CBS, CNN, MSNBC, Fox News, ESPN, NPR, Time,
The New York Times, The Wall Street Journal, Sports
Illustrated, People, National Geographic, and many,
many others. iPhone, iPod and iPad users aren’t
missing much video.
Ok, let’s be specific here. Flash, way back since Flash Player 9 Update 3, released on December 3, 2007, Flash has been able to play back any standards based MP4 container with H.264 and AAC video, all the way up to HD 1080. (HD performance subject to Hardware acceleration, ie not on Mac). Since then, any Video website would have likely switched over to H.264 media files. (Better utilisation of bandwidth $$$) Meaning EVERY website would be using them now. Moving a Flash based Video site to the <video> tag would only take days of development. (No transcoding needed)
Flash has never claimed to be a video container. It is what has made flash so popular, but that is not its core purpose. So, cool, Adobe was actually not that bothered, IMHO, about this. The <Video> tag has its purposes. But then again Video in flash also has its purposes too. Both will do some video interfaces better then the other. It depends on the application. The <video> tag will in general do for 95% of what the web needs. Adobe has never disputed that. They have only tried to make it more innovative to keep it as relevant as possible.
Another Adobe claim is that Apple devices
cannot play Flash games. This is true. Fortunately,
there are over 50,000 games and entertainment
titles on the App Store, and many of them are free.
There are more games and entertainment titles
available for iPhone, iPod and iPad than for any
other platform in the world.
This is obviously a comparison between thousands of free flash games and thousands of $ games on the iTechnology platform. It is a blatant admission by Steve Jobs that Apple would rather you pay for Games from the store and they get 30%. And really, why the hell not. Apple made these wonderful iTechnology products.
Steve, please come clean and do not make up false accusations and mislead consumers. That’s bad form. This is the core of why this fight is so high profile IMHO.
Third, there’s reliability, security and performance.
This is where it gets good. Steve has a point here, but chooses to leave out a lot of detail.
Symantec recently highlighted Flash for having
one of the worst security records in 2009.
We also know first hand that Flash is the
number one reason Macs crash. We have
been working with Adobe to fix these problems,
but they have persisted for several years now.
We don’t want to reduce the reliability and
security of our iPhones, iPods and iPads by
adding Flash.
Here Apple starts pointing the finger. Yes Adobe has security flaws. But so does your OSX and iTechnologes. If Apple was so perfect, why can’t they stop the jail breakers? How come they send out security patches on a regular basis? Apple is also known for being one of the slackest when it comes to security fixes.
Yes, Flash has had some security issues, but like all complex tools, no more than its fair share. Apple, you are just as guilty. Again bad form Steve.
In addition, Flash has not performed well on
mobile devices. We have routinely asked Adobe to
show us Flash performing well on a mobile device,
any mobile device, for a few years now. We have
never seen it. Adobe publicly said that Flash would
ship on a smartphone in early 2009, then the
second half of 2009, then the first half of 2010,
and now they say the second half of 2010. We
think it will eventually ship, but we’re glad we
didn’t hold our breath. Who knows how it will
perform?
Lets look at the facts. There are over 200 apps on the AppStore known to be made from the FlashCS5 tool set. (Probably more but developers are not willing to say.. for good reason as Steve will probably kick them off) These Apps passed the TEST to go onto the Apps store. One would expect the test involves looking at performance issues. One would expect Steve has likely looked at these apps as there are Blogs and articles all over the Web about them. So are we supposed to believe that Steve has simply not bothered to have a look at them? The statement above is obviously misleading.
Fourth, there’s battery life.
To achieve long battery life when playing
video, mobile devices must decode the video
in hardware; decoding it in software uses too
much power. Many of the chips used in modern
mobile devices contain a decoder called
H.264 – an industry standard that is used in
every Blu-ray DVD player and has been adopted
by Apple, Google (YouTube), Vimeo, Netflix and
many other companies.
I recommend you have a look at “HTML5 versus Flash: Animation Benchmarking” (See video explanationComparison of performance of Flash Player 10.1 and HTML 5 on Mobile Devices) in which Flash is 200-500% more efficient then HTML5 running on webkit on an android phone. Meaning it would use less power then HTML5. Ie, Steve Jobs’ suggestion that HTML5 has better performance is misleading and obviously not true.
Although Flash has recently added support for
H.264, the video on almost all Flash websites
currently requires an older generation decoder
that is not implemented in mobile chips and
must be run in software. The difference is
striking: on an iPhone, for example, H.264
videos play for up to 10 hours, while videos
decoded in software play for less than 5 hours
before the battery is fully drained.
This is really good spin. Steve is right in that the very OLD version of flash before 2007 (3 years in internet time is a VERY LONG TIME), version 9, did use a CPU based codec. But as stated above, H.264 is now the standard and all sites using flash are now using the same H.264 files in flash as is compatible with the Hardware accelerated decoders. As such, Flash 10.1 is as efficient as it can possibly be on these mobile devices. Steve implies Flash cannot do H.264 Hardware acceleration, which is again deceptive and untrue.
But lets get into the OSX story here. Apple like to blame Adobe for the poor video performance on OSX. Unfortunately, again, Steve has failed to supply the full story. The reason Flash on OSX is so slow and buggy is as follows.
1. Video: Apple has refused to, until recently, supply the API required to implement it. Flash 10.1 for OSX will have Hardware acceleration as, the API has only just been made available. Steve conveniently failed to mention this. (See Adobe will accelerate Flash video using new Apple API)
2. General flash animation performance: Again, this is because those APIs available for rendering animated content on a web browser are old and not suitable. Adobe has been waiting for better and supported APIs to become available. Again, only recently because of the advent of HTML5 in the browser has Adobe now been able to implement Core Animation for use in Flash Player 10.1 The FlashPlayer development team say OSX flash player is likely to be even more efficient then the Windows version.
Looking at the facts, we can see it is Apple and not Adobe that is responsible for a lot the the problems Steve likes to blame Adobe for. This, however, does not really make up for the stated CRASH level of Flash on OSX. I personally have not had a lot of problems. And this crash issue is likely more to do with authoring issues than the player itself. Still, it’s an easy mark, and why has Adobe let it become such an issue? I would say, simply because Apple has shown little interest in helping Adobe make a reliable and efficient Flash Player and as such, Adobe has shown little interest in fixing these issues. A tool like Flash Player is only as strong as the foundations they sit on. FlashPlayer OSX sits on the OSX API’s and as such, Apple, by definition and by action is partly responsible.
When websites re-encode their videos using
H.264, they can offer them without using
Flash at all. They play perfectly in browsers
like Apple’s Safari and Google’s Chrome
without any plugins whatsoever, and look
great on iPhones, iPods and iPads.
This sentence is obviously misleading as it’s a non-issue. As mentioned above, Flash Video migrated to H.264 over 3 years ago.
Fifth, there’s Touch.
Flash was designed for PCs using mice, not
for touch screens using fingers. For example,
many Flash websites rely on “rollovers”,
which pop up menus or other elements when
the mouse arrow hovers over a specific spot.
Apple’s revolutionary multi-touch interface
doesn’t use a mouse, and there is no concept
of a rollover. Most Flash websites will need to
be rewritten to support touch-based devices.
If developers need to rewrite their Flash
websites, why not use modern technologies
like HTML5, CSS and JavaScript?
Even if iPhones, iPods and iPads ran Flash, it
would not solve the problem that most Flash
websites need to be rewritten to support
touch-based devices.
This is a very good example of misdirection. HTML/CSS sites are just as likely to use roll overs as Flash is. And like HTML and the use of it in the Javascript apps for the iPhone, flash is just as usable in an interface designed in flash. Flash 10.1 also support multi touch and pinch.
Sixth, the most important reason.
Besides the fact that Flash is closed and
proprietary, has major technical drawbacks,
and doesn’t support touch based devices,
there is an even more important reason we
do not allow Flash on iPhones, iPods and
iPads. We have discussed the downsides of
using Flash to play video and interactive
content from websites, but Adobe also
wants developers to adopt Flash to create
apps that run on our mobile devices.
We know from painful experience that letting
a third party layer of software come between
the platform and the developer ultimately
results in sub-standard apps and hinders the
enhancement and progress of the platform. If
developers grow dependent on third party
development libraries and tools, they can only
take advantage of platform enhancements if
and when the third party chooses to adopt the
new features. We cannot be at the mercy of a
third party deciding if and when they will make
our enhancements available to our developers.
There is some truth to this but, like all tools, you use the right tool for the right job. If I am writing a Game, best to use the most low level code using the highest possible performance API’s available. But if writing a simply end user App in that people read, input and view data. This is completely WRONG.
The performance hit of cross platform tools that build tools for input and viewing of data (Anything but games mostly) have little performance differences. They save the developer massive amounts of money. This is why cross development tools are so popular and expensive. They are very important development tools that can make the difference between a tool being worth while doing or not.
This is a obvious attempt to lock in the developers and to get them to invest money into the closed Apple platforms. As the more Apple can get them invested, the more power Apple can bring over them.
As a developer, Steve, you turn my stomach. But at the same time, if that is where the money is, that is where the developer will go, even if he is selling his soul to make his living.
This becomes even worse if the third party is
supplying a cross platform development tool.
The third party may not adopt enhancements
from one platform unless they are available on
all of their supported platforms. Hence
developers only have access to the lowest
common denominator set of features. Again,
we cannot accept an outcome where developers
are blocked from using our innovations and
enhancements because they are not available on
our competitor’s platforms.
This goes both ways Steve. But obviously in your mind, Apple is the only company that can “Inovate”. My stomach turns over again.
Flash is a cross platform development tool. It is
not Adobe’s goal to help developers write the
best iPhone, iPod and iPad apps. It is their goal
to help developers write cross platform apps.
And Adobe has been painfully slow to adopt
enhancements to Apple’s platforms. For
example, although Mac OS X has been shipping
for almost 10 years now, Adobe just adopted it
fully (Cocoa) two weeks ago when they shipped
CS5. Adobe was the last major third party
developer to fully adopt Mac OS X.
“It is their(Adobe) goal to help developers write cross platform” Yes exactly. As a developer, that is exactly what I want. HTML5/ Object C, they are all just more languages. We have so many languages because like having a tools box full of many different tools, Hammer, screw driver, spanner, we use the right tool for the Job. Imagine a tool box with only a Hammer in it. That is what Steve is trying to justify here.
Our motivation is simple – we want to provide
the most advanced and innovative platform to
our developers, and we want them to stand
directly on the shoulders of this platform and
create the best apps the world has ever seen.
We want to continually enhance the platform so
developers can create even more amazing,
powerful, fun and useful applications. Everyone
wins – we sell more devices because we have
the best apps, developers reach a wider and
wider audience and customer base, and users
are continually delighted by the best and broadest
selection of apps on any platform.
What a great company statement. The only problem is that, there is no reason why Flash Player could not be part of that statement apart from the deceptions mentioned above and the business model that places Adobe as a threat.
Conclusions.
Flash was created during the PC era – for PCs and mice.
The C programming language is one of the earliest languages created. Even today it is one of the most common languages in use. Just because it is old does not make it out dated. This statement is obviously bate for the general user, not developer type, to relate to. Like how your older cars are not as good as new ones. That does not hold water in this case and neither does Steve’s letter.
Flash is a successful business for Adobe,
and we can understand why they want to push it
beyond PCs. But the mobile era is about low
power devices, touch interfaces and open web
standards – all areas where Flash falls short.
That is your opinion Steve. Unfortunately facts appear to indicate Flash will be a very usefull cross platform technology applicable for mobile to browser.
The avalanche of media outlets offering
their content for Apple’s mobile devices
demonstrates that Flash is no longer necessary
to watch video or consume any kind of web
content. And the 200,000 apps on Apple’s App
Store proves that Flash isn’t necessary for tens
of thousands of developers to create graphically
rich applications, including games.
As long as everyone uses the web as Steve has dictated. Yes. Selling Apps in which Apple gets 30% or everything, yes.
Sorry but this is absurd. The web is about using whatever works for you. Be it open or closed.
Flash has a right to exist just as Apple has a right to sell locked down iTechnology. However, Steve does not have the right to deceive and slander another company. This is where Apple stepped over the line. Adobe, on the other hand, has tried to follow Steve’s unrealistic laws and write the FlashCS5 Cross compiler. This has been slapped down with anti-competitive practices of changing the ULA for reasons that do not hold water. This has never been about what Steve says. Its about business models. The CEO of Adobe is very right in saying that this is a smoke screen and this letter is nothing but FUD to try and justify anti-competitive behaviour.
New open standards created in the mobile era,
such as HTML5, will win on mobile devices (and
PCs too). Perhaps Adobe should focus more on
creating great HTML5 tools for the future, and
less on criticizing Apple for leaving the past behind.
Again, deception. Adobe have not criticised Apple. Adobe employees and specifically Flash evangelists who are most likely working on the Flash to iPhone tools did. Can you blame them? They put long hard work into following Steve’s ULA. Implementing a method of making Flash Technology on the iTechnology platform while keeping to the conditions in the ULA, only for Steve to change the wording just before launch.
HTML5 is only a small part of this. Steve knowns this but is using it as a magical platform, that for all intensive purposes in not real yet as the standard and implementation are only still in early implementation and subject to change. Because of this unknown potentaial of HTML5, it is the “Fix All pill” we hope will come along and fix those issues we all dislike about the Web. The truth is, its not going to be anything like that.. Exactly the opposite in reality.
Why Do We Hate Flash
Flash is the Advertisers big stick they hit us with to make us take notice. Like everyone, we hate being hit by this big stick. What we have here is similar to the slogan “Guns don;t kill people, people kill people.” which equates to “Flash does not annoy the web surfer, the advertisers making the Flash content annoy the flash user.”
The issue here is that the Web Surfer cannot see past the ad, so they focus on Flash.
The performance issue is a group effort. FlashCS4 does not lend itself to optimised programming but for real programmers its not difficult at all. The Advertisers using flash want active and very eye catching ads jumping around attracting your eye. This of course kills your battery and annoys the user. Flash can be programmed to archive better then javascript and HTML5 type performance. The biggest problem here is that it is not generally commercial for web developers to do this. And this will be true for HTML5 as well.
Every programming language can be programmer poorly. Even ObjectiveC, C or C++. Adobe is guilty for letting this get out of hand. Actionscript3 has brought this back in line a lot as it is far more programmer centric. You need to understand the code much more. You cannot simply cut and past into the time line in AS2. However, at the same time, this has reduced the number of flash programmers as many AS2 users say it is too hard to use now. Its a double edged sword.
Performance on OSX does SUCK. Its Crap. But as mentioned above, Apple is just as responsible if not more then Adobe.
HTML5 is not what we hope it to be
One of the biggest misconceptions of many Flash haters is that HTML5 will save their battery and stop the crashes.
Unfortunately this is WRONG. The big issue here is that once HTML5 replaces flash, and as a flash developer, I would expect it to. Those who enjoy the ad free internet by using an Ad Blocker or Flash Blocker.. That will be impossible once HTML5 is adopted. The browser will not be able to tell the difference between an ad and the website. Ads will be proxied directly into the application, as if they are part of the website. The ad-blockers will simply not be able to tell the difference. This is why Google and now Microsoft (with its announcement to drop flash from IE9) are so into HTML5. No more blocking the premium animated and most profitable ads. Its obvious any company who makes money from online ads will want flash to disappear from online ads ASAP.
As the “HTML5 versus Flash: Animation Benchmarking” (See video explanation Comparison of performance of Flash Player 10.1 and HTML 5 on Mobile Devices) indicate, those ads you will no longer be able to block will be running all over your open web pages eating up more battery then Flash 10.1 would.
The HTML5 future everyone is hoping for is exactly the opposite of what it will deliver.
Here comes the DOJ
Considering the level of deception and properganda Apple is generating, the DOJ would have to get involved at some stage. Apple is being anti-competative while also producing large amount of misleading and false information to the general end users. This is of course hurting Adobe. In Australia, if Apple was located here, would be in very deep trouble. Anti-competative behaviour is illigal no mater if you are a monopoly or not. In the US, these DOJ investigation, altho on the surface, has no real merrit in US law, the DOJ will be compalled to do some type of investigation.
Apple is being anti-competative. If this behaviour is seen to effect any area Apple is deemed to monopolise, Apple is likely in trouble. This being such a complex area with so many subjective views, this is unlikely to go any where. However, the bigger issue here is “Steve has been seen deceiving end users.” Ie lying for his own gain.
This establishes that Steve is deceptive. Where does this stop. The end user? The investor? The government?
The DOJ is compelled to have a closer look now.
Why does Apple want to displace Flash?
Finally we need to look at why Steve is pushing this issue so hard. They want to displace flash as a dominant platform on the web. I have seen a number of interesting post looking at very holistic reasons. This one is especially interesting but essentially wrong. “A good problem to have“.
Apple/Steve is very smart. The one market he has not been able to dominate to the degree you would expect is ONLINE VIDEO. The online video owners, unlike the music industry, are a bit more aware of what Apple is trying to archive. As a result, they have fragmented the industry as much as possible to ensure no indeviduel company can gain enough control as to start dictating to them the conditions.
Steve is trying to manuvor the online video industry into a position in which they have no option but to sell their soul to Apple. To do this they have looked at the future trends of video. Producer to consumer.
Producer to consumer with subscription or paid to view will be the future. However, this future will need a transaction system and a video distribution system. Currently we have two options. Apple and Adobe.
Its quite simple. Take out Adobe before its Flash platform really starts to shine in this area. With hardware playback, better then javascript/HTML5 performance, the best authoring tools on the net, cross platform agnostic (Run on anything from a mobile phone, computer, TV) DRM, for those who want it (And all big content owners WILL) AND.. built in TORRENT technology.
Once Flash materialises this technology coming in 10.1 towards the use of video distribution on the net. Apple will not be able to catch up.. Its all out WAR now. Crack and kill the egg before it hatches.
I am very much behind Adobe/Flash on this mainly because Adobe is a tools company. I will be able to purchase the tools to distribute to my consumers directly. I will control my future. I will not have to ask Apple/Steve permission to distribute my content through his gateway and toll booth, the iTunes store.
Conclusion
In conclusion, as a developer who likes Flash, to tell the truth, I can respect the business decision by Steve to not allow Flash on their iTechnology platforms for good old competitive reasons. What is wrong here is that Apple is on a campaign of deception. They are not happy to not use flash, but are also producing FUD to displace Flash as a relevant web technology.
As a Apple user who may be reading this blog entry (And congratulations if you got this far), consider your relationship with your Apple products. You have just been told your friend is deceptive and will lie to you to get what he wants from you. How would this go down if this was your partner or best friend?
Let me finish with a video of Adobe’s CTO Kevin Lynch. Here is a simple and honest view of where flash fits. I could not agree more with what Kevin says.