17Oct Adaptive Interfaces
A common mistake that I read on blogs is when it comes to today’s “modern” user interfaces: fewer features we offer to the user’s interface the better… make it simple! This common misconception is happening in some of even the largest software companies. For example, the Windows Vista defragger changed dramatically from XP as it is now a single button… no options, no status, and no detailed view on defragmentation process. Hence, you click this button to start the process- only to end up waiting hours while it drills on with little options or any understanding on what is happening. What if the user just wanted a ‘fast’ defrag and doesn’t want to wait a lengthy process at the time…. maybe they want to defragment a single file. I believe fewer interface elements are better- NOT fewer features.
The future I would say is intelligent interfaces that adapt to user’s expectations. The application’s functionality should be able to tailor itself to the user’s expectations. Users want interfaces that are simple to use but powerful in functionality. However this usually translates into a UI that understands the user and knows the correct action to take at the time they are called. One of the primary reasons why the iPhone become popular was the simple interface was able to perform a hefty amount of functionality. Just as Google will customize search results based the user’s history like showing restaurant matches in your area in the order of perceived user food preference, GUI interfaces should try to adapt to their user, consolidate similar functionality, and choose the correct action in the appropriate situation.
With that, I close this Friday with Psychologist Barry Schwartz’s speech from TED talking about peoples distress from having too many options available to them at any one time. Options are good I believe… just not when they are all advertised (viewed) as equal options to choose from. Obvious solutions for individuals should have priority above others to avoid frustration… but elimination of options I believe is not the right answer here.
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.)
22Sep Google Chrome logo rips from Simon!

If you look closely, the order of the color are the same except for the bottom-right blue that is used instead for the center color of the Chrome logo. This begs the questions… was this truly coincidental or is there a subliminal message in the reasoning Google decided to use a reminiscent design from the Siman game.
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/
12Sep flashMVC ASDocs
I just wanted to make a quick update on flashMVC as I have made some further refinements and added ASDocs. Again, please let me know if you have any suggestions or comments!
You can access the docs here: flashMVC ASDocs
10Sep flashMVC beta released
I have finally released a pet-project of mine for handling simple to complex Flash and Flex applications in a unified way. The framework provides a pattern for MVC (Model View Controller) and has lots of goodies to rapidly build prototypes. In the near future, I will be working on an extension to allow quick unit testing as well as better error handling. This is new so please leave feedback and comments! (-_^)P










