A private rant inadvertently made public gives some interesting insights into how and why Google behaves as it does towards external developers.
In a recent item, we complained that Google wasn't rolling out its Google+ API fast enough and suggested that this might not be an accident but an attempt to retain control of the platform. Now it seems that it is more like an a general mentality than a specific intention to protect an asset.
A Google engineer, Steve Yegge, wrote a private rant, posted it on Google+ and accidentally made it public. This in itself draws attention to some of the user interface problems that Goolge+ has, but the content of the rant is even more enlightening.
The rant has now been removed but for the moment you can still read it in its entirery on another Google+ page.
The first part of the rant, its long, details some observations on working at Amazon and the quality of the UI of the Amazon web site. This makes for interesting reading but is not relevant to our stated concern. Later, when Yegge gets on to consider Google, the information is far more valuable. It is an analysis of how Google doesn't really do platforms:
"That one last thing that Google doesn't do well is Platforms. We don't understand platforms. We don't "get" platforms."
He goes on to say that, in general, teams at Google think that they are working on closed finished products and any offering of an API to allow developers to access the data or computations is an afterthought.
"A product is useless without a platform, or more precisely and accurately, a platform-less product will always be replaced by an equivalent platform-ized product."
Which seems true enough. Turning to Google+ he then says that its API is pathetic and most definitely an afterthought. The building of Google+ was a project to build a better product, better than Facebook, rather than to build a platform that developers could use to extend and improve the product. Of course it is arguable that it is Facebook's developer eco system that makes it so popular. The reaction of the Google team to shortcomings in the site that should be filled by third party developers is characterized as:
"Gosh, it looks like we need some games. Let's go contract someone to, um, write some games for us."
You can see the flaw in this approach.
Overall, the point being made is that Google doesn't build platforms and in this sense it isn't hostile to the external developer, it just doesn't make the effort to be friendly.
Finally the argument is put forward that to make a product into a platform the best thing management can do is to specify that the internal development teams work via an API that can be made public. Yes that's right it's "Eat your own dogfood" but in this case rephrased as
"Start with a platform and use it for everything."
Let's hope Yegge gets promoted and is allowed to change the way Google does this particular part of its development.
To be informed about new articles on I Programmer, subscribe to the RSS feed, follow us on Twitter or Facebook or sign up for our weekly newsletter.