Jinni’s “Thoughts on Flash”—Strongly Recommend To Read

apple_flash Apple CEO pens 6 points blazing assault on Adobe Flash before,Jinni, a staff of Adobe China, borrowed Steve Job’s title to retort Job’s 6 points. Jinni alluded Adobe is the one talks about realities and actions, but Apple is the one just talks. Steve pens his 6 points from Apple’s standpoint, Jinni retort it from Adobe’s, as I can’t say which one is better between Flash and HTML5, I think I can’t say whose points are right . But I think YOU can, yes, YOU. :)

Perhaps you will treat it with contempt for their different range of vision, or you have been fed up with the war between Apple and Adobe and only want to talk about something else, but I also strongly recommend you should read it.

Jinni quoted 3rd party tester proved Flash player actually performs much better than HTML 5 on Windows and Flash is NOT a CPU hog, and “Open is to allow users (developers) to choose the technology they want.”, I don’t know Apple is Adobe Flash’s user or not… Hmmm, anyway, Jinni is very smart. Think independently pls.

Following is the main of Jinni’s thoughts, you also can read more from here or Chinese Version here.

1. Flash Player is too slow to run on mobile?

This is the excuse Jobs used when iPhone firstly unveiled to the world. But if you joined “Adobe Flash Platform Summit” last week, you would be very impressed about the real 3d “robot fighting” flash games running flawless on Google Nexus One. I just recorded a video to show off how Popcap’s flash games running on mobile even without any optimization. Besides, I can raise more examples here (1,2,3,4,5). Today Flash Player for Android is going to release and AIR for Android is also coming. Now who can still say “Flash cannot be on mobile”?

2. Flash Player will exhaust the battery life?

That’s funny, really. Mobile phone is not perpetual machine. It always runns out of battery, sooner or later. However, more and more real world tests proved that Flash is not a battery eater! You can use Flash to watch H.264 video for at least 3 hours on Google Nexus One. While iPhone will run out of battery less than 3 hours even just keep playing simple applications such as micro-blog clients. At the least, I can take two batteries of Android phones with me and exchange them as necessary. Apparently, Apple deprived the right to do this from the users.

3. Flash is a CPU hog?

People compliant flash player’s performance issue on Mac, especially when playing HD video. Jobs also made full use of this point to exaggerate the strength of HTML 5. However, 3rd party tester proved that Flash player actually performs much better than HTML 5 on Windows, and the great irony is that only a week after Mac released the video hardware acceleration APIs, Adobe has unveiled a preview version of Flash player that support H.264 hardware acceleration on Mac, which could reduce the CPU usage to 1/3 of before. So you can clearly see who is lazy, and who is closed?

4. Flash have to be “rewritten” for touch screen?

Odd. I’ve no idea whether Jobs had a chance to taste Flash on mobile. As I mentioned before, most of flash applications on the web can run perfectly on touch screen without any modification! Basic touch gestures can be automatically converted to mouse behavior (such as “click”). What the content providers need to do is just optimizing the user interface a little bit (make buttons bigger, add support to multi-touch behavior, etc.) then… done! I believe people who had tried Flash on touch screen would support my point.

The reality is, to support iPhone, iPad, millions of flash/air applications have to be “rewritten” using Objective-C or HTML5 (and developers have to learn new languages…). That’s exactly what calls “rewriting”, totally.

5. Flash is a “closed” technology?

This is the “most important reason” that Jobs and Apple refuses Flash. However, as you have seen, Adobe is very committed to open source community these years. SWF is open.  FLV is open. AVM is open-sourced.  Flex SDK is open-sourced, Blaze DS is open-sourced. And more and more open technologies/products from Adobe comes on their way. Additionally, Adobe are always delighted to provide flash player SDK to the OEM and help them porting FP to their own platform.

On the other hand, I gotta say Apple is the most closed technology/platform provider I have seen ever. They failed to success in personal computer domain because of the close and pride. It’s really smart to use the term of “open” to kidnap the developers, but it won’t stand for Apple. Consider the following questions:

  1. Will an “open” company prohibit developers to use their favorite and skilled programming language?
  2. Will an “open” company prohibit any products which has even just a little bit conflicts with their business purpose?
  3. Will an “open” company refuse to provide such basic APIs like “video hardware acceleration” to 3rd party for ten years?

Now you know “what is close?”…

Then, “what is open”? As some guy said: “Open is to allow users (developers) to choose the technology they want.” If user/developers don’t like Flash, they will give up. But Jobs and Apple made this decisions “for” users. Just as they believed users do not need changeable battery and extendable storage.

6. HTML 5 will replace Flash?

Jobs said that. But I believe he doesn’t care whether HTML 5 is open standards or not, totally. The only thing he cares is that Flash Player is not under his control and may impact his business. For all the developers who preached for Jobs, please think about this question: “What will HTML 5 bring you exactly?”. Actually, I love HTML 5 and JS (I’m not a geek of it, though). And I truly believe HTML 5 and JS 2 will trigger the web development revolution. But it doesn’t have the nature to “replace” Flash. From my perspective, it comes with the following critical weakness:

6.1  Platform fragmentations & standards war

Today, development for the web is much more complex than ten years ago. The differentness is from a single degree (operation system) to three degrees (devices + operating system + browsers ). These varieties dramatically increase the cost of creating rich content and also bring challenges to developers. Developers who based on “web standards” need to face the differences from (Mobile + Tablet + Desktop) x (Win + Mac + Linux + Android + WebOS…) x (IE6 + IE7 + IE8 + IE9 + Firefox + Safari + Chrome…). Are you really confident that “standards implementation” from tens of different manufactories will be identical? Think about current HTML/JS compatible issues (browser-specific code and CSS hacks). HTML 5 will definitely make this situation worse. Besides, the standards makers will fight for their own benefit (video codec adoption, etc.). Even the ideal standard & implementation will come true, it will take quite a long time.

6.2 The designer camp

HTML 5 imports Canvas to bring great drawing capabilities. However, you may ignore a more important camp for arts – the designers. Willing to create beautiful pages, cool RIAs or games, you can never go without designers. Unfortunately, designers don’t know what’s Canvas or JS 2.0. They use Photoshop, Illustrator or Flash. Adobe is certainly in the leading position to provide amazing authoring tools for designers.  When developing with Flash, you are only given ActionScript 3.0 or Flex, but also powerful authoring tools and best workflow for developer/designer collaborations. It’s an ecosystem, not a single technology.

6.3 Capabilities

HTML 5 is powerful, especially when considering current HTML & JS 1.0. But it still has a lot of missing features when comparing with Flash:

  • Firstly, online video. HTML 5’s video tag supports HD H.264 video with no doubt. But it’s still weak in video controlling and user interaction. Besides, FMS and Flash Access provides powerful media content protection (DRM) while HTML 5 doesn’t.
  • Network. As I know HTML 5 doesn’t import any new model for network communication. Where flash player supports RTMP, RTMFP, Socket, LocalConnections in addition to traditional HTTP request. That’s usually required features to build many RIAs and online games.
  • Animation/Adv. As I said before, due to the lack of authoring tools, HTML 5 is not a competitor of Flash in this domain. What more interesting is, Adobe’s Creative suite begin to support HTML 5 content authoring.
  • Multimedia. HTML 5 doesn’t have support to webcam nor microphone. And you can not make sound with bytes.
  • Digital publishing. New text engine imported in Flash Player 10 are even more powerful in displaying/layouting/editing text than HTML.
  • Flash P2P. You now the case – Chatroulette

With the development of HTML 5 standards, I believe more features will be available in future. But since the first draft of HTML 5 even not released so far, we have no idea how it will be extended and when. You would link back to my first point – platform fragmentation.

6.4 Code security

To be honest, it’s not Flash’s strong suit, too. Many flash developers complaints SWF is easy to be decompiled. But since SWF is in binary and support Loader stuff, there are a lot we can do in encryptions and obfuscations. It’s not 100% secure but can dramatically increase the difficulty to be hacked. However, due to the execution mechanism of JavaScript, protection of client side code is almost impossible.

OK, that’s my “thoughts on Flash”. And what’s your opinion? :-|

Share and Enjoy:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • DZone
  • Reddit
  • Technorati
  • StumbleUpon
  • Twitter
RSS Enjoy this Post? Subscribe to Ntt.cc

RSS Feed   RSS Feed     Email Feed  Email Feed Follow us Follow us
You can leave a response, or trackback from your own site.

3 Responses to “Jinni’s “Thoughts on Flash”—Strongly Recommend To Read”

  1. Microsoft announced that IE9 will be accelerating HTML5 and H.264 video support, http://bit.ly/95HliR . I’m a Flash animator and there some points that I agree with you. Though I do think that Apple not adding Flash support to it’s iPhone, iPad and iPod touch platforms is a good move as far as security and reliability is concerned. No matter how fast the Flash Player becomes it will never be as fast as native code. That’s is the reality when it comes to programming paradigms. C, C++ and Objective-C are very fast languages. Even with all the 3D APIs that Flash has I don’t think it’ll be able to produce games like Square Enix Chaos Rings for iPhone, http://bit.ly/coiP8i . The Flash Player’s performance is just too slow to provide a feasible user experience with 3D graphic heavy games. This game runs smooth even on iPhone 3G! Now that’s a great feat for the both the native game engine and OpenGL ES that Flash doesn’t support. Flash maybe good for desktop/laptop platforms but it still doesn’t provide full performance and feature support when it comes to mobile platforms. Like I said no matter how good the Flash Player gets it’s still a virtual machine. To date I haven’t seen any proof that virtual machines run faster and perform better than applications and/or games developed with native code.

  2. Brendan says:

    But we can turn out games that are 80% as good in a fraction of the time with as3 :) . Seriously the natural progression for javascript is something like as3. We will be there already. Maybe adobe compiles js3 to swf :) haha. Eventually there will be a fight between html and javascript and javascript coders want to be real programmers so they want classes and interfaces etc. I know you can simulate these things already, but flash is is still way ahead …

Leave a Reply