perspectives, RIA

Taking Adobe AIR beyond Twitter clients…and why AIR matters.

Adobe just announced that the number of AIR runtime installs has crossed 100 million and this milestone achievement has been echoed by several others. Several folks including thought-leaders like ReadWriteWeb have rightfully questioned the validity of this claim, perhaps not so much in terms of challenging the absolute numbers themselves but in terms of judging the impact that AIR has had so far on the general application landscape.

Our own take on this is that despite providing such a staggering data point as proof of general acceptance and availability, the story so far for AIR has been a case of unrealized potential. The reason for this does not have as much to do with the merits of the platform itself as it does with the nature and quality of the applications that have been built on top of AIR.

The most popular AIR application seems to the eBay desktop which recently crossed the 1 million installs milestone. If the most popular AIR app accounts for just 1% of the runtime downloads, it means one of two things – there is a long tail of other AIR applications that have collectively lead to the spread of the runtime or there is another channel beyond application-propelled installs that has lead to the spread of the runtime. While I would have loved the first scenario to be true, the latter scenario is unfortunately the more likely possibility. Given that Adobe bundles the AIR runtime with every install of both Adobe Reader 10 and CS4, both enormously popular applications, a big part of the 100 million figure is likely to have come from this source.

Apart from the eBay desktop, the most popular AIR applications are Twitter clients like Thwirl and TweetDeck. While Twitter is an interesting application, it breaks my heart to see AIR being relegated to this niche! Firstly because, notwithstanding its growing popularity, Twitter is still a niche application in many ways and secondly, AIR Twitter clients add very little incremental value to the original browser-based Twitter experience.

The problem really has been that there is no ground-breaking AIR application that has proven to be so compelling that it has swept popular imagination both in terms of installs as well as mindshare. One of the reasons for this is that Adobe itself has not produced any path breaking AIR application thus far – Buzzword was ostensibly acquired to serve as a proof-of-concept showcase for Flex and AIR but to date, Adobe has not released an AIR version of Buzzword – Buzzword would have been an ideal candidate for demonstrating the power of AIR for two reasons – one, people can relate it to the desktop applications that they use today like Microsoft Word rather than the web applications that they use today and secondly, it would have provided a great opening to demonstrate the seamless online-offline sync capabilities of AIR as well as desktop integration capabilities. I am not sure why Adobe has still not released AIR versions of Buzzword – is it because the online-offline sync issue is a particularly tough nut to crack or because they do not want to be seen as competing with other software developers (AIR’s primary audience) by aggressively releasing AIR applications of their own? I guess only the powers-that-be at Adobe can answer this…

So what does AIR mean to us and where do we fit in all of this?

To us, AIR is not just about bringing web applications to the desktop – that is a facile use case, rather AIR provides us with a mechanism to bridge the gap between the desktop and web in terms of user expectations as well as user experience. People expect desktop applications to be fast and responsive and to function whether they are connected to the Internet or not and equally, they expect web applications to be lightweight and collaborative. AIR allows us to develop applications that meet both sets of imperatives at once – offering a “Software & Service” application experience that merges the best attributes of the desktop and the web without forcing user to choose one over the other. This Software & Services experience is something that no other technology, past or present, has been able to facilitate thus far.

Microsoft is espousing a Software + Services (S+S) world view that is attempting to envision something similar but unlike AIR which is available today, S + S will be fully unfurled at some unknown time in the future and secondly, unlike the Microsoft view where the services part is a poor second cousin to the primary desktop participant (an architecture motivated no doubt by Microsoft’s anxiety to perpetuate its desktop hegemony), in the AIR-propelled Software & Services world, the desktop and the web are equal partners. In the Microsoft world, the service version is a stripped-down emasculated version of the desktop software but in the AIR world, the functionality available within the application is more or less the same irrespective of whether the user is using the browser version or the desktop version and whether she is online or offline. Equally importantly, the switch between the desktop and the browser or between offline and online modes is seamless – for instance, a user can create a document in the browser and at some later point, open the same document in the desktop version and continue seamlessly. Similarly, any change made to a document when offline is automatically propagated to the server the next time the user goes online.

One of the reasons why it has taken us longer than we would have liked to release our applications is that we have provisioned for leveraging all of AIR’s capabilities right at the get-go. For instance, our presentations application, Live Presentations is available as a full-featured AIR-powered desktop application as well as a browser-based service! It offers full offline functionality – users can create, view, edit and present documents even when there is no Internet connectivity – and all offline changes are automatically synced back to the server the next time the user goes online. As we progressively unfurl the other applications in our suite, we hope to do our little bit to evangelize AIR and its capabilities by action rather than by lofty proclamations!

Undoubtedly, AIR still has some way to go before it is generally regarded as a mature platform for developing desktop applications (for instance, the application sandbox is still unduly restrictive and if not handled with care, AIR is a bit of a memory hog) but rest assured, it is by far the most promising web-desktop bridge platform out there in the market currently!

(For the Live Documents team)

Postscript: One last bit about Twitter – incidentally, we have a neat feature within Live Presentations where you can use Twitter as a feedback channel to get audience questions and reactions during a conference type presentation. More details on how to do this here.

Our journey from a Microsoft Office plugin to a Microsoft Office replacement…

We first started working on Live Documents around two and a half years back. At that point in time, Google Docs was starting to make news – AJAX-driven browser-based applications that offer users with an alternative to the desktop juggernaut Microsoft apps.

The core benefit posited was that in this web-based paradigm, collaboration becomes much easier than the e-mail attachment mechanism for sharing and collaborating on Microsoft Office documents.

While this made sense, given our expertise and experience with Microsoft technologies and specifically with Microsoft Office, we set out to prove that just to acquire collaborative capabilities, there is no need to rebuild browser versions of the desktop apps – instead, it is possible to “web-enable” Microsoft Office and bake in collaboration into the desktop apps themselves.

Through some niftily-designed plug-ins, we managed to achieve our objective and built a solution that made Microsoft Office documents collaborative – multiple people could open a document both in real-time or asynchronously and all changes made by one user would be merged into all other document copies ensuring that all document instances were up-to-date – users could also chat with one another in real-time within Microsoft Office itself.

Our early users loved our application and we got several rave reviews. One such review – Live Documents is Powerful Stuff – by Michael Arrington of Techcrunch fame, made an intriguing point   – would it be possible for us to integrate our solution with browser-based applications like Google Docs or Zoho so that users could work on their documents both on the desktop and in the browser.

Now, to our knowledge, something like this was never attempted before but we felt that this made a lot of sense and started exploring these integration possibilities. The first thing that hit us when we looked at the current crop of online applications was that all of them, without exception, were anaemic versions of the desktop equivalents – not only were they poor in terms of features and performance, more importantly, round tripping documents with these services (i.e. edit documents in the browser apps and export/save back to Microsoft Office) was a “lossy” exercise – documents would significantly lose fidelity. Also, the APIs that the browser-based applications provided were rather poor and didn’t give us the level of control and granularity that we were looking for. We conducted a straw poll internally and decided that rather than build a bridge between our Office plug-in and these browser-based apps, we could almost as easily build our own suite of browser-based applications to complement the desktop software.

We put up a couple of small teams and quickly came up with prototypes of AJAX-driven, browser-based applications for word processing, spreadsheets and presentations. All of these were significantly better and feature-rich than the likes of Google Docs but as we built out our apps, we soon hit a bottleneck – the problem was that we could only do so much with AJAX and as we attempted to build out progressively complex features, we found it increasingly tougher to do so using AJAX – in addition, the fact that with Javascript, we would have to literally jump through hoops to make our application work across different browsers was also frustrating. That is when we chanced upon Flex and to cut a long story short, ported our applications to this new technology platform (PS: We will document our experiences with Flex in a separate post shortly)…

Along the way, Adobe released AIR and this was a God-sent for us as we could now essentially build out software versions of our applications too without depending on Microsoft Office to serve as the desktop participant. Live Presentations, which we released for general production use, earlier this month is the first application from our stable – one significant attribute of Live Presentations is that without compromising on features, we have released feature-par software and browser versions which offer the exact same user experience.

So, as it turned out, we started off attempting to “web-enable” Microsoft Office and instead (and perhaps with a smidgeon of irony!), ended up building a complete replacement! It has been an exciting journey so far and now that we have gotten to the point where we have built out our applications enough to drop the “beta” tag, the future is going to be even more interesting!