Archive for July, 2009

Opening the Flash file format

Summary: Ruminations on differing perceptions….

Earlier this week Adobe opened up the Text Layout Framework (advanced typography available within today’s browsers via Flash Player 10) and Open Source Media Framework (component-based construction of video interfaces with advanced functionality), to both source-code publishing and community contribution.

The varied reaction was interesting… some thought this was a reaction to Silverlight, others to Ogg Theora or new font-distribution initiatives… other discussions were about the licensing model or other issues.

I was a little bit boggled. 😉 It seemed that, here in the dogdays of summer, there was more reaction to higher-level branding issues than to direct technical issues… more discussion about the relative popularity of video playback formats than of the task of creating more-capable clientside interfaces… more comparison to font-embedding proposals than to radical improvements in on-screen typography. Apples to oranges at the technical level, but a dramatic conflict at the branding level.

It prompted me to go back to the 1998 announcement of how Flash, like HTML, would publish a file format which anyone could implement… the specification was published up on the public website, in pre-license days.

(Trivia note: The early days of “Open Flash” included runtime sourcecode as well as an openly-published file-format specification… people like Olivier Debon used this for third-party players, and I believe this code was eventually reused by projects like GplFlash, gameswf and the Free Software Foundation’s Gnash project. But most partners ended up needing one-on-one consultation beyond the generic runtime code, and the later inclusion of third-party audio and video codecs made public distribution of the entire codebase impossible anyway. These days SWF is more like HTML, where anyone can construct tools atop the openly published file format specification.)

Here’s an example of how the 1998 news was received, in the netscape.public.mozilla.general newsgroup. It’s funny that there’s a similar emotional mix today — some happy and optimistic at new capabilities, some comparing other technical initiatives or proposing further modularization of browsers, others just enjoying detailed objections and counter-objections and counter-counter-objections to previous sentences. 😉

I particularly like the comment from Marc Byrd, who was Plugin Chief at Netscape at the time: “We also need to make plugins ‘first class’ from the feature and support point
of view. Developers have to be confident that the plugin solution is every
bit as robust, performant, and feature-capable as would be glomming the
feature onto the monolith.”
(Too bad we ended up in “plugin prison” a decade later, huh? 😉

(The “PGML” in some of those comparisons is Adobe’s Precision Graphics Markup Language, submitted to the W3C and eventually a foundation of the SVG specifications. [press release, news account])

There were other conversations in the Flasher mailing list at the time, but these were talking about the new Flash 3 and Macromedia Generator announcements as well… lots of fun browsing, but not the same overall flavor as the Mozilla discussion. Slashdot was pretty quiet on the SWF-opening of April 1998, although it did come up in discussion during “The Rise of SVG” years later.

Bottom line: Flash was told it was no good unless it was opened… until it did so… after which it was told it was still no good. 😉

There’s been a ton of “open” announcements since then, whether governance of PDF by ISO or Flex’s development approach or Tamarin donations or RTMP and other specs or whatever, but the dynamics of online debate are similar today to what they were ten years ago. The positions don’t change, just the rationales.

Matt Asay described a similar dynamic in an CNET article this week, asking “Why would anyone expect Microsoft and its ilk to continue to court a community that ridicules and second-guesses its every attempt at perestroika? I know from conversations with several companies that they’re actually scared to engage the open-source community because the responses have been so intemperate and ideological.”

Best reply I’ve got comes from Adobe co-founder Charles Geschke, when describing PostScript’s early challenges: “If you really wanted to make it a standard — and our goal from the beginning was to have it be a universal standard — you have to publish. You just have no choice. You’re taking the risk that someone will do a better job of implementing it. We had the self confidence that we would always have the best implementation, and that has turned out to be true.”

No reason to change that just because people later try to co-opt the term. There’s a need to improve the world’s communicative capabilities, and weblog debates are just one of the many elements shaping how that goal is achieved.

Possible in Today’s Web

Without installing anything new, 90% of today’s desktop browsers can now do pretty much anything you can imagine with text layout. The same typographic capabilities will become possible in next year’s generation of mobile devices, too.

Tom Barclay, Flash product manager: “Text Layout Framework is an extensible ActionScript library that runs on the new text engine in Flash Player 10 and AIR 1.5. Leveraging the publishing expertise of the Adobe InDesign team, Text Layout Framework offers a level of typographic control and sophistication that goes well beyond what can be done with HTML and CSS.”

Features include right-to-left scripts (Hebrew, Arabic, Urdu, more)… vertical scripts (Japanese, Chinese)… font-embedding of world scripts… print-worthy typography: “kerning, ligatures, typographic case, digit case (oldstyle/lining figures), digit width (proportional/tabular figures)”… graphics nestled within live paragraphs… multi-column flow of text, arbitrary rotation, discretionary hyphenation, many other typographic necessities… text is described as external XML files. Rendered by Adobe Flash Player 10 and above.

Right now it’s just a beta API within the Flex 4 Framework, with an interface like this. One application of this API to content creation is in a Flash CS4 component.

There’s lots of room to grow — lots of other ways people will want to access precise layout. It’s easy to create a SWF, many authoring interfaces are possible.

Projects based on this may help with standard markup languages such as MathML and OpenMath… maybe even markup languages like MusicXML, rendering predictably across browsers, without installing anything new. Sort of a PostScript for the Web.

Resources: Release NoteswikiVeronique Brossier…. Mihai Corlan… info on Flex governanceweblog.

This capability is just sitting out there, in the world’s browsers, today. It’s waiting… waiting for us to learn how to use it.