18Dec Why Google Native Client is not a Flash competitor
There has been a lot of buzz around the internet about Google’s new development project called Native Client. This very ambitious project attempts to being desktop applications to the web browser. This project has a very long road ahead of them as it becomes extremely difficult to regulate an application that is able to access hardware or low level software hooks at will. However, even when this project is able to find its feet, it is NOT a competitor to online interactive mediums like Flash or Silverlight. This is because desktop applications are tailored to the desktop platform. Sure, Native Client can run the game Quake through the browser, but why wait downloading 100+ megabytes to play the game inside a small browser window when you could download it in its original form and play it on the desktop? The platform is simply not web-friendly at its core. Having said that, perhaps one day once the internet speed is as fast as desktop HDs and Native Client is able to execute code without any dependency on the operating system, that would be golden. This would allow browsers (like Chrome) to literally be the operating system for the computer. However, while Native Client may be backwards compatible, Flash, Silverlight and JavaFX are working hard to bring OpenGL acceleration and near-desktop math processing support. These platforms are much more web-friendly as they are optimized to be compact and able to stream load their code during runtime (which is highly valuable when you are considering enterprise-class applications).
I’m still very annoyed by the fact that Flash, Silverlight, and JavaFX are all roughly 10 times slower in basic math operations than pure C# or any other desktop platform.
09Dec flashMVC: New Utility ActionBinder!
I just update the SVN (svn.jadbox.com/public/) source for flashMVC with a MXML component tool I made for the cases that I was working with Flex. It’s located in com/jadbox/flashMVC/flex/ActionBinder.as, and it helps automate the view (aka MXML) portion of your application to communicate with your SuperModel. It will monitor the status of a particular action on the model, and allow the user to easily perform view updates or to run the action itself. This will help further reduce the amount of work you will have to do in Script tags (if not completely remove the need for one in the MXML).
<flashMVC:ActionBinder superModel="{mySuperModel}"
action="{mySuperModel.LOGIN}"
id="LoginBinder"
actionComplete="{trace('Login action completed')}"
actionEnable="{trace('action enabled')}"
actionDisable="{trace('action disabled')}"
actionPerforming="{trace('working')}"
actionStoppedPerforming="{trace('stopped working')}" />
// You can also do the action from the wrapper:
myActionBinder.perform(...args);
LoginBinder.perform(username.text, password.test); // for example
// Can use this property to
// enable or disable the action as well:
myActionBinder.actionEnabled=false;
You can find a great example of this in my SVN under the path:
/flex projects/flashMVC examples/actionBinderExample/
You will just be sure to link the flashMVC framework from the Flex project settings to compile.
Asdocs have been updated with the ActionBinder’s API. For more information about nimble flashMVC framework, go the flashMVC tab at the top.
Next on my list of features for flashMVC is the application “replayability from imported xml log”. This will be really useful to utilize in Flash or Flex development!
18Nov Flash Player 10 confirmed for Android (with video)
Well, I predicted that Adobe would be eager to develop for the Android, and here it is: a working demo of Flash Player 10 running on the G1 being displayed today at a conference:
This is VERY exciting news! While Flash games may be slow because of the device, video streaming and Flash/Flex applications will be amazing to utilize for development. For myself, this means I can create simple Android apps to interact with the device features (like camera) and use Flash for the UI and logic since I know that language much more than Java currently.
14Oct Hidden Flash 10 IDE features
While watching the live San Francisco Flash 10 Camp stream over the weekend (ideally I wanted to BE there but Detroit airports where tied up over the weekend), I listened to some points being made that I have heard little or nothing about in its advertised feature roster.
First feature is much better library management. For example when creating new Assets on the stage, you can quickly categorize the asset into a library folder. (small point but every click counts when you work in the IDE all day sometimes)
Second feature is *drumroll* native Flex compiled ActionScript SWCs support! No more nasty hacks to get those libraries working. In addition, this means you can use some of the Flex utility SWCs as long as they do not interface with the core Flex framework. This may mean you can use those utilities like mx.utils.UIDUtil that I had blogged about recently.
Finally there is a new file format coming after the product launches as a plugin (correct me if I’m wrong) that will one day replace the FLA file format. The new data format will then be a simple ZIP format that contains all the library assets seperately and hopefully (unconfirmed) in Flash 11- timeline code will be physical files within the ZIP package that can be versioned seperately allowing better collaboration. Again, this is only a rumar that seemed to be hinted at from the Adobe developers. This would be a huge boon as multiple people working on a FLA nowadays is nightmare.
I also just wanted to mention the Best in Show winner at Flash Camp: www.avenuefighter.com (requires Flash Player 10). This is a very entertaining animation that pulls in twitter posts and builds a scenerio from it that utilitizes the new IK animation system. Congrats team!
06Oct Adobe AIR Wishes
While trying not to come off as an Adobe fan-boy, but Adobe AIR is truly a revolutionary desktop software platform and has the potential of going toe-to-toe with some of the markets that Visual Studio has dominated since the dawn of time. However, there are some key features that I believe could boost the power of AIR and swoon other desktop developers over:
- Direct access to USB and serial ports… this would be a massive boon to manufacturing developers who have to interface with machines
- Standalone exe option (granted there will be a higher file size since it has to contain the runtime)
- Bundle non-embeded resources into .AIR packages
- Native mysql (or like PHP’s mysqli interface) support
- Bolster performance (maybe add multithreading) so that AIR could be a viable server platform
- Optimize memory usage of the runtime (sometimes it goes mad and consumes over 300mb)
- Update to the newest Webkit (much faster now)
- AIR has very poor math performance for any desktop language… this should be improved. No company is going to embrace AIR for doing engineering or other mathematical simulations when its 10x slower than even Visual Basic.
- Game development could really really use more GPU feature support
- What else have I missed?
As it stands now, it seems like Adobe AIR does not contain any one end-user feature strength versus their competition… most of it has been developer orianted. (aside from the runtime application updating)
03Oct Beyond Flash 10 and AS3
With Adobe Creative Suite 4 shipping soon, I began thinking about some of the features I still wish ActionScript could have in the future. With the introduction of the Vector class, reports have been coming in across the web of performance increase anywhere between 40% to 60% (AS3 Vector / Array Performance Comparison). However, this is one small step for the platform as a whole as with some of the benchmarks I have run- Flash is about 10 times slower than other similar languages in regards to math (I will be posting on some of my benchmarks coming soon). So without further ado, here is my wish list:
- Faster math speed
(10x would be nice) - Use more (I do understand Flash has a limited support currently) OpenGL features for faster rendering performance
- Aside from the new Vector, introduce typed Dictionaries
- A service package to directly access MySQL (even cooler if it was like E4X in syntax) with an option to have a constant streaming connection (for server use… client side would be too risky security-wise)
- Native 3D object that creates OpenGL primitives
- Multicore/multi-thread operation handling
- Move some of the general utilities from Flex to Flash… like mx.utils.UIDUtil
- Bolster AIR in speed and networking features to become a viable game server platform (the MySQL feature comes into play here as well)
- Maybe add YAML and JASON to E4X proxy methods since they are growing in popularity
- A way to use function.apply on a class constructor when making a new object instance! (Class contructors with function.apply?)
- Convert a series of frames in the Flash IDE to an animate-able bitmapdata object (much faster)
- “eval” command (yes, I know it can be evil… but there are benefits)
- Operator overrides
- Did I miss anything? Please post with your thoughts!
29Sep A Look into Tweensy
Tweensy is currently a closed beta Flash tweening engine that is meant more for bitmap and particle rendering. So far it has a very impressive demo library and the API doesn’t look half-bad although it’s a little cryptic without proper ASDocs (hint hint). I like that the author decided not to market himself as a replacement for already strong tweening packages like TweenMax but rather as a tool to use for for unique situations like particle FX.
Link: http://www.lostinactionscript.com/blog/index.php/2008/08/31/as3-tween-engine-tweensy-preview/
24Sep WarioLand Flash Advertising

Update: It’s actually using Box 2D… Thanks Doug McCune!
Nintendo just released an exclusive advertisement for YouTube for WarioLand Shake It! that really pushes their marketing medium. The entire page is built in Flash and looks like it uses a physics engine like APE.
(Psssst…. if you have the Flash Debug Player, you will notice that there is a critical error about 4/5 into the video.)
17Sep Adobe CS4 Web Broadcast

On the 23rd of this September, 2008, Adobe is streaming live their broadcast on all the new features that Creative Suite 4 will have. In addition, there is a rumor that a community preview release of the software will be available to those who register for it!
Register at: http://adobe.istreamplanet.com/








