• Show

Adobe Apollo - On A Collision Course With Web Browsers

March 27th, 2007

Alex Iskold is reporting live from ETech 2007

The Apollo team from Adobe is here at ETech, presenting the Alpha version of their new runtime environment - which is aimed at empowering web developers to create desktop applications. Apollo is a lightweight virtual machine that runs on the desktop and acts as an interpreter of HTML, JavaScript and Flash - much like the browser does today. The difference is that applications that run on Apollo can work in an offline mode, while you are not connected to the internet. The browser can't yet do this, however Firefox 3 is slated to have offline functionality and IE surely won't be far behind.

Adobe motivation

Adobe has rolled out this solution for a few reasons. Firstly, so that users can access web applications for both reading and writing in an offline mode. For example, accessing a Google map to find directions to your friend's house while you are in the car; or reading The New York Times on a plane. The 'reading' part works simply by caching the data locally. Examples of useful applications for writing data would be editing your Basecamp to-do's, or editing Google online docs while vacationing in the high mountains.

The second driver for Apollo is based on the high availability of skilled web developers. There are tens of thousands of programmers that mastered HTML, JavaScript and Flash, so Adobe reasoned: why not empower them to build Desktop applications. Adobe thinks this is the faster route for developers, as opposed to them having to learn Java or .Net. So the theory is that web developers equipped with Apollo can start writing web-enabled desktop applications today. 

A somewhat related third reason is that people are writing desktop applications that access the web anyway, so why not write them using the same tools? 

Finally, a major driver for Apollo is the ability to run the same applications on mobile devices, like cell phones and PDAs.

Apollo under the hood

In a way, Adobe is much like a web browser. It has the same infrastructure as Firefox or Internet Explorer, in order to render HTML pages and Flash. In addition, Apollo comes with a set of native libraries that empower developers to determine if the application is in an offline or online mode; and to store the information to local disk. This diagram explains it well:

Technical issues with Apollo

The idea of writing a desktop application using the same tools as web applications is seemingly good, but there are issues. Firstly, in my opinion this is kind of backwards. We have had rich applications on the desktop for quite some time already. Java and .Net technologies excel at delivering sophisticated user interfaces, which we have only begun to see recently online. 

Language-wise, Java and .Net languages are richer and easier to program in than JavaScript and Flash. But beyond languages, there is a much bigger problem - [programming] libraries. Any language is only as good as its libraries. JavaScript does not have the Java-like standard and rich set of libraries needed for real desktop applications. 

The last technical issue is lack of development tools. Java and .Net have sophisticated IDEs [integrated development environments], profiling, testing tools - just to name a few things that are not going to be available for a while in Apollo.

Will users download Apollo, like they have done for Java?

But technology is not going to be the determining factor. Because if users really resonate with Apollo, download it and start running applications, the technology issues will be secondary. The big question then is: will ordinary users download a runtime? Well this is not so simple, although certainly many people have downloaded Java in order to run Java-based web apps. Arguably, there is no compelling reason right now to download - but surely Adobe has a plan for distribution. Could it be bundling it with Acrobat? 

There's another point that is going to be confusing for the user: why do they need another browser? To the end user, there is not going to be much difference between Apollo and the web browser. And certainly people are not going to be switching back and forth between Apollo and their regular web browser, so it seems like there is a barrier there.

Conclusion

It appears that, intentionally or not, Adobe is on a collision course with IE, Firefox and the rest of the Web Browsers. Firefox has already said it is looking to add support for offline applications into its next version. If this happens, it will be bad news for Apollo - because Firefox users are not going to switch. IE plans in the same space are not clear, but we can be certain that if offline mode for web applications takes off, then there will be support in IE.

Probably the biggest question that comes to mind is: with the rapid spread of wifi, why do we even need something that is offline? [Ed: I think my Gmail outage today answers that!] Increasingly we find ourselves more and more connected and in a year or so, we are likely to be online all the time - perhaps with the exception of airplanes. That alone does not warrant a separate environment for doing things. Perhaps there is more to this that I am not seeing, but it seems like the mobile use case for Apollo is much stronger than the offline desktop use case. 

It would be great to hear what our readers think about Apollo. Will it take off?

Tags:
comments powered by Disqus