Archives for November 2005

Continual Improvement

I recently began converting an application written in Flex 1.5/Actionscript 2.0 to Flex 2.0/Actionscript 3.0. As with any new language release there are always things I'm am glad to see included and things I am sad to see go. This time it is no different. I have been anxiously awaiting this release for many reasons but most of all to get my hands on Actionscript 3.0. It promised to deliver a similar jump in capability and performance that Flash 8 provided over Flash 7. I am sure as I spend more time working with it, I will get a better handle on just how much it has improved, but based on what I have seen so far, Actionscript 3.0 is a big improvement over Actionscript 2.0.

The leap in complexity terms for the whole suite of products (Flex, Actionscript, Flash) appears to be quite large. It reminds me of the leap from ASP to ASP.net, one day you had a swiss army knife for developing web sites and applications with and the next day you had a large tool chest full of most of the tools you could ever want. Looking at all that AS 3.0, Flex 2.0 and Flash 8 now include, I can not help but wonder what will become of all those coders and developers who have done reasonably well understanding the 'current' incarnation of Macromedia's products. A tutorial there, some hacks here, decompile a swf and presto, a 'web developer'. Not anymore. Actionscript 3.0 has just moved Macromedia's core products into a whole new arena and will force developers to either continually improve or get left behind.

I have always felt that a developer's greatest asset is not the languages they know, the speed they can code, or the level of complexity they can understand, it is their ability to learn. In a field where continual change and improvement is the norm, and it happens at a rapid rate, the ability to learn and learn fast sets certain developers apart from rest. If you can not learn new concepts, languages and terms, you quickly end up on the outside looking in. I have worked with many people who were really good, even great, at a point in time and then they stopped learning, and fell by the wayside, technology passed them and their career opportunities by. Anytime I interview developers one of the first traits I look for is the person's history of learning, and their aptitude for learning new things. If they can not learn, especially on their own, there is no sense in investing time and effort in them, because it will all go to waste in a relatively short period of time.

So where I am going with all this. Two places. First, over next while, I will be posting my discoveries, insights and headaches as I learn more about the new Macromedia releases. Secondly, and more importantly, as I learn, I want to pass on that knowledge to others who want to learn and keep up with the change, so that they can push the boundaries of what is possible with this release from Macromedia, and continue to push the technology forward so that the cycle of changing and learning continues.

Misguided zealots

Recently came across an really funny post about emerging web development technologies that are coming online and religious fervour that some people follow them with. While very humourous, Scott does hit on some good points. I continually run across techie zealots like the ones he mentions. People who support a specific technology to the end and blissfully ignore all others because "their's IS the best". There is no best, not for all instances. It depends on what the project is, what it needs to do, and ultimately what the client can afford. I used to work for a guy who had a great saying ...

Ford won car of the year with the Escort but do you really want to run a shipping business with Escorts?
Get the right tool for the job, don't ignore better solutions just because it's not your preferred solution.

In the span of a few weeks I have had two very similar discussions with two different developers who are well versed in a certain evil empire's server side technology and not that familiar with another company's slick client side technology.

In the first instance, I was in a meeting discussing the use of Flash to enhance some searching and lookup features in a client's web site and one of their techies spoke up and smugly said "I can do that with .net, style sheets and dhtml". I proceeded to show them how with Flash remoting the screen does not need to refresh to retrieve data, the user can be easily and intuitively guided in following steps, and the entire widget just plain looks nicer than an html based page. He finally conceded, but not without a fight. People just do not get it. I'm not sure if it's ignorance, fear of the unknown, or a combination of the two but, there are way too many people afraid to even consider better technology solutions ..... just because.

In the second instance, I was walking a developer through how Flash remoting works and how it can pass objects and data back and forth between the client and server and either side natively understands what they received from the other. He was initially very hesitant that it would work as advertised and didn't think it was a good solution. We setup some simple tests to send and receive simple data types and then complex data objects. After 30 minutes of 'preaching' he converted. The server side technology they use is perfect for what they need (not my first pick but it does everything they need it to), the client side could be better, and now, based on our simple tests and an open minded client, it is about to become much better.

Click here to read the full post, and keep an open mind.