Author: Chad Files
Adobe Apollo
Apollo is a runtime environment, meaning that it must be installed on the target machine before any Apollo-enabled applications can be executed. The runtime is free to all end users, the same way the Adobe Flash Player and Adobe PDF Reader are. The Apollo software development kit is free as well and does not require an interactive development environment — at this time. Apollo, being an Adobe product, is built to leverage existing Adobe products such as Flash and Flex.
Java Web Start
Sun has been in the business of combining Web and desktop applications for years. Java Web Start (JWS) is an extension of earlier ideas. JWS allows developers to build standard Java applications and distribute them over the Web. JWS allows developers to publish updates that automatically update end users’ applications. With Java and JWS developers can create a true webtop application that works on-line and off-line if they’re willing to work a little and build the functionality from scratch.
XUL/Firefox
XUL is the XML-based interface language that powers all of the Mozilla products. Combined with JavaScript, it allows developers to create rich client applications. XUL applications are also runtime applications that execute on top of the Mozilla framework. These applications are often built as extensions to Firefox, but can be created as standalone applications. In the upcoming Firefox 3, local data storage will be available, as well as a true online/offline infrastructure; currently the online/offline infrastructure is not readily available but can be accomplished by rolling your own solution.
Others
A few other products have recently entered the market. Dekoh is built on Java; it leverages a small internal Web server that allows it to communicate with the Internet and other instances of Dekoh on the local network. It also has a social sharing environment built in. Slingshot is a RoR (Ruby on Rails) based system that can run existing RoR applications without any code changes. Both of these products require a runtime environment to operate. They are also very new and have not been released to the public.
Side-by-Side Comparison
The following table provides a high-level side-by-side comparison of the aforementioned applications.
Apollo |
Java Web Start |
XUL/Firefox |
Dekoh |
Slingshot |
|
---|---|---|---|---|---|
Technology |
Flash, Flex, Ajax, HTML |
Java |
XUL, JavaScript |
Java |
Ruby on Rails |
Runtime Cost |
Free |
Free |
Free |
Free |
Unknown |
SDK Cost |
Free (Flash and Flex abilities must be purchased) |
Free |
Free |
Not Free (looking for Beta users) |
Free if using Accelerator, otherwise Unknown |
Open Source |
No |
Yes |
Yes |
No |
No |
Stability |
In Development |
6+ years of development |
4+ years of development |
Beta |
Beta |
Webtop Functionality (Online/Offline state) |
Yes |
Roll your own |
Roll your own until version 3 |
Yes |
Yes |
Local Data Storage |
No |
Yes |
No (Version 3 will have support) |
Yes |
No |
Runtime Platforms |
Windows, OS X, Linux |
Windows, OS X, Linux, Solaris |
Windows, OS X, Linux, Solaris |
Windows, OS X, Linux, Solaris |
Windows, OS X |
Development Platform |
Windows, OS X |
Windows, OS X, Linux, Solaris |
Windows, OS X, Linux, Solaris |
Windows, OS X, Linux, Solaris |
Windows, OS X, Linux |
Each product has its place, and choosing the correct one depends on the application. If the application calls for a smooth polished interface with eye-catching interaction, Apollo would be the best fit because of its ability to embed Flash. Some applications call for complete control and robust toolkits; if that’s the case, the JWS system is by far the leader. Both Dekoh and Slingshot look promising if the clients remain freely available, but it is too early to tell whether they will keep up with the larger companies. Of all the products mentioned, the XUL/Firefox combination is the most complete. It supports the most platforms, has a low point of entry (both technically and monetarily), can be integrated into existing products (via SOAP and XML), and has a very active development community that is constantly breaking new ground.
In the future there will be more applications like the ones mentioned here. As the Internet and the desktop evolve, developers and users alike are going to look for more powerful tools, and one of the answers is combing the two. Developers, managers, business owners, and users need to pay close attention to what happens in this sector; it could change the way we use software forever.