ReadWriteWeb

Adobe Apollo - On A Collision Course With Web Browsers

Written by Alex Iskold / March 27, 2007 9:14 PM / 23 Comments

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?



2 TrackBacks

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

Comments

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

  1. Alex,

    Although Wifi is spreading rapidly, I don't think we can expect the average user to be persistently connected any time soon. I think it's only reasonable to look at online/offline application as a form of legacy support for the millions of users that will not have a mobile always-on connection for the next decade, whether it be because of cost or availability.

    Posted by: Bret Terrill | March 27, 2007 10:31 PM



  2. I doubt it. this is actually 3rd time that adobe/macromedia/whoever they brought out before, to release the exact same product. i cant help thinking that apollo is just a cross between a desktop widget and a browser, i.e. doesn't stand out in either direction, in other words fairly useless

    so what if it's got mobile support? so does opera which more importantly has deals with mobile providers

    i can see plenty of geeks making 'cool apollo widgets' (netvibes on your desktop) but businesses are going to see apollo as very, very secondary to maintaining their main website. most simply wont bother.

    i simply dont get the point of apollo

    Posted by: Steve Boyd | March 27, 2007 10:34 PM



  3. Lack of development tools? Apollo developers have Flex Builder, built on Eclipse, so they hardly lack a decent IDE. And Apollo will be available as an autoupdate for Flash 9 users, so yes, users probably will download it.

    Posted by: Rob Bevan | March 27, 2007 10:44 PM



  4. In third-world countries where broadband isn't as widespread to due to infrastructure/cost barriers, platforms like Apollo will be a godsend! It would certainly be beneficial for the average dial-up user to go online for few minutes, download (for example) all his feeds, and then go read them offline to alleviate some of the problems that come with staying connected on a dialup.

    Posted by: AL | March 27, 2007 10:47 PM



  5. Steve, don't you think that Apollo can render any web page?
    Plus, it can render PDF and Flash natively. So in the end it might become a neat web browser: HTML, PDF, Flash.

    Posted by: Laurent | March 27, 2007 10:48 PM



  6. To me, it seems like re-inventing the wheel.

    Posted by: varun | March 27, 2007 11:05 PM



  7. Your Java example is possibly a bit flawed. If you do an impromptu survey of friends who aren't technical you'll probably find half of them don't know what Java is, and a majority haven't bothered to install it, even if they do know what it is. So "many people" is a relative term. Compared to the number of people who have access to a browser, the people who've downloaded Java is likely a microscopic number.

    It'll be a chicken-and-egg situation for Adobe if they rely on user downloads. Developers won't (on mass) start writing compelling applications for Apollo unless there's a significant userbase -- and users won't download unless there's compelling applications.

    Seems like an attractive reason to bundle it in an Acrobat upgrade...

    Posted by: Jason R Briggs | March 27, 2007 11:26 PM



  8. @7 Jason, yes good clarification point. To be precise Java got on people desktops in one of two ways: 1) As part of OS distribution 2) As part of an application that bundled it. Java installers actually loaded the run-time environment on the fly.

    Alex

    Posted by: Alex Iskold | March 27, 2007 11:42 PM



  9. The way I understand it, Apollo apps will be run inside a browser or standalone. This means that it's only a matter of the developer's choice - if most of them choose to develop inside-browser apps, then this point is moot.

    Posted by: Stan Schroeder | March 28, 2007 12:27 AM



  10. Alex, you're killing me :)

    I can't do trackbacks on ZDNet, so here are my thoughts - http://blogs.zdnet.com/Stewart/?p=322

    Posted by: Ryan Stewart | March 28, 2007 12:57 AM



  11. May be we are all a little blinded by the "online app" thing. If Adobe want people to use Apollo, they'll create (or pay someone to create) a cool application. People are still used to "install" an application and the installer can contain all the needed runtime. It was so with Java, Visual Basic, .NET, etc... For the end-users, they will not launch another browser to run an application: they'll just run an application ... that is cool because it can be synced online.

    Posted by: Xavier Tassin | March 28, 2007 1:08 AM



  12. >Java and .Net technologies excel at delivering sophisticated >user interfaces, which we have only begun to see recently >online.

    And yet, you rarely see a Java app with an interface that rivals the simplest Flex demos. I suspect this is as much down to the types of people working on the two tools as much as anything. But that gives you a strong clue as to where Apollo might succeed.

    As far as I understand, Apollo apps will be standalone - users won't fire up a program called Apollo to run an application. As such it is a tool for developers, not users.

    The kind of applications I can see people developing are things like Garagesale and Delicious Library on the Mac (apps that already combine ebay and amazon web services with local storage of user data). I can see the team behind Picnik doing one.

    Posted by: JulesLt | March 28, 2007 4:22 AM



  13. Hi Alex,
    Interesting article but to add to some of the points and some of the troubling trends that occur on the web today. The browser is great, but how we use it is a problem. Think about how we have many browsers open with various tabs. You hear a sound, a video, or you are looking for you gmail window. What do you do, search through the 4 browser windows you have, and in each one click on every tab (or you can might see a icon). The browser is great for finding content on the web, but I am still not use to it for all my email, or my conversations or all my twitter posts.

    I think you have focused on some of the features of Apollo that are just that features, offline storage (nice to have but we generally want things now), requires a runtime (still Adobe know what they are doing and for many applicatoins just being able to run it on mac or pc is a bonus, of course the browser can do this today).

    Lets take for example a pointless application, a Twitter Chat application. Twitter is basically micro blogging, you post a few times a day about what you are doing or websites you are reading. Now to take this from the web and the AJAX system that works ok onto the desktop where i want it is not easy! Options are
    1) .net (22mb runtime if you dont have .net, have to use pretty ugly .net controls, brilliant IDE though.

    2) windows only, java (16mb runtime, works on mac) but damn java is hard and have to learn swing, I am struggling a lot.

    3) Apollo, well Apollo does a lot of things and becaue it based a lot on Flex, you have an amazing toolset. You have all the tools to quickly build your application. Best of all I can use all existing skills to build this desktop application (i cant really with java, or .net, c++ etc.)

    But something we are really missing the point on is that .net, java have been designed around OS type low level operations, eg connect to a database, save a file to disk, show forms, ftp files, do a calculation (and fast).
    Flex (Flash) has been designed to be rich set of UI tools, it can play video, animate screen elments, apply dynamic drop shadows, create elements that are draggable etc, and all this really easily (not to mention rich charting). Its focus is on the UI and that is why it is going to create a whole new set of dynamic and fun applications that are not just buttons / datagrids / forms like we have seen before.
    But applications that have feeling and a bit more soul like applications you find on a Mac.

    All ready we are seeing applications coming out using Apollo since the release, www.finetune.com has an Apollo app that is really awesome, there are Apollo twitter widgets and I can instantly see room to build several valuable Apollo apps for my clients to achive task that the browser is not good at.

    Posted by: John Ballinger | March 28, 2007 4:42 AM



  14. I think the big question here is "will ordinary users download a runtime?". Without a bundling strategy for the runtime it's hard to imagine that Apollo can really take off. Firefox has a clear edge here. While I'm sure that the idea of bundling with Acrobat is tempting for the folks at Adobe, unless the runtime has a really small footprint I hope they avoid further bloating the Acrobat install.

    Posted by: Alex Ferrara | March 28, 2007 5:24 AM



  15. You can create an standard windows EXE file. Users never need to know it's an Apollo application. So runtime distribution is not an issue.

    Posted by: Robert | March 28, 2007 5:37 AM



  16. After reading your description of what Apollo is, it reminds me of MioFactory which was originally released 3 or 4 years ago I believe. Version 3 was released recently and is free for non-commerial use. My guess is almost no one has ever heard of MioFactory, much less used it. May be Apollo will be more successful since it has Adobe behind it.

    http://www.mioplanet.com/products/miofactory/

    Posted by: Roy | March 28, 2007 6:50 AM



  17. Do we really need another closed, proprietary development environment? The world is moving inexorably to open architectures and mindsets. IMHO Apollo is very circa 1995. I wish them luck but I think the developers that matter are moving in a different direction.

    Posted by: Peter Semmelhack | March 28, 2007 6:53 AM



  18. Forgive me, but I don't buy this solution. As in... I don't believe its anything more than a hack that's doomed to fail.

    As far as I can tell, this platform is supposed to bridge the gap between Application developers and Web Developers, so that everyone can easily write desktop applications that may or may not interact with other web-services, and may or may not be used on-line.

    "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."

    Honestly, if you are going to write a complex, scalable applications for the desktop, you might as well learn Java. Frankly, if you are already writing javascript... you at least have some familiarity with C-Like (or java like) syntax..

    I can larger apps being a mangled mess of non-modular non-scalable non-readable spaghetti code using appolo. Frankly the hurtle of learning java (or .NET) isn't that large, and at least if you learn some proper design patterns, you can make very powerful applications with ease. There are thousands of java APIs / libs that are there for the taking. Heck you can still use HTML if you think swing is garbage. Then again .NET Windows.Forms library is excellent if you think you want to stick to windows.

    Posted by: Mike2 | March 28, 2007 8:04 AM



  19. I wrote about Apollo versus the browser on my blog a little while back already (http://social-tech.net/2007/03/19/apollo-versus-the-web-browser/).

    The problem with Apollo is that it does look exactly like a browser, also it would require the redevelopment of portions, if not all, of the application, once for the Internet and once for Apollo.

    The only place I can see Apollo being effective is in an enterprise environment. But it's hard to make a case for Flash as an enterprise tool as the number of real hardcore Flash programmers out there is very limited.

    I think Adobe is taking a shot in the dark with a shotgun hoping that something sticks somewhere.

    Posted by: Don Vaillancourt | March 28, 2007 10:03 AM



  20. Alex- I think you mean "Apollo is much like a web browser." (rather than "Adobe.")

    I understand your perspective, but back up a second and look at the opportunity this presents to a company building applications for corporate clients (banks, hospital systems, medical device producers, etc.) Right now, a huge anti web app stigma exists within these industries.

    Apollo is the trojan horse that can get Web 2.0 inside the enterprise.

    Posted by: aaron | March 28, 2007 10:27 AM



  21. I agree with your assessment that this is essentially another browser and, as such, will compete with browsers. However, I do expect that there is a legitimate offline use of web apps. Calendaring and email are just two possibilities that already support offline work.

    Posted by: Bud Gibson | March 28, 2007 2:10 PM



  22. Apollo is more like the .NET or Java runtime than a browser. Why? Most obviously, Apollo apps will generally be standalone. You don't click on a hyperlink in an Apollo app to load another Apollo app. You don't go back and forward. This is a runtime to use applications that you download. AIR files install much like a Windows EXE/MSI installer and they run from your start menu or dock with their own icons. This certainly isn't Java Web Start. When you download an Apollo application, you don't click on some Apollo shortcut then open it. You run your application like you would MS Word or Photoshop. Moreoever, it contains a real browser, and you can include it in your application like you can include a web browser control in your .NET application.

    Seriously, I can't understand why anyone would consider Apollo a browser. It's a completely different world.

    Posted by: Josh Tynjala | March 28, 2007 4:36 PM



  23. Thx for the explanation Alex of what exactly the Heck Apollo is*

    I certainly have a better idea now - tho like many of yer readers I'd like to see it in action - i do have FineTune on my Blog + love it - but i haven't ran it as Desktop app*

    For Apollo to take off they will have to bundle it with the next Flash Player or Acrobat to get it out to the Masses*

    I have an old Macromedia Flash app that I would love to see fly out the door - maybe Apollo will provide the Wings + Liftoff for it!

    Cheers! Billy ;))

    Posted by: BillyWarhol | March 29, 2007 12:00 PM



RWW SPONSORS


FOLLOW @RWW ON TWITTER

ReadWriteWeb on Facebook



TEXT LINK ADS