An Architect's View

CFML, Clojure, Software Design, Frameworks and more...

An Architect's View

Flash/Flex or HTML?

May 26, 2006 ·

Michael Dinowitz has good blog entry responding to a question from someone who has avoided Flash and doesn't understand why Flex is relevant to ColdFusion developers. Once again, the question of Flex pricing comes up: "What is the end price target for Flex server", the developer asks Michael. As Michael says "Flex itself is basically free." I guess we just have to keep saying it over and over again before the message sticks. Anyway, glad to see Michael posting about this and drawing some great comments, especially from Kevin Hoyt, in response.

Tags: flex

13 responses

  • 1 mga // May 26, 2006 at 7:11 PM

    what does "basically free" mean? i still dont understand. people keep saying it is "free but not really free". if client A wants to use flex in website/intranet B, does she have to pay $0 for flex (disregarding hardware/os costs)?
  • 2 Sean Corfield // May 26, 2006 at 7:41 PM

    I can't understand why people can't understand :)

    There has been so much information put out about FREE Flex 2 development.

    Let's start with the Flex SDK - the compiler and framework code. It's FREE:

    That lets you write MXML and ActionScript and compile it - for FREE - to create SWF files that you can then deploy on any server - for FREE - and run your Flex apps. For FREE. Did we get the "FREE" part there? :)

    OK, then there's the (optional) Flex Builder 2 IDE, based on Eclipse. That will be available to BUY for "under $1,000":

    Then there's Flex Data Services. This is the "enterprise" piece that provides real-time messaging and data synchronization etc. An entry level version of FDS will be available for FREE:

    Finally, read Ben Forta's blog entry (5/8/2006) where he talks about Flex development being FREE - here's a small quote:

    "So, in a nutshell, with Flex 2 Adobe will sell two things:

    1) Flex Builder: Once you try it I think you'll decide that it is well worth the money. But if not, no problem, use the free Flex 2 SDK and an editor of your choice.

    2) Flex Data Services: And an entry level version of FDS will be available free of charge.

    Or put differently, you will be able to build Flex 2 for FREE! Yes, FREE! Free as in nada, zilch, zip, zero, nothing, naught ..."
  • 3 Scott Stroz // May 26, 2006 at 8:24 PM

    How much was that again? ;)
  • 4 Kevin Hoyt // May 26, 2006 at 9:03 PM

    What I think is most confusing is that the term "Flex" doesn't apply to a single product, but an entire product line...

    First there's the Flex Framework, which consists primarily of an extensive class library filled with components, validators, formatters, effects, data connectivity, utilities and more. Generally in the context of the Flex Framework we're also referring to MXML and ActionScript 3. To be clear however, the use of ActionScript 3 does not necessarily imply the use of the Flex class library, whereas the use of the Flex class library is dependent on ActionScript 3.

    If you take the Flex Framework and include command-line compilation and debugging tools, then you'd now be talking about the Flex Framework SDK. This is all you really need to start developing Flex applications, and Adobe has said that this SDK will be available for free. You might also notice that in the Flex Framework 2 Beta 3, the source code for the class library is also included.

    To make a couple of loose analogies, you can think of this as the SDK you download from Sun when you want to get started with Java development. Or likewise the .NET Framework from Microsoft. These are free tools offerred by their respective vendors, and are complete enough for developers to begin building applications.

    The question becomes then, where do you write your code? Do you like Notepad? Vi? One of the countless other text editing software that are available on the market? If so, that's great! "Flex" for you then is "free".

    What if you want a little more? What if you'd like integrated debugging? What if you like a WYSIWYG environment? What if you'd like intelligent code hinting, code completion, property inspectors and so on? It's likely, though not required, then that you'll turn to Adobe's commercial (i.e. pay-for) IDE called Flex Builder 2.

    To go back to those analogies of Java and .NET I made earlier, developers using those technologies might likely turn to a more robust IDE as well. In the case of Java there's IntelliJ IDEA, NetBeans, Eclipse and many others. Most .NET developers will likely turn to Microsoft for their IDE, but there are alternatives such as SharpDevelop. We're also already starting to see alternatives to Flex Builder.

    Whether you're talking about .NET, Java or Flex, the IDE is really building upon, and leveraging, the SDK itself.

    Now let's say that you've come to find out that your application would be more easily built, and more efficient, if you leverage Java objects directly. Or perhaps a requirement has emerged where you need to push data to the application from the server (versus an intermittent request/poll from the client). Maybe you'd like to add chat or other types of collaboration to your application?

    Remember that you're now building "rich" internet applications (RIA). These applications can operate quite efficiently on data without accessing the server all the time (unlike HTML). How are you making sure that two or more people aren't working on the same data at the same time? Have you considered how the application will handle displaying larger sets of data ... say 20,000 customer records?

    When you get to this point you've arrived at the need for the Flex Data Services (FDS). Adobe has announced that there will also be a free version of the Flex Data Services, but you can expect commercial licensing as well. There's a much deeper exploration to be had of the features of FDS and how they are used, but that discussion goes well beyond the context of this comment.

    I'd be remiss in my duties if I didn't also mention Flash Player 9 which is the powerhouse that makes the magic on the client happen, and which is also free. There's also the often neglected Flex Charting components for which there will be a cost.

    Is Flex "free"? If what you need is the SDK and/or the free version of the Flex Data Services, then yes. I suspect that the term "basically free" comes from this point of view. There's a lot more to it than just what's free however, and I'd encourage you to explore further.

    PS - Thanks for the props, Sean!
  • 5 Rey Bango // May 27, 2006 at 9:57 PM

    Exactly how you explained it to me Kevin.

    So to sum it up, the only components of the Flex product line that will ever be purchased are:

    - The FlexBuilder 2 IDE
    - An enterprise version of the Flex Data Services

    Sounds like a good deal to me but I'd really like to know what the capabilities of the free version of the Flex Data Services will be. Its just too powerful of a component to not use in serious Flex development.


  • 6 altimage // May 28, 2006 at 8:57 PM

    one major thing that keeps me from using either flex or flash as a frontend to cf is the fact that the canvas can't be dynamically sized. We use a lot of hidden form elements that appear on teh page based on user input. Having a form eventually scrolls just inst a good solution for us.
  • 7 Kirk Mower // May 28, 2006 at 11:33 PM

    Can you give us any information on a possible release date, other than "the first half of 2006" -- eg., any hints etc of whether or not this will push beyond June 30 (my idea of the the 'first half'). I need something for a development sell to a client. Thanks Sean.
  • 8 Sean Corfield // May 29, 2006 at 2:54 PM

    Kirk, if you have a sale that is dependent on the availability of Flex 2, you should talk to Dave Gruber or someone else on the product teams about it.
  • 9 Kirk Mower // May 29, 2006 at 5:26 PM

    Fair enough. I'll search for Dave. I didn't intend to annoy you, it's just that I am excited about this project and would like to be a little better informed. Thanks.
  • 10 Sean Corfield // May 29, 2006 at 7:51 PM

    Kirk, I didn't mean to sound annoyed - I just don't have any information about the release date so I can only point you at the product team who may be able to assist you in terms of how you should pitch the sale. Obviously, they would love to see people like you selling Flex 2 as a solution and they have far more information than I do.

    I haven't even used Flex 2 yet!
  • 11 Kevin Hoyt // May 30, 2006 at 7:00 AM


    For what it's worth, this isn't entirely true. I have a Flex 1.5 example in which the Flash canvas is resized dynamically based on events from within the Flash movie. To be fair, this is done in a DIV and not the main HTML page, and I haven't tried it there. That being said, if it works in a DIV, I'm not sure why it wouldn't elsewhere (though I've not tried it).

    I think it's interesting however to see the way you approach the problem. We see this very regularly in that HTML form developers get Flex and quickly make richer forms - generally complete with a submit button. The problem is that Flex isn't an HTML page, so applying the metaphor can be problematic. It might help to visualize the problem as a desktop application might approach a solution.

    There's lots of different examples of desktop applications requiring large amounts of form-field data. Most of the time however we just call these "wizards". Think about an installation wizard and all the information it needs to know about where you want to put software and how you want it configured. The ColdFusion installation wizard as an example actually custom builds your configuration on the fly based on the options you've selected.

    My personal favorite is the wizard in Dreamweaver for configuring a new site. It changes the screens that are presented, and the fields inside those screens dynamically based on previous selections. I've used this technique with customers before, often coupled with rules engines, to quite literally simplify collections of thousands of form fields. Even better is that once refactored into a wizard, there's actually been surplus room for inline, context-sensitive video help and the likes. Now that's an experience!

    I'm a big fan of the right tool for the right job though, and if HTML forms work really well for you (and your customer/end user) then don't break what isn't broken.
  • 12 Ivelin Ivanov // Jun 8, 2006 at 1:58 PM

    Flex has the potential to change the client side experience at a mainstream level. Kudos to the Adobe team behind it.

    I would also like to understand better what features of FDS will be free and what will be for pay. Convenient integration of Flex clients with JEE servers will be a big milestone for the adoption of the Flex platform.

  • 13 tilespace // Jan 12, 2007 at 3:05 PM

    I know this is a little late (whoops!) but in response to altimage's comment, and to follow up Kevin's response to the same comment, I'm currently QAing a Flex2 app for a paper product supply company that dynamically determines the size of the image and then adjusts not only the whole application but also the internal panels, form elements, etc AND dynamically resizes the window itself. It took me a minute to figure out what exactly I needed to do but once I had a general, high-level idea, it became pretty obvious what needed to be done within the Flex app.

    Anyways, my fashionably late response :)