Webtop software development: Combining the desktop and the Internet

219

Author: Chad Files

Adobe recently created a media buzz with the announcement of a cross-platform Web-enabled runtime environment, code named Apollo. The environment allows developers to create applications that run directly on the desktop while using content from the Web. Adobe has built Apollo to leverage existing technologies such as Flash, Flex, HTML, and AJAX. Apollo is an amazing concept, but it is not a new idea. Sun Microsystems released Java Web Start in 2001, and the Mozilla Foundation invented XUL when it created Firefox. There are also several startups entering the market. All of their products are geared do the same thing: bring Web applications to the desktop.

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.