Adobe Systems wants to have it both ways.
Microsoft's power with programmers is tethered to desktops and laptops, the vast majority of which run Windows. Google is trying to dominate what it believes is the new frontier, cloud computing, where applications run on the Web. Adobe, though, is trying to run down the middle with a strategy that touches on both domains.
"It's a balance of the client and cloud together that makes for the most effective applications and the best development," said Adobe Chief Technology Officer Kevin Lynch, who's planning to speak on the subject in a keynote speech Monday at the company's Max conference in San Francisco.
Since Adobe's $3.4 billion Macromedia acquisition in 2005, programming technology has been rising in importance within a company that got its start with publishing software such as Photoshop. The technology that brought the two companies together, Flash, will hog the spotlight at the conference.
Flash got its start as a way to give Web pages animations and basic applications such as games, but it's grown up since then. The Flex technology has given developers a more mature programming model, and the addition of video-streaming abilities to the Flash Player that's plugged into the vast majority of Web browsers has given Adobe's technology incumbent status. Who can live online without YouTube?
Adobe is still working on Flash, releasing Flash Player 10, aka Astro, in October. At Max, though, a Flash cousin called AIR--the Adobe Integrated Runtime--will share the stage with the release of version 1.5.
Flash and AIR are key to bridging the cloud-PC gap. For example, Adobe has launched an online Photoshop.com service, where members can upload, edit, and share photos. The site uses Flash to run the processing-intensive editing software on people's own computers, not Adobe's servers, Lynch said.
"Our operational costs for hosting that application are much lower than if we had server-side processing," and users get better performance, Lynch said.
But there's a risk to choosing a hybrid strategy: gains in flexibility often come at the expense of specialization, and specialized applications often work better. Sun Microsystems tried for years to get Java to catch on as a cross-platform runtime, but 13 years after its launch, it has yet to catch on with mainstream computing applications.
Microsoft is moving slowly cloudward, but its cash cows remain Windows and Office. Its software is more powerful and responsive than any Web-based application--as long as you have your PC with you.
AIR applications can take advantage of local computing power, though--and the big new feature of AIR 1.5 is that it uses Flash Player 10, which brings 3D graphics, better text handling, the ability to mix different audio signals, and other abilities that make it a more reasonable competitor to Windows.
Another challenge for AIR is ensuring it's installed. Programmers aren't eager to write applications for a foundation that's not installed, and people aren't eager to install a foundation for which there are no applications--the classic chicken-and-egg problem.
But AIR applications are starting to spread. An eBay auction management application has been downloaded a million times, and media players from Adobe, Fox, and Atlantic Records also are top downloads, said Michele Turner, vice president of product marketing and management for Adobe's platform business unit. Also popular are two AIR applications called Tweetdeck and Twhirl, which make the Twitter microblogging service vastly more useful.
Macromedia succeeded in spreading Flash far and wide, and Adobe likewise managed to convince millions to install its PDF reader plug-in software. Adobe now hopes for the same success with AIR, and it's showing some success.
Adobe's goal is to have AIR running on 100 million machines by the first anniversary of the 1.0 release in February 2008. "It looks like we're on track right now," Lynch said. And 1 million copies of the AIR software development kit have been downloaded.
Adobe will be touting new AIR and Flash tools at the show, too, though only in "technology preview" form:
Alchemy, to be shown Tuesday, lets programs written in the C or C++ languages, run within Flash Player. That could help companies repurposing in-house software.
"Gumbo," a new version of Adobe Flex Builder, is designed to make programming easier for those familiar with scripting languages such as PHP, Turner said.
"Thermo," formally called Adobe Flash Catalyst, is designed to let people quickly create an application's interface in another application--by Adobe Illustrator CS4 for example--then add the interactive instructions to the interface elements.
Flash and Flex have rivals, though. Most obvious is Microsoft's Silverlight, which has begun to spread, and which has the advantage of compatibility with the .Net programming environment and language many Windows programmers already are familiar with.
Adobe is aware of the Silverlight threat, though. For example, When Microsoft started touting its high-definition video support, Adobe put the Flash Player 10 development on hold, added the feature to Flash Player 9 to answer Microsoft more quickly, then resumed development of version 10, Lynch said.
Adobe also got mobile religion. The company will show Flash Player 10 running on a smartphone during the show, Turner said, and Lynch plans to talk about a "sea change" to include mobile devices not just as an afterthought.
"There's going to be wholesale reversal to start thinking of mobile devices first, not as an adjunct or secondary," Lynch said. "If you're designing content--applications, video, Web pages--you've got to starting thinking about mobile."
The new iPhone era of mobile devices that are appreciably more powerful and equipped with a mature Web browser has led Adobe to merge its formerly separate mobile Flash development team with the desktop Flash team, Lynch said.
But for now, there's no Flash available on Apple's iPhone. (YouTube videos, for example, are transcoded into a different streaming format.) Adobe clearly wishes this were otherwise, though, and for example has completed a software development kit that lets people create Flash applications for the iPhone, Lynch said.
"We are developing Flash player for the iPhone. To release software on the iPhone requires Apple's agreement. We have to make it work great, and need to get their agreement to have it released," Lynch said. "We would love to see Flash on the iPhone."