Currently Browsing: Flex

Targeting Flash Player 10 In Flex 3.2

It seems like there should be a simple elegant toggle button or drop down in the Flex compiler options allowing you to choose which version of Flash Player you’d like to target, but until that happens here’s a quick (1:33) “how to” video.
Go fullscreen fullscreen icon to see the video in full 1:1 pixel clarity.

Yep, its old news, but its a great example of the type of quick and simple knowledge nugget you can share with Jing and I’ve got a new years resolution to do that a bit more often.

F4V Does Not Support Cue Points

Despite appearances…

misleading cue point ui

F4V files (otherwise known as MPEG4-AVC / h.264 + a special Flash only file extension) DO NOT SUPPORT CUE POINTS. Unfortunately, no good tooling support for timed text tracks replaces them.

F4V Cue Points Knowledge Base Article

No Cue Points for F4V

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.

Page 3 of 812345...Last »