Google Blogoscoped

Saturday, February 24, 2007

Extending Google Office With a Plug-in API

Wouldn’t it be neat if Google offered developers a way to write scripts to extend the functionality of Google Writely, Google Spreadsheets, Gmail and so on? Right now, if you want to do this you have to go for things like user stylesheets or Greasemonkey scripts, or other specific Firefox extensions, all approaches that are sub-optimal at best because installing them takes a certain browser and isn’t really “one-click” easy, and there’s also the risk you disobey the Google terms of service.

An officially supported Google Apps add-on API – sort of like macros for Microsoft Office, but something different than Google’s current Apps API – on the other hand would guarantee easy installation. Additionally, Google could then link to these extensions right from the specific product pages. E.g. a link at the top right side of your Gmail account may bring you straight to the Gmail add-ons of the Google Apps API directory. You could then subscribe to several extensions, Personalized Homepage directory-style, and extend your Google Apps with new functionality.

I could imagine a wide variety of specific tools. A Google Docs (Writely) plug-in may add syntax highlighting to the document for source code. A plug-in for Gmail may skin the appearance of your emails and increase the font size. A Spreadsheets plug-in may generate charts (until Google delivers this feature themselves – and indeed, Google may sometimes be inspired by Google Apps API plug-in functionality and mine these for stuff they then implement for all users). A specific community may see the need for a very specific add-on, and simply go ahead and create it.

As ever so often, some developers may want more “return” from creating these scripts free for users. This is one of the current problems with the Google Gadgets (aka modules) approach: there’s often little incentive for gadget developers to develop gadgets, and many end up being self-promotion tools, sometimes bordering on spam. There’s a simple solution for this: all Google Apps products – I guess – will include ads in the future (targeted to the document at hand, e.g. an ad for cooking books if you open a Thai Curry Chicken recipe in Google Docs). So Google would simply need to allow developers to associate their add-ons with their AdSense account, and then show a percentage of AdSense for the developer’s account for every installed plug-in. This way, a popular plug-in may make the developer some money on the side and convince them to optimize it, support it, and create new plug-ins.

The Google Apps extension API would solve another problem; right now, it’s a big hack to add functionality via Greasemonkey, user stylesheets and so on. For one thing, you rely on flaky HTML source code specifics; you’re basing your scripts on specifics of Google apps output that may not exist in another month. And also, programming in such a way is not the most pleasant experience. It would be much easier for developers to code against a structured object exposing certain attributes.

A Google Office add-on API does not come without risk, though. The biggest risk would be security. If Google wouldn’t get the security model right, even more Google office vulnerability holes would be discovered; this would be like those nasty insecure macros of the Microsoft Word era. Like with Google Gadgets today, Google would need to communicate clearly to end-users that add-ons may be unsafe, and possibly disallow add-ons to transfer apps-internal data (say, a Gmail email which contains your password) to outside sites. Furthermore, supporting add-ons would increase work for Google’s helpline. People might now call in because they see a Google Spreadsheets bug when actually it’s only a Spreadsheets add-on bug (and even if it’s not, Google can’t know this, and they need to investigate with more possibilities in mind, slowing down the investigation).

So why would Google want to provide all this add-on stuff? To be nice and make developers some spare-change? No – but to have a great web apps platform because there are hundreds to thousands of great add-ons for users. This way, they can better compete with tools from Microsoft. The costs of switching will be increased for users, hence make Google Apps more sticky, because even if Microsoft wakes up and creates a webified office, users might lose all their work- or community-specific add-ons when they turn away from Google.


Blog  |  Forum     more >> Archive | Feed | Google's blogs | About


This site unofficially covers Google™ and more with some rights reserved. Join our forum!