ReadWriteWeb

Understanding Apollo

Written by Richard MacManus / May 14, 2007 3:08 AM / 34 Comments

During my recent visit to the US, I popped into the Adobe office in San Francisco to find out more about Apollo - the company's new RIA (Rich Internet Application) runtime and development platform. I sat down with Mike Chambers - Apollo Senior Product Manager, developer relations - to figure out what Apollo is all about and where it's headed in the future. Christian Cantrell, another Product Manager on the Apollo team, joined us midway through to show me some of the newest Apollo apps.

In this post, I summarize that meeting - but also I aim to give a kind of 'Apollo for Dummies' overview (because until that meeting I was one of those dummies!). Much of the media and blog coverage of Apollo so far has been focused on what it means for developers, but I have yet to see a cogent explanation of Apollo for end users. So this post is an attempt at that.

Mike started off by explaining to me that Apollo aims to bring web apps to the desktop, in contrast to Microsoft's WPF which comes from the desktop to the Web (it's worth noting though that Mike doesn't believe Apollo competes with WPF). He also told me that an oft-quoted benefit of Apollo, offline access for web apps, is not the main reason Adobe created Apollo. He said the main reason is to break out of the restrictions of the browser, with a richer UI. Essentially Adobe is aiming to create a new type of runtime, one that allows end users to run web apps on the desktop - as an alternative or complement to the browser.

Apollo is still in the alpha phase - and indeed Apollo won't be the final brand name for the product (the new name hasn't yet been decided, or at least is being kept under wraps for now). The public beta will be early summer US, with the official 1.0 release slated for late fall / early winter 2007.

Apollo in layman's terms

Let's back up for a minute and pin down exactly what Apollo is, because if you're not a developer then the official definition can be difficult to grok. Here is that definition:

"Apollo is the code name for a cross-operating system runtime being developed by Adobe that allows developers to leverage their existing web development skills (Flash, Flex, HTML, JavaScript, Ajax) to build and deploy rich Internet applications (RIAs) to the desktop."

Firstly, the word "rich" simply means web apps that are interactive and graphically sophisticated. The word "runtime" is probably the biggest sticking point for non-developers in understanding Apollo, but essentially a runtime is a platform where software applications can be deployed. The Web browser (e.g. Firefox, IE) is probably the best example of a runtime - certainly it is the most widely used runtime on the Web. It doesn't just run web apps of course, but more commonly it is used to host HTML web pages.

So why create a new runtime, if the browser is 'good enough' for most web apps - including RIAs (most rich Ajax apps run very well in the browser)? Well the reason for Apollo's existence is essentially to create a richer, more interactive environment for web apps. To achieve this, Adobe has created a platform for web apps that in some cases is an alternative to the browser, in other cases complements it. This is because Apollo web apps run on the desktop, using the Apollo runtime. Note that developers can also deploy Ajax applications to the desktop via Apollo.


Adobe Media Player

From a developer perspective, the benefit is that developers can use their web app building skills to develop web-based apps that run on the desktop - e.g. they might build an Ajax app that runs on the desktop, to complement an existing app that is browser-based. Indeed that is the main 'design pattern' emerging in the first lot of Apollo apps to emerge - see examples below.

What's more, Adobe is aiming for a much lighter 'footprint' on the desktop than previous runtimes - e.g. Sun's Java runtime (popular on the Web in the 90's) and Microsoft's DotNet. A footprint is essentially how many megabytes you need to download to install a runtime on your desktop. It's important to remember that, as with any software running on your desktop, you need to install it onto your computer. With Java you need to download 12-13 MB, and with DotNet it requires a 50+ MB download. Mike Chambers told me that Adobe is aiming for a footprint of around 6 MB, significantly lower than its two competitors. He also said that Apollo won't have problems with conflicting versions of the runtime, which has been an issue for Java in the past.

Examples of early Apollo apps

Mike Chambers and Christian Cantrell showed me several examples of Apollo apps and many of them were designed as desktop complements to existing browser-based apps. Bear in mind that Apollo is still in the alpha phase, so there aren't many example apps yet. Two of the more impressive Apollo apps so far are Finetune (a desktop music player similar to last.fm or Pandora) and eBay's Apollo app (code-named Project San Dimas).

Finetune is a personalized radio - mostly HTML-based, but the player itself is Flash. Originally Finetune was browser-based, but using Apollo the developers created a desktop version. While it complements the browser version, the desktop Finetune has some added functionality that is especially attractive to power users. For example it can integrate with iTunes, something that the browser can't do. Essentially this is done by the two desktop apps (iTunes and Finetune) sharing XML files. Adobe sees Finetune as a classic use case for Apollo - where developers can build a cross-platform desktop presence using web technologies.

Also aimed at power users is eBay desktop. Ryan Stewart has an excellent overview of this, but essentially eBay desktop allows eBay users to operate their auctions using an Apollo-based desktop app - which offers improved caching, real-time product availability notifications, and auction updates.

Another example Mike and Christian showed me was Adobe Media Player (nicknamed Philo, after one of the inventors of TV). It is a web TV app, and a competitor of sorts to Microsoft's Windows Media Player, but Mike said that it is essentially a video aggregator (using RSS) and player at heart. Via Apollo, content providers can brand the Adobe Media Player using special RSS code. Compare this to iTunes, which is strictly an Apple branded experience. Adobe Media Player also allows content providers to deliver ads in the RSS feed, including overlays (where ads are inserted into the video itself).

Conclusion

End users probably won't see the full potential of Apollo until it goes into public beta in US summer, which should prompt more developers to build on it.

It's clear that Adobe sees a bright future for web apps outside the browser, although with around a 95% penetration rate for Flash on worldwide computers, the browser is still going to play a key part in its plans. Adobe is also careful to emphasize that Apollo can complement the browser, as well as act as an alternative to it. Meanwhile Microsoft is also creating an extensive platform for desktop apps, but it too is still betting on the browser to be a key part of its ecosystem. In Microsoft's case, it has the dominant browser on the market (IE has 80+% market share) and Silverlight is a browser plug-in (similar to Flash). Both Adobe and Microsoft seem to want to break free of the browser, but on the other hand both have dominant browser-based technologies to leverage (Adobe with Flash, Microsoft with IE). It's worth noting also that Adobe sees itself as much more committed to web technologies and cross-platform support than Microsoft, which for obvious reasons wants to leverage its Windows dominance.

What do you think of Apollo and its chances in the near future? It is a fiercely competitive market, with Adobe, Microsoft, Sun, Google and others all active - and each has a differing vision for web app deployment. Google is still very much focused inside the browser, whereas Adobe and Microsoft have made divergent moves to go outside the browser (but both with one foot still planted firmly in the browser). Let's not forget that Mozilla and the other browsers are enhancing their products at a furious rate. It's a key point in the evolution of web apps - so who do you think has the inside running at this stage?

Thanks to Mike Chambers and Ryan Stewart for their feedback on this article, prior to publishing.

UPDATE: This week's poll follows on from the conclusion in this post.


2 TrackBacks

TrackBack URL for this entry: http://www.readwriteweb.com/cgi-bin/mt/mt-tb.cgi/2181

Comments

Subscribe to comments for this post OR Subscribe to comments for all ReadWriteWeb posts

  1. Hi There,
    Thanks for the insightful article. When I first head about Apollo and Flex, I was confused as to which one was witch. I was first introduced to Apollo at the WebDU conference in Sydney, Australia. There I heard Mike Chambers talk and basically summed it up as the Runtime for Flex/Flash apps for your desktop (you can read about my first impression of Apollo at http://blog.sherifmansour.com/?p=58). Kind of like the JVM equivalently which summed it up nicely.

    Its only early stages I know, but I think Adobe has really built a good platform in Flash. It really has put them at the front of the pack when it comes to these kinds of Apps and it will only be a matter of time before Apollo and Flex will be as common as HTML and CSS!
    Sherif

    Posted by: Sherif Mansour | May 14, 2007 4:56 AM



  2. Great article. We need more articles that demistify technology; sometimes even I get confused with platforms/runtimes/APIs/etc.

    Posted by: Stan Schroeder | May 14, 2007 5:14 AM



  3. Great!!! your summary clear me up many things, cheers for good article!

    Posted by: rattapol pattanarangsan | May 14, 2007 6:54 AM



  4. Realmente, muito interessante

    Posted by: Mateus | May 14, 2007 8:50 AM



  5. I STILL don't get it.

    If its running on the desktop using a runtime, why would I not use java? Especially since I don't really feel like learning flex or flash.

    I can pretty easily have java communicate with web-services, so in effect it would result in the same advantage. I use AJAX in browser based apps because I have to, I sure as hell wouldn't want to use AJAX if I was writing a desktop application, even one that interacts or plugs into a website.

    Posted by: Zaqintosh | May 14, 2007 9:23 AM



  6. @zaqintosh

    It is for bringing web developers to desktop applications. And bringing the web apps they've already developed offline. If you are a java developer, then you wouldn't need to go to Apollo, even though java is a bloated whore. You still wouldn't NEED to.

    It is for leveraging the skills that adobe developers already have to create apps in a new space, the desktop, rather than the web.

    Posted by: Quentin | May 14, 2007 9:52 AM



  7. Still, it might be a nice tool for those who know flash, but it seems since Silverlight supports Ruby and Python, it is just a little bit more tempting for programmers.

    Posted by: frits | May 14, 2007 11:11 AM



  8. Talking of Java....

    1. Java is already installed on more than 86% of desktops

    2. I have heard there is a 2-4mb JRE coming soon

    Java is lot richer API than Flex.

    Vijay
    Dekoh

    Posted by: Vijay | May 14, 2007 11:16 AM



  9. Hi,

    nice article, cleared some things, but still leaves me with some questions.
    How about synchronization? Should Apollo not extend the web to the desktop by enhancing existing and new webapplications and usinf the advantages of the web? Are there plans to develop applications which work in Apollo and sync the data to their web-complements, so that you can leave your PC, go to work, fire up the browser and have all your data, be it mails, docs, whatever, all there in the web the way you left it on your PC?

    Am not sure whether I got something wrong or Apollo isn't just ready for this at the moment. Anyway I would love a runtime and correlated applications doing exactly that.

    Tim

    Posted by: Tim | May 14, 2007 11:36 AM



  10. @Tim: That's exactly a use case for apollo apps. An example would be having a Gmail Apollo app on your main PC and when you are on the road you use the Web-Client. You always see the mails from the server but with an Apollo app you have the convenience of a real Desktop app (like Thunderbird).

    Check ApolloHunter.com for a directory of (early) Apollo apps

    Posted by: Alex | May 14, 2007 12:36 PM



  11. @alex:
    ok, so my hopes are there for an app like you mentioned. A gmail and calender application would be great, but I think we'll have to wait for this at least until summer. I know there are some very primitive gmail hacks already, but not worth to mention.
    Tim

    Posted by: Tim | May 14, 2007 12:59 PM



  12. Although Mike's opinion is that Apollo isn't competition to Silverlight... I think otherwise. Silverlight is indeed more powerful, mainly because the development is very similar to WPF, that already brings the RIA/WebApp to the desktop (similar to what Apollo intends to do).

    I think with a runtime like .NET in both WPF and Silverlight, and the new support for dynamic languages, Apollo won't stand a chance.

    Posted by: fabiopedrosa | May 14, 2007 7:17 PM



  13. Get rolling in it's development by visiting Apollo Community Forums:

    http://www.codeapollo.com

    Posted by: Delixe | May 14, 2007 10:16 PM



  14. so basically these RIA frameworks are like XulRunner which has apps like Songbird, the Democracy Media Player, and with Firefox/Thunderbird 3.0, the browser and the mail clients themselves?

    Posted by: james | May 14, 2007 10:55 PM



  15. your article today on Adobe Apollo made me understand more about it... but there are some questions i have in mind:

    1. since Apollo replaces the browser (in some cases) when the application is deployed on the desktop... then what kinds of functionalities does Adobe give to developers as standard? (ex: i've seen in the Adobe Philo video on Mike's site that it has minimize, maximize, forward and backward that works well, on the other hand other applications that was created by developers was not that good, see here Mashable)

    2. since Apollo works from the desktop and is a competitor to the browser (somehow), will this mean that applications such as Google Maps and Microsoft Virtual Earth can be accessed from deployed Apollo applications without limitations.

    3. Does Apollo Platform support P2P technologies?

    4. suppose i like Silverlight and put it above of flash... can i use Apollo to build and application where videos run on Silverlight rather than on flash?

    5. Does Apollo Support extensions for deployed applications?

    Posted by: weblockr | May 14, 2007 11:29 PM



  16. I finally found one place online that you can talk about all these web 2.0 applications and vote on them. Check out Listo.com.

    Posted by: Alex | May 15, 2007 12:17 AM



  17. anyone done a comparison to Silverlght ?

    Posted by: mikester | May 15, 2007 6:20 AM



  18. Look, I understand how ketchup can complement my French fries. What I don't understand is how one application can complement another. You can use only one at a time. The example where iTunes shares a local playlist with an apollo application? Either you add functionality to iTunes or not, you don't create a second application and then share config files. That's just wrong, it should be that the playlist is online, so it can be used _anywhere_.

    Also, I have been without internet connection for 1 day in the past two years (except on holidays, but that's the whole point of a holiday, get away from it all). None of my coworkers is ever without internet (at work or at home), well one is, but she has no computer at home. None of my friends is without internet, ever. Exceptions are outages, which happen rarely and never last longer than e few minutes.

    So what am I saying: Apollo is solving a problem that does not exist. About the only thing good about it is that a server can push data to Apollo (the eBay example), but that's it. We were close to getting all standard on HTML and CSS, but now Adobe wants us to move to Flash and Flex, where your skills are not transferable to another technology.

    I think it's all about lock-in. They want us to be dependent on their technology so we need to keep buying their products. Part of the strategy is to make us believe we need this, when in fact we don't!

    Posted by: Mike | May 15, 2007 6:35 AM



  19. What Mike said.

    ...and by the way, the .NET framework 2.0 is NOT a 50+ Mb download, it's 22.4 MB and the .NET framework 3.0 update is 2.8Mb ...bigger than Java and Apollo but in this day an age, does it really matter within reasonable limits?

    Posted by: Paul | May 15, 2007 7:24 AM



  20. Useless

    Posted by: yup | May 15, 2007 8:41 AM



  21. In some ways, this seems reminiscent of the 1996-era Java "thin client" days (or maybe it's just me); the web and the browser was the "killer app" of the Internet at that time, and appears to still be today.

    However, I think Apollo could do well in the desktop widget/application area alongside XUL-based app-style development. eg. Twitter, email notification or other apps that can be visually attractive, do some desktop integration and yet also support web/internet things - and can be developed based on existing, standard web languages (HTML/CSS/JS). Ultimately I feel the web is where it's at for "anywhere access" though, as it was in 1996.

    Provided Apollo's the runtime can become as ubiquitous as the Flash plugin, I think it could do well in covering desktop widget-type apps at the least.

    Posted by: Scott Schiller | May 15, 2007 9:03 AM



  22. My bet is on Apollo. I believe Apollo will take the market early on as developers can use existing skills as well as pre-existing developed and deployed applications that can be converted to the Apollo runtime. Additionally, Adobe is planning on releasing the runtime plug-in with updates to Flash and Acrobat Reader plug-ins making its saturation of the marketplace even greater. Adobe actually is the #1 software company for installed presence because of the Flash (98%) and Acrobat (83%) plug-ins.

    I've been previewing the capabilities of Apollo to clients since Adobe MAX in October and many are interested at how it will be able to further their business objectives. I see a lot of opportunity in intranet/extranet applications, applications for employees in the field with limited connectivity, and rich internet applications that give an end user a more comfortable UI due to its similarity to a desktop application than applications currently hosted via browser.

    SilverLight is an interesting development. But I believe it will have difficulty spreading beyond Windows which will hinder its appeal to developers with cross-platform end users.

    The only real threat that I can see for Apollo may be the addition of offline functionality in Mozilla's upcoming release of Firefox 3.0. Google is in bed with Mozilla and I'm sure the final release will be pretty spectacular. Firefox still has shy of 20% of the browser market but a killer feature such as offline usage will certainly make a significant influence in new growth.

    As always, R/WW provides a good overview and analysis in this article. Much thanks.

    Posted by: Chris Brown | May 15, 2007 11:26 AM



  23. Apollo is interesting, but before you get too far, take a look at the WPF work and labs at thirteen23.

    Posted by: John | May 15, 2007 5:47 PM



  24. Apollo is interesting, but before you get too far, take a look at the WPF work and labs at thirteen23.

    Posted by: John | May 15, 2007 5:48 PM



  25. What's the the comments that want to compare Apollo to Silverlight? They're not the same!

    Silverlight is like Flash because they're browser plugins for rich content. Apollo is more like the full-scale .NET because its a runtime for desktop applications (though Apollo's APIs certainly won't be as extensive).

    Posted by: Josh | May 15, 2007 6:00 PM



  26. While I'm rooting for Mozilla because it's open source, I think Apollo has the best strategy - not to mention the experience Adobe has gained with Flash and the power to leverage it.

    Posted by: Ephilei | May 15, 2007 8:24 PM



  27. > With Java you need to download 12-13 MB, and with DotNet
    > it requires a 50+ MB download. Mike Chambers told me that
    > Adobe is aiming for a footprint of around 6 MB,
    > significantly lower than its two competitors.

    This would've been some kind of consideration back in... say, 1999? Size is just not a factor!

    I have an 8Mb/s connection about to upgrade to 24 (for £24/month, unlimited). I have 1000s of GB lying around. That cost like nothing. Even on mobiles I can get 300kb/s unlimited access to the net and I have a 1GB+ storage card. 50Mb? Blink. Oh there it is. You get the point.

    Tim's comment on offline / online sync is a (the?) big win for me too. Sync is a hard problem to solve and if the framework provides some really solid support (for say, some clever wrappers for SyncML perhaps) then this can provide leverage for some killer apps.

    Posted by: Julian | May 16, 2007 12:39 PM



  28. To respond to the detractors - you're looking at Apollo from the wrong side.

    I believe what has made web applications so engaging is that they are being built by designers more than developers. This gives them greater visual appeal and a better overall user experience. (It's no secret many desktop applications are bloated, unintuitive, and ugly.) By giving these same designers, who outnumber developers I would guess, access to the desktop, Adobe has created a tool that will democratize desktop software.

    http://www.martinoflynn.com/blog/?p=23 - I wrote about my first impressions of Apollo after seeing it at FITC in Toronto.

    Posted by: Justin | May 16, 2007 5:39 PM



  29. I think the problem with Apollo is that when people think Flash, they think of flashy websites, with things flying places and music blaring, the lot.

    What they don't realise is that Flash can be used to build amazing web apps, like www.afraccess.com, kuler.adobe.com, photobucket's new editor, fauxto, yourminis etc. The main attraction of Apollo is the ability to bring these apps on to your desktop, making them first-class apps. Essentially, it converts web apps into your typical desktop apps.

    Let's say I was using photobucket's new editor on a daily basis. Would I rather load up my browser, navigate to photobucket, load the app, then upload my pic and edit it,
    OR
    click Start (or Applications on Mac) -> Programs -> Photobucket Editor, then open the photo for editing
    OR
    even better, set Photobucket's editor as my default image editing app, so I just have to double-click on my picture and it automatically loads?

    I should add that while Flash is the star attraction, HTML web apps can achieve similar levels of integration using Apollo. So Google Docs could turn into a first-class word processor - that way I can drag and drop images from my desktop in, load docs when I double click them on my desktop etc.

    Posted by: Sam | May 16, 2007 8:50 PM



  30. ApolloApps.com at http://www.apolloapps.com is a site with a wide range of resources for beginning and advanced Apollo application developers.

    Posted by: Edward Mansouri | May 18, 2007 7:55 PM



  31. The web is all about expressing yourself. What made the web what it is are not a bunch of java developers! It the people, that for the first time, found an environment that enabled them to express themselves on the computer without knowing what an algorithm is. Every child could create a webpage in 2 seconds.

    The web is all about expressing yourself. I know that you programmers would like it to be about code and frameworks and words like Python and Ruby, but the truth is that you must get ready for the ‚Äúinvasion‚Ä? of us simple folks. We are going to conquer the desktop just like we conquered the web. And you guys are going to supply us with ever more amazing gadgets to do it.

    Thank you code dudes

    Posted by: avi | May 20, 2007 7:41 AM



  32. When I wanted to buy a bed for my newborn child they showed me an amazing bed. They told me that you can actually lower the railing (I think you call it that) using one hand. ‚ÄúThis is very important‚Ä? they went on ‚Äúimagine you are holding your baby in one hand and have to lower the railing to put him in bed. How will you do that?‚Ä?‚Ķ

    Well I got the bed, and paid extra for this feature. It took me a few days, as a young parent, to understand that the rail is never up when you want to put your baby to bed! It’s simple. Before I take him from bed I lower the railing (so now it’s down) when I want to put him back in bed the railing is already down (remember I lowered it when I first took the baby).

    Well what’s my point? My point is that marketing guys can make amazing arguments to make you think you really need something new. The truth is that browsers are great and that web apps give you little if any advantages. There is no real need but I guess people will buy this, at least for a while, just to realize they never needed it in the first place.

    Posted by: avi | May 20, 2007 7:56 AM



  33. You guys might check out this video demo of an apollo app to get a sense of what you can do with it: http://labs.searchcoders.com/dashboard/demo/

    That application took just 6 weeks to build, including the backend. How long would it take in Swing or AJAX?

    Posted by: Tom | May 20, 2007 1:55 PM



  34. Very exciting! I think Adobe's idea of bringing applications from the web to the desktop is long over due, and look forward to using it for years!

    Posted by: Adobe Apollo Rocks | May 21, 2007 5:53 PM



The ReadWriteWeb Online Community Management Guide
RWW SPONSORS


FOLLOW RWW ON TWITTER




RECENT JOBS



TEXT LINK ADS