Category Archives: Flex

F4V is Retarded

Why F4V is the wrong decision:

  • Destroys one of the great promises of MPEG4-AVC / h.264–interoperability.
  • No single file deployment (closely tied to interoperability). I certainly imagine a world where a single piece of media can be posted on the web, downloaded and played back through Flash Player, iPhone / iPod, QuickTime, Apple TV, etc. Gone should be the days of providing different files for different browsers, plugins or mobile devices.
  • Effectively reduces the usefulness the existing MPEG4-AVC / h.264 ecosystem. The MPEG4 spec urges .mp4 be used as the file extension and many vendors just refuse to work with something that has a different file extension.
  • You lose out on much of the existing intelligent rss enclosure handling. Blogging platforms and plugins will recognize the .mp4 extension and auto-generate enclosures (very useful for delivering to feed readers and mobile devices).
  • F4V just muddles the codec picture even more. Take a look at any of the encoder dialogs in CS4 and you’ll see a confusing slew of options (flv, f4v, h.264, h.264 blu-ray, etc.). Hell, I even heard an instructor in one of the MAX hands on sessions, urge students to steer clear of h.264 encodings since that was just HD / blu-ray stuff. He actually was pushing flv (pretty bizarre for an AfterEffects class).

I’m not trying to be a jerk, there are definite reasons Adobe may have chosen to use F4V:

  • Apple did it (M4V). Yep, Apple screwed the pooch as well.
  • It’s easy to associate file extensions with default application handlers (i.e. AMP is the default media player for *.flv and *.f4v files).
  • Allows for a unique mime-type (Flash Player gets associated with a specific file type on servers).
  • OS file choosers allow filtering by extension.
  • F4V clearly establishes a file as compatible with the parts of the MPEG4 spec supported by Flash Player. This has the obvious advantage of visual associations / assumptions and might assist descriptions in documentation and marketing.

I guess I feel like there should be some sort of primary directive: “thou shalt not damage interoperability.” Any time you’re thinking of messing with the spec it should be examined through this lens. As valid as some of the reasoning for using F4V is, it fails, IMHO, when compared to the primary directive.

Day Three MAXies

The final day of a conference is always brutal. Multiple nights of vendor supplied beer, limited sleep, and a steady river of technical information lead to, well, a sore ass and a limited attention span. Despite this the final day of MAX 08 was solid for moi. Here’s the round up.

I was blown away by the morning session on the Flash Platform’s new text engine. It seems the InDesign team has been hard at work on an AS3 framework called TLF that will be released to labs this Friday. TLF provides enormous framework agnostic (works with Flex or Flash) layout capabilities built on top of Flash Player’s low-level APIs. Very cool stuff that definitely builds on Flash Player’s legend as a cutting edge experience-delivery runtime.

It’s areas like this where you really see the enormous payoff from the Adobe / Macromedia merger. Not many people in the world have the deep typographic and layout knowledge necessary to fully utilize the low level text API’s exposed in Flash Player 10. Adobe, however, has deep roots in type with everything from print drivers, to document formats designed for consistent cross-platform type rendering, to best-of-breed layout tooling. There’s scary potential for the platform when you consider they’ve already delivered Pixel Bender shader effects and are sitting on top of serious video tooling / expertise.

Next I sat in a fantastic Pixel Bender lab put on by the AIF crew. These guys ran the best code oriented lab I’ve ever sat in. I wish I could describe code as clearly and efficiently as these cats–I’d be a code super hero, or an even larger pain in the ass to other developers. Regardless, I should note there’s killer tooling built up around Pixel Bender. A shader language with a code hinting IDE, debugging, breakpoints and export of pbj (bytecode Flash Player 10 runs). Slick stuff–the little girlies over at Adobe should be proud.

I also got to sit in another session on XMP with some silly name like, “Use XMP Metadata to Label, Track, and Manage Assets within Creative Suite.” I’m hoping it was the designerish name that scared everyone off–less than 15 people were in the session. That’s seriously disappointing my fellow meta-nerds. Regardless, Gunar (a Sr. PM with Adobe) gave a super articulate overview of what XMP is, it’s alignment with various industry standards and how it provides tangible benefits throughout the create, edit, publish, deploy and consumption lifecycle. Good stuff that should be mandatory viewing for the lot of you (if only so you can mock my meta fetish).

That’s a wrap for MAX day three. If I get a chance I’ll type up some additional thoughts on the long plane ride home.

MAX Sneaks – MeerMeer Rocks!

Dear MeerMeer. You had me at onion skin. Adobe has a web service that will compare web pages, rendered back to you from the server via a virtualization farm, as they appear on multiple OS and browser combinations. Not only that, it will onion skin differences and allow you to debug between “frozen states” and the server. Amazing. I’ve seen some cool shite tonight, but this one might be the most practical.

Day One MAXies

Every conference has its share of turds and gems. Trying to stay glass half full, here were the list of gems I witnessed from day one at MAX.

Ely Greenfield – As the Oracle might say, “he’s got the gift.” I’d love some time in an osmosis chamber with this cat–it’d be guaranteed to take some of the dumb off.

Ryan Taylor. Had a fantastic session on Pixel Bender. Spoke articulately in code (difficult). I’m no expert now, but he broke it down and made it approachable and desirable. I’d go back for more. Check out his blog.

Maria Shriver – keynote was ho hum. Huge production value, but the overall story seemed, well, less than ground breaking. Shriver stole the show–charismatic and raised to lead (I’m an anti-class American, but she was in a league of her own). Wave was undeserving of the spotlight and CoCoMo feels like something that didn’t sell but has been repackaged as a PaaS.