In the last week there has been a lot of debate about Desktop RIA applications. Starting with Alex’s article on Read/Write web Adobe Apollo – On A Collision Course With Web Browsers and then a discussion Which is better, an offline Web App or an online Desktop App?. There were other articles including Zimbra offline announcement and a big discussion on need/use of offline apps here. Finally, I read this nice post from Mike Chambers of Adobe on Why Apollo?. He explains very clearly what Apollo is. There are a few problems Mike outlines about delivering applications in the browser. Here are my thoughts and ways Dekoh overcomes them.
Conflicting UI: Since the time Netscape introduced Back button, it has been one of the most used features of the browser. Most sites and web applications work fine with back button and expect people use them. How many popular web applications have you seen that do not work when you use back button? Back button is a problem for Flash based applications, it is not a problem for “web applications” in general.
Distance from the Desktop: For any browser based application there are 2 portions, UI on the browser and a server that serves the logic. When you include the server as part of the desktop platform (as Dekoh does), the distance between desktop goes away. Applications can very well render UI on the browser, as well as integrate with other native desktop apps.
Primarily online experience: Accessing exact same online application in a disconnected mode (Firefox 3?) is different from writing a desktop application that can provide some functionality offline and sync with online counterpart (like ebay demo of Apollo or Google calendar demo of Dekoh). The online experience problem is relevant to former type. Writing desktop applications and accessing them thru the browser creates a consistent user experience, works across browsers.
Lowest Common Denominator: I agree there are differences between browsers when it comes to complex AJAX applications. But it is not too difficult to write applications that are very usable and run well on all browsers. There are also a number of toolkits that abstract the problem. Mike’s concluding paragraph coincides with my thought. He says The fact that web applications have flourished despite these drawbacks is a testament to the attractiveness of having a platform with a good development model that has the ability to deliver applications to multiple operating systems.