By now you've heard the news that Adobe is hoping to donate Flex to the Apache Foundation. They've got a whole bunch of software to go with it, and the Foundation has a bundle of goodies to evaluate and consider. It sounds like a good deal all around, though an actual open source Flash browser plug-in could save Adobe a lot of time and effort.
A few weeks ago, while I was caught up in JavaOne and Oracle OpenWorld, I wrote up a quick posting based on chatter I'd heard on the show floor. The buzz was that Adobe hadn't mentioned Flash in its keynote at MAX that day. At the time, I took this as an indication that Adobe was backing away from Flash. It turned out that chatter was incorrect: Adobe had Flash in its second day keynote at MAX, the day after my posting.
The posting clearly touched a nerve, as a number of angry comments accrued upon it. And while I've felt a tad embarrassed about the incorrectness of the post, I can't help but feel that, in the broader scope of things, Adobe is backing away from Flash and moving towards HTML 5 as its platform of choice for Web development.
Can you blame them? Flash is all but dead on mobile devices already, and Adobe's finally conceded the loss there. Then they snatched up PhoneGap, a portion of which was also donated to Apache. PhoneGap is all about HTML 5.
And again, I say, good riddance to Flash. It's a wonderful tool, and even fun to develop with, but at the end of the day, it's still a browser plug-in. It can never be a substitute for open standards, widely implemented. Sure, many of the traditional problems of Flash have now been solved, as many an irate commenter has informed me. But it's a technology that is winding down. I'm sure it will remain with us for another decade or so, but then, COBOL is still around too. That doesn't mean it's a good choice for your next project.
There are only two remaining essential elements of the Flash stack, as I see it. The first is video playback. The second is webcam connection. The latter is somewhat shaky. YouTube and other video sites still rely on Flash, but that is slowly changing as Google ramps up WebM for public use. Soon, the browsers will just play those videos, without the need for a plug-in.
And, as for Webcams. Well, Flash is not even a great solution. It's the only solution. There are bugs that mean the cameras in certain MacBooks don't work with Flash, for some reason. That means no Ustreaming from a Mac, still. This is Apple's bug, but it doesn't matter who's to blame: the stuff doesn't work and consumers aren't happy. Chromebook video cameras don't work with Flash. Most netbooks running Linux can't use their webcams with Flash either.
Is Adobe to blame for this? Of course not! Why in the world are we all relying on Adobe to write the drivers for our webcams? It's ludicrous! Adobe knows design and design tools. They're not a hardware company. They're not in the driver business. They've barely been able to keep up with porting Flash to other platforms. For years, Linux was left out as a second class citizen, but when it was finally addressed after years of moaning from the community, six new mobile platforms had cropped up, and each one required its own port.
And yet, Flash thrives in the domains for which it was intended to be used. There are certainly millions of very awesome Flash games out there, and there are thousands more wacky animations and intriguing interfaces that couldn't be created in anything other than Flash.
But when you're locking away significant functionality for the Web behind the wall of Flash, it's not good for the Open Web, in the formal Mozilla terminology. I should be able to watch YouTube videos in my browser, on my phone. It shouldn't require a separate app. As Apple, Google and Amazon have all been saying, the mobile Web experience should be no different than the experience on the desktop. Flash is getting in the way of that vision.
Perhaps this is not the end of Flash we see on the road before us. Perhaps it is more of an unburdening. Without the burden of having to run all video on the Web, and having be the standard interface for browsers to access local devices like microphones and video cameras, Flash can continue to flourish as the design-driven tool it really is. It'll be nice not to have to wait around for Adobe to make things work on my Ubuntu machine.