Adobe's Apollo product manager, Mike Downey, was recently in Sydney attending the WebDU conference. We managed to steal him away for a discussion on Apollo, where it is heading and what we will see in the future.
BuilderAU: Does Apollo favour Flash over Ajax?
Mike Downey: So people are expecting us to really favour Flash because we're the guys who do Flash. But by far HTML is at the same level, as far as support, as Flash is in Apollo — it's really important to us. It's a runtime for using existing Web technologies, period.
Is Apollo just another browser?
So Apollo's definitely not a browser, now first of all a lot of those capabilities, so some things that may be missing right now may go in there before 1.0 — so a lot of that stuff's not done yet. And definitely Apollo's not a browser, but it has a full HTML engine built into it, which means that you could build a browser or build browser capabilities in your application. But yeah, it's definitely not a browser in itself.
Yeah, WebKit open source HTML engine. It's the same engine that Apple's Safari browser is built on - and we're actually contributing code back to [the] WebKit project as part of the development. We just checked some in on Monday actually so that's cool, it's great for the community. And it has full consistent HTML support, just like you'd have in Safari.
And then things like history management, all that, we're going to be building some APIs around all of that, that'll make it easier to work with that. But also most of that functionality you'll be able to build yourself.
Will Flash within HTML be displayed in the future?
Oh yeah, that's one of the things that we haven't gotten to yet. So, HTML renderings actually pretty good - there's still bugs, weird rendering bugs that we need to fix. We've actually found that on the Mac version of the runtime HTML is a little bit better than the Windows version right now because WebKit has been accelerated much further on the Mac because of Apple's contributions to it.
So we're catching up [on] all that stuff on Windows. So some things you'll see look better on a Mac, then you'll try it on Windows and they won't look the same - but by the time we finish 1.0 it will be all be completely consistent.
Will the performance of Apollo be optimised soon?
Definitely, we've actually have done zero performance optimisation yet. Right now we're complete focussed on getting features functional, getting them stable and solid. We have several months of completely dedicated just performance tuning time. We usually do that towards the end after we've gotten the functionality in.
Will Apollo work on mobile devices?
Apollo will work on mobile phones, that's 100% definitely in our roadmap. That's actually one of the reasons that we chose WebKit because WebKit was one of the smallest HTML engines out there and it had already been ported to mobile devices, Nokia ported it.
So that makes it a lot easier for us to get to mobile faster. So we're shooting for next year, to have to actually have a mobile version of Apollo.
How is licensing going to work?
Yeah, it's completely free. Runtime's free, no distribution limitations. Like I said we support certificates, signatures, so you know you can do all of that - but there's no limitations on the runtime.
Will future version of Flex support Apollo?
Yes absolutely. So there's three teams that work closely together. The Apollo team with the Flex Framework team, so we have a team that really focuses on the framework. And then the Flex Builder team which is, that's the IDE. And we all sit next to each other, and the three teams work together very very closely.
It's a collaborative effort, and future versions of Flex and future versions of Flex Builder will have Apollo fully integrated into the standard offering. We haven't really announced whether the first release will be an extension and then following it will be built in - all that stuff we're still working out but it's definitely going to be integrated over time.
How big an issue is backwards compatibility?
In fact that's actually one of the things, people often bring up Java to me when we're talking about Apollo, like you know well Java did something like this and how's Apollo compare to that.
And one of the things about Apollo that's kind of unique is that every runtime will be backwards compatible, which is not like the JREs. You know a lot of Java applications on the desktop fail because you had to have a very specific JVM in order to run a specific app and you had IBM making JVMs and Microsoft making JVMs and Sun making them, so there was inconsistencies in the runtimes.
And that's what happens when anybody can build a runtime, that's a big downside for anyone being able to build their own runtime. So we have it so that it's all fully backwards compatible. So as people get new versions of the runtime all the old Apollo apps will work, regardless of platform.
Is PDF support is going to be in Apollo?
Right, so PDF support will be completely available in Apollo, via the Reader. So the Adobe Reader isn't bundled with the Apollo runtime, but if the user has it on the machine which something like 97% of users have already, then your Apollo application can hook into the Reader and utilise it's capabilities. So pretty much everything that you can do with Reader you'll be able to do inside of an Apollo application.