Flash’s Grand Unification

Theme: Technologies which are useful and lasting do not always grow in a straight line. A useful technology will often fragment to explore alternative niches. But a lasting technology will then find ways to unite that fragmentation, creating a larger, more interesting technology ecosystem.

A subtle aspect to this week’s milestone: With Flash Catalyst, Flash Builder, Flex Framework and FXG, there’s now a coherent creation process uniting the creative design worlds and the coding development worlds. Flex had jumped out from Flash into another environment, and the larger Flash now unites both worlds.

It made sense for Flex to branch out on its own a few years ago. That was when the “Rich Internet Application” meme was new, and the only paying projects came from enterprise. And coders didn’t want to look at timelines. Flex found a way to efficiently create data-driven interfaces and became very successful.

Now there’s a proven coding workflow which works naturally with standard visual-creative workflows. The fork merges back into the trunk. The fragmentation is united. It’s larger than before.

You can see it in the name. I used to ask “Why do you call them ‘Flex Apps’, when they run in the Flash Player?” I was told it was because coders shunned timelines, and there was prejudice against Flash as being “only for cartoons”. A new name helped in exploring a new niche.

But Flash and Flex have both been such a success, in so many ways, that that rationale no longer holds. Today it’s easier and more meaningful to say “It’s all Flash. Just Flash. That’s what it is.”

The developmental niches are being united… the names are being united… but there’s a third and extremely important unification going on now as well.

Last year at MAX you heard how the “Flash Lite” branch would be merged into the desktop Player. A single runtime codebase, supported within multiple device form-factors. That work is proceeding now.

Forking to Flash Lite made sense. No way a handheld five years ago approached desktop capability. Code from older runtimes kept pace with chip growth. Let us explore new ecologies, learn firsthand what was needed.

Now, though, the high end of mobiles is approaching a laptop’s capabilities. Those fragmented cross-device runtimes need to be united. The same development process must support any screen.

Big engineering challenge. But it’ll happen. I was in a “town hall” session with Adobe CEO Shantanu Narayen today, and he repeated that this is the single top priority at Adobe now. We need to make it easy to publish to any screen. A common Flash Player across desktops, pockets and walls — that’s the goal. Remove the fragmentation, unite the silos.

Flex split out from Flash, grew large, and now both are united with the Adobe toolset.

Mobile development split out from desktop long ago, and now the fork is merged back into the trunk, picking up the TV set in the process.

And the names have been united too. Seems fitting. It’s all Flash.