Welcome!

ColdFusion Authors: Yakov Fain, Maureen O'Gara, Nancy Y. Nee, Tad Anderson, Daniel Kaar

Related Topics: ColdFusion

ColdFusion: Article

Flash for CFers:Getting over the Hump

Flash for CFers:Getting over the Hump

Where do you stand in the march of CF developers moving toward implementing Flash interfaces in your Web apps? Are you gung ho? Still on the fence? Dead set against it? Feeling left out? Left behind?

In this month's Journeyman ColdFusion column, I'd like to take up the cause of Flash for CFers. In particular, if you're a developer who's been feeling left out or left behind, or simply challenged to understand most articles and books on the subject, take heart. In this article, I will share some observations and insights to help get you on the right path.

As I say in my user group seminars on this particular topic, it's like there's a wall you need to get over to get started. It's not that high, but just high enough to make it hard to get started on your own without a little leg up. Once you get that leg up, however, there's a whole world of cool possibilities.

The Challenge of Getting Started: It's Not Your Fault
Have you been impressed with Flash integration, but felt that it was beyond your reach? Have you tried to follow along with Flash Remoting articles, but felt stumped by your lack of Flash experience? Have you tried to read beginner Flash books, only to be frustrated by their focus on drawing, graphics, animation, sound, and video? Or by their wading through every part of the Flash interface?

The challenge of getting started with Flash as a Web developer is not your fault. It's partly due to Flash's heritage as a design tool, and the recent addition of many features for developers. Similar challenges exist for Dreamweaver MX. Bringing together two worlds, designer and developer, has left many resources challenged as to how to present fundamentals to each audience.

Also, Macromedia's showing the Pet Market and Broadmoor examples might also have set high expectations, leaving the average newcomer to believe creating Flash interfaces must be difficult. Some have tried to propose that CFers should focus on the back end and leave Flash to designers. On the other hand, those complex examples may have even lowered the expectation of some, thinking such Flash-based replacements of complex processes are not a suitable opportunity to add to their site.

You can integrate Flash easily and effectively. It's just a matter of finding simple samples and walkthroughs, trying them out for yourself, and identifying suitable next steps and resources for learning more from this perspective.

Some Good Starting Points for Web App Developers
Note that I said the first step is "finding simple samples and walkthroughs." In this article, I'm not going to actually walk you through getting started with the Flash interface. I'm not going to show any screenshots nor a single line of ActionScript. Frankly, an excellent guide to getting started was written by our own Ben Forta in the November 2002 issue of CFDJ.

In "Data Entry reFORMed," available at www.sys-con.com/coldfusion/article.cfm?id=528, Ben solves the challenge in a way that few have. He doesn't presume any prior Flash experience, but he walks through the basics of using the interface to build a typical "two-selects related" interface that's hard to do in HTML. Even with JavaScript, it could involve caching large amounts of data on the client and may not work on all browsers.

This sort of solution is easy in Flash, and he walks through building it without a lot of focus on needless details. Yet he doesn't leave anything out that you might need. Too many articles soon drop a "place this code in the first layer of the first frame," but if these are foreign terms to you, then the wall has been raised. If you visit that page and use the "print article" link, you'll have an excellent resource that gets you started in just 2300 words. From there, you should be able to proceed to other resources, appreciating all the articles on Remoting and using Flash for Web apps.

Unfortunately, other resources aren't as well-suited to us. For instance, many articles recognize that readers may not have enough Flash knowledge and suggest that you "read the manuals." The problem is, they're really too designer oriented. As I said before, they tend to focus on aspects of using Flash that may not interest us, at least not from the start.

While it may seem counterintuitive, I don't recommend that you start with the Flash MX Manual, Using Flash MX. At least not at first. When you're ready, it's available at Help>Using Flash. There are also tutorials and samples available from the Flash help menu, but those, too, tend to be focused on using Flash in ways that may not immediately seem related to our needs as Web app developers.

Even Ben's book, Reality ColdFusion: Flash MX Integration, while seemingly the perfect starting point, presumes that you already understand Flash. The good news is that his article, and a couple of others I'll recommend, will help get you quickly up to speed to appreciate that book and several others, including the very popular and highly regarded ActionScript: The Definitive Guide (recently released in an MX version) and Object-Oriented Programming with ActionScript.

There is one other book that I'll recommend, and it may surprise you. Most will know that the ColdFusion MX Web Application Construction Kit is the latest edition of what's regarded by many as the seminal introduction to CF. Intermediate and advanced developers may spurn it, thinking if they already have one of the earlier editions that they are perhaps above getting it again. But the book has an excellent chapter, 23, on Flash integration. It was written by Nate Weiss and it's a great introduction to Flash and CF integration.

The chapter covers far more than Ben's article could (he has a whole chapter) and similarly, Nate never loses you nor bores you with Flash interface details you don't need. He builds a few simple but useful examples of Flash/CFMX integration, and even shows a simple, useful application of Flash's animation abilities. He also offers examples of server integration, using techniques other than Remoting. This chapter alone may justify the cost of the book - $35 at Buy.com at the time of this writing.

Other Good Resources
Once you've gotten over the humps explained by the resources above, you should be able to appreciate and take advantage of the many articles both in past issues of CFDJ and the Macromedia DesDev center as well as many other sites. They may have seemed daunting if you read them in the past, but would now be worth your consideration with just that little bit of Flash experience you didn't have before.

The CFDJ articles on Flash and CFMX integration have included, starting with the most recent:

  • "Bridging the Gap Between Flash and ColdFusion MX," by Simon Horwith (Vol. 5, issue 2) at www.sys-con.com/coldfusion/article.cfm?id=570
  • "Web Services in a Flash," by Dennis Baldwin (Vol. 5, issue: 1) at www.sys-con.com/coldfusion/article.cfm?id=556
  • "The Flash MX Calendar Component," by Mike Britton (Vol. 5, issue 1) at www.sys-con.com/coldfusion/article.cfm?id=555
  • "Flash Remoting with Macromedia's DesDev Feed," by Dennis Baldwin (Vol. 4, issue 12) at www.sys-con.com/coldfusion/article.cfm?id=540
  • "Get Connected with Flash Debugging," by Dennis Baldwin (Vol. 4, issue 10) at www.sys-con.com/coldfusion/article.cfm?id=513
  • "Flash Up Your Forms with Components," by Dennis Baldwin (Vol. 4, issue 6) at www.sys-con.com/coldfusion/article.cfm?id=451
  • "Building the Development Team in Flash MX and ColdFusion MX," by Kevin Towes (Vol. 4, issue 6) at www.sys-con.com/coldfusion/article.cfm?id=448

    There have also been some great introductory articles at the Macromedia DesDev center. Again, at first reading, without a little Flash experience, they may have seemed daunting and beyond you, but give them a look after getting just the little bit of experience offered by the two resources discussed in the previous section. They include:

  • "Macromedia Flash MX Remoting: Open the Gate for Rich, Dynamic Content," by Kevin Towes at www.macromedia.com/desdev/mx/coldfusion/articles/remoting.html
  • "Getting Started with Flash Remoting," by Mike Chambers at www.macromedia.com/desdev/mx/coldfusion/articles/startremoting.html
  • "Flash Remoting Basics for ColdFusion Developers," by Lucas Sherwood at www.macromedia.com/desdev/mx/flashremoting/articles/cfexample.html

    You can find even more articles at the various DesDev centers, including the following:

  • www.macromedia.com/desdev/mx/flashremoting
  • www.macromedia.com/desdev/mx/coldfusion
  • www.macromedia.com/desdev/mx/flash/
  • www.macromedia.com/desdev/mx/flashcom/
  • www.macromedia.com/desdev/rich_media_ads/

    The last one is quite recent, having been opened just in January.

    There are also lists of examples of such integration, including articles (some of which are a little more advanced) available at www.macromedia.com/desdev/topics/sample_apps.html. There's also a page devoted to resources specifically for Flash/CFMX integration at www.macromedia.com/support/flash/programs_cf.html.

    There are even a number of online video presentations that walk you through the use of Flash, including several related to CF integration, available at www.macromedia.com/software/flash/productinfo/tutorials/gettingstarted.

    One of those videos is on the accessibility features of FlashMX. This is a topic of significant importance to many developers and administrators, and Flash MX does add new features to address this important aspect of creating usable applications. Indeed, Macromedia has a site devoted to the topic, at www.macromedia.com/macromedia/accessibility /features/flash. Still one more non-Macromedia resource devoted to the goal of promoting usable Flash sites is a "Wiki" at www.whatisflash.com. The topic is also discussed in a couple of books, including The Flash Usability Guide, by Chris McGregor, et al. Indeed, a useful sample chapter is available online at www.friendsofed.com/books/flash_mx_titles/mx_usability/sample_chapter.pdf. Another is Constructing Accessible Web Sites, by Jim Thatcher, et al.

    If you'd like to take a course on the topic of both Flash and integration with CFMX, Macromedia has recently released the class, "Developing Rich Internet Applications." It's an intense three days covering lots about ActionScript, fundamentals of the Flash interface, and integration with CFMX. Simon Horwith wrote about the class in last month's aforementioned "Bridging the Gap Between Flash and ColdFusion MX." Learn more about the class at www.macromedia.com/support/training/instructor_led_curriculum/dev_apps_fmx_cfmx.html.

    What If You're Not Using CFMX or Flash MX?
    While it would be best to leverage the power and improvements in CFMX and Flash MX, the reality is that some people simply can't or won't yet have migrated. Or maybe you have co-workers or clients interested in doing this integration with servers that do not support Remoting (it is currently supported only on CFMX, ASP.NET, and certain J2EE servers).

    What if you're on CF5? Or 4.5? Or PHP? Or Perl? Or some mainframe Web server, for that matter? Or still using Flash 5? You may be led to believe that you're out of luck and unable to play the game of Flash/CF integration. You can! It's just not as easy as it is with CFMX and Remoting. The good news is that we at CFDJ have been covering Flash and CF integration for nearly two years now. Check out any of the following:

  • "Macromedia Flash 5 and ColdFusion 5," by Mike Chambers (Vol. 3, issue 11) at www.sys-con.com/coldfusion/article.cfm?id=366
  • "ColdFusion-Driven Flash Content," by R. Drisgill and J. Montilla (Vol. 3, issue 9) at www.sys-con.com/coldfusion/article.cfm?id=347
  • "Getting CF into Flash," by Randy H. Drisgill and Jason Montilla (Vol. 3, issue 8) at www.sys-con.com/coldfusion/article.cfm?id=346
  • "ColdFusion Meets Flash," by Dennis Baldwin (Vol. 3, issue 8) at www.sys-con.com/coldfusion/article.cfm?id=309

    Also note that the approaches described apply to pretty much any Web application server. It's worth noting, however, that if you have Flash MX it offers even more powerful new ways of integrating with Web app servers even without Remoting, in the form of the new LoadVars and XML objects. Do look into these if you're not using a server that supports Remoting. The bottom line is that it's pretty easy to pass data back and forth from a Flash movie on the client up to a server of any kind.

    Other Next Steps
    The focus to this point has been on resources that would be especially suitable for CF and other Web app developers who might otherwise find typical "beginner Flash" resources to be inappropriate. But as I said before, once you get over the initial hump of being shown the most fundamental aspects, your next step is to learn how to use the rest of the features of the Flash interface, such as layers, frames, animation, more about UI components, more about ActionScripting, debugging, troubleshooting, and more.

    An excellent starting point once you're prepared to dive into more about Flash would be Foundation Macromedia Flash MX, a "Friends of ED" book. In fact, the first chapter of the book is available online at www.friendsofed.com/books/ foundation/flashmx/Found_MX_Chapter_01.pdf and would be a great resource even if you don't get the entire book (though I'm confident that chapter will motivate you to get it).

    A couple of other books that do a surprisingly good job of introducing fundamentals (including some server integration) are Macromedia MX eLearning; Advanced Training from the Source, and the recently released Mobile Macromedia Flash MX. Even if you're not interested in doing development for mobile devices, it's interesting to consider that the skills and efforts applied to building Flash apps for browsers can be applied just as readily to mobile devices (phones, PDAs, and more).

    Still other things you may want to explore once you're "over the hump" are Macromedia's "Developer Resource Kits" (DRKs), which offer several useful new components, demonstrations, and more (mostly Flash-oriented). Learn more at www.macromedia.com/software/drk. Another possible next step would be to explore the Flash Communications Server product. While it's primarily shown as being a tool for streaming audio/video, it's much more than that and really about live shared data applications. This month Kevin Towes offers a great tutorial on getting started with that aspect of the Flash Communication Server in "Persistent Data Communications." Learn more at www.macromedia.com/desdev/mx/flashcom.

    One more possible next step to consider is the "Flash Component Kit for ColdFusion." This toolkit, available at www.macromedia.com/v1/handlers/index.cfm?ID=20983, is really something from the Flash 5 time frame. It's a set of ColdFusion custom tags (that work in CF5 as well as CFMX) that provides some prebuilt components that integrate with CF but don't require you to have or use the Flash authoring tool.

    Before concluding the article, I'd like to point out a few Web sites that are devoted to topics related to Flash/server integration. Some are portals with articles, links to other sources, mailing lists, blogs, and more. See:

    • Flashcfm.com
    • Devmx.com
    • Flash-remoting.com
    • FlashForProgrammers.com
    • Flash-db.com
    • actionscript.org
    • flashmagazine.com
    • flashguru.co.uk
    • actionscript-toolbox.com
    • flashsupport.com
    • flashkit.com
    Many of these (and an always updated list of them) are available at www.macromedia.com/support/flash/ ts/documents/flash_websites.htm.

    Conclusion
    I hope this little compendium of resources for getting started in using Flash, as a Web application developer, has been useful for you. I'm simply sharing my observations and discoveries in the hope of helping others either get over their own frustration getting started, or avoid it in the first place.

    Indeed, I'm thinking of creating my own book and class on the topic, focusing on certain things from this particular perspective and highlighting more lessons learned and key topics.

    It's really not difficult to get into all this stuff. It's just a matter of getting that gentle leg up over the wall that then opens to the many paths to creating Flash-enabled Web applications and interface widgets. Now, be on your way!

  • More Stories By Charlie Arehart

    A veteran ColdFusion developer since 1997, Charlie Arehart is a long-time contributor to the community and a recognized Adobe Community Expert. He's a certified Advanced CF Developer and Instructor for CF 4/5/6/7 and served as tech editor of CFDJ until 2003. Now an independent contractor (carehart.org) living in Alpharetta, GA, Charlie provides high-level troubleshooting/tuning assistance and training/mentoring for CF teams. He helps run the Online ColdFusion Meetup (coldfusionmeetup.com, an online CF user group), is a contributor to the CF8 WACK books by Ben Forta, and is frequently invited to speak at developer conferences and user groups worldwide.

    Comments (0)

    Share your thoughts on this story.

    Add your comment
    You must be signed in to add a comment. Sign-in | Register

    In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


    @ThingsExpo Stories
    SYS-CON Events announced today that SOA Software, an API management leader, will exhibit at SYS-CON's 15th International Cloud Expo®, which will take place on November 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA. SOA Software is a leading provider of API Management and SOA Governance products that equip business to deliver APIs and SOA together to drive their company to meet its business strategy quickly and effectively. SOA Software’s technology helps businesses to accelerate their digital channels with APIs, drive partner adoption, monetize their assets, and achieve a...
    SYS-CON Events announced today that Aria Systems, the recurring revenue expert, has been named "Bronze Sponsor" of SYS-CON's 15th International Cloud Expo®, which will take place on November 4-6, 2014, at the Santa Clara Convention Center in Santa Clara, CA. Aria Systems helps leading businesses connect their customers with the products and services they love. Industry leaders like Pitney Bowes, Experian, AAA NCNU, VMware, HootSuite and many others choose Aria to power their recurring revenue business and deliver exceptional experiences to their customers.
    SYS-CON Events announced today that AgilePoint, the leading provider of Microsoft-centric Business Process Management software, will exhibit at SYS-CON's 2nd International @ThingsExpo which will take place on November 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA. AgilePoint is the leading provider of Microsoft-based Business Process Management (BPM) software products, has 1,300+ on-premise and cloud deployments in 25+ countries and provides the same advanced BPM feature set as J2EE vendors like IBM and Appian for the Microsoft .NET native environment. AgilePoint customer...
    The Internet of Things (IoT) promises to evolve the way the world does business; however, understanding how to apply it to your company can be a mystery. Most people struggle with understanding the potential business uses or tend to get caught up in the technology, resulting in solutions that fail to meet even minimum business goals. In his session at Internet of @ThingsExpo, Jesse Shiah, CEO / President / Co-Founder of AgilePoint Inc., will show what is needed to leverage the IoT to transform your business. He will discuss opportunities and challenges ahead for the IoT from a market and tec...
    SYS-CON Events announced today that Utimaco will exhibit at SYS-CON's 15th International Cloud Expo®, which will take place on November 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA. Utimaco is a leading manufacturer of hardware based security solutions that provide the root of trust to keep cryptographic keys safe, secure critical digital infrastructures and protect high value data assets. Only Utimaco delivers a general-purpose hardware security module (HSM) as a customizable platform to easily integrate into existing software solutions, embed business logic and build s...
    One of the biggest challenges when developing connected devices is identifying user value and delivering it through successful user experiences. In his session at Internet of @ThingsExpo, Mike Kuniavsky, Principal Scientist, Innovation Services at PARC, will describe an IoT-specific approach to user experience design that combines approaches from interaction design, industrial design and service design to create experiences that go beyond simple connected gadgets to create lasting, multi-device experiences grounded in people’s real needs and desires.
    SYS-CON Events announced today that TeleStax, the main sponsor of Mobicents, will exhibit at Internet of @ThingsExpo, which will take place on November 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA. TeleStax provides Open Source Communications software and services that facilitate the shift from legacy SS7 based IN networks to IP based LTE and IMS networks hosted on private (on-premise), hybrid or public clouds. TeleStax products include Restcomm, JSLEE, SMSC Gateway, USSD Gateway, SS7 Resource Adaptors, SIP Servlets, Rich Multimedia Services, Presence Services/RCS, Diame...
    Samsung VP Jacopo Lenzi, who headed the company's recent SmartThings acquisition under the auspices of Samsung's Open Innovaction Center (OIC), answered a few questions we had about the deal. This interview was in conjunction with our interview with SmartThings CEO Alex Hawkinson. IoT Journal: SmartThings was developed in an open, standards-agnostic platform, and will now be part of Samsung's Open Innovation Center. Can you elaborate on your commitment to keep the platform open? Jacopo Lenzi: Samsung recognizes that true, accelerated innovation cannot be driven from one source, but requires a...
    The Internet of Things will greatly expand the opportunities for data collection and new business models driven off of that data. In her session at Internet of @ThingsExpo, Esmeralda Swartz, CMO of MetraTech, will discuss how for this to be effective you not only need to have infrastructure and operational models capable of utilizing this new phenomenon, but increasingly service providers will need to convince a skeptical public to participate. Get ready to show them the money! Speaker Bio: Esmeralda Swartz, CMO of MetraTech, has spent 16 years as a marketing, product management, and busin...
    Things are being built upon cloud foundations to transform organizations. This CEO Power Panel at 15th Cloud Expo, moderated by Roger Strukhoff, Cloud Expo and @ThingsExpo conference chair, will address the big issues involving these technologies and, more important, the results they will achieve. How important are public, private, and hybrid cloud to the enterprise? How does one define Big Data? And how is the IoT tying all this together?
    We certainly live in interesting technological times. And no more interesting than the current competing IoT standards for connectivity. Various standards bodies, approaches, and ecosystems are vying for mindshare and positioning for a competitive edge. It is clear that when the dust settles, we will have new protocols, evolved protocols, that will change the way we interact with devices and infrastructure. We will also have evolved web protocols, like HTTP/2, that will be changing the very core of our infrastructures. At the same time, we have old approaches made new again like micro-services...
    SYS-CON Events announces a new pavilion on the Cloud Expo floor where WebRTC converges with the Internet of Things. Pavilion will showcase WebRTC and the Internet of Things. The Internet of Things (IoT) is the most profound change in personal and enterprise IT since the creation of the Worldwide Web more than 20 years ago. All major researchers estimate there will be tens of billions devices--computers, smartphones, tablets, and sensors – connected to the Internet by 2020. This number will continue to grow at a rapid pace for the next several decades.
    The only place to be June 9-11 is Cloud Expo & @ThingsExpo 2015 East at the Javits Center in New York City. Join us there as delegates from all over the world come to listen to and engage with speakers & sponsors from the leading Cloud Computing, IoT & Big Data companies. Cloud Expo & @ThingsExpo are the leading events covering the booming market of Cloud Computing, IoT & Big Data for the enterprise. Speakers from all over the world will be hand-picked for their ability to explore the economic strategies that utility/cloud computing provides. Whether public, private, or in a hybrid form, clo...
    SYS-CON Events announced today that Gridstore™, the leader in software-defined storage (SDS) purpose-built for Windows Servers and Hyper-V, will exhibit at SYS-CON's 15th International Cloud Expo®, which will take place on November 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA. Gridstore™ is the leader in software-defined storage purpose built for virtualization that is designed to accelerate applications in virtualized environments. Using its patented Server-Side Virtual Controller™ Technology (SVCT) to eliminate the I/O blender effect and accelerate applications Gridsto...
    SYS-CON Events announced today that Red Hat, the world's leading provider of open source solutions, will exhibit at Internet of @ThingsExpo, which will take place on November 4–6, 2014, at the Santa Clara Convention Center in Santa Clara, CA. Red Hat is the world's leading provider of open source software solutions, using a community-powered approach to reliable and high-performing cloud, Linux, middleware, storage and virtualization technologies. Red Hat also offers award-winning support, training, and consulting services. As the connective hub in a global network of enterprises, partners, a...
    As the Internet of Things unfolds, mobile and wearable devices are blurring the line between physical and digital, integrating ever more closely with our interests, our routines, our daily lives. Contextual computing and smart, sensor-equipped spaces bring the potential to walk through a world that recognizes us and responds accordingly. We become continuous transmitters and receivers of data. In his session at Internet of @ThingsExpo, Andrew Bolwell, Director of Innovation for HP’s Printing and Personal Systems Group, will discuss how key attributes of mobile technology – touch input, senso...
    The Internet of Things (IoT) is making everything it touches smarter – smart devices, smart cars and smart cities. And lucky us, we’re just beginning to reap the benefits as we work toward a networked society. However, this technology-driven innovation is impacting more than just individuals. The IoT has an environmental impact as well, which brings us to the theme of this month’s #IoTuesday Twitter chat. The ability to remove inefficiencies through connected objects is driving change throughout every sector, including waste management. BigBelly Solar, located just outside of Boston, is trans...
    Connected devices and the Internet of Things are getting significant momentum in 2014. In his session at Internet of @ThingsExpo, Jim Hunter, Chief Scientist & Technology Evangelist at Greenwave Systems, will examine three key elements that together will drive mass adoption of the IoT before the end of 2015. The first element is the recent advent of robust open source protocols (like AllJoyn and WebRTC) that facilitate M2M communication. The second is broad availability of flexible, cost-effective storage designed to handle the massive surge in back-end data in a world where timely analytics...
    Internet of @ThingsExpo Silicon Valley announced on Thursday its first 12 all-star speakers and sessions for its upcoming event, which will take place November 4-6, 2014, at the Santa Clara Convention Center in California. @ThingsExpo, the first and largest IoT event in the world, debuted at the Javits Center in New York City in June 10-12, 2014 with over 6,000 delegates attending the conference. Among the first 12 announced world class speakers, IBM will present two highly popular IoT sessions, which will take place November 4-6, 2014 at the Santa Clara Convention Center in Santa Clara, Calif...
    From a software development perspective IoT is about programming "things," about connecting them with each other or integrating them with existing applications. In his session at @ThingsExpo, Yakov Fain, co-founder of Farata Systems and SuranceBay, will show you how small IoT-enabled devices from multiple manufacturers can be integrated into the workflow of an enterprise application. This is a practical demo of building a framework and components in HTML/Java/Mobile technologies to serve as a platform that can integrate new devices as they become available on the market.