Apollo: Please abort this mission
For those of you who haven’t heard of Apollo and want an in-depth overview, check here and here for a detailed explanation.
Apollo is Adobe’s vision for the next evolution in the marriage of web and desktop and is basically an out-of-browser engine for running HTML/Flash applications. Basically, this is targeted as a Java replacement; cross-platform applications that can be delivered over the Internet. The main advertised advantage over Web 2.0 applications is that there can be closer integration with the PC itself–it will be easier to access files, play audio and video, etc… than the current AJAX methods.
I hate it already, and I haven’t even used it.
6 reasons not to like Apollo
1. Cross-platform? Not really: Flash, a basic part of Apollo, is advertised as cross-platform, but Adobe has never managed to really keep the Linux release anywhere close to up to date. Apollo is not going to be any better. Adobe has already stated that Linux will be a later release-something we’ve been hearing the “Linux release will follow shortly” for years from Adobe with Flash, and no one in the Linux community really is going to believe them. If they were devoted to a cross-platform approach, then they would put more resources to the Linux version and/or delay the Windows version for a simultaneous release. Cross-platform, to Adobe, is a marketing gimmick that gets lip service and little else. I can name a dozen operating systems that support AJAX without even thinking; Apollo’s meager support for two operating systems count for much.
2. Security: This is more of a conceptual complaint than a real one. I like the idea that my operating system and files are (ideally) by and large hidden from my Internet applications. Nevertheless, since this paradigm tends to favor using software from more established, reputable vendors, most users actually might actually be safer–after all, most users are at least vaguely more cautious about their downloads than their browsing. Still, this is a bad approach to security, especially given all-to-common breaches at “reputable” companies, the potential impact of a single security breach at an “Apollo”-based software vendor could be almost impossible to contain.
3. Portability: I love AJAX apps because the device becomes irrelevant. I can work all day on my laptop; fly half-way around the world, sit down at an Internet cafe, and pull up all of my applications, settings, and documents. The fact that it ties into local files really is a hindrance, not a help. While Java and Apollo’s “Code once, run anywhere” concept helps IT departments deploy applications anywhere, easier; AJAX helps end users use applications anywhere, easier.
4. Mobility: Am I going to be able to run these apps on my phone and PDA? No. Why, if the industry is moving towards a richer mobile environment, do we throw out a framework that totally–by design–ignores this paradigm.
5. Lightweight: Apollo is targeted at developers who feel crippled by the fact that their interface is simply HTML + JavaScript. Good programmers, however, can work within this paradigm quite fine and, while a more “powerful” language can be a good thing, the lightweight, simple approach of the traditional web environment means that applications can run quite well on virtually any platform and any hardware.
6. Single Vendor: This is a single, closed, proprietary replacement to an open system. Why is this good in the long-run for anyone other than Adobe?
Does Apollo have its virtues? I’m sure it does–however, it simply heads in the wrong direction. Replacing a fast, lightweight, portable, open environment with true cross-platform support with a closed, heavy, non-portable (from a user perspective), proprietary environment is just simply a bad idea, and I hope that it crashes and burns before it does too much damage.
Hi Clint, I’m curious, do you see some difference between (the unexamined) Apollo’s grading on your six parameters, and the use of the Meebo messaging SWF on your webpage here?
Understanding this apparent paradox would help me reply more effectively, thanks.
jd/adobe
1st point: being behind a version, and simply not providing support, are two totally different things. Sure, Flash is sometimes buggy in Linux, but look at the percentage of users in Windows/OSX compared to Linux Desktops, then tell me with a straight face that you want more attention towards Flash compatibility for Linux Desktop users. Also, Flash works wonderfully for me in Ubuntu, and they’ve made drastic changes over the past year (from my own observations of watching Alex mess with Flash in Linux to actually getting it to work in Ubuntu myself), so I can’t agree with you on this point.
2nd point: Sure, security is always an issue, but that doesn’t mean we need to pigeon-hole ourselves into having an offline desktop with a hard drive encased in a nickel-plated steel lock box, it simply means we need to put more attention on security. I wouldn’t trust putting my financial information on Google Finance (it’s not a web app yet, but since I said it here…) but give it some time and eventually, I would hope, security will be the same, if not better, for web applications as it is desktop applications.
3rd point: agreed. If I update my web app, the world knows it without having to install the latest version. Of course, we’re assuming that Apollo doesn’t automatically do this …
4th point: because Google on your phone is so great? Seriously, all web apps on a portable device sux0r at this point in time. If I had the choice between using Google on my phone for directions, or asking some guy with a hockey mask and a chainsaw, i’d go with the hockey mask.
5th point: isn’t Apollo simply using these web technologies, though? At first glance, I think Apollo will be extremely lightweight, in the sense that it’s using a SDK to propagate desktop applications created with HTML/Ajax/etc
6th point: Java was closed up until a year ago, and that didn’t hinder them a bit. Given the general trend to OSS things nowadays, though, I think it’s only a matter of time before Apollo opens their source to the public as well. (if it doesn’t die)
(sorry for the sloppy response, pressed for time)
Though my comment isn’t as lengthy as Kelly’s or as insightful as John’s, I still have to say that I agree with Clint whole heartedly. The entire concept that Adobe is working with here seems like one big slap in the face to application developers worldwide. I know that the phrase “get with the times” will be kicked around in the Apollo fanboy forums as soon as they show up, but it seems that this framework will take all of the true skill out of desktop application development. To me, it’s like the NFL calling up the fans and saying, “Guess what? You don’t have to be good at football to play anymore so go join your home team”.
From my particular position in life, I’m not worried about it. Game development will still be done with C / C++ / C#…at least the consoles will.
Just my 2 cents worth.