Thursday, September 29, 2011

TECHNOLOGY, How Adobe Flash Lost Its Way

Adobe has long dreamed of establishing Flash as a premier cross-device rich application development platform, but as the competition mounts, those hopes appear to be dwindling. This could be Adobe's last chance.
As its annual Max developer conference approaches, Adobe has announced details of the forthcoming Flash Player 11, along with AIR 3, the latest iteration of the Adobe Integrated Runtime desktop app based on Flash technology. Among the top features of the new versions is hardware-based 2D and 3D graphics acceleration, which Adobe promises will make Flash content run "1,000 times faster."
In addition, Adobe has hinted that the Max keynotes will unveil "a new company initiative that reimagines content authoring" and transform "the creative process across mobile devices, personal computers, and the cloud."
Even if Adobe delivers on its grand pronouncements, all this may prove too little, too late. Once, Flash was near-ubiquitous. Today, as consumers move away from desktop PCs toward smartphones, tablets, and other devices, Flash's influence is waning. Apple stopped shipping the Flash Player with new Macs in 2010 and forbade it outright on iOS devices, amid scathing criticism from then-CEO Steve Jobs. Now comes word that the Internet Explorer 10 browser for Metro, Microsoft's new Start screen shipping with Windows 8, will not support any plug-ins, including Flash.
If Adobe hopes to reignite interest in the platform now, what it ships this year can't merely be iterative. It must be downright spectacular.
Advantage: Silverlight
Flash fans are sure to point out that Windows 8 will also ship with a desktop version of IE10 that still supports the plug-in; Google ships its Chrome browser with a version of Flash built in as well. Increasingly, however, this is beside the point. On the Web, Flash faces the growing challenge of HTML5. Soon, Web developers are likely to turn to Flash for only the most media-rich applications -- such as those that need access to Webcams and microphones.
Some will also argue that although Metro-style IE10 won't support the Flash plug-in, it won't support the Silverlight plug-in, either. Silverlight has long been viewed as Microsoft's direct competitor to Flash, and critics see this latest development as a victory for Adobe and an admission on Microsoft's part that Silverlight is a failure. But they're wrong.
Silverlight as a brand seems to be fading out of view, but its technology definitely is not. The top way to build apps for Windows 8's Metro environment is using a combination of HTML5, JavaScript, XAML, and .Net-managed code -- in other words, pretty much all the same stuff that goes into Silverlight apps. When you develop apps for Metro, you essentially are a Silverlight developer.
The message is clear: Instead of creating Silverlight content to be served over the Web and wedged into a browser window via a plug-in, developers can use the same skills, technologies, and techniques to offer the same content as first-class apps for Windows, using touch-centric Metro-style UIs.
I'll argue that it's not Silverlight that has failed, but Flash. Flash on Android tablet devices offers only mediocre performance, and Adobe has done little to encourage developers to consider touch first. In comparison, Microsoft is practically beating Metro developers over the head with touch. Adobe enables developers to create desktop apps, too, using AIR, but it has never been successful at encouraging users to try them. Unlike Metro, AIR apps aren't well-integrated into the OS and require users to install a separate runtime before they'll run. Adobe could have offered an "AIR desktop" that worked very much like Metro, but it lacked the vision.
All alone in an app-centric world
The bigger picture -- which I've touched on before -- is that major platform vendors are increasingly encouraging developers to create rich applications not to be delivered via the browser, but as native, platform-based apps. That's long been the case on iOS and other smartphone platforms, and now it's starting to be the norm on Windows. Each step of the way, Adobe is getting left behind.
For example, the other platform that uses HTML5, JavaScript, XAML, and .Net as its core development technologies is Windows Phone 7. If you're a Silverlight or Metro developer, you'll feel right at home with the Windows Phone SDK. Adobe has long claimed to be working with Microsoft to bring Flash to the Windows Phone platform, but that seems increasingly unlikely now.
Flash's fortunes on other mobile platforms haven't been much better. I mentioned that the Flash Player on Android is a mixed bag; AIR apps tend to work better, but relatively few Android developers have taken up the technology. On BlackBerry PlayBook tablets, Flash support has been blamed for poor battery life.
Adobe says the latest versions of its Flash tools can be used to create apps for iOS, too. That's true, but it's a little misleading. You still can't run Flash content directly on iOS; instead, you must package your code as AIR apps, then use Adobe's tools to cross-compile them into native iOS code. That makes cross-platform development easier, but it's not the same thing as true portability, and Apple could effectively withdraw the capability at any time, either by changing its APIs or by altering its terms of service. Similarly, Adobe expects "Flash-based apps will come to Metro via Adobe AIR," but it's unclear what advantage this will give developers over XAML, the native Silverlight technology.
Sorry, Adobe, no sale
Perhaps Adobe's biggest problem, however, is that it's something of a relic as developer-oriented vendors go. How many people have access to the Flash runtime is almost a moot point, because Adobe doesn't make any money from the runtime directly; it gives it away for free. Adobe makes its money from selling developer tools. Given the rich supply of free, open source developer tools available today, vendors like that are few and far between. Remember Borland? Or Watcom?
Compare that to what Apple, Google, and Microsoft are all doing. They're building complete, vertically organized software development, sales, and distribution channels, offering developers everything from platforms, tools, and SDKs to the online stores to sell their wares. That offers advantages, particularly to small developers, but more important, it means the platform vendor gets to take a cut of every sale.
Adobe tried something similar with Adobe InMarket and the AIR Marketplace. Neither were particularly successful with developers or customers. More important, neither brought in any revenue for Adobe (the AIR Marketplace being a "marketplace" in name only). Both were shuttered Aug. 31, with Adobe encouraging developers to use other companies' app stores to market their AIR apps. Once again, Apple, Google, and Microsoft each get their cut; Adobe gets nothing -- yet another missed opportunity.
While I look forward to what Adobe will announce at the Max conference, I can't help but view it with a healthy dose of skepticism. Adobe says it will "transform the creative process." Increasingly, one question sticks in my mind: For whom, exactly? Hasn't Adobe noticed the transformation that has already happened?
This article, "How Adobe Flash lost its way," originally appeared at InfoWorld.com. Read more of Neil McAllister's Fatal Exception blog and follow the latest news in programming at InfoWorld.com. For the latest business technology news, follow InfoWorld.com on Twitter.

0 comments:

Post a Comment