Adobe’s Apollo: we have lift off…

March 19, 2007 4 Comments

Apollo

Adobe’s latest and most compelling foray into rich internet application development, “Appollo”:http://labs.adobe.com/technologies/apollo/, is really interesting for a couple of reasons.

It combines proprietary tools and technologies—namely, Flash and Flex—with public domain stuff like AJAX, Javascript and HTML. The client-side component, a cross-platform runtime engine, allows developers to deploy RIAs that look and behave like desktop apps.

A few years ago, everyone was talking about how as browser-based apps became increasingly powerful and sophisticated, the OS might soon disappear. What’s interesting about this development is that it works in the opposite direction. Apollo makes the browser disappear—it does an en run around it. So my question is, if we don’t need the browser any more and the OS is also superfluous, what’s left?

The development stack gets a lot more complicated as technologies like Apollo make headway. Used to be that the browser layer was fairly abstracted from everything below it. Modern OSs now incorporate a range of web services-based APIs to bridge the gap; and again, what we’re seeing is a reciprocal move in the opposite direction. Apollo makes the Internet App central and allows it to hook into the desktop layer, presumably through an API-like model.

It’s interesting to speculate here on how Microsoft intends to compete. Remember when Lary Ellison was trumpeting Java as the great disrupter of Microsoft’s hegemony? It feels like history is repeating itself, minus some of the hubris that was flying around back then. Microsoft was able to effectively handle the Java threat, and went on to release its “.NET”:http://en.wikipedia.org/wiki/.NET_Framework framework and a RIA strategy centred around it’s “Direct X”:http://en.wikipedia.org/wiki/DirectX suite of APIs. Part of Microsoft’s strategy was to let the Java thing run it’s course while focusing in the short term on promoting Javascript as a ‘good-enough’ alternative. Since then, Javascript and the community around it has matured quite a bit and now is a key piece in Adobe’s competitive strategy.

Another question: how will a development community that’s got somewhat of a proprietary feel for more open-ended technologies like AJAX and HTML feel about a corporate player stepping in to plug things together on their behalf? If Apollo gains support, it will certainly entail somewhat of a de-specialization or integration of specialization across the RIA dev. spectrum (e.g. bringing Flash designers together with AJAX and Javascript developers). I think that Adobe’s ability to do this will be a critical determinant in Apollo’s success.

One last thing—from a user experience perspective: what is the promise of a fully web-integrated dev stack that reaches right down into the core OS? What will these apps look and feel like? Part of the freedom that a separate web layer on top of the OS has enabled was the ability to re-conceptualize the UI. I’m not sure that the full scope of that promise has truly been realized, and wonder if it ever will as we begin to connect our web-based apps back into the desktop environment and paradigm. At the same time, we’re already seeing how web-based content hooked into the desktop can lead to a multiplicity of experiences (think media center’s UI, widgets and gadgets, etc.) co-existing peacefully. This is the prospect and maybe the promise of Apollo that excites me most.

Thoughts?

David Gillis

written by David Gillis

Comments 4

  • Jeremy Bell

    While I do think that Apollo is an interesting technology, and I’m sure some innovative applications will be born of it, I really doubt it will have any meaningful impact on either the web or desktop development communities. If anything, I’d slot an Apollo app somewhere just above a Widget/Gadget in terms of quality. (Obviously “quality” is a slightly ambiguous term, but I’m specifically referring to speed, refinement and overall polish of an application.)

    Apollo is simply another dev environment for the desktop – it sits alongside XCode for OS X and Visual Studio for Windows. It’s strength is that it’s cross-platform, and you can develop applications using Flash, AJAX, etc. instead of Cocca or .Net. However, because it’s leveraging non-native languages, I don’t believe it will ever be capable of producing quality applications.

    Performance wise, there’s no way these applications will be able to compete with native apps. For example, I can’t imagine Flash will be as robust as Core Animation in OS X. I mean, Quartz runs deep into the OS and is being offloaded to the GPU. And I’m sure Flash animation will be entirely processed by the CPU. Similarly, being that the code isn’t directly being compiled for the OS (it’s simply a runtime abstraction on top of the OS), I don’t think it will achieve the overall processing power of a native counterpart.

    No doubt we’ll see a wave of Apollo applications that leverage an existing Flash/Flex/AJAX codebase, but I can’t imagine they’ll be all that good. Additionally, those applications will need to be very compelling for me to actually download and install it, instead of just going directly to the website instead.

    You also make mention of a “fully web-integrated dev stack that reaches right down into the core OS” – the reality is that XCode and Visual Studio already provide those functions. And both reach much further into the core OS than Apollo ever will. One would argue that my RSS news reader or IM client are already rich internet applications… they were just authored with languages native to the OS.

    Also, it’s interesting to note that Adobe utilized Apple’s WebKit for the built-in browsing abilities. While I don’t recall seeing any mention of a Windows port of WebKit, I can only assume that there may be a PC version of Safari on it’s way?

    Anyway, I can’t argue the potential this technology brings – and again, I’m sure some innovative applications will be developed – but I really have to question what sort of impact it will really have.

  • Dave G

    Good points Jer.

    I agree that, performance-wise, Apollo won’t be able to compete with fully native applications written in something like Cocoa/C# using Core Animation/Direct X…I think the question is more ‘will it be good enough?’. When I think about what online apps I already use—take Google’s suite, for example—to be honest, I don’t think of them as all that slow. And Flash in particular has been really tuned to hum on PCs…

    Also (maybe I wasn’t super clear in my post), I did mention that Apple and Microsoft already have implemented web services to achieve a fully-integrated dev. stack; my point was simply that Apollo works in the other direction. And I guess I think that this is a significant move, in that it could engage a lot of people who are already creating really cool stuff at the browser level (but don’t know Cocoa/C#/.NET/DirectX/CoreX/etc. and allow for this stuff to migrate down the chain much more readily.

    At any rate, whether Apollo succeeds or fails—I’m sort of giving it the benefit of the doubt now just for argument’s sake, but definitely appreciate where you’re coming from—it’ll be interesting to see how barriers btw/ desktop and web layers continue to dissolve.

  • Jeremy Bell

    Will it be good enough? In some cases, absolutely. When I think of the pain I suffer when opening and using any of the Office applications on my MacBook, I have to imagine that an Apollo app would run more efficiently (granted, Excel is being run through Rosetta, but still…)

    I also have to stop and wonder when I would, and wouldn’t use a web app. Why would I use Meebo over Adium? Why would I use an eBay app (as demoed by Adobe) instead of just going to eBay.com? Whatever the case, my immediate reaction to this announcement was excitement. We’re actually doing some stuff for Crate&Barrel that would benefit greatly from this technology, and I’m now considering it as a possibility for future development.

    So don’t get me wrong, I’m not writing Apollo off whatsoever, and I do think it will provide value in one way or another.

    PS. Having read over our posts again, you do realize we\’re geeks right?

  • Thomas Klepl

    When Central was released I was pretty excited. OS integration and offline caching is pretty neat for certain specialized applications.

    If Apollo succeeds where Central failed, it will be for these reasons: 1. Flash 8/9’s new features (much faster performance, bitmap caching and manipulation, regular expressions, native XPath, binary data support) which will be able to be leveraged within Apollo. 2. actual HTML support – Doing any heavy text layout in Flash is not fun, even with the latest Flash. There’s also the accessibility factor and the benefit of pulling in pre-existing HTML content. 3. Apollo apps can be launched in a standalone fashion with the runtime in the background. (Central apps had to be launched within the Central “browser” environment).

    Not too poo-poo Macrodobe too much (I am a big fan), but the other downside with Apollo is- who wants to combine all these different technologies in one piece of software? Not only is it hard to find quality human resources to build such a beast, but with so many different technologies tightly coupled in one franken-app, there are more possible bugs and points of failure. Not to mention the challenge of documenting and/or passing on a codebase to another developer or team of developers.

    The nice thing about Apollo though, is that it opens up the world of desktop app development to web developer geeks, who are more creative and experimental than traditional programmers. Some cool stuff with innovative UIs could definitely appear. Picnik (http://www.picnik.com/) which has some very interesting UI techniques (check out the rotate image feature), is an example of a consumer app that uses some of the latest Flash features and may work well as an Apollo app. If anything good comes out of this, Apollo apps will inspire and push the big software houses to make cooler and more usable software.

    In any case, the old saying “use the right tool for the job” applies here. Dave I would be interested to know what kind of apps you think are well-suited to Apollo. I think there are a lot of possibilities out there…

Leave a comment