Adobe's senior product manager for Apollo, Mike Downey was in London last week. We met him at Adobe's Regents Park offices, and in a wide ranging conversation we talked about the past, the present and the future of Apollo.
Downey worked with some of the most senior engineers in the company to develop Apollo: “It's the highest profile project in the company”, he says.
If you've downloaded and played with the Apollo alpha, you'll know that PDF support is missing. So one of our first questions was about how Apollo would support PDF. Would it be like Flash Paper, or would it be able to write PDF documents?
The answer was straightforward – Apollo would only read and display PDF documents, but, Downey added, "There's the possibility of using an ActionScript library to write PDF content". That's one of Apollo's hidden strengths – the ability to use libraries to extend basic Flash functionality. Apollo is able to use any existing ActionScript 3 .0 library, taking advantage of the ability to serialise to any binary file – so you can write an application that can save straight to Excel XLS files, for example.
There are also ambitions plans for Apollo's future. With 1.0 still not out the door, Adobe is already thinking ahead to 2.0. Downey revealed that version 2.0 will offer mobile support, building on Flash Lite, the mobile version of the standard Flash player, and on Nokia's work on a mobile WebKit-based browser. With the mobile browsing experience still no competitor for the desktop it's no wonder that Downey said that “Nokia are very excited”.
One of the most exciting roles for Apollo is in the developing Office 2.0 space. Flex has already proven to be a powerful tool here, with Salesforce.com releasing Flex libraries for its service. Apollo adds to this by giving developers access to local functions. Downey pointed out the Finetune Apollo application as an example of how this might work, as it mixes web-based media content with information from your local MP3 library, letting you mix streamed and local content.
We also talked about the relationship between Apollo and previous attempts at producing cross platform applications. Downey felt that Adobe controlling and offering the only runtime (especially as content would be built using open standards) was a strength, as Java has suffered from its early extremely fragmented run time environments – where, often, users would find they had the wrong JVM.
Apollo will not have that problem; and it is designed to support incremental updates and to be backward compatible with previous versions. Its auto update API means that files are small, so it's quick and easy to update applications or download any required libraries.
Of course one of the big questions is performance. Downey said that Adobe would “concentrate on performance after the beta”, and promised that “it will get better”. As it's building on existing technologies, overall performance should be as good as the standalone components.
He also revealed that there would be a Linux version, probably sometime in the first half of next year. “We're working on it”, but there are some significant hurdles to overcome. Flash Player 9 for Linux took longer than expected, and there are a lot of unique technologies and problems with Linux, from understanding how to abstract different file system types to working with the capabilities of different window toolkits.
From Web to Desktop in two days...
Developers will find that Apollo will be able to automatically handle different platforms for them. It'll even automatically generate platform specific icons, so there's no need to write specific installers. But Downey pointed out that one of the main advantages of Apollo was that developers could produce “Both a web version and a desktop version of an application with Apollo - using the same codebase”. He pointed to the work done by Finetune and Scrapblog to produce Apollo versions of their web applications, in very little time, and with very little additional code.
One of the key issues facing Apollo is the relationships between designers and developers. Apollo brings interactive design into desktop application development, with design becoming a key factor. Downey sees Apollo and its toolset as bringing the designer into developer workflows.
That's why Adobe is focusing on tools, aiming to deliver “a tool chain to optimise how designers and developers work together”. Developers will be able to work with familiar tools, as Adobe will be bringing out Apollo authoring extensions for both Flash and Dreamweaver. And developers will be able to use some of Flash CS3's functions to bring design into their code, especially the ability to convert animation timelines into ActionScript code.
Downey feels that the biggest message of Apollo is that “The designer is first class citizen in desktop application development”. It's a message that's going to change the way we structure development teams and run projects – and one that should translate into better experiences for our users. ®