Just another flash platform blog 

Apache Flex Logo competition

January 10th, 2012 Posted in General | No Comments »

New Flex, new logo. The Apache Flex community are running a competition to design the new logo for Apache Flex now that it is a poding on Apache.org.

The competition details are here: http://incubator.apache.org/flex/logo-contest.html

Why not get involved?

  • Share/Save/Bookmark

Apache Flex – Mailing list first week

January 8th, 2012 Posted in General | No Comments »

The Apache Flex project mailing list has made it through its first week with lots of great community effort getting the project towards being a fully fledged top level project at Apache.

Head on over and get involved.

http://incubator.apache.org/flex/mailing-lists.html

  • Share/Save/Bookmark

Headless Flash Player please

December 7th, 2010 Posted in General | No Comments »

If you’ve been through the pain of getting autmated unit testing set up on a Linux server then you’ll understand the need for a headless player. Please head over to Adobe Jira and vote for this issue to be fixed:

http://bugs.adobe.com/jira/browse/FP-432

It would make life alot easier for everyone interesting in developing solid well covered code. If you havnt you’ve never had to go through this set up then vote anyway maybe you’ll be saved the pain someday!

  • Share/Save/Bookmark

YouTube say Flash is key for Video. Longtail video agree.

June 30th, 2010 Posted in Flash, General, Video | 2 Comments »

After the dust of HTML5 vs Flash settles, key sites for delivering video while recognising the importance of HTML5 are now publicly endorsing Adobe Flash as the primary vehicle for consuming video on the web. In a new blog post YouTube cite Quality of Service, Syndication, Fullscreen and encoding formats as the main reasons that Flash should continue to dominate Video on the web with HTML5 being a fallback for devices not yet set up for Flash (such as iPad).

Elsewhere Longtail, makers of the near ubiqidous JW Player, are making very similar noises. This is not the end for HTML5 video, but it places it firmly behind Flash for the forseeable future and we can only expect Adobe to continue leading the innovation.

  • Share/Save/Bookmark

BBC iPlayer v3 goes to public beta

May 26th, 2010 Posted in General | No Comments »

A brand new version of the BBC iPlayer website has gone to public beta.

Go and check it out: http://beta.bbc.co.uk/iplayer

Other than the swanky new carbon fibre design other features include:

* Socialisation
* Personaliation
* Better Navigation

It also includes updates to the BBC’s Media Player and the iPlayer desktop AIR app (which goes to version 2.0). Perhaps the best feature in the new desktop is the ability to subscribe to series which automatically download as long as the app is running and being able to download ondemand content before its broadcasts. Downloaders will be able to watch as soon as its finished on the Box in the same way anyone streaming from the website has done in the current v2.

To get the full picture of all the updates and features watch Anthony Rose’s blog for more details

  • Share/Save/Bookmark

AS3 Linked List implementing Array class member functions: Part 3

April 30th, 2010 Posted in AS3, General | 2 Comments »

Previously I took you through some of my thinking and decisions as I created this LinkedList implementation. In this post I’ll give you the final unit tested source along with the unit tests and give you the results of a performance test using Grant Skinners PerfomanceTest framework

Originally this was a fun challenge for myself, but has come to underline the importance of test driven development. Two iterations of looking at the code still did not flush out all of the bugs. I’ve now fully unit tested the class using FlexUnit 4 and believe it to be working correctly now (thanks to Nicholas Dunbar for some suggestions on the removeItem method).

One of the original reasons for investigating a LinkedList was the claim that they can be much faster than native flash Arrays, so I set myself the challenge of writing one that implements the key Array class members introduced with AS3 (such as every, filter etc), to see how such a data structure could perform against an Array doing what its best at.

A while back Grant Skinner released a performance test tool geared towards treating performance testing in a similar vein to unit testing called PerformanceTest. I figured this would be a good chance for me to have a goog reason to have a play and see what its like.

After 20 minutes of playing (the docs and samples are quite limited – to be fair Grant says as much when blogging about it) I’d pretty much figured out how to put something together that would make my tests atomic and portable.

To begin with I expected it to be something similar to unit testing where you have a TestRunner, with one or more TestSuites, which in turn have one or more TestCases. However, it transpires that PerformanceTest is somewhat flatter than that. You do have one or more TestSuites, though there is no formal TestRunner as such, and it is the TestSuites themselves which implement the methods to test rather than defining a list of TestCases. That said, once understanding the drive behind the framework its clear following such a methodololgy would be a needless distraction for what is in fact a nice tool. Simple is good.

One small bug bear for me is that the TestSuite constructor params are named the same as its protected properties, which normally means that you have to explicitly use the “this” operator to let the compiler know you mean the class member and not the parameter. However, it did not transpire to be an issue as all the params are optional so a subclass need not implement them or make a call to super() when inheriting and if directly composing the TestSuite class the problem is hidden away anyway. If you download the source below you’ll see I opted for subclassing.

The results of the performance test show that my implementation of a LinkedList is on average a little under 3 times slower than the corresponding methods on the Array class. The data below is the result of 5 interations of each TestCase which in turn conducts 10 loops of each MethodTest. Each MethodTest is operating on an Array/LinkedList with a length of 1000 elements. Heres the data:

While this does seem to show that LinkedLists (at least my implementation anyway) do not perform as well as Arrays in the latest VM. It is something of an unfair test comparing a LinkedLists performance with methods intended for use on an Array. LinkedLists are much better where there are many dimensions to the data structure. Where searching a multidimensional Array of unknown depth will quickly require recursion, its quite a trivial matter to traverse a multidimensional LinkedList linearly with a single loop. Its just about using such tools most appropriately for the problem you are trying to solve.

Interestingly the LinkedList’s memory usage was comparable or better than the Array class in the new AS3 methods (filter, forEach, every, some and map). Over the lifetime of a application runtime such additional memory usage will cost a little more in CPU as the garbage collector runs more often, though this is likely to be negligible.

Heres the final LinkedList implementation (the splice method needed the most work):

Click here to download full source including:

* LinkedList.as
* ILinkItem.as
* LinkNode.as
* Full unit test + FlexUnit 4 source
* LinkedList vs Array performance tests + PerformanceTest source

Have a look at the tests and see if you can improve the performance (without breaking the unit tests of course!)

  • Share/Save/Bookmark