Google: Application Abstraction Layer?
Google just released a web-based
spreadsheet application. As with most of their products, it's pretty cool – though still very beta. The "wow" factor of
GMail and
Google Maps has worn off by now, so it takes a lot more to really impress me.
What Google Spreadsheets does do is confirm the rumors of Google competing directly with Microsoft Office by releasing a web-based office suite of their own. Despite their recent aquisition of Writely, I still refused to believe that this is actually what they were doing. Because, well, it doesn't sound very smart to me. Google's core business – what they do best – is search. And straying from that in order to take on a suite of desktop applications doesn't seem to be in their best interest.
It really is amazing how responsive and nifty-cool web apps have become these days, thanks in large part to the folks at Google stretching JavaScript and XmlHttpRequest farther than anyone else had done before. But a nifty-cool web app is still a web-app. They will always be playing catch-up to desktop applications because, AJAX or no, there is no way to replicate the responsiveness and feeling of a desktop app. Network speed pales in comparison to hard drive access time, and security issues prevent JavaScript from accessing the user's system, which desktop apps have free access to.
So, who exactly is going to want to use Google Spreadsheets over Excel or one of the free alternatives? The online colaboration feature is nice. But is it solving a real problem? We seem to be doing just fine with email and office meetings. Besides, if Microsoft hasn't already added online colaboration to Excel, I wouldn't be surprised to see it in the next version.
The only really useful niche I can see for Google's growing suite of web applications is as some sort of application abstraction layer. The easiest way to explain what I mean by this is to give an example: Google calendar, as it now stands, is decent. I took a look, added a couple of test events, and then never used it again. This is because the calendar extension in Thunderbird does everything Google calendar does, and does it faster. The same is true of Outlook. However, Google Calendar uses the iCal file format, the same as used by Sunbird (the Mozilla calendar app) and iCal on the Mac. Imagine using Google as a central server for all of your calendar data, with the ability to synchronize changes made in Thunderbird with changes made via Google's web interface, and vice versa. Set up properly, you could have a calendar app (even Outlook, if Google implements a file conversion utility) on any number of computers running any operating system that all synchronize with the same calendar. You get the rich-client benefit of accessing your data locally 99% of the time, and the benefit of having it available to you whenever you need it – via Google calendar if you're away from one of your own computers.
The POP3 access that GMail allows is another, less exciting example of Google-as-abstraction-layer (IMAP would be much cooler), as is their new Browser Sync Firefox extension.
But is Google going to run in this direction? Will this give-google-my-data-so-I-can-work-on-it-anywhere model catch on? It would certainly mark a huge change in how we work, minimize our dependence on any one application, and push applications toward standard file formats. It's too early to tell, but if this is their strategy then they plan to compete with Office not by competing with Office, but by evening the playing field, by lowering the advantage of using it. If you can share a document written in OpenOffice or AbiWord with someone using MS Word, allowing Google to transparently handle synchronization and file conversion issues, if you can even create and edit that document online with no desktop software whatsoever, then what does it really matter what word processor you're using?