Monday, April 20, 2009

Flash at the BBC

The BBC are currently recruiting for contract Flash developers in various departments.

You will need to be a very good developer with great knowledge of AVM1 ;) But don't let that put you off, quite seriously some of the work at the BBC at the moment is in the realms of dream projects. If you fancy playing a part in the future of mainstream entertainment, where the user is not sat in front of a desktop computer then please forward a CV.

What makes a project quite often are the people. The people you'd be working with on a day to day basis are legends in their field so the opportunity is second to none.

All roles are based in the UK, however international applications are not out of the question if your English is near fluent and you don't mind living in the UK for a bit.

Send me an email at

Labels: , ,

Tuesday, March 24, 2009

Why native accessors are really bad in Flash Lite.

At work we were discussing what standards we should use for coding. Things like consistency in formatting, naming and having agreed ways of doing things obviously makes everything easier.

So we entered into the discussion of public variables versus native accessors versus custom functions. Here's what I mean when I refer to the different accessors:

native accessor:
public function get width():Numbe{return _width;};
public function set width(value:Number):Void{_width = value;};

public variable:
public var width:Number;

private variable:
private var width:Number;

custom accessor function:

public function getWidth():Number{return _width;};
public function setWidth(value:Number):Void{_width = value;};

The most compelling argument to use custom accessor functions is that public/private variables, and to a lesser extent native accessors, don't allow you to hide your implementation. This is fine and good, but we are using Flash Lite with a resource limited device. In this scenario best coding practice sometimes has to make way for best performance.

So we decided to do some tests to see what the overhead would be of accessing variables one way or another?

Speed Test results in ms, making 10000 gets and sets:

Custom function 2439
Public variable 2394
Private variable 2395
Native accessor 13450

Memory Test results for creating 10000 instances of each class (kb).

Custom function 6528
Public variable 6528
Private variable 6528
Native accessor 6532

In terms of memory, everything is exactly the same except for native accessors.

For performance, the results show that public/private variables were very slightly faster to access compared to custom functions. However, the massive suprise is that native accessors are more than 5 times slower than public/private variables or custom functions. This is truly shocking, and really could completely slow down your application if you used them extensively.

So in many ways our decision about what approach to take with accessors was made really easy; never, ever, use native accessors! The marginal difference between public/private variables and custom variables was deemed insignificant when compared with the benefits of hiding the implementation.

It is possible to justify the use of public variables in some cases. If you have a value object that is strictly read only and has no functionality, then there is nothing to hide in terms of implementation. The only difficulty here is how do you determine that a value object is read only? How do you guarantee that it will never have any functionality going forward?

Labels: ,

Tuesday, December 12, 2006

10 years of Flash gets a BBC write up

Just the simple fact that 10 years of Flash results in an article in the BBC technology section is a good tribute to what Flash has acheived over the years. Read the article here


Friday, June 16, 2006

Flash Lite Friday Digest #10

Its FlashLite Friday Digest time again, and this week I have the honour to write FlashLite Friday Digest No. 10. Its several weeks since the last digest and lots has been happening in the Flash Lite world.

The biggest news of the digest has to be the announcement and presentation of Flash Lite 2.1 for BREW at the Brew 2006 conference. The basic info is that Flash Lite 2.1 for BREW will be out on a public beta on the 3rd of July and later in the summer developers will be able to distribute their content based on the Flash Lite 2.1 profile through Verizon. There are 2 really nice improvements in Flash Lite 2.1 - xml sockets and inline text. These 2 key features make FL 2.1 a much more capable competitor of other mobile technologies.

See the Adobe Brew developer center for more info!

The videos from the conference are also available online now, see Bill's blog for the links

The Flash IDE received its 3rd device profile update this month so be sure to download all the new devices from here

Flash Lite instructor training has been announced for the US, its a 3 day course and is free! More info here

There have been some nice new phones shipping in the last few weeks too. Most noticeably the new Nokia series 40 phones are now available Nokia 6125, 6131 and 6234 (vodafone exclusive). Also a few new Sony Ericsson phones that *should* support Flash Lite : W300, M600, W700i. The M600 is particularly interesting because its the first Symbian UIQ 3 phone to be released by Sony Ericsson and the first UIQ phone that has Flash Lite pre-installed. NB .Information based on Sony Ericsson website.

Nokia released a new theme studio 2.1 for series 40 phones. It allows swfs to be part of a s40 theme and integrated into wallpapers, screensavers and possibly more UI elements. I haven't had the chance to check it out yet and the documentation isn't 100% clear on where you can and can't use swfs. (via: bemobil).

Nokia have been very active over the last month in engaging with Flash Lite and have produced the kind of documents developers really need to see. Last month they released the Flash Lite Visual Guide as well as the Flash Lite global ecosystem documentation. A few days ago they announced a whole new Forum Nokia section called Forum Nokia Blogs and have a dedicated Flash tag.

In the world of the Adobe website there are a few new developer articles available:

Converting Flash Content to Flash Lite 1.1 Jae Young Chae (May 30, 2006)

Tips for Developing Flash Games for the iRiver U10 Sung-Hee Park (June 5, 2006)

Creating iRiver U10 Games for Beginners Eung Kim (June 12, 2006)

Also Mike has an upcoming seminar this wednesday (June 21, 2006 4:00 PM - 5:00 PM US/Eastern) about the Flash Lite 2.0 media playback API, be sure to register your interest here

If you you never made it to the Flash Mobile Day, as is the case for most of us, then you'll be pleased to see that the presentations are now available online here.(via: biskero).

That's about all the major Flash Lite news there is! The archive of FlashLite Friday Digest can be found here :

Labels: ,