Tuesday, October 30, 2007

Cairngorm vs PureMVC : a quick comparison

After watching Ali Mills and Luke Bayes presentation comparing the available Flex Frameworks I decided it was time to have a much closer look at PureMVC. After spending some time getting familiar with PureMVC it is hard to argue with their conclusion that PureMVC does a better job of solving many of the potential problems of using an MVC pattern. PureMVC is less dependant on Singletons, individual components are more reusable because they have fewer dependancies and there is less repeatition in setting up new functions within the framework. Despite all of these benefits I'm not convinced that this makes PureMVC a clear winner.

Towards the end of the Framework comparison presentation it is pointed out that Cairngorm is the framework that all Flex developers need to know. Well it would be nice if there were a few more developers in Melbourne who know Flex. Let alone developers with an understanding of Flex Frameworks. So the question I asked myself is if I had to train someone new next week who was unfamiliar with any Flex Frameworks which Framework would I want to teach them. The following table lists the concepts you need to understand for Cairngorm development compared to PureMVC. What is immediately evident is that there is a lot more to learn to get up to speed with PureMVC. To achieve a cleaner/purer framework PureMVC has added more complexity and this is a problem when you need to train people to use a Framework. When we started using Cairngorm it didn't take long to explain the basics of the Framework. But I think it would take a lot more explanation to get started on PureMVC despite the similarities in the two frameworks.


CairngormPureMVC
Model
View
Controller
Command
CairngormEvent
Delegate
Service
Model
View
Controller
Command
Facade
Proxy
Mediator
Observer
Notification

Friday, October 26, 2007

Ben Forta is coming to Australia

Just read from Ben Forta's blog that a number of Coldfusion 8 (+ some Flex and AIR stuff) events are planned for Australia in November. Ben Forta is a Coldfusion legend and any opportunity to hear him talk shouldn't be missed. The dates are :
  • November 20th: Sydney
  • November 21st: Brisbane
  • November 22nd: Melbourne
  • November 27th: Perth

Thursday, October 25, 2007

Google v Microsoft

Quote of the day :

"Mozilla’s financial statement really puts the browser battle into perspective. It’s not Firefox vs. IE as much as it is Google vs. Microsoft."

Mozilla banks Google bucks; Builds a portfolio

Wednesday, October 24, 2007

Hunt Coward

Sidewalk graffiti : Hunt Coward

This is totally off topic. For readers outside Australia we have an election coming up and our current Prime Minister is John Howard.

Friday, October 19, 2007

Flex List : to click or to itemClick

Every interactive Flex component has a "click" event that is triggered when the component is selected by the mouse. It quickly becomes an ingrained habit to add a click event to components you want users to select. This habit lead me into trouble with a List component.

The "click" event for a List occurs whenever any part of the List is selected. For example, selecting the up button of the scroll bar will cause the List component to emit a click event. This isn't the event you want to respond to if you are trying to detect when an item in the list is clicked. The actual event I needed was the "itemClick" event. It seems like a small thing but it made a big difference to how my small application worked.

Flex Frameworks Reviewed

Just spent some time watching a presentation by Ali Mills and Luke Bayes which reviews the available Flex Frameworks. If you are looking for an up to date summary of the available Flex Frameworks you really can't go past this presentation. If I were to summarise their findings it's that most Frameworks are still too immature. The two exceptions they identified were Cairngorm and PureMVC. They felt that Cairngorm was too tightly coupled to it's Singleton's and that this made unit testing very problematic. In contrast they were very taken with PureMVC. They felt it was a more elegant solution despite it's use of Singleton's. If you are interested in Flex and Frameworks you should watch this very informative presentation.

Update : a post presentation debrief (with link to presentation) is available. The most interesting addition here for me is the following quote :

"Doug McCune brought up a really great point about Cairngorm. He mentioned that if you’re a contractor that is working on other people’s projects and going from client to client, the only framework that you must know is Cairngorm. He made the point that it’s the most likely Application Framework that you’ll encounter within the enterprise. We both agreed with that point, but added that you should investigate PureMVC as the very next step."

David Tucker : Getting Started with Cairngorm

We've adopted Cairngorm as our preferred framework for Flex development. Now we are up and running with it we are finding it clear and simple to use and that is starting to show real dividends in terms of speed, flexibility and reliability.

But we did find it quite hard to find a good starting point for getting up and running. Essentially we had to setup a few of the Cairngorm example apps (available from cairngormdocs), open all the files and flick backwards and forwards between them until it started to make sense. The good news for newbies is that a few brave souls have started posting getting started articles. The best of these so far is from David Tucker. I'll add links to the various parts as he adds them :

Saturday, October 13, 2007

Surrender (to Guitar Hero)

My question today is how off topic can a post be and still be on topic. I ask this because my son brought home Guitar Hero (for the Playstation ) yesterday and despite being very bad at it I'm totally addicted. It's terrible to discover that much cherished favorites like Cheap Trick's Surrender are a walk in the park. While a deceptively casual sounding Nirvana track is almost impossible to master (for me at least). What I really love about Guitar Hero (and no doubt a reason for it's success) is that it is so far removed from all the battle/adventure games that have been dominating the market. Gaming was sadly in need of some diversity and Guitar Hero is evidence that new ideas can succeed. So now for all the air guitar wannabees out there ; all together 1..2..3...

Movable Life : Second Life for everyone enjoying their First Life.

Just discovered a neat application called Movable Life. Movable Life allows access to Second Life through a web browser. It offers very basic functionality. Providing a Google maps style view of Second Life. While allowing access to your inventory and a way to chat to friends. Which may be fine if you see Second Life as an over hyped chat application. If your interested in finding out more about Second Life but don't want to bother with the elaborate install and signup process then Movable Life may be for you. But don't expect it to offer much insight into what all the hype is about.

Thursday, October 04, 2007

MAX : Sneak Peak Videos

A lot of very interesting videos are emerging from MAX 2007. But they are published all over the shop. So it seemed like a good idea to collect the links here for easy access. Let me know if you see any I've missed:

Tuesday, October 02, 2007

MAX for Melbourne (& Sydney) : Refresh

Adobe Refresh is kind of like a MAX debrief for us poor suckers who couldn't go. The Melbourne Refresh event will take place at Telstra Dome on 31 October, 1.30 - 5 PM. The Sydney event will be on 30th October at the Sydney Convention Centre, 1.30 - 5 PM.

Over the course of an afternoon, you will hear from the local Adobe team as they present on what’s new and what’s happening in AIR, Flash Professional, Flex, Dreamweaver, Fireworks and ColdFusion.

Register

Monday, October 01, 2007

Adobe Share Beta available

Adobe have just released a beta version of a useful new web service. Adobe Share allows users to upload and share up to 1 Gb of files. The service uses an Adobe Id to manage logins. Which is handy for anyone who regularly downloads from labs. The interface for share uses Flex to manage the user interface. It's certainly clear and simple to use. The use of Flex also allows some interested extra features. For example, I uploaded a pdf of a recent presentation. Share provides a url or embed code for sharing this file. The url opens a Share interface with my pdf presented as a book with an additional link to download the document. The book uses the Flash book classes that you are hopefully already familiar with. Consequently there is a very user friendly turn paging experience (not that I'm claiming my presentation is a page turner).

A nice feature is that the files can be shared with anyone or you can select who you want to share the file with. One feature that some systems offer that would be a nice addition is some statistics on the number of views and downloads. But the service is a beta so it will be interesting to see where it goes from here.

I guess it's no coincidence that Adobe announced the purchase of Buzzword on the very same day. Buzzword is a Flex based word processor. Let me see I can edit word documents and save them online for sharing. Do I see a pattern here?