Just another flash platform blog 

Adobe AIR is dead… long live Adobe AIR.

July 15th, 2009 Posted in Adobe AIR | 3 Comments »

I’ve read a couple of posts today about Adobe AIR suggesting that the honeymoon period for Adobe AIR is over. Sarah Perez Over at ReadWriteWeb asks “Are you over AIR Applications?” citing AIR apps like TweetDeck, Seesmic and DeskTube as apps that have no good reason to be desktop apps saying “there’s no reason why these apps couldn’t just run in a browser instead”. Im not going to jump to the defence of AIR here, she’s right.

But what did people think? You have a couple of million web developers who all of a sudden can start installing their webservice consuming widgets and maybe use the file system. It was a revolution, but I agree that its over now. However, contrary to Sarah’s opinion I dont think AIR is no more. This first rush of fancy widgets was bound to happen and to be honest was never really about the users it was about the developers!

What AIR is about is desktop applications, it is not about website widgets that you can install. Adobe Platform Evangelist Ryan Stewart has made a valiant effort at defending his companies interests, but the two main points he uses are the same ones we were hearing when Adobe AIR was being marketed: “Web developers can leverage their skills” and “hey you can get at the file system” (not direct quotes).

Fear not the Ryan, Adobe AIR isn’t over, its maturing. These typical “selling points” of AIR seem more targetted at developers still. I think the massive avalanche of apps made by hobbyist developers has proven that you’ve won that battle now Adobe.

AIR is about rapidly making grown up, feature rich, engaging desktop applications. Being web aware shouldnt be “THE” selling point, its only a strength. The marketing effort should now be focused on the people with the money who can hire those hobbyist developers to make the next generation of desktop experiences.

I’m lucky enough to be involved in the making of an AIR app that strikes a good balance between web and offline. The BBC iPlayer desktop is all about the offline experience. Naturally, you need a network connection to download the content – and the website is all about discovering new content. The two sit next to each other neither trying to do the job the other is so great at doing (and its set to get better still in the future – sorry no spoilers would be more than my job is worth!).

There will always be developers who jump from one “next big thing” to next and inevitably there will be some good work done and happy users to boot. Its whether the move is made from developer novelty toy to serious commercial contender that will be key for Adobe AIR – there are plenty of signs that this is happening and lots more potential for growth, but whether Adobe AIR can shake off any negative connotations and go from strength to strength remains to be seen.

  • Share/Save/Bookmark

SyntAction Update – Viral ActionScript

July 11th, 2009 Posted in AS3, General | No Comments »

Last weekend I blogged about the widget I’ve named SyntAction. I’ve made an addition and a couple minor improvements.

The main thing I’ve added is a footer which has two links. One just shows the latest version and links page to the SyntAction page. The other one copies the embed code used to display the code and colour highlighting onto the clipboard ready for embeding on your blog. This could be useful when commenting on code someone else has blogged about – just copy and embed their code from its location and blog away and help make someones ActionScript become viral!

To demonstrate the new features I’ve embeded the TextLink class I created for the footer buttons.

TextLink.as (as used in SyntAction)

  • Share/Save/Bookmark

SyntAction 1.0

July 6th, 2009 Posted in AS3 | 3 Comments »

Yesterday, I blogged about reinventing-the-wheel and when it can be a good thing. It wasnt just idle chatter, I’ve been busy coding something thats been done plenty of times. The reason was to brush up on my regex knowlegde. The end product of the wheel reinevinting is an ActionScript syntax colour highlighting widget.

I wanted to have something like that for my blog since I do occasionally post about specific code I come across / write. So I’ve pitched it towards being an embedable widget for any website simply for the purpose of demonstrating code. As such it works by pointing it at an AS file somewhere on the web and additionally the colours are configurable using a simple XML schema (see example here).

Its not (yet) perfect in every way, I didnt get as far as adding support for regex colour coding (ironic, when you consider improving my regex was one of the reasons for building it). The string literal matching owes a lot, and is almost identical to the regex used by google prettify but other than that its all my own work.

I’ve created a simple page for it at http://syntaction.barncar.com/. This page has example embed code for anyone wanting to use it – feel free to point at the .swf on my hosting, it’d be great if other people can find a use for it. If anyone is interested in having a look at the code , drop me a line – improvements welcome :)

Heres an example of it in action:

  • Share/Save/Bookmark

Reinventing: reinventing-the-wheel

July 4th, 2009 Posted in General | 1 Comment »

Reinventing-the-wheel gets a bad wrap.

If you’re a freelancer working for a client or a developer on the books, spending time solving a problem that has been solved many times before will no doubt be met with disapproval by those holding the purse strings. And indeed, if you are being paid a rate for a whole job finding open source / free code just means you can get paid and move onto the next job all the more quickly. “Time is money” after all.

So when can reinventing-the-wheel be a good thing? Or put another way: Why are so many problems solved so many times over?

Well I suppose the first thing is perhaps the problem was solved by different people at roughly the same time unaware that someone else was doing the same thing. Ok thats fair enough and if the code is proprietary and beyond budget, its easy to see how more similar free solutions become available.

Taking these situations out of the equation I still maintain re-hashing existing solutions is a good thing. I give three reasons below:

  1. Improving upon earlier attempts
    Ok this is another obvious one, but perhaps you’ve seen other attempts and think you can do better. If you’re the community minded guru then perhaps this is enough, but what about more selfish reasons?

  2. For fun
    Sometimes coding something your way (regardless of the quality of the implementation) can simply be a fun way to spend time. If the typical solution space of your day job is a bit dry (I’m lucky on that score at least) then coming home and writing games or making pretty effects for other devs to swoon over can be rewarding even when you know your work isnt original.

  3. For study
    For me, this is the main motivation. My day job invariably sees me in technical meetings or writing specs for other developers to follow, so I get less and less time actually at the coal face. So coming up with ideas targeted towards a particular coding methodoloy, framework, design pattern or key language feature is a great way of keeping touch with whats happening. Working in any area of IT inevitably means devoting some personal time to study, this is no less the case in software development. Coding up a useful util or making available a fancy widget keeps your hand in. Study is further helped if you can compare your solution with existing ones. Learning how something can be done better is more effective if you’re already intimate with the challenges it brings up.

If you get as far as making your “wheel” available to other people (and providing your wheel doesn’t turn out square!) then a little bit of peer kudos cant hurt either. Add to that the warm feeling you get when you tell your client you’ve already written just what they’re after and reinventing-the-wheel can even be good for your bank account too!

  • Share/Save/Bookmark

BBC Media Widgets

June 20th, 2009 Posted in AS3, Flash | 1 Comment »

Just a quick update on what we’ve been working on in the BBC Media Player – we’ve introduced a new product range called Media Widgets. The first of which (below) is a collection of clips from the recently concluded series of The Apprentice.

For the Media Player this means we’ve built an API into some of our core playback functionality as well as exposing a rich event model. Since our current Media Player is written in AS2 and new products are being written in AS3 we had to create a LocalConnection hook into the API. The Collection widget below written in AS3 (incidently using pureMVC) invokes playlist traversal via the API on the Media Player when clicking on the list selector – pretty cool stuff!

Not only can BBC products consume the API “FLash-in-Flash”, but the API is also exposed to JavaScript. You can see this in action in the latest release of BBC iPlayer. One of the new pieces of functionality is being able to send “clips” to your friend with a short url (similar tinyurl.com or snurl.com). You can opt to send the whole programme or you can chose to select a start point which your friend can watch from (Will we see lots of links through to continuity errors thanks to this feature? :) ) – part of this feature is consuming playback progress events from the Media Players event model.

Expect to see lots more uses coming and keep an eye out for some creative uses of the API on many new and existing BBC website pages.

(note: currently the API will only work when the Media Player is embeded on a BBC domain)

The Apprentice collection widget:

  • Share/Save/Bookmark

I’m going to be a dad again!

April 22nd, 2009 Posted in General | 3 Comments »

Now I have an excuse for missing my blog target on January (see http://blog.barncar.com/?p=201), I was busy playing my part in conceiving our second child. Having Billy has been the best thing ever so having a little brother or sister for him is going to be amazing – unbelievably knackering, but amazing.

We must be mad! w00t!

  • Share/Save/Bookmark