While I was taking some time off, I thought it would be a good idea to give you a peak at what’s running behind the scenes of the MAX widget and why I chose ColdFusion and Flex to build it.
Why ColdFusion?
There are a number of reasons why I chose ColdFusion but the main reason is that I wanted to create something fast and not worry too much about possible config issues when connecting to my Flex front-end. I wanted a solution that I could just quickly install on a new server and be ready to go without the need to add new extensions or plugins. ColdFusion is perfect for that. With one simple install, you have everything ready to go. From Flash Remoting to image manipulation libraries.
The other big reason is also very simple. I think eating our own dogfood is a big part of our job. I’m fairly new to ColdFusion. I actually first touched CF about a year ago on the On AIR Train Tour through Europe. That was the first time I played around with CF after oh… some 10 years of working with PHP. I looked at CF a few years ago and never really took another serious look at it. I’m sure there are many of you out there in the same situation and I would like to invite you to take another look at ColdFusion. CF has changed and matured a lot since the early days and is just a breeze to work with. With a minimum amount of code, I was able to rapidly code my database calls for the widget. Another cool thing about ColdFusion is that once you write your database code, you can use it in a number of different ways. You can directly call the methods using Flash Remoting in your Flex application, call it as a webservice from a mobile Flash application and/or call it from an HTML page without changing anything in the original code. I surely was pretty impressed when I saw that the first time. If you’re a long time PHP user and want to know more about ColdFusion, I’d like to invite you to my session at MAX. I’m going to talk about the difference and similarities between PHP and CF and also talk about what CF can do right out of the box.
Why Flex?
I thought long and hard about this one. Using the Flex framework does add a bit of overhead (about 200k) to my application but the return is well worth it. I also wanted to prove that you can easily do these types of applications using Flex. Even though it’s built with standard Flex components, it looks nothing like a standard Flex application. What’s even more important is that all the transitions and styles you see in the widget are available today. No Flash Catalyst or Flex 4 styling was used in this application. Another reason why I chose Flex for this is the fact that your application becomes so much more organized using the Flex framework. I know there are other frameworks out there that provide similar functionality for pure ActionScript 3 projects but over the last couple of years, I’ve really become accustomed to using the Flex framework and since time was limited I went with what I know best.
Why Flash Media Server?
Well… That’s obviously an easy question to answer. Yes, there are third party solutions and even services that would offer more or less the same functionality but I do work for Adobe and so I also chose our own dogfood for this task. It also just works. You download the installer package, install the server, run it and you’re ready to go.
How long did it take to build this?
Obviously the team size is very important in any project. So let’s talk about that first… Oh wait… It was just me ;-) From concept phase to development took just about 3 weeks. That also includes setting up the ColdFusion server and Flash Media Server from scratch, writing the back end and creating a little content management system (pictured here on the left) to easily add facts, administer user videos and check the Twitter stats. I also created a static image version using nothing more than some standard ColdFusion features and reusing the database calls that I already created for the Flash based widget.
Building this widget has been great fun and it was great to also be able to build a real application again. Now don’t get me wrong. Building demos is also a lot of fun but knowing that millions of people are going to see and use this application is a good feeling. Well… Maybe not millions but you have to set the bar high enough, no? ;-)
Anyway… I hope you enjoyed playing around with the widget as much as I enjoyed building it. Hope to see you at MAX in Los Angeles… Oh wow… Is that really just 3 weeks away? I better get back to preparing my demos then ;-)