There appears to be a bug with ExternalInterface when your Flash movie is inside a FORM tag, which is what ASP.NET does by default.

You will get a “null has no properties” type error because the JavaScript that ExternalInterface generates at runtime is unable to reference the Flash movie.

It appears to be due to IE not putting the form in the same place as other browsers’ DOMs (specifically the window object).

Either way, the workaround is to take it out of the form, or if not possible you can try several other things such as this SWFObject fix. Worst case scenario is to reference the Flash movie using document.forms[0].moviename.

There are many solutions and some discussion in the livedocs.

I have another ExternalInterface bug listed here in a previous post.

Thanks to Jesse over at ActionScript.org, another review has been posted of our book Foundation Flash for Mobile Devices (Friends of ED). Great review thanks indeed to the author, Nathan Daniel.

Read the review here.

This doesn’t usually happen. The AIR derby is open to people all over the world. So if you are a fellow Brit, or European, have a good look at the prizes.

Just about perfect if you ask me, the perfect developer setup, headed up by the insane 8 Core Mac Pro (you can’t even break these things into a sweat), as well as a $100,000 travel certificate, I could really use that with all the holiday time I’ve accumulated working too hard ;)

Head over to Labs to check out the details.

Science doesn’t progress smoothly, it makes huge ugly leaps and bounds. But recently a couple of articles really sparked my attention.

The first was that they have managed to create a life form artificially. That is, creating life where previously there was none… not just allowing bacteria to enter a given environment as it naturally does. This is a huge step for us all I think; luckily I am not a religious person because I would hate to have to deal with the personal and community-wide ramifications of that “little feat”, it might just open up a lot of questions for someone that may have previously been content in their views. We are already seeing articles with sensational titles such as “Does God have competition?” springing up all over. But this is not a bad thing, the ability to question something you have been told by people you trust is an admirable skill, whether they turn out to be right or wrong. On the negative side, they are trying to patent it which has the potential to raise a bigger moral question on the world stage.

The other particularly interesting article is about a group of Israeli researchers who have actually managed to store data in a live neuron. You might think of that as “creating memories”, however temporary the result is at present, it appears to me as something straight out of “Total Recall” (“We Can Remember It For You Wholesale” – Philip K. Dick).

Actually I’m a big fan of Philip K. Dick (PKD). If you haven’t read anything by him I’d recommend it, he was a fairly prolific sci-fi writer of the last century. Some films that have been made from his novels and short stories include: Blade Runner, Next, Total Recall and A Scanner Darkly (the last only works in print IMHO). PKD was one of the few people that could really reach out well beyond his generation and treat things like the above cutting edge research as common daily occurences in his mind, an incredible skill considering the level of science and computing back in the 50′s and 60′s where some of his best work was done.

I’ve also gotten into writing fiction recently, just as a creative outlet. No doubt it will not see the light of day for quite some time if at all, but it’s a very enjoyable thing to do. I can thoroughly recommend a program for OS X called Scrivener. It has many features for writing short stories or novels, including storyboarding, character database, fullscreen view and easy ways to group copy and annotate it. There’s also a free gold version available for download.

No one can really doubt the success of MTV up until now. People like music videos. But I’m left confused when I look at music videos being sold for download on mobile devices such as phones and iPods, and sold at a premium.

Watching music videos on TV is something I only do if I’m doing something else at the same time and just want some background (I don’t say background “noise” because I think it’s safe enough to say many people now look for background sound and video at the same time, strange as it may sound). As for actually spending money and downloading a music video to my phone or iPod, with those tiny little screens and in the case of mobile phones, horrible sound quality- is surely the worst possible way you could watch a music video?

iPod Video

It makes sense for content providers to pick music videos to test the waters of mobile download services because even though what you are getting might be considered pretty cheap and nasty, you get around that because the band itself adds value to the proposition through association. The content itself is not really all that much better (and often not as practical) as an mp3, after all, pretty much all of these music videos have had the visuals made for the music, not the other way around. This is all subjective of course.

How popular are the sales of these things? Are they just a stop-gap until some (dare I say) “real” content is available. Many products are showing that there is a market for a variety of quality commercial/free content when the downloads are both paid and free (iTunes in the U.S. has movies and TV shows and Joost has free content everywhere, to name two such entities). In particular I’m enjoying the “iTunes U” offerings, which include free university lectures in video format. I’m of the opinion that music videos will see a serious plummet in popularity as these other types of content become more accessible, but as always, I could be proven wrong; but the way things are heading, having to pay to see them will certainly disappear as with almost all downloaded content, with movies being the last to topple. iTunes claimed back in Q3 of 2006 that it had seen 35 million music video downloads… are you one of these people?… did you feel a little bit ripped off or satisfied?

I haven’t even touched on the cross-over areas of content here, namely trailers and user generated content. I think both of these have more merit and monetary value when it comes to paid downloads. Trailers serve the dual purpose of entertaining and also letting you know if you want to spend more money (and more importantly, time) on going to see a movie, and user generated content is often perfectly designed to entertain for those few seconds. They are also pretty well suited to share with others in social situations.

So what’s the deal with download content for mobile devices? Have we just been testing the water and the purse-strings of those early adopters, or is there a future in music video downloads?

Please feel free to leave votes for or against music videos on mobile devices, and any comments you have on the topic.

I use Google Reader along with the Firefox notifier plugin extensively. It’s one of the best RSS aggregators I’ve ever used, not because it is the slickest in terms of the UI, but because it does its job pretty well and fits in nicely with how I browse the web (unobtrusive, integrates well with Firefox and so on).

I clicked on the Firefox notifier for it today and when the page opened I was presented with the soon to be familiar request to use Google Gears for offline storage.

Gears Warning

So far it’s pretty obvious, but I think there’s going to be some new challenges making sure you let users know how they might use offline storage, and why. Google Reader did a good job of this by pointing me at a little green arrow and letting me know I can store my news articles for offline viewing by clicking it.

Gears Warning

Upon clicking this you can see it begins downloading the information and storing it in the SQLite database. The process isn’t as quick as it could be, no doubt because it is using XML, but it’s not too slow on a decent connection.

To try to throw it off I disconnected half-way and was presented with another message.

Gears Warning

I’m not sure how much of this is built in, but I presume this would be another area in which web developers will need to consider user messaging for these extra scenarios; not a problem for most RIA guys who are well used to the asynchroncity afforded by Flash and AJAX (and soon doubly-so through the rise of parallel computing ;)).

All in all, a good experience and it definitely adds value to news aggregation, I’d say mostly beneficial to those who travel a lot. Looking forward to seeing this implemented in Google Maps if at all possible (binhex those images?), the number of times I’d like to cache a few portions of map before beginning my journey is rising.

This affects projects that make use of FLAs and runtime shared assets, commonly sharing things like fonts or components amongst several SWFs to prevent embedding them several times in the various files that might make up a project.

The first thing to note is the “Load Order” in the settings panel in Flash. It defaults to “bottom up”, and this means it streams in the contents of the bottom-most layer first, before loading and executing code that lives on any layers above it.

This is key when using runtime shared assets because if an asset is not available immediately the Flash Player will not give you a warning, it will just cease executing ActionScript contained within symbols/classes that are on layers above and may leave you scratching your head for a while. The confusing thing is that runtime shared assets *are* loaded before code on frame 1 is allowed to execute, so if anyone has extra insights here that would be appreciated.

A typical scenario for an AS2 site/app:

Frame 1 – Layer 1: Contains a runtime shared symbol that has textfields used to embed fonts
Frame 1 – Layer 2: Contains code: “com.domain.proj.Application.main(this);”

Another scenario from the same project perhaps:

Frame 1 – Layer 1:
Contains a runtime shared symbol that has textfields used to embed fonts
Frame 1 – Layer 2: Contains a symbol that uses a shared asset in code or on stage

The scenarios might work, but you may find that it does not in cases where the symbol on layer 2 makes use of any shared assets during the first frame, either by using them on stage, or in code.

The simple solution is to either remove the shared asset from stage, it will still get pulled in in the library, or switch the layers around so that the shared assets are on the bottom layer.

I’ve posted about Buzzword before, the upcoming online (/offline with Apollo?) word processor. To me Buzzword really illustrates why I continue to back Flash and Flex over AJAX. I don’t care what people use if it’s a good experience, but the limitations are definitely becoming more and more apparent, and perhaps in 2007 we will begin to see the Flash apps just accelerating away from the current kings of the RIA scene, not just in demos and prototypes, but in the real world. The great thing about this game is that you don’t have to compete by spreading FUD, you can just build users by building better experiences, they (/we) are a fickle bunch!

I’d recommend watching the whole screencast, there are some real innovations in there for word processors, let alone a web app. Right now I use (Neo/)Open Office because it does everything I need and more. I tried using Google Docs but it was a little too rudimentary and hardly the same experience. However if Buzzword is offered as an Apollo app, and why not, then I’ll definitely give it a go, and if it isn’t quite there, the limits for a version 2 using a newer release of the Flash Player should alleviate any concerns.

Ryan Stewart is asking for great examples of slick, visually impressive (“sexy”), fluid AJAX applications, so far nothing that makes me say wow. I think Buzzword might become the bar things have to live up to, at least for a couple of weeks after its release ;)

View the screencast.

Every time I send an email to anyone in my family (who all use Hotmail because of the MSN Messenger legacy) the emails don’t come through. They don’t even go into their spam folders. Hotmail/Windows Live Mail is blocking the emails, any other account I send them to works fine.

I’m slowly moving them over to Gmail as it is a better service all round, the search works (unlike Hotmail), the spam filtering actually works (almost 100% fullproof), you get more space every day, and they don’t block emails from competitors’ services (that should be illegal anyway imho). Anyone else had this happen? Looks like this has come up before.

(I have a feeling this has something to do with me using the Gmail Pop/SMTP service, however this is perfectly normal email usage and as I said before I can send email to any other service without problem).

Fantastic, something else to learn ;) Sun bloggers have been dropping hints to look toward the JavaOne conference in and around all of the Silverlight posts that have clogged up the aggregators the last week or so, and it appears the announcement for their new AJAX/RIA alternative comes in the form of “JavaFX”.

JavaFX makes use of a new scripting language and utilises the Swing APIs for UI. This probably comes as no suprise, I have drummed on to my poor colleagues the last year how AJAX’s days are numbered in terms of the popularity it currently enjoys, it simply cannot keep up because HTML and JS were never intended to build this “new” breed of online app, too much reliance on the browser itself naturally brings with it serious yet fully justified limitations. We’re reaching the top of that particular bell-curve now. For an example of this you just need to compare Google Docs (Google being the absolute cream of the crop in AJAX scene, yes I know they use GWT), with early pre-alpha screens of Buzzword. The potential benefits of using the Flash Player are limitless in terms of real-time document editing (binary data transfer over XML refreshes, bitmap editing, video embedding, animation creation etc). Microsoft, Sun and Adobe of course are all providing better tools to craft future of the web.

There’s also mention that JavaFX will work on mobile, another de-facto requirement for RIA technologies now. An introductory tool is due for release today, let’s hope we see a plugin for Eclipse to give it a bit of a head start there. As with AJAX and Silverlight, I’ll give it a good solid evaluation phase, I don’t think it’s fair to bash or criticize until you’ve really tried something out (and used it in a real world situation if possible). Again, I’m very much doubting the capabilities will match what Flex has to offer, but let’s keep an open mind! I’ll be very keen to see just how rapid UI development is with JavaFX over using Flex, as I’ve known people to come to Flex 2 with no previous experience, and have a fully functional app with data consumption, data binding and liquid layout working in a matter of hours.

Read the article at infoworld here.

And then there were three….

Update:

I’ve just been sent an example of JavaFX in action from Emmanuel Okyere, plus source-code:

Run the Java webstart demo here

The source-code reminds me of something between ActionScript and Processing. However this one-liner worried me a little:

for (unitinterval r in dur 1000 fps 40 while not ship.exploded
and livingAliens > 0) {

This looks fairly horrid, something like Lingo in terms of verbosity, but I imagine this is just someone playing around with dynamic dereferencing and you could break it down further or use more classic Java-style operands in place of “not”, I hope :)

See the complete source code for yourself here.

There’s also a video of JavaFX being used to emulate a Flash site, it shows both one after the other about half-way through.