A few things happened last week very relevant in the world of advertising.
The IAB announced an update to display guidelines . It had been three years since the last update. Revising the display guidelines is very important as bandwidths and technologies change very rapidly; the world was very different three years ago.
Severely overshadowing the IAB news was Adobe’s announcement that they are halting Flash Player Mobile development, in order to focus on Flash Player Desktop and apps developed using AIR. The Flex team also chimed in by answering questions the Flex ecosystem has regarding the future of Flash.
The Adobe announcements are clear: Flash’s role in the future will be drastically different than it is today.
Coming to the advertising community, the IAB Display Guidelines are virtually entirely focused on Flash and Flash display ads.
These guidelines—as they’re focused on Flash—create a few glaring questions for developers of online advertising and the ads’ file weight.
Image compression
Below are two files. A JPG weighing 37 kilobyte and a lossless PNG-32 at 168 kilobytes. Obviously, the PNG is not passable by the new IAB standards. However, placing this lossless PNG into a SWF, the resulting file is 25kb.
JPG 37kb
PNG 168kb (optimized to 25kb in Flash Player)
There isn’t much different between the two files above—both look pretty good! But the numbers are concerning:
- JPG 37kb / 40kb = 92.50% of available file weight for a display ad
- PNG 168kb => compressed by SWF => 25kb / 40kb = 62.50%
The Flash Player does a wonderful job helping us compress our assets so that we can attempt to create great-looking, on-brand ad units that are still in compliance with IAB guidelines. I don’t know of a way to do the same natively in the browser. Are there options that exist for this?
Fonts
Embedding fonts in a SWF is also vastly more efficient than addressing files via @font-face, cufón or a JS web-font library. The current display guidelines will be difficult to follow when using special fonts and dynamic text. That’s to say static text can likely be written directly on the JPG, but the lack of flexibility is worrying.
JavaScript libraries
A world without jQuery is nasty, brutish and short. jQuery’s 31kb weight is an initial download that immediately adds to the bandwidth of a non-Flash ad. Will the IAB’s 40kb file size limitation apply to important and needed libraries like jQuery, Modernizr and Less?
Modern display ads will most certainly require some form of jQuery, responsible advertising needs something like Modernizr to deliver the appropriate “experience” to the end user, and Less might be the best option to dynamically and programmatically affect an ads’ CSS.
It is important to note that common JS assets, like Google’s CDN copy of jQuery, are very often already cached on the browser of the viewing audience. This could be a nice argument to allowing jQuery to not count against file weight of a modern ad.
Streaming
High quality video files—per the IAB display guidelines—can be delivered without file weight concern if delivered via Flash RTMP streaming. But HTML5’s <video> really does not have a viable streaming option. Does this limit all non-Flash advertising to 2.2mb for the .mp4 and .webm files?
That seems fairly incongruent to me.
Non-Flash updates to IAB’s display guidelines
It seems that edits eventually will be needed for the IAB display ad guidelines regardling non-Flash, modern ad units. Stuff like @font-face files, image assets, or JavaScript libraries.
Fonts may evolve to the point where there is more support in the browser, and/or advertisers will get comfortable using a font stack to fall back gracefully. But both these answers severely compromise the advertising.
Image assets may be optimized, as well. Whether done via CSS or SVG, it is possible to create great-looking assets that don’t weigh a lot. But I fear the production process for this will be drastically more inefficient than what is currently possible in Flash.
JavaScript libraries might not be too big of an issue. With Modernizr, there is the possibility of only including the needed assets to bring down Modernizr’s file weight. Less.js can be handled on the server side before the ad is rendered, or even on the desktop when the ad is being produced for static ads. And then, as mentioned, jQuery might already be cached.
Interesting questions as the dawn of of modern digital advertising development peeks over the horizon…