An Architect's View

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

An Architect's View

More Flex?

December 14, 2008 ·

I just received my final evaluation forms from MAX 2008. With the exception of one person who "Fell asleep during presentation. It was offensive.", the comments were mostly positive. There was, however, an interesting undercurrent...The talk - Event-Driven Programming in ColdFusion - shows how to apply the same style of programming that is common in Flex to your server-side CFML code. Consequently, it uses several examples from Flex to set the scene. The intent of the talk is two-fold: 1. to show folks who are new to Flex how to start practicing that style of programming, by way of preparation for Flex; 2. to show folks who are alreday using Flex how to leverage the same style in CFML, making it less jarring to switch back and forth between client and server code. Several comments complained about the Flex content in the talk. They complained that there was "Too much Flex" and that they had come to see a CF talk, not a Flex talk, and that Adobe was pushing Flex too much. It's certainly true that Adobe is pushing Flex very hard and is encouraging CFers to learn Flex. There were several talks about connecting Flex and ColdFusion - and some of the "futures" we were shown also focused on the smooth integration between Flex and ColdFusion even as far as the tooling goes (Bolt was shown creating a Flex-enabled service layer from a database schema). When I've asked attendees at BACFUG about topics, they've often asked for more Flex-related topics so I'm a bit puzzled by the negative comments about Flex content in my talk at MAX. If you started finding more Flex content at your ColdFusion conferences in 2009, how would you feel about that? In 2008, cf.Objective() had three main tracks, one of which was Flex/AIR/AJAX, and two "minor" tracks. CFUNITED 2008 had 13 sessions that covered Flex, either directly or peripherally. In 2009, cf.Objective() has four main tracks and one of those is mainly Flex/AIR (with a little AJAX) so the Flex content is going up slightly. Is that a good thing or a bad thing for you? As a hypothetical question, how do you feel about CFUNITED? Should it stay with about 20% of its sessions covering Flex? Should it decrease that and stay mainstream CFML? Should it increase that and offer more Flex content for CFers? Perhaps even enough Flex content to attract Flex developers too (and then expose them to CFML)? I'm curious how CFers at large feel about Flex and Adobe's promotion of it?

Tags: adobe · adobemax08 · air · bacfug · cfobjective · cfunited08 · cfunited09 · coldfusion · edmund · flex

36 responses

  • 1 Mark Fuqua // Dec 14, 2008 at 6:41 PM

    Flex and coldfusion...I'd like to see more talks like the one you gave at max...integrating coldfusion with flex and maybe even some talks about using frameworks like Mate with coldfusion. More Flex is my vote.
  • 2 Drew // Dec 14, 2008 at 6:46 PM

    I started out doing Flex with other server backends (mostly java) and it's only been in the last year that I've had an opportunity to star using CF. I too had some MAX sessions where I thought the content didn't meet my expectations based on the description, but still walked out knowing more than when I walked in.
    I think it's a great thing to show how Flex and CF complement each other (and how much better the development process is when compared to other platforms!)
    But I would hope that conferences that target specific technologies would make that technology the dominant focus. Keep Flex at 80% for Flex360, CF at 80% for CFUnited, and keep MAX the mixing ground for everything Adobe (well, maybe better descriptions ;D)
  • 3 barry.b // Dec 14, 2008 at 7:48 PM

    yeah, well, our local CFUG has been spending a lot of energy on teaching Flex to members. A good number really want it so the public has spoken.

    I really don't know why tho... our city has a dedicated Flex group which the CFUG'ers have shown no interest in. They want Flex to be handed to them on a CFPlate, perhaps?

    meanwhile, an Adobe staffer was conned into showing off a bunch of internal AIR apps and waxing lyrical on where AIR would be a good solution as another consumer of ColdFusion services (and re-using CFUG'ers HTML and Ajax skills) and why AIR was chosen so they could taste the dogfood. Attendance was disappointingly underwhelming.

    Flex and hype: people love it, people love to hate it. ya can't win.
  • 4 jeff // Dec 14, 2008 at 11:15 PM

    I guess I'll step in to give a viewpoint along the lines of those Sean referred to (even though I may reveal my ignorance in the process).

    I tried to get to a bunch of beginner Flex stuff and Flex/CF integration stuff at MAX this year to try and educate myself on what I'm missing by not jumping aboard the Flex bandwagon. I think I better understand what Flex is good at and good for, but don't see myself changing anything about my pure CF/AJAX approach to web development. Part of that has to do with the fact that I have customers who won't allow a flash-based app (don't ask...I work mainly in government, so it doesn't have to make sense).

    Anyway, reasoning aside, I feel like I know enough about Flex for now and want to get back to my regularly scheduled programming of pure, clean, unadulterated, CF. I'd like to see more pure CF at MAX and no less at CFUnited. There were CF topics that weren't even touched at MAX (charting, reporting), which was disappointing.
  • 5 Gary Gilbert // Dec 15, 2008 at 1:35 AM

    Hi Sean,

    I was at Max Milan this year and I felt that compared to Max Barcelona I learned very little new stuff where Flex and CF were concerned, most of the sessions used the same examples as last year!

    The only sessions or labs where I learned anything was in the AIR class where it covered the new 1.5 stuff.

    I think Flex is important as a presentation layer for CF'ers. In the same token people go the labs to learn something, if all we are doing is pointing the wizards to a DB and letting it build all the LCDS stuff for us then we aren't really learning anything new at all are we?
  • 6 Paul Carney // Dec 15, 2008 at 4:56 AM

    Sean - I believe that what you are seeing and hearing is a result of 2 issues with the jump from all-CF coding to a combination of Flex and CF: Fear and lack of time to learn Flex enough to be productive with it.

    As someone who knows CF inside and out, I am comfortable with it. But I have not been able to learn Flex to the level that I need to, mostly because of focusing on growth of the business and "getting things done" with CF.

    I understand what Flex can do for us and my 2 senior architects are very focused on learning Flex and deploying apps with it combined with CF on the back-end.

    I believe what you are seeing is fear of the unknown. Seeing Flex pushed so much has caused the people who know CF well but don't know Flex well to be fearful, especially since developing in Flex is very different from CF. I am in that camp somewhat, but my issue is time to learn Flex, not fear of it.

    I hope that helps you understand why you are seeing those comments. It's going to be a while before most people have the time to really delve into Flex and get productive with it. Until then, there will be a lot of fear.
  • 7 Dan Vega // Dec 15, 2008 at 5:38 AM

    Barry brings up a great point. It really seems like the CF community is treating Flex as 2 different solutions. On one side there is Flex this great RIA framework to allow you to create expressive applications. On the other side is this great RIA framework that connects to ColdFusion and while they know how to put a button on the screen they are more interested in how to grab data from a query.

    Great post and I hope to hear some more on what others think because I would love to see more adoption of both technologies by the community.
  • 8 Rick // Dec 15, 2008 at 5:51 AM

    People come to a Coldfusion conference for Coldfusion. I use javascript at work and happen to think that javascript and CF is under represented at conferences.

    I expect some Flex because conferences want to please their sponsor. But too much and they can definitely expect some push back.
  • 9 Thomas Messier // Dec 15, 2008 at 6:06 AM

    I had no problem with your talk using Flex because it was more of a design pattern talk, you could have used any language that's typically more event-driven and it would have been the same.

    I am, however, one of the people who's not so interested in Flex and feel like it's getting all the push. For example, with AIR you can go the Flex route or the AJAX route. Unfortunately, I felt that at MAX Flex got way more press than Ajax. There's a lot more going on about ActionScript than about javascript. Even for LCDS, I attended a few sessions and everything was always done with Flex, even though I asked Christian Coenrats and he did tell me there were libraries to use LCDS via javacript. As far as MAX goes, I'm not surprised because it is after all Adobe's conference and they're gonna push their products. For other conferences though, hopefully the balance would be more even. But then again, if everybody loves Flex and wants more Flex and I'm a minority, I guess it only makes sense to have more Flex, I'll just have to live with it.
  • 10 Andy Sandefer // Dec 15, 2008 at 8:14 AM

    I've spent a great deal of time working with all of the AJAX awesomeness that's packed into CF8. That being said I think that if I have a real future with CF it will have to include me learning FLEX. I think that a lot of folks at Adobe and a lot of prominent CF users (based upon recent releases it looks like your company is leaning this way too Sean) are probably seeing the future of CF as middle ware. Everything that I'm seeing recently points to a future where CF is used for server side processing and everything else is done in FLEX/AIR. Am I dead wrong or is there some truth to this?
  • 11 Sean Corfield // Dec 15, 2008 at 8:38 AM

    @Andy, well, I've always thought CFML is excellent middleware and many of the applications I built with CFMX7 had no UI (they were mostly event gateway applications). In fact, I've only built a handful of CFML applications that have an HTML UI!

    At Broadchoice, we use Groovy for our back end and Flex for our front end (in an AIR app) and when we build HTML apps, we use CFML, wrapping the Groovy services (so we use CFML as View / Controller with the Model in Groovy / Spring / Hibernate).

    Some of the stuff Adobe has shown / talked about for Centaur further cement CFML's role as a middleware language.

    My personal feeling is that every CFer should learn Flex. My post was born out of surprise at the negative reaction to Flex amongst CFers (I hear it on lists too, as well as at conferences) so I'd like to hear from more CFers who think there's too much Flex being pushed.
  • 12 John Wilker // Dec 15, 2008 at 8:44 AM

    I think a mix of techs is good, but I think conferences are straying from both their core strengths as well as their core audience. I think this is more to capture more audience than anything else.

    Throw in some Flex to lure Flex developers, and to not lose CF'ers that might be interested in Flex. I think it hurts the audience more than anything.

    They end up with a track that's an after thought, and not very big, or advanced. So they come away with "I know a tiny bit, but not really sure it's what I want" when they could have gone to an event that is more focused.

    We usually have 2 maybe 3 sessions that talk about CF. In a track focused on integrating Flex with well anything. I think CF events, serve their audience best, focusing on CF. What's next, a track on PHP or Silverlight at CFUnited? Or Lazlo? Titanium?

    I think if CF'ers want Flex, they should go where Flex devs go.

    Sorry that sounds more like a pitch for 360|flex than I wanted, since I really don't care if CF'ers come to 360|Flex or Flex Maniacs or whatever. I just think conferences dilute their offering trying to win more audience.
  • 13 Thomas Messier // Dec 15, 2008 at 8:50 AM

    @Andy,

    I agree with you on the CF as server-side engine deal, but the issue is that Flex is not the only option available on the frontend. Javascript/ajax is an alternative way of doing things that is favored by some people (myself included) over Flex. As such, while I did take interest in learning some Flex basics, so far I'm not interested in making it my preferred platform for frontend development. As such, going to MAX and seeing most sessions geared towards Flex wasn't that interesting for me. Actually, all the developers in my group were javascript people, and all have looked into Flex and haven't been persuaded to jump ship as of yet.
  • 14 Don Blaire // Dec 15, 2008 at 8:59 AM

    Though learning about Flex is very interesting, I will not use it in my current environment. Management wants no Flex/Flash applications because they want the web pages accessible to "all" users. Though Adobe shows statitics of most people having Flash, I know that several of our important customers have systems with no Flash installed. Some of these sites have "old" computers. Other sites do not allow Flash because they feel it is a security issue. Personally therefore Flex is not useful for me, but definitely CF is.
  • 15 Rachel Lehman // Dec 15, 2008 at 9:06 AM

    I personally like to see a decent amount of Flex content at a CF conference, and I'm assuming when that's the case that it's Flex from a CF angle - using CF with Flex, Flex for CFers, etc. It makes sense because for any projects where I need Flex, CF is going to be my back end choice.

    The other reason I like to see a wide variety of content at CF conferences is because I may not always have the budget to make it to a dedicated Flex conference, but I want to keep my skills up to date and be aware of the basics. If at some point my job entails knowing Flex really well, then I can justify going to a 100% Flex conference.
  • 16 Sid Wing // Dec 15, 2008 at 9:43 AM

    I have fielded a few projects in CFML and Flex - but I have an underlying problem - FLASH. I work on a lot of "closed systems" and ANY software that gets installed on the client machine has to run through a security and standards approval process. Working for the Gov't can sometimes be a real killer when it comes to innovative problem solving and application design. While I have tested the Broadcom product (and like it very much) - I'd never be able to use it unless I could field it on the "closed" network - just as an example - and it had undergone very structured security tests and compliance testing.
  • 17 Thomas Messier // Dec 15, 2008 at 10:24 AM

    IMHO, getting an understanding of the basics is simple enough for the average developer to do on his/her own. I've been to a number of Flex introductory sessions, and I feel that I could have figured that stuff out reading tutorials and docs online. The sessions that really come through for me are the ones that deal with things that are harder to grasp by reading. Sean's preso is an example. Event driven programming is a more abstract concept, so it's easier to "get it" with a session and some examples, as well as the possibility of asking questions. But "how to do a data grid in Flex" to me doesn't qualify, there are enough resources online to figure it out. I'd rather have less, more focused topics, with the possibility of more advanced sessions. Again, in the case of MAX I understand because it's an Adobe conference, they have a lot of ground to cover. But if I was at CF United, I wouldn't be happy with tons of Flex stuff and other things not getting covered.
  • 18 DanaK // Dec 15, 2008 at 10:31 AM

    I tend to agree that the Adobe Flex push is pretty in your face. That is probably why some people find it daunting, because most other Adobe products I cannot remember seeing this level of marketing for. I think I receive just about 2-5 daily Adobe emails now on a variety of topics (mostly product advertising). It's not a bad thing, but I can see how some people can get turned off.

    As far as conferences go, they are booking topics hopefully on educated steering of the trends for our industry... no problem with that.
  • 19 Liz Frederick // Dec 15, 2008 at 10:52 AM

    Great post, Sean. On our internal advisory board list we discussed some of this. And you asked in your blog "what percentage of CFUnited should be CF and Flex""

    Some people said "Keep it mostly CF". However a lot of people are saying they know they have to learn Flex and it has to do with time to learn it.

    What if CFUnited gave you the option. All the CF you can jam into 3+ days.

    However, lets say for some of those people they start to think that this is the opportunity to take Flex by the horns and concur it.

    CFUnited is supposed to be large enough to do this, do you think? I want attendees to trust that we are bringing them knowledge and new opportunities.

    From some of the posts here I think people understand the benefits.

    So we need to think of Flex as a step brother. We may not like him because he just moved into our room and he got the top bunk. We can learn something from him and even have fun building things together. Maybe even become friends.
  • 20 Neil // Dec 15, 2008 at 11:14 AM

    I have made the argument on Ray Camden's blog for years that w/ AJAX and JS UI libraries like EXT, Flex is simply too heavy and an unnecessary technology.

    I haven't played w/ Flex since the initial introduction, but it was VERY heavy, and applications took a LONG time to load. While EXT isn't necessarily _lightweight_, I already know JS, and don't feel that the benefit brought to the table by Flex is enough for me to bother w/ it.

    I have been writing CF applications for a long, LONG time (mid-late 90s) and think CF should stick w/ what got it to where it is: RAD. Adobe trying to hitch a heavyweight technology to its star is not in the best interests of the existing development base, in my opinion.
  • 21 Sean Corfield // Dec 15, 2008 at 11:31 AM

    "We may not like him because he just moved into our room and he got the top bunk."

    That's absolutely classic! Thanx Liz - gave me a big smile!

    @Neil, well, I actually find it faster to build prototypes of some apps with Flex than with AJAX. There's still too much UI "plumbing" involved with AJAX for my taste - and the mixed idioms of building services (for data-centric controls) and building UI (for HTML pages / fragments).
  • 22 Andy Sandefer // Dec 15, 2008 at 11:36 AM

    @Neil
    As much as I love CF I think that FLEX is now the "star" and more folks might adopt CF simply because of easy FLEX integration. Who gets more general press and what tools are being used to build very high profile public apps and sites? I think that FLEX is probably bigger than CF already. Like Flash, FLEX has a lot of widespread appeal. That's why I made the statement earlier that I was probably going to have to learn it if I was going to continue to be a CF developer. Just an opinion but they're (Adobe) putting way more eggs in the FLEX/AIR basket than anything else.
  • 23 Thomas Messier // Dec 15, 2008 at 11:58 AM

    @Andy,

    Flex may be getting a lot of press, but I find it to be more confined to the CF community. Among the blogs I follow, only on the ones that pertain to CF is anybody talking about Flex. I seldom (not to say never) hear about Flex on the sites/blog that I read that are not CF-related. Whereas the amount of press on javascript/ajax is large and diversified. So I don't think going with Flex is a must at all for CFers, if you go with javascript/ajax you're probably going with something that has a much higher adoption rate overall (which doesn't mean it's better). If you think Flex kicks ass, excellent, learn it and hopefully it'll make development better for you. But I disagree that it's essential to learn it to continue to be a CF developer.
  • 24 Thomas Case // Dec 15, 2008 at 1:18 PM

    Sean,
    Thank you for bring up the topic. I, myself, am mixed in regards to more or less Flex at ColdFusion conferences. I will start with the negative viewpoint.

    One of the first and foremost goals of ColdFusion conferences should be to further the use of ColdFusion and increase the knowledge base in the ColdFusion community of how to better utilize the product. While Flex, may fit into this goal, it is my opinion that many presenters (at least at last years CFUnited) focus on using Flex as a front-end and/or, mistakenly, promoting the idea that to develop for Air, one must use Flex. I appreciated presentations like Ray Camden's that did focus on the AJAX abilities of ColdFusion, and I think this is an untapped area.

    Now my counter-argument is after struggling the past few weeks with the idiosyncrasies of CF Ajax, like the datagrid, I for one, do appreciate the standardization in ActionScript that Flex provides. With AJAX, there is ExtJS, there is YUI, there is jQuery, there is Spry, there is Atlas, and the list goes on. Each library performs some functions really well, but none are fully complete when compared to Flex's API. Add to this the CSS style issues, and one can spend hours getting an AJAX based interface working the way they want, even if it is targeted for the Intranet and a common browser platform. The beauty of Flex, as a front-end, to CF-based applications, is its common way of working.

    I feel where Flex falls short, right now, is the fact that the IDE is a separate additional cost. Let's hope that one can buy Bolt plus Flex together, and not have to purchase separately. If this happens, I believe more CF developers would use Flex.
  • 25 John Gag // Dec 15, 2008 at 1:31 PM

    We have both flex and cf user groups. If you want more flex then go to the flex group :)
  • 26 johans // Dec 15, 2008 at 1:44 PM

    Whilst you do not need know Flex to be a CF developer and you can join Flex or CF groups as you prefer, I think it is important to have exposure to the combination of Flex and CF.

    CF/Flex integrate easily and the combination can deliver great solutions. Any CF developer should be excited and motivated by Flex.
  • 27 barry.b // Dec 15, 2008 at 2:39 PM

    OK, since this is a hot topic / pain point ...

    how much Flex (and let me add AIR) content (and what topics) should be at a dedicated ColdFusion conference?

    perhaps use cf.Objective() just as an example (since many here have likely heard of it and possibly gone to one), although Scotch is as likely a candidate.

    (just curious, that's all. "should", not "what was")
  • 28 Sean Corfield // Dec 15, 2008 at 3:29 PM

    @Barry, based on past topic lists and what I know of next year's plan (for cf.Objective() at least), it's in the 10-20% range.

    The feedback that I'm getting _from folks who actually quote a percentage preference_ is that 80% CF / 20% Flex is OK but tipping it further is controversial.

    (Hmm, that sounds like the "8 out of 10 owners - who expressed a preference - said their cats prefer Whiskers" campaign!)
  • 29 Ray Buechler // Dec 16, 2008 at 1:16 PM

    I don't have an issue with 20% of a CF conference being Flex related.

    My issue and this is more general rather than specific to conferences is that there seems to be a lot of basic introductory stuff on Flex for CF developers and some advanced stuff but not a lot of intermediate stuff. I am interested in Flex but I am having a difficult time bridging the gap between CF and Flex.

    So what I would like to see at conferences are more hands on sessions that intermediate level for those of us having trouble getting over the hump.

    I hope that makes sense!

    Ray
  • 30 John Wilker // Dec 16, 2008 at 3:12 PM

    @Ray,

    I think that gets into the trouble area. 20% isn't a lot, so how to split it up. At some point, it just makes sense to dive into a Flex conference, or a conference like webmaniacs at least.
  • 31 William Bowen // Dec 17, 2008 at 9:51 AM

    I would echo some of the comments expressed earlier and state that all of the CF I do is on government contracts. And quite a bit of it is on old intranet sites, etc.

    If you work for the government then you know two things - they dislike Flash (accessibility, closed system/security requirements, etc.) and they are slow to adopt new technologies.

    We just now finally got CF 8 approved. I've been weaning my clients onto richer apps with AJAX and jQuery powered applications but FLEX would be a virtual impossible sell in the current climate.

    The average CF developer is not affluent like most of the CF community here. Their clients aren't adopting FLEX and playing around with tutorials and home apps is all well and good but won't really get you involved on a practical level.
  • 32 Chris Rockett // Dec 17, 2008 at 4:23 PM

    I believe the question of whether a CF user is interested in learning Flex has more to do with how they program in ColdFusion than anything else. What I mean is, there are still many CF developers out there that are not using MVC, OO techniques, Event-Driven Programming, Web services and the like and programming in Flex requires that you have knowledge of those techniques and others. To those folks, examples of how to program in CF the same as you would in Flex seems like Flex is being foisted upon them.

    People on the other side of the fence who are using CF as a middleware layer with the afore mentioned techniques at the core of how they program see Flex as another way they can create rich interactive experiences to connect to their back end. So, they would be more likely to want to learn how to integrate Flex into what they know.

    At a conference you generally have a broad spectrum of skill levels in the attendees and the trick is knowing where the majority of them fall. For CF.Objective() I would think most of them fall into the second category cause that's what it's billed as, an advanced/enterprise CF conference. Whereas for CFUNITED, the attendees are more likely to be in the first group or transitioning to the second and may not be as interested in Flex because they are less familiar with the techniques needed to understand it.

  • 33 Bina Shah // Dec 18, 2008 at 12:53 PM

    Decrease Flex and stay mainstream CFML.
  • 34 PBuchanan // Dec 18, 2008 at 1:46 PM

    Most comments above are great - so I'll just summarize my 2 cents.

    If I went to signup for a CF conference and they did not Flex offerings I would not attend.

    Adobe has gone through great lengths to make these 2 technologies work well together and CF developers that ignore Flex will be our modern day Cobol programmers, I'm afraid (this year I've gone from 90% CF and 10% Flex -- to 80% Flex, 10% CF and 10% .net)

    Think about it - if you didn't offer any courses that were not CF specific you would have to kill any about Spry, Ext, Verity, etc.

    If the course description mentioned Flex, expect Flex.

    Just my thoughts
  • 35 John Wilker // Dec 18, 2008 at 2:15 PM

    @PBuchanan

    So in your model of now 80% flex, are you still attending conferences mostly ColdFusion? At what point should some one make the switch and just attend a different conference or attend two? Should CF events spread themselves thinner with Flex. dropping even more CF content?

    This is interesting since to me, it makes sense to do something good even if it's one thing, than do to several things only "ok", which seems to be the trend with CF events tossing Flex and AIR into the mix.
  • 36 Jeffry Houser // Dec 23, 2008 at 5:01 AM

    @Thomas

    "Flex may be getting a lot of press, but I find it to be more confined to the CF community."

    I used to think that CF was being promoted primarily to the CF Community; however after running The Flex Show for two years, I can assure you that is not the case. CFers dealing with Flex are in the minority.

    I would expect that if you exist in the CF Community as a CF Developer that most of press you see would come from that same community.