Back in October 2007 I wrote a post entitled “Does Flash Lite Have a Future?” which is one of my most popular posts and it sparked some interesting comments. The main argument I had for this wasn’t that Flash Lite was going down the pan, it was simply that we didn’t need it because the full Flash Player would be suitable for mobile due to touch-screen, higher powered mobile devices and lower power requirements for our applications anyway (the argument here is that we only use a tiny percentage of the CPU for most applications now unlike before).
Think about it another way. You can happily code a Flex application to work in the browser, or in the AIR runtime, I’m doing this at the moment. Both environments have special classes available, different properties on existing classes, but you know where you are with Capabilities.playerType, this same mechanism will help on mobile, and the mobile player itself will deal with user input/interaction differences as it does at present.
This announcement from the GSMA Mobile World Congress seems to re-inforce this. I’m aware Flash Lite will continue to be used for the very low powered phones (the other end of the spectrum can hardly be called “phones” anymore when calling makes up a tiny fraction of what most kids use phones for now in the UK at least) but those’ll eventually shift to the full FP too. Windows Mobile, Google’s Android, Nokia S60/Symbian and Palm are the initial supported platforms. LG have signed up for 50 Windows Mobile devices by the looks of it, and I can see Android getting one hell of an adoption rate with OEMs struggling to compete against Symbian and iPhone, and the second that lower-end devices rise to meet the demands of Android, we’re in for a new boom era for Flash.
A thorn in the side of Flash Lite has been removed. Today Adobe has released a developer redistributable version of the Flash Lite 3.1 player along with the packager tool. This greatly improves the situation of not knowing whether someone has the player, and being helpless to get them it if they haven’t.
EDIT: I just tested this on my E71 by visiting m.adobe.com (thanks Scott), it works amazingly. Things may have been very different over the last few years of Flash Lite if this mechanism had been around. The application was small, installed quickly with only 1 nag, then prompted me to install Adobe Version Checker which installed Flash Lite 3.1 for me and immediately launched the game I had downloaded (Tower Bloxx). Good work! (Now for a Sony Ericsson version?).

Yes, another pattern, but I’ve just come across a great post on the M-V-VM pattern and it’s a good one to share. I was introduced to the V-M-VM pattern just under a year ago by an outstanding .NET dev when we worked together on an RFID/database powered WPF application (pics), and I have to admit it worked *really* well, I was utterly convinced by this concept with regards to WPF developement. (Link to article at the end of this post.)
So what is it? Very much a spin on MVP, it’s a descendant, to some extent, of the classic MVC pattern. The aim being to create very simple View classes that are separated from the Model by another entity. Not the controller per-se (more on that in a moment) but a “ViewModel", a model specifically for a View. The View’s sole data source resides in its ViewModel, this can do things like perform validation, turn raw data into visually relevant data (the classic Martin Fowler-esq example being a thermometer view that changes the number value displayed from blue to red when the temperature goes over 20 degrees - resolving the issue of why store this colour in the [real] model when only the View cares), it also bridges the View to the Model whatever that might be and however that might change in future.
This article is about creating Flex Gumbo (Flex 4) application that run in either Flash Player 10, or AIR 1.5. I also describe how to upgrade an existing FP9/AIR 1.0 application to use the new SDK. In my case I also had to upgrade a Flex Library project so that’s also covered.
Word of warning: before you jump in please refer to the section entitled “Problem: Losing Syntax Highlighting in Script Tag” near the end. As this could affect you if you make use of Script tags rather than the “code-behind” technique (I now use the former strategy to save on files and promote simpler View classes).
Why use Gumbo?
I’ve just tested out a couple of new AIR applications using PureMVC from SourceBits, they’ve built up quite a few interesting apps in their portfolio, the two new ones being GoAir and Live Quotes.
GoAir is an AIR application designed to provide a desktop Gmail experience, and offline mail support (including sending email when offline, and having it actually send when it detects a connection). This one caught my eye because I also wrote an AS3 Pop3 library and hooked it up to Gmail some time ago, alas mine did not have SMTP so you couldn’t send, and the UI was basic, this one has full SMTP/POP support so you can send and receive.
Follow me on Twitter
Recent comments