Flash 10 Public Beta Now Available

Adobe have just announced the new Flash Player 10 Public Beta. This baby is packing some awesome new features, including a 3D API, a new text engine and some new vector and drawing capabilities. To get it, visit the Flash download page. Also, be sure to check out the feature demos.

Comments

Oh, an OQO!

Okay, so it arrived yesterday. A sleek black 6 inch wide piece of sheer gorgeousness from some of Apples long lost designers; the OQO e2. On first opening the box, you could just tell it was a well thought out device, as it’s packaging matched it’s sexy image and flawless curves.

So, what is it? It’s a UMPC! Well, I opted for the 1.6 Ghz model with 1Gb RAM and 120Gb HDD, plus HSDPA and a copy of Windows XP Professional. This baby will take me places I’ve never been before, while allowing me to have broadband when I get there (and indeed, while I’m getting there!). The resolution of the 5″ wide screen has a default of 800 x 480, but I can crank it up to 1200 x 700 and still read my code in Flex 3 or FlashDevelop (whichever I’m running at the time). Aside from this, I also bought the OQO base unit providing me with a DVD RW, and a road users kit, which supplied a double capacity battery (providing up to six hours of power), bluetooth keyboard, wacom pen (yes, it supports that, too), mini mouse (not the cartoon character, sickos!) and a whole host of other gadgetry. I tell ya, I’m in technology heaven.

I’ll post back again later, once I’ve had time to play with it ;)

Comments

The Gaia Framework

As you may or may not know, Flash frameworks are of a stong interest to me. Applications of any kind should be produced well from the get-go using well designed patterns, and if done correctly, that code can be reused again and again, saving loads of time in future projects. Now, while frameworks are common place for middle-tier and server side logic, the GUI is often produced in an ad-hoc nature, to suit the needs of the project.

Enter the Gaia Flash Framework

Gaia is a front-end Flash framework. It purpose is to allow an almost instantaneous scaffold based around your projects GUI needs, providing the necessary bespoke page heirarchy for your project, and supplying all the necessary code for the loading of assets, page transitions, navigation functions and even deep linking. It is already being adopted by top companies such as Razorfish and 2Advanced studios, who understand that time equals money, and a well built site equals a happy client.

Hop on over to the Gaia website and see for yourself just how cool this project is.

On another note, I have been in discussions with Steven Sacks to port this wonderful framework to the haXe language. It’s still early days for this project at the moment, but it’ll certainly become valuable as it matures.

Comments

Downright Disgusting

Relly Annett Baker (a friend of Aral’s) has posted an appauling and very upsetting post on her blog, here. Now, I won’t spoil the content, as I feel you must read it to get the full impact, but surely something must be done about this on a grand scale? It’s time our tax money went to something worthwhile, rather than the millions spent bombing the middle-east! What say you, peeps?

Comments on a solution to this fiasco appreciated, especially if I can help out!

Also, be sure to post your support on Relly’s blog, or mention the thread in your own blog.

Comments

AVM Cross-Communication Troubles

Grant Davies flew to England to spend Christmas with his folks, having spent 10 years in the States (which he now calls home). So, while he was here, the two of us met up for a couple of days to get some work resolved before the seasonal break.

What we had was an issue getting a Flex 2 movie, which currently loads a Flash 8 movie using SWFLoader, to communicate with said Flash 8 movie. We had already managed to use FlashExtensions FlashInterface control, and were happily passing events between both AVM’s. However, the problems began when wanting to communicate synchronously using method calls. Now, communicating from the embedded AS2 movie to the parent AS3 movie was fine, as FlashInterface was able to retrieve the Flex movie name from the web page it was sitting in, but getting FlashInterface to communicate with the embedded AS2 movie was another matter.

What you would normally have to do is to publish the movie you wish to call, and reference that movie using a path made up of the movie name, followed by the method you wish to call. The method must belong to a class who’s lineage eventually made it to the root timeline, so Singletons were a hassle. I think Grant managed that once, but I don’t think he worked out what he did to get that working ;-)

Most of our attempts to resolve this in a way that made sense and could be repeated caused the Flash player to throw a debug window complaining that the movie path we’d specified resolved as a null object, while other attempts would result in no behaviour whatsoever. Totally frustrating. However, Grant did make a find that helped a long way to actually getting paths hooked up correctly using the FlashInterface register method. It turned out the library would check to see if a flashId value is passed to the movie you’re calling, and if that fails, then to use the name of the movie as specified in your HTML code. What it should ideally do, however, is to first check if that flashId value was set in the actual movie, as this is a sure cause of baldness if you are embedding your movie inside another. Now, this wasn’t our ultimate issue, and I won’t go into that, as it turned out to be a completely brainless act on my part, but this will certainly help.

In the original FlashInterface.as file, you have a method called getId, which looks like this:

private static function getId(control:MovieClip):String
{
var root = control
if(root.flashId == null)
{
root.flashId = __swfID;
if(root.flashId == null)
root.flashId = getSWFName(root);
}
return root.flashId;
}

What you really want to do is to return the value of the flashId for that movie first, if it exists. Otherwise, then is the time to start looking elsewhere:

private static function getId(control:MovieClip):String
{

if (_root.flashId != null)
return _root.flashId;

var root = control
if(root.flashId == null)
{
root.flashId = __swfID;
if(root.flashId == null)
root.flashId = getSWFName(root);
}
return root.flashId;
}
}

I hope this helps someone :-)

Comments

haXeVideo Reaches Version 1.0

Excellent news on the haXe lists; haXeVideo, the haXe/Neko built Flash streaming media framework, has now hit the v1.0 milestone. This marks a great day for streaming video professionals looking for a solid core streaming solution with which to extend without having to learn a lower level language, or having to deal with a bloated API.

According to Nicolas, he still has yet to implement Shared Object support, and iron out some timing issues. However, its current rendition is more than adequate for most developers requirements, making this definitely a website to bookmark.

Comments

SWX Neko?

Okay, I’m in the blogging mood, so I guess it’ll be good to post this and see what others think.

I dunno if many of you have seen, but Aral Balkan has produced a great tool called SWX. This baby provides a server side data transport mechanism in the form of compiled SWF bytecode, thus the calling flash movie would load the data as it would an external movie, and pass the necessary function parameters as URL variables. If this makes no sense, go check out the site, as I’m sure it’ll explain it better than I could.

Anyway, what I’m getting at is; should I port this great tool to Neko?

I’ve been playing around with the possibility, and even run a few tests, but is it worth going the whole hog? Neko already has a great remoting layer thanks to haXe, and there are plenty of other such tools out there. My main concern for writing such a port would be so that developers could use haXe / Neko to create server side SWX applications, whether or not they decide to use haXe for the development of their client applications. This, I believe, would be the only reasonable explanation for carrying out such an endeavour.

Anyway, I leave it to you guys. I built NME about a year ago, and it’s taken this long for anyone to show any interest, so maybe I’ll receive some positive feedback sometime late 2008? ;-)

Happy haXe’ing

Comments (4)

NME Gets a Shakeup

So, this guy on the haXe forums starts posting about a new framework he’s developing to enable Flash 9 and NME (neko) based multimedia applications (games) using the same codebase, and I’m like “what the hell? That’s exactly what I’m doing!”. Seriously, Hugh Sanderson deserves some thanks from me, right now, as he’s given me a push to actually do something with NME. Another great thing this guy has done for NME is to blog about how to compile all the SDL dll’s needed for NME, including the Neko dll’s, into a single executable, thus enabling NME games to be run with minimal file dependencies, plus he’s converted the APE (ActionScript Physics Engine) to haXe so it works with NME. Go check it out. As I said, I’m damn happy he’s come along.

Since then, we’ve agreed to collaborate on the cross-platform games wrapper, which is now known as Neash. Expect great things from this project.

Comments

The Secret Show Wins BAFTA

Complete Control, a company whom I worked with late last year and the beginning of this year, won a BAFTA last Sunday for The Secret Show website, having been nominated for the Childrens BAFTA’s under the Interactive category. This is the second BAFTA for Complete Control these last two years. Last year, Complete Control won a BAFTA for the Primary Learning category for Mapping Our World; an interactive white board application, used in schools throughout the country. Personally, I couldn’t think of a more deserving bunch of guys. They might be a small company, but they have more talent than most agencies many times their size, and I’m proud to be able to say I’ve worked with them, on The Secret Show project, and to be able to call them friends.

Well done guys! Think of me when you’re toasting in the Bahamas ;)

Comments

Professional haXe and Neko

Well, it’s getting to the point where the Pro haXe and Neko book is nearly finished. Franco and I have one chapter each to finish, then we should be inline to make the 12th February publishing date. I’d like to thank all those who buy the book in advance, as it’s because of you guys that I’ve written the book.

If you’d like to comment on the book, please feel free to reply to this post.

Comments (2)

« Previous entries