4 February 2010
You should have a general understanding of online advertising and the design/development tool of your choice: Flash and/or Flex.
Intermediate
In this article you'll learn about the power of rich media ads over standard Flash ads, what you can do creatively with rich media ads, and how to leverage what you already know about designing and developing with Adobe Flash and Adobe Flex for visually creative, interactive ends.
Whether you're a Flash designer, a Flash or Flex developer, or a hybrid of both, if you work at a creative agency or do similar work as a freelancer, you know that sooner or later you'll get that dreaded call from your client: "You know that microsite you're building for us? Well, we also need you to create Flash banners for the ad campaign."
After all your hard work designing the best microsite to accomplish the goals of your client's marketing or ad campaign, and have it look amazing for their customers, you get to design standard Flash banners in one of three boring flavors of boxes—728 × 90, 300 × 250, or 160 × 600—leaving no room for your cool microsite's features to shine through.
It's not all doom and gloom, though. In fact, it gets much, much better. Let me introduce you to the solution: online rich media advertising.
Rich media ads are the ones that expand, perhaps take over the web page for a bit, letting you explore it without leaving the page—the ones that give you more creative freedom. Because let's face it, what you're trying to do is engage people with your creative, right? Standard Flash banners have practically no shot of doing that when all you've got is a small box and 30 KB to deal with. Designing for standard Flash banners is usually less than inspiring.
One of the questions we get asked the most at PointRoll is, "So what can you do in a rich media ad?" Well, let me ask you something first: What can you create with Flash or Flex? Because that's what you can do with rich media.
Literally, almost anything you would put on the microsite you've been building for your client can be ported into a rich media ad. This is also a great venue to showcase features that didn't get approved to go onto the microsite—the ones you thought were awesome, interactive, and engaging, and should have made it. Not to mention, more screen real estate and more size in kilobytes are allowed in a rich media ad than with a standard Flash ad, so you can use more enticing visual and interactive elements to engage your audience. Rich media is a far more flexible platform, so no matter how you develop it, it'll work within the ad. You can leverage OOP to keep the creative scalable, use timeline-based animations, incorporate XML and databases, access web services, and more.
What can you do in a rich media ad? Here's my patented Rich Media Capability Crib Sheet:
All these and much, much more can be done in a rich media ad.
Now I know this is starting to sound like an advertisement for rich media itself, but I sometimes feel that rich media is the "underground" component in an advertising campaign compared to standard Flash banners, and so I need to shout it out. I work with rich media every day, so my view is slightly slanted, but let me tell you: it works. More and more of our clients know it works when they see results with each successful campaign. As a bonus for us designers and developers, rich media ads are a lot more fun to work on, too. At PointRoll, we easily handle over 100,000 Flash files each year to build rich media ads. Indeed, Flash designers and developers the world over are constantly doing amazing, innovative, and creative things every day just for online rich media advertising. Want proof? Here's a case in point.
We recently ran a campaign for Ford Motor Company that was built with Flex Builder 3 and used over 1,000 external ActionScript files. It was a beast of a project, with beautiful results, originally built as a microsite: the2010Mustang.com. We then worked with Ford and the ad agency Team Detroit to port the 2010 Mustang Customizer (see Figure 1) into a 728 × 90 banner (see Figure 2) that expands to a 728 × 270 panel (see Figure 3) upon rollover.
Users begin to customize their 2010 Mustang in the ad—choosing colors (even saving custom color combinations), changing wheels, and adding decals, smoke, and grille styles. As a draw to help drive users to the microsite, many of the features are "locked" in the ad, giving users the option to continue building their Mustang on the microsite. That's right: you start customizing in the ad and then all of your customized Mustang options are brought over from the rich media ad into the website, where you can really go to town on it.
The campaign was a huge success for Ford. The client was happy with high engagement metrics, the development team was happy that they got to build something super-cool, and most importantly, users were happy they had something fun to do instead of watching a 15-second animation loop.
So how'd they do that? Good question. All assets are brought into the ad via URL paths specified in an XML file. The user's choices are stored in an Object and then finally brought over to the microsite as a query string, passing in every selection value as a flashvar via swfobject on the microsite's page. Each animation transition (such as when you change the wheels and see it appear on the Mustang) is class-based for easy reuse.
The sample file RM_Ad_Example.fla is really simplified because of the enormous scale of the actual project, so showing one class file without showing the many supporting classes wouldn't help much here (besides, I can't reveal the agency's source code). Even so, this sample file should give you a good sense of what's happening, even with this basic look. Figure 4 shows the SWF that plays the role of the ad.
Figure 4. Interactive sample ad (make your selections and click the Click Thru button)
Make some selections in the combo boxes and then click the Click Thru button. The web page you're brought to acts as the microsite. The URL of the microsite in this example is defined in the config.xml file and assigned to _link in RM_Ad_Example.fla. Note that any external asset can be referenced in the XML and utilized in the ad this way.
Here's a look at the code:
import flash.net.URLRequest;
import flash.net.URLLoader;
import fl.data.DataProvider;
var request:URLRequest = new URLRequest("config.xml");//path to xml file
var xmlURLLoader:URLLoader = new URLLoader();//loads in xml
var xmlPaths:XML = new XML();//xml for paths to assets and urls
var _currentparts:URLVariables = new URLVariables();//stores all user selections as URL variables
var _link:String;//stores path to microsite
xmlURLLoader.addEventListener(Event.COMPLETE,
xmlLoaded, false, 0, true);//listen for the config.xml file to complete it's
load clickThru_btn.addEventListener(MouseEvent.CLICK,
gotoMicrosite, false, 0, true);//click thru button
//listen for when the user changes their selction in the combo box
cbCarColor.addEventListener(Event.CHANGE, cbChanged, false, 0, true);
cbCarWheels.addEventListener(Event.CHANGE, cbChanged, false, 0, true);
cbCarDecal.addEventListener(Event.CHANGE, cbChanged, false, 0, true);
//set default values for _currentparts based on initial combo box labels
_currentparts["cl"] = cbCarColor.getItemAt(0).label;
_currentparts["wl"] = cbCarWheels.getItemAt(0).label;
_currentparts["dl"] = cbCarDecal.getItemAt(0).label;
xmlURLLoader.load(request);// load config.xml
function cbChanged(e:Event):void {
//set _currentparts values based on current values in combo boxes
_currentparts["cl"] = cbCarColor.value;
_currentparts["wl"] = cbCarWheels.value;
_currentparts["dl"] = cbCarDecal.value;
}
function xmlLoaded(e:Event):void {
xmlPaths = XML(e.target.data);//assign data to xmlPaths
_link = xmlPaths.paths.path.(@name == "deeplinkBase");//assign url of microsite to _link
//--------code to load in rest of assets not shown--------//
}
//on user click thru, pass in the full url with query string
function gotoMicrosite(e:MouseEvent):void {
var _fullLinkRequest:URLRequest = new URLRequest(_link);//make a new URLRequest with the path from the XML file
_fullLinkRequest.data = _currentparts;//assign usl variables object for query string
navigateToURL(_fullLinkRequest);//go to the microsite with all user selections "attached"
}
Here's a breakdown of the code:
xmlURLLoader to listen for the completion of the file loading with Event.COMPLETE.clickThru_btn (on the Stage) with MouseEvent.CLICK.Event.CHANGE._currentparts (the URLVariables object)._link.Event.CHANGE fires, update the values of _currentparts with the current selections from each combo box.URLRequest object called _fullLinkRequest, passing in _link as the required string. Set _currentparts as the data property of _fullLinkRequest. Finally, go to the microsite page using the full query string: navigateToURL(_fullLinkRequest).As I said, this is a really stripped-down code example that just scratches the surface of what's possible. But it shows one way you can incorporate external elements into your rich media creative and pass information along to continue the interactive experience where the user left off in the ad. Try doing that with a standard Flash ad.
As a Flash or Flex professional, you have the power to create (almost) anything you want in an ad—and, just as important, whatever your client wants. I know that most of the time, it's not your call to say, "Look, there's this awesome way we could really show off your brand and engage the user... with rich media ads." Very often it's the client or the media agency you're working with that may nix your rich media ideas based on budget limitations or lack of education on the subject. What I'm trying to do is empower you with the knowledge of what you can do with rich media once you get the green light. If you want to fight to use it in an upcoming campaign, that's even better.
You need some ammunition for when the client asks about their ROI with rich media advertising. It's all about results for them. To get results, they need targeted ads, and to measure results they need the most (and best) metrics available. Of the over 150 measurable elements and targeting possibilities, here's a list of some of the most compelling ones:
This list is just for the client, right? Not necessarily. It's a good idea to review the metrics of a campaign as a designer/developer to see what's working, too. Then you can apply your learning to the next campaign you get.
Where do you start when actually creating rich media ads? What are some best practices? Here are a few tips:
Designers and developers have one shot to get the user to actually look at the ad instead of reading the article or watching the video they came to see. As we say at PointRoll, when was the last time you went online to look at ads? The challenge is making an impression on the user right off the bat. But you can win users over with the right ad served to the right user at the right time that is fun, interactive, and—that's right—engaging. You have the tools to do it with Flash and Flex, along with any other technology you want to bring into the picture.
Rich media is a powerful tool in online advertising, one that your clients shouldn't be afraid to use. It gives you the opportunity to create effective, engaging, and measurable ads for your clients, and have fun doing it. I say, "Think outside the banner." There's no reason to limit your design and development creativity by sticking ads in a standard ad "box."
If you ever need help making the case for rich media, hit me up.
Check out more great examples of rich media advertising in the PointRoll Creative Showcase.

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License
| 04/23/2012 | Auto-Save and Auto-Recovery |
|---|---|
| 04/23/2012 | Open hyperlinks in new window/tab/pop-up ? |
| 04/21/2012 | PNG transparencies glitched |
| 04/01/2010 | Workaround for JSFL shape selection bug? |
| 02/13/2012 | Randomize an array |
|---|---|
| 02/11/2012 | How to create a Facebook fan page with Flash |
| 02/08/2012 | Digital Clock |
| 01/18/2012 | Recording webcam video & audio in a flv file on local drive |