Archive for the ‘Flex’ Category

Inversion of Control Containers Links

Tuesday, June 17th, 2008

I’m slowly getting my head around IoC containers and want to note a few useful links for future reference. As things tend to go in my geeky exploits I read about and learn these ideas from the .net world, who often have picked things up from the Java world, I then try to find out who’s doing similar stuff in the Flex world and am generally not disappointed, which is very cool. So these links below are a mashup of various technologies but should be useful to anyone who has been hearing about IoC and wants to learn more regardless of language/platform.

The ‘Textbook definition’ by Martin Fowler
Very useful explanation with some basic sample code (.net) by Ayende
Castle Windsor step by step basic intro (.net)
Prana - a Spring-ish IoC Container for AS3 by Christophe Herreman (via jesterxl)

This stuff doesn’t come naturally to me to say the least so if anyone else has any links they want to share feel free to post them in the comments.

Flex Code Coverage Tool

Sunday, April 13th, 2008

I hope to find some time for a more thorough post on this but there is a new Code Coverage tool available for Flex, check out Flex Cover on Google Code:

http://code.google.com/p/flexcover/

mp3 popular musicABCDEFGHIJKLMNOPQRSTUVWXYZ|Artist By Music Genre

360 Flex Europe over

Saturday, April 12th, 2008

Okay so I’m a couple of days late on this one, however taking 3 days out of work takes it’s toll on the remaining 2 days of the week when you get back.

We got to the hotel on Sunday morning with the best intentions of spending the day doing touristy things, unfortunately because of our flight timings we basically traveled throughout the night and just got the hotel and crashed for a few hours. First thing I did after I’d caught up on sleep was sort out wifi access, not good. Best part of £70 for 3 days wifi is ridiculous… and it was slooooow. This was definitely an issue for a hotel full of geeks and would suggest anyone organising a conference takes internet access into serious consideration when finding a venue.

We later went down to the speaker dinner which was a relatively quiet affair but was great to meet new people and the dinner was pretty decent. At this point to be honest I didn’t have particularly high hopes for the conference because of the low number of attendees. Fortunately however my initial concerns were not upheld.

The first day of the conference for me went something like this:

Keynote: nothing new for me here but good to see Adobe having a presence.

Michael Labriola: Dense and Hot - An Introduction to Your Application’s Start Up
Michael has a great presentation style, he was relaxed and managed to get through quite a lot of very useful information in a relatively short space of time. I think conferences could do with more of these sorts of sessions as many seem to have a lot more introductory level sessions. I learnt a lot from Michael in the session and throughout the rest of the conference. He’s also a very smart and funny guy.

Marco Cassario: Better Flex and AIR Applications Using AJAX
Marco gave an interesting presentation on using AJAX in AIR but he also covered some general good practices for Flex development. I learned a few things AJAX related that I didn’t already know but I think generally AJAX just doesn’t get Flex developers very excited. Marco presented his session well and got through a lot of material but I would definitely like to see him present on some more advanced Flex stuff in the future.

Luca Mezzalira: Flex Bitmap Effects!
Luca gave a fun presentation on Bitmap effects and had some good samples to share. I’ve not really done anything with bitmap effects before and definitely now have the required knowledge to do so.

Piergiorgio Niero: 3D Render Engines in the Flash Platform
Piergiorgio gave a great presentation starting with some of the basics of 3D in flash then running through to demonstrate the build up of some very impressive Papervision3D demonstrations and Papervision in Flex. He wasn’t too confident in his English but certainly got everything he needed to across and the examples and sample code provided are great.

Sakri Rosenstrom:Invalidation Routines, Pounded into Your Cranium Once and for All!
Unfortunately I had to deal with some work issues during Sakri’s presentation which was really annoying as I wasn’t able to concentrate on it fully and it was a pretty technical session. What I did manage to keep up with was very useful and well presented and Sakri managed to deal with some unexpected technical issues very well. I hope to catch his session again some time.

Neil Webb: Cairngorm for Beginners
Neil’s a good friend of mine and I’d seen parts of his presentation beforehand but was looking forward to seeing the whole show. He was a little nervous at first and perhaps spoke a little quietly to begin with considering he wasn’t using a mic. However, once he settled into things the presentation went very well. He has some VERY funny slides and if you’re going to scotch on the rocks and/or 360 Flex San Jose definitely check out his session. Even if you know Cairngorm go see it for the Phat controller, Sexed up Flex Frameworks and Sexyometer! If you aren’t familiar with Cairngorm then Neil breaks it down into a very digestible manner and uses great metaphors to explain what’s going on.

Borre Wessel: Cairngorm Deepdive
Borre presented a good session on Cairngorm and other useful good development practices. He covered some topics that I’ve been looking into lately such as view patterns and did a good job of explaining the Presentation Model pattern which is a very nice approach. He seems a pretty laid back guy which made him approachable for questions but perhaps could do with a little more enthusiasm and volume to maintain the audiences interest. Nevertheless another useful session for me :).

Finally it was my turn to do my presentation on Developer Best Practices. I was a little worried as I hadn’t prepared quite as much as I’d have hoped to (being ‘dragged’ out for pizza and 1 litre beers the night before didn’t help :P). I was more concerned however by the fact that almost everyone I’d met was a very talented and skilled Flex developer who more than likely didn’t need to be told the best practices I was there to present.
This concern was re-affirmed as I kicked things off by asking the group “Who uses source control?” as the preamble to my 10 minutes I’d planned explaining source control… to which all but one of the attendees already did! After struggling preaching to the choir for a few minutes, I decided to scrap that and adopt my reserve tactic of opening the topics in the session up for debate.

This was also a concern of mine as in many of the sessions the audience tended to stay pretty much silent. Fortunately for me I had Michael, Sam, Neil, Robin, Sakri and various others in the session who really came into their own and spoke out. We discussed various OOP practices, design patterns, unit testing and a great debate on pair programming (always a good one to throw in if you want some audience participation!).

I enjoyed the session in the end and definitely would like to try the discussion approach in the future as I managed to learn a few things from the guys I was supposed to be presenting to and I’ve had some good feedback about it (despite the ropey start).

Overall, despite initial concerns 360 Flex Europe turned out to be a great conference and I’ve very glad to have attended. Thanks to the 360 guys for arranging it and thanks to everyone I met there.

USB drives for all @ 360Flex Europe

Saturday, February 9th, 2008

I just noticed on the 360Flex Europe blog they’re giving away 1Gb usb drives to every attendee.

You can then hijack the speakers’ presentation files on the spot. This is a great idea as speakers often don’t get chance or time to send in their presentations and files for attendees to make use of. This is also a good promotional tool for any budding sponsor who can either advertise their logo on the USB drives or I’m sure if you ask nicely (in a sponsoring kind of way) they’ll let you put some promo software on the keys that are distributed if you drop them a nice email to inquire (sorry if that wasn’t the plan 360Flex guys).

If you’ve not got tickets yet go check it out http://www.360flex.com/360Flex_Europe.

Attention to Detail in Rich Internet Applications

Wednesday, February 6th, 2008

Adobe’s Ethan, Ted and Ryan recently gave a big thumbs up to Firebrand an RIA for watching adverts.

Niels Bruin responded with what I think is a very good wake-up call to the starry eyed approach to reviewing web apps with lots of transitions, reflections and other shiny bits. Niels highlights some real basic usability faux pas that Firebrand made such as mystery meat navigation, red punishing looking confirmation messages and inconsistent design touches.

To be honest, I read all the commotion and Niels put down before I looked at the site and to be fair to Firebrand I probably wouldn’t have picked up on those points myself. But then I’m not and would not claim to be a UX hotshot of any kind. The key point for me is that the points raised by Niels do not require a magical usability eye and could very easily be a printed checklist and implemented as part of a quality control assessment before final delivery of a product. To be fair I do also agree with the points Ryan makes in his followup and I’m also all too familiar with things such as expectation and deadlines which can all to easily prevent this much-needed attention to detail. However, if we keep reminding ourselves of it then hopefully it will become second nature and not needed as a time consuming afterthought.

If you’re responsible for the creation, delivery or quality of a customer facing project, take 20 minutes, open up your word-processor of choice (perhaps use it as an opportunity to try out Buzzword) and hack together a simple list of quality control checks.

Here’s a handful of checks plagerised from Niels post and an old post I remembered by Aral to get you started, copy the below and paste into a document, print out 10 copies, run through your current project and tick each one off and you’re well on your way to becoming a quality control engineer!

Niels’ Firebrand wrist-slap:

  • Make sure any icons/metaphors are extremely obvious or explained with tooltips or other indicators
  • Make confirmation messages look positive and warnings look like warnings (I.e. don’t positively confirm an action in red)
  • Is everything laid out consistently? How much effort would it really be to tweak that button a few pixels to line up properly?
  • Can familiar controls be used in a familiar manner? E.g. can I scroll a scrollbar using my mousewheel, drag it and click up/down arrows?
  • Have you tested on all likely platforms/browsers? At least WinXP, Vista, Linux, OSX with IE6 & 7, Firefox, Safari, Opera

Aral’s old post on UI principles (interpretation by moi for checklisting purposes):

  • I can use it but am I a ‘typical user’? Even better: can I get an intended user (or several) to use it?
  • Does validation “prevent not scold”? Does the user get scolded “YOU IDIOT, WHY DIDN’T YOU SELECT A GENDER BEFORE CLICKING THAT BUTTON?!” or do we just make the button un-clickable until the gender has been selected with some unobtrusive instruction to do so?
  • Does the user receive sufficient feedback? If the user makes an interaction, is it obvious that interaction has been acknowledged by the app and the expected result has happened? (see Niels point on adding to faves).

There’s a load of other things that can be added to this list, for generic testing and I’m sure for specific audiences/companies/application types etc. I’m going to do some digging on other principles people have come up with as I know there are a ton out there but whilst this is topical I thought I’d add my opinion and throw in a call to action to anyone reading.

Babbel.com Learning Languages Flex App

Friday, January 18th, 2008

The better ‘alf has been checking out a very cool Flex app for learning languages and has been getting on very well with it. Check out her review of babbel here. (Via Ryan Stewart).

Best Practices talk at 360 Flex Europe

Sunday, January 13th, 2008

360 Flex Europe is going to be happening in Milan, Italy on April 7-9 2008.

I will be giving a talk on Development Best Practices - What are they and which to choose? Which basically, is an attempt to demystify a large number of ‘buzz’ best practices in our industry at the moment.

Like myself, I’m sure many people hear all the terms and have all the best intentions of looking into and following these great new ideals, techniques, tools and processes but realise weeks later they’ve been too busy doing real work and still haven’t gotten around to it. The talk is aimed at those who are not already following these practices but are keen to know what all the fuss is about. Obviously many already do but might wish to come along anyway and join in the discussion/correct me when I’m wrong :P.

The overall aim of the talk is to take these concepts and ideals that are thrown around the community as “Must-dos” and firstly, impart an understanding of what each is and then explain their merits and drawbacks and when/when not to implement. Also I’d like to provide enough info for anyone to take their first-steps in the mentioned practices without feeling overwhelmed by everything there is to learn. Due to the time available it won’t be an in-depth hands-on/how-to although there will be code-samples and demonstrations. All of this will be with a Flex bias but there will be a smattering of other related technologies thrown in for good measure.

The talk is still being put together but the current line up of things I’m considering to cover are as follows:

OOP best practices
Design Patterns
Frameworks
Source control
Agile Development
Unit testing
Working with server-side technologies (Web services, Remoting etc)
OR Mapping
Code Gen
…Suggestions? Feel free to comment below if you think I’m missing something important.

There was a lot of good press about last years 360 Flex in the states and all looks good for this year’s in Atlanta at the end of February. Myself and some colleagues will be attending all of 360 Flex Europe so if you’re going drop me a note and join us for a drink. Looks to be a great conference that is great value at $360 so I suggest you go sign up now :D 360 Flex Europe.

Adobe AIR: Is breaking out of the browser the right next step?

Sunday, November 18th, 2007

If you read my blog regularly, you’ll know I was quick to jump on the AIR trip. I do still very much like AIR, have seen some good AIR apps and believe it has some good potential. I’ve played with a couple of AIR apps, have seen several AIR presentations (even presented one) and made numerous blog posts about it. So I feel I’m justified in my opinion that I’m not completely convinced that this is the best next step for RIAs, or at least not the best place we can end up.

I mentioned “played with a couple of AIR apps”, why only two? To be honest it’s probably slightly more, but still only very few. I’ve downloaded and installed the Pownce AIR app, now uninstalled as I didn’t use it. I downloaded and installed the Finetune AIR app, now uninstalled as I don’t keep much music on my computer and so it didn’t offer me much more than the in-browser version. I’ve also downloaded a couple of other apps out of interest but only was looking out of my interest in AIR and not so much because of the usefulness of the app. All gone, I currently have zero AIR apps installed.

The fact I uninstalled them isn’t really the point i’m trying to make, for me, those apps just didn’t add much value so I removed them, that could be the same as on any platform. The thing that bothers me about AIR apps is how few I can be bothered to try. I generally am not that inclined to download and install the applications in the first place. This is because breaking out of the browser breaks up my user experience. I love RIAs, I love the ease in which I can access, use and share them. These things just aren’t as good when I have to download and install the application I want to use, I just want to use it.

Okay, so the features that AIR offers aren’t available to the Flash player and I do think those features are hugely valuable. I just don’t think running an RIA as a completely separate entity to the browser works too well. A large draw for an RIA is simplicity and availability, both of which out-of-browser RIAs restrict.

Take Buzzword, which is a truely remarkable RIA and in my opinion is superior to any other online AND offline wordprocessing tool. I’ve not seen the AIR version of it which I believe is on it’s way and I can already see that what AIR offers will be a great addition to it. But wouldn’t it be even better if all the connectivity detection, local file storage, drag and drop etc were available to the in-browser version? If installing AIR gave me all those capabilities as an in-browser resource as well as a stand-alone runtime? Okay so no custom chrome for in-browser. Big deal! Apps like Buzzword already stamp such an impression with their branding and interface you really easily forget you have some boring browser buttons up there. We now have full-screen in Flash Player, let’s work out those secrity issues and make more use of that.

I know it’s not so easy with all the security sandbox constraints of running in browser but is there really that much difference to me saying “yes let this application i’m installing have access to the nether regions of my PC” vs “Oh, I tried to do something in this online app that wants access to my PC? Oh go on then let it”.

Security gurus can tell me that what i’m asking for isn’t possible and why it shouldn’t be, but I feel as long as I ultimately make the decision on what does and doesn’t have access then it shouldn’t matter whether this is in or out of browser. Am I alone in thinking this? Is this something that will be possible in the not-too-distant? I’ve not done enough homework to answer that but it certainly makes more sense to me as in some ways AIR feels like we’re taking a step backwards.

FOTB 07 round up

Friday, November 9th, 2007

I got back late Wednesday night from Flash On The Beach and want to share my experiences before it’s old news. Firstly, it was an awesome conference (okay so that probably is old news), definitely a huge improvement on last year which was already a great conference. Thanks alot to John Davey and the team for putting the conference together and will definitely be there next year. Thanks also to Aral for letting us stay with him and also happy birthday to him.

Anyway, thought rather than just say how great the speakers, sessions, crowd etc it all was I thought I’d list the sessions I attended and my intended actions as a result of those sessions. It’s proven that you’re far more likely to go through with something if you write it down so I figure i’ll do that here and I can get publicly ridiculed for anything I don’t get round to doing before FOTB 08:

Day One
Keynote
I intend to find out more about Thermo as info is available and I also must poke fun next time I see Holmes & Homes :D.

Grant Skinner - 50 Reasons AS3 Kicks Ass
I’ve played around with AS3 but haven’t yet done very much with it, Grant’s session was a great whistle stop tour for a refresher and highlighting some new stuff to me. I will be grabbing his slides as they become available and will be doing some AS3.

Mike Chambers - Understanding Adobe AIR
Anyone that’s read my blog frequently knows I was a bit of an Apollo fanboy when it first came about. I’ve actually not had too much chance to actually develop anything with it yet. I also have some reservations about AIR. As a result of Mike’s session I am going to give AIR a fair go and develop something and I’m also going to ‘air’ (barf) my opinions and concerns with it on this blog.

Keith Peters - Make Flash Games. Retire Early
Great session where Keith shared his game developing experiences. Very much has triggered my desire to create a game and release it to the world. I do now have a much better appreciation for what will be involved and hope to at least have a bare-bones game of some-sort by this time next year.

Hoss Gifford - The rest of the iceberg
Hoss’s presentation was brilliant and made alot of people feel better about their own trials and tribulations of delivering projects. Knowing that he has gone through the mill and how he’s come out of it stinking of roses puts me at ease. He also planted a seed that’s inspired me to give 3D a go as what he acheived with limited experience was very impressive.

Ted Patrick - Flex and Actionscript 3 worst practices
Ted’s session was a very useful tech session and as I’ve been planning some Flex learning material for my team gave me some great notes and advice. I’ll be using his slides and advice he shared with me after in the training docs I’m putting together.

Aral Balkan - Let’s talk about SWX baby
Despite a couple of technical issues which he handled well and more than made up for in his impromtu session with Mario and Branden, Aral’s presentation has totally motivated me to open Flash and slap some code on the timeline and create something using SWX. Even if it’s just enough code “to fit on a moo-card” :P. I’m also very keen to get involved in the .Net port of SWX.

Carlos Ulloa - Next Generation Websites with Papervision 3D
This stuff is simply insane. I will be giving PV3D a try, end of.

Tink - Flashing Flex
Tink has a great conversational presentation style and his presentation was massively useful on creating custom-looking Flex applications. Even if you didn’t attend his session I highly recommend checking out his slides and source code when he makes them available (hint hint tink ;)) (I think he actually posted it before i’d finished this, thanks Tink!) .Andre-Michelle - Klangfabrik
Whilst I don’t think I’ll actually use any of this in the near future, this was one of my favourite sessions of the conference. Andre is a top bloke and oozed fun and friendliness throughout his presentation. He is also very intelligent and his work with sound in Flash has to be seen/heard to be believed. His session overran into lunchtime and I don’t think a single person gave a damn, sooo much fun and energy, thanks Andre! He was also very funny check out the best quote of the conference here :P.

Brandan hall - The Nooks and Crannies of ActionScript 3
Brandon is one hell of an Actionscript geek, to the point of pretty much reading the docs start to finish! However he also highlighted some great tips and I will definitely be getting hold of his slides and putting his tips into practice.

Joshua Davies, Brendan Dawes, Craig Swann, Robert Hodgin, Erik Natzke, Jared Tarbell
All of these guys have totally inspired me to give up, down tools and just watch the incredible stuff they come up with! If you ever get to see any of the above present then I highly recommend it. Specifically Robert Hodgin’s experiments with Processing have to be seen to be believed. Despite not planning on achiving anything like what these guys can come up with, they have inspired me to occaisionally stop fretting over RIAs, best practices and “proper” programming and just come up with some fun stuff.

Overall, well worth the visit to Flash On The Beach and I highly recommend going next year.

New Flex Builder 2 Pricing - UK too!

Friday, November 9th, 2007

Ted Patrick just announced new Flex Builder 2 pricing, great news. But the skeptic in me had to check the UK pricing as we all know what happens. Well I’m happy to say the UK version appears to be in alignment with the US version!

Flex Builder 2 for less than £150!

I haven’t checked any other products are aligned in price, nor do I remember if Flex was equally priced before but it’s still good news.