Most people know Mike Downey as the Senior Product Manager for Flash and he has always been a big part of the Flash community. In December he announced that he was leaving the Flash team to become Sr. Product Manager for Apollo, Adobe's new cross-platform desktop runtime. While he was here in Seattle I got a chance to sit down with him and ask him about Apollo, the future for the platform, and what it means for developers.
1. What do you think is the most exciting thing for developers in Apollo?
a. We're introducing a runtime that lets web developers use standard web technologies, things they are already very familiar with, to build web-connected, online/offline, cross-platform desktop applications. They can leverage the knowledge they've gained over the years and apply it to create great desktop applications.
2. What do you see as the most challenging barrier to Apollo adoption?
a. We need to do a good job of promoting what makes a good desktop application and what makes a good web application. I think there will be a period early on where there will be some confusion about which web applications should be enhanced with desktop functionality.
3. What do you see as some ideal use cases for Apollo?
a. Media oriented applications are going to be popular. Media companies will be able to create custom branded, desktop presences now. Imagine applications rich in video and audio with rich interfaces and a heavy focus on allowing users to contribute and manage their own media.
b. I think we'll see a lot of what I call "mini apps" initially. Lightweight utilities for performing specific tasks like note-taking, project tracking, task management, etc.
c. Another market is casual games. The casual game industry is booming and they all use Flash. Now we can give them a way to install those games on the desktop and allow them to interact with the system in the form of saved data and desktop notifications. I think it could range from texas holdem style games to full Role Playing Games.
d. And of course you'll see a lot of companies taking their website's core functionality and extending it with desktop functionality, similar to what eBay is doing with their San Dimas project. Customers have told us that Apollo will allow them to save a lot of money in server infrastructure by moving a lot of functionality, processing, and data to the client. We think that will be a big draw for a lot of companies.
4. If a company wants to use Windows Presentation Foundation, what do you tell them?
a. I would ask them what they want to do with their application. If their goals were to leverage web technologies and skillsets while reaching the widest possible audience with a rapid development model then Apollo will be a technology that can do that. In a lot of cases, it will also allow them to leverage existing code - which I think is a big draw. But Apollo will not do everything. Microsoft's WPF will probably be very good for software developers looking to build Windows Vista and XP desktop applications. If I were going to build a high-end game like World of Warcraft for a late-model Windows-only audience, I would probably take a good look at WPF. But if a company told me that they wanted to use WPF, I would ask them if they had a team of C# programmers looking to build high-end Windows software. Apollo is targeted at web application developers.
5. Firefox seems to be building out it's own RIA platform with technologies like XUL and your recently donated ActionScript VM. How does that affect Apollo?
a. Apollo is not a replacement for the web browser, and we aren't positioning it that way. While you can do a lot of powerful things with Firefox and XUL, you are still working within the confines of the browser. With Apollo you can take advantage of OS-level services like system notifications, drag and drop from the desktop and complex local data storage and manipulation. Browsers are great for browsing content and Apollo doesn't aim to replace that.
6. What are Adobe's plans to monetize Apollo?
a. First let me say that the Apollo runtime will be free. So with that said, I assume your question is really how can we monetize the ecosystem around Apollo, and we have a few ways to do that.
i. Tools will obviously be a big part. Flex Builder is a fantastic IDE and will be a great way to build Apollo apps. The Flash authoring tool and Dreamweaver, leveraging Adobe's Spry Ajax framework, will also be great tools for creating Apollo apps. And of course Adobe has the best design tools in the industry, which will all be extremely important elements of the Apollo application development process.
ii. We're also looking at servers and services that can support people developing applications with Apollo. Flex Data Services is an example of a great solution that will add significant value to certain Apollo applications.
iii. Adobe is also looking to build applications on top of Apollo. I can't give you any specific examples right now, but we have several teams within Adobe that are building software on top of Apollo as we're developing it. They give us some great feedback and will also give us some great examples to showcase at Apollo's launch later this year.
b. Apollo will allow all kinds of companies to deliver software in a new way, and we think the ecosystem around it is going to be very large.
7. Is Apollo going to be the single platform for Adobe to deliver software?
a. It isn't going to be perfect for everything. For instance you won't necessarily see Photoshop running on Apollo any time soon, but there are new types of software in the works at Adobe that will be a good fit for Apollo. It adds a solution to software deployment that doesn't exist today and it is a way for us to grow our business.
8. Is Apollo going to put Adobe in more direct conflict with the developers who are creating software now that you're both planning to create software on the platform?
a. Our aim is not to compete with the people who use our software. Our aim is to provide a great runtime with great tools, servers, frameworks, and solutions that will enable our customers to be successful.
9. Is Apollo the next generation of software development?
a. The software landscape is definitely changing. Things are much more open, and Adobe has helped take a lead on this with Adobe Labs. In addition, web-based applications are changing everything and making the operating system much less relevant. But we think there is a need for a platform that merges the power of the desktop with the advantages of web technologies. Apollo will provide that, and I think it does show what the next generation of software development will look like.
10. When Bill Gates was asked about web apps versus desktop applications he said the distinction between the two was silly from a technical standpoint and that the end goal was to get things done. Will we ever get to a point where the browser isn't needed?
a. I think the browser really took off because it allowed anyone to access information, regardless of their device or operating system. It allowed people to share content with a very wide audience. I think this value has led to applications being delivered to the browser. However, web developers consistently deal with limitations in this model. With Apollo, they can move to the desktop and provide richer functionality and a better user experience, while enjoying the benefits of a cross-platform runtime that is accessible by anyone, just like a browser. We're in the middle of a monumental shift in how applications are delivered and while the browser has changed things tremendously, I think Apollo will take things to the next level.
11. Will Apollo always be a very low footprint technology that runs everywhere but doesn't take full advantage of the CPU or hardware acceleration?
a. Our main goal is to ensure that the runtime is consistent across all of the platforms we support. It's entirely possible to do hardware acceleration but we are going to make sure that doing so will maintain a consistent user experience. I think multi-core CPU optimization is less of a cross platform challenge than GPU hardware acceleration will be.
b. If it does happen, it's probably something that will be done in the Flash Player and then rolled into Apollo. As I said, the cross platform consistency, for both developers and users, is what is most important and if we can get that and do hardware acceleration, we'll probably do it. We've already made some good progress starting with Flash Player 8 where we added DirectX and OpenGL optimizations to boost graphics performance.
12. Will Apollo always follow the technology advancements in the Flash Player?
13. Will Apollo ever replace the Flash Player or will the two runtimes ever be combined?
a. Flash Player is the most widely distributed runtime in the world and right now we don't have any plans to change it. We have no plans to combine the two runtimes as they serve two different purposes.
14. What is your strategy around deploying the Apollo runtime?
a. Well Adobe and Macromedia have been very successful at distributing runtimes, evidenced by the distribution of Flash Player, Adobe Reader, Shockwave Player, etc. We've probably distributed more software to more desktops than even Microsoft. So we're going to draw on that experience to make Apollo successful. But we think the main contributor of getting the Apollo runtime installed will be great content. For instance with Flash Player 8, people were excited about the new features and went out to build great content. It resulted in record adoption for the player - over 600 million desktops in less than a year.
b. So we want to enable developers to build great content. We are working with a variety of partners from big companies to Web 2.0 startups to make sure that when Apollo launches, we have some great apps in the market that end-users will be attracted to.
15. What are your plans to get developers excited about Apollo?
a. We want to engage heavily with the Ajax community. We're planning to make the SDK and the packaging utilities available for free, just like we do now with Flex. We are going to be going to a lot of Ajax conferences to show off Apollo as well. Our Flex team will also be very actively promoting Apollo and engaging the community.
b. One of the most effective ways we can promote Apollo is through the developer community and the examples they create. Showing what is possible with the platform helps to increase the excitement so we will help those developers tell stories and showcase their applications.
c. Right now we have an extensive program to line up early adopters so we have some high quality content on release. We're also planning to put Apollo up on Adobe Labs in alpha form within the next few months which will open it up to everyone from small development shops to enterprise customers who want to try it out.