Adobe has released an alpha version of its new Apollo runtime code today:
Apollo, like the Flash Player, is a runtime, but one in which applications built using standard internet development technologies - such as HTML, Flash and AJAX - can run offline.AJAX is a collection of technologies that make web sites function more like standard applications. Google uses AJAX extensively in gmail, google reader and its spreadsheet and word processing applications. An AJAX system will work on any type of computer, so long as it has a compatible web browser. As the quote above suggests, Microsoft's strategy has long been to use deliberate incompatibility between its systems and those of other vendors to try to force people to use only Microsoft software. This has worked well in the past, but has no long term viability in the face of these new technologies.
Indeed, [Adobe's] Lynch said Adobe and Microsoft are trying to solve similar problems, but approaching it from two different directions.
"What we're really focused on is to enable the web to have a greater presence on the desktop, so as a web developer you can create your application and have it be installable on the desktop," he said. "We're bringing the web to the desktop."
Microsoft, on the other hand, developed Windows Vista with the hopes that Windows applications will be able to get information from the web while they run with a standard Windows user interface. Microsoft also plans to link its Windows Live web-based services more closely with its Windows OS.
"We're coming from two different directions, but converging on the same space," which is to create a bridge between the web and desktop applications, Lynch said.
Google is also working on a mobile phone, probably based on Linux, and featuring strong integration with these technologies.
Here's what's happening. Microsoft has invested in constructing a computing world based around large, expensive desktop machines each of which runs a stand-alone copy of every piece of software you might use.
In fact, a networked computing environment is far more sensibly constructed around server-based applications and lightweight workstations that run a viewer application (like a web browser) that allows any application to run from the server(s).
Firefox is actually less a web browser than an application development platform with extremely strong network integration. The browser is actually an example of an application that can run within this. There haven't been many developments that use this potential, but to get an idea what it can do have a look at Celtx, a screenwriting program. Celtx is of course platform independent; it will run on any system that can run firefox.
Using this development model, the developers of an application like Firefox can concentrate on making their software run on as many platforms as possible (Firefox already runs on Windows, Mac, Linux, BSD Unix and Solaris), while anyone developing for Firefox using any compatible technology (AJAX, Flash, the Firefox API) can know that their application will also work on all those platforms.
Ultimately, this approach is the only rational one and it is hard to see how Microsoft's model can survive in the longer term.