How Adobe Can Win The Flash War

We here at love Flash. Sure we also have a fondness for the HTML5 Canvas, but we still love Flash and have no desire to see it disappear.  We also have not seen a real change in how much Flash development we are asked to do, in fact, if anything, we have seen more Flash work come our way in the past few months.

However, we still see a lot of articles about Flash and how it will die and go away soon.  We think this is silly, and we think there are some easy things Adobe can do to not only stave off Flash’s execution, but to stop it for many years to come.  Here are some of them:

1. Embrace 3D with real 3D tools in the Flash IDE:  Flash 11 will be 3D capable, but the Flash IDE really has no support for 3D authoring the way it has support for 2D authoring.  The Flash IDE is an expensive tool, and needs to stay world-class.  By adding 3D authoring tools (think a mini-Blender in the Flash IDE), Adobe would put the Flash IDE miles ahead of any other similar tool (are there any?) on the market

2. Embrace Social Networks With AS3 API Extensions: Most Social games connect to Facebook through JavaScript and back-end scripts.  However, there is no reason why those connections cannot be made directly inside Flash.  With an API extension layer that targets multiple social networks, Adobe could take some of the pain of out making social games, and keep players inside Flash at the same time.  Twitter, Facebook, Google+ Linkedin, and a revived MySpace would all be great targets in in-swf communication.  If the APIs are not currenty aavailablke, work with the Social platforms to make it happen.

3. Export HTML5 Canvas From The Flash IDE, Switch in JavaScript: There are still no good authoring tools for the HTML5 bit-mapped Canvas.  Using the Flash IDE, Adobe could create a “Canvas Compatibility Mode” when the IDE is restricted to supporting functionality that can be support in both Flash and the HTML5 Canvas.  When an app is exported, it can be created with a JavaScript switch that switches between a .SWF and the Canvas for clients that don’t support Flash.   This could come in the form of a new version of Flash Lite that supports Canvas functionality.

4. If Air Is Not Fast Enough, Export To Native Code Instead: We have seen some improvements in the Air Exporter from the Flash IDE to iOS and Android, but it’s not enough.  If Air is not going to be perform-ant enough, then we think Adobe should create functionality to let the Flash IDE and the Flex Compiler to compile down to native code instead of an intermediary.   Obviously this is not easy, but this is war Adobe is fighting.

5. Forget the “Religious” War And Focus On Quality: There has always been a “religious” war on Flash from proponents of “open” technologies like HTML, JavaScript and CSS.   We’ve been fighting that kind of attitude since we started using Flash in 2000. This is a war that Adobe can never win, because they are a commercial company, with a commercial product.  They can appeal to people of that mindset with great tools for HTML/CSS/JavaScript, but they will never win them over to Flash.    So we say, forget trying to appeal to religious zealots, and simply make Flash and the Flash IDE as good as possible. Flash is great at creating widgets, games and apps that fit into the framework of Standards-based development, not in place of it. When was the last time you loaded a slow Drupal page and watched as it tried to construct the entire set of CSS compliant Javascript loaded images for a slide slow and then re-assemble them back into the widget for which they were intended? It is the ugliest mess we have ever seen. The user experience is painful at best and down-right fugly at worst, Making this widget using a SWF would be the cleanest possible option. It would  look great and run fast, but Adobe has not put much effort into reaching out to the crowd of developers who continue to avoid its us.  Using Adobe SWF widgets in conjunctions with XML and JSON can alleviate this type of mess completely.  A majority of developers need to have  many different technologies in their toolkit for getting their work completed.  Concentrate on making Flash the best, shiniest, most useful tool in their box.  Everything else should follow.

6. Focus on what the Flash Platform Does Well And Encourage It: Let’s be perfectly honest here. To most standards-based developers, Flash is just a slight improvement over the old HTML 1 “<blink>” tag. They see no actual need for what it can do when trying to render an entire web page, and for the most part they are 100% correct,  The Flash/SWF Platform is probably the single most powerful web development platform in existence, but its use has been abused by bloated web site developers and eye-blaster style annoyances. Those seem to be the things that Flash is blamed for. The blame for that crap should be on the implementation, not the platform.Flash has proven itself to be great at games, simple ad banners, animations and video (among a few other various things). Flex and Air have proven that Java-like applets can actually be a reality without the cumbersome use of Java (swing, etc). So, focus on your core competencies and don’t try to compete with the Standards-Based development crowd.   Have you seen any really great games made with pure Javascript? Not many, and we wrote an entire book on the subject. we should know, and we are here to tell you that the standards-based platform is not ready to compete head-to-head with Flash in the entertainment department. And don’t even try to get us started on the sorry state of HTML5 browser and video implementations. If Adobe concentrates on the strengths of its optimized AS3 virtual machine  instead of trying to be all things to every one, they can become a major part of the standards-based movement rather than a headache for Webmasters who don’t understand why the magical SWF platform is needed just to ‘<blink>’ some text and slow down the page load with another “Flash-over” ad for a free iPad.



Leave a Reply