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!