Building Great Products: Google Docs and the case for Extensibility

Building Great Products: Google Docs and the case for Extensibility

For as long as I could remember, Microsoft Office and its suite of products have been a dominant player in the productivity tools space. I didn't even know they had alternatives until I switched to Linux a few years ago and discovered Libre Office. Microsoft had a clear monopoly, that is why it was a huge surprise when Google moved into the space and stole a significant portion of the market.

Google Suite comprising of Google Docs, Sheets, Slides and Forms was launched into a market where very few would succeed. Their obvious rise to prominence was due to their collaboration feature which capitalized on the increasingly online world and gave people a chance to work and collaborate on documents in real-time. While this feature was revolutionary and ahead of its time (yes, Google Docs was launched in 2006), today I will be discussing another feature that is often overlooked but was key to this products' success: Extensibility.

Extensibility

Google knew it would take a lot of time and effort to match the number of features the Microsoft suite had, and during that same time, Microsoft would be releasing updates with more features and customer delights. Microsoft was years ahead and that gave them a clear competitive advantage, instead of trying to out-develop them, Google took a completely different route.

Google being a Product driven company with millions of failed Products (read Lessons), knew the key wasn't competing or copying Microsoft but to make sure that their users could have their needs met through their platform. They managed to do this by building an extensible platform, one which could handle the core functionality required by users (MVP) but also allows users to add functionality that otherwise wasn't available on the platform.

Google already having seen the benefits of app extensions from their experiences with the Chrome Browser, rushed to bake in extensibility into their Google Productivity Suite. Google Chrome already had a strong community of developers who were creating extensions, most of them being for free, and Google knew this would be key in delivering extra features to its users. Additionally, they could review and track popular add-ons being installed by their users, as this clearly showed new features that were lacking on their platform that the users wanted.

Google quickly went to work with this idea and developed App Scripts, their rapid application development platform that makes it fast and easy to create business applications that integrate with Google Workspace. App Scripts allows developers to write code in javascript, one of the most popular programming languages, and have it run on google servers for free. Additionally, developers also get frictionless access to Google APIs to services such as Gmail, Maps, Calendar and more. This allows developers to build almost any solution they want onto Google Workspaces.

To date, Google currently boasts of millions of addons, and for almost any functionality you're missing on the platform, there's likely an addon that can do that. Because of this you no longer need to send your document for grammar review, but can simply add the Grammarly add-on to Google Docs. If you need high-quality images for your Presentation, simply add the Unsplash add-on to Google slides and browse through thousands of high-quality free-usable images. If you need to add a complex formula to a spreadsheet but none of the existing functions matches what you need to do, you can simply create your own custom function using Google AppScripts 😅.

Google baked in extensibility into their platform allowing others to build innovative features and products onto of theirs. This, in an increasingly collaborative and interoperable world, allowed them to scale to be as big as Microsoft in a short space of time.

Beautiful Brilliant Bots

Messaging Apps

Extensibility is a crucial feature whenever you're building a product to be consumed by a large userbase, especially if a significant portion of that userbase is technical. Instant messaging apps like WeChat, Telegram and  Slack thrive on extensibility, having some of its most used functionality coming from 3rd party bots. These platforms were able to anticipate that their users base would also have creators and as such created a bot framework that allows third parties to integrate and add additional functionality onto the platform.

Chatbots, or as they are popularly known bots, are third-party applications that run on top of messaging platforms to deliver additional convenience to the user. With the advent of bots, messaging apps are now more than just for texting, business can leverage their capabilities for B2C service delivery, customer service, sales and marketing. Chatbot applications are vast and to date we have seen thousands of bots spring out in fields such as e-commerce, education, entertainment, finance, health, news, and productivity.

Here are some examples of bots I use daily:

1)I recently created a Bot that gives me updates on stock prices in real-time for selected counters. This means I no longer have to constantly check my phone for any minor stock movements and only notifies me when a significant movement of a stock in my watchlist occurs.

2) On slack we have a bot that sends out key product metrics every morning right before our morning scrum meeting. This allows the team to notice any issues with the product beforehand and also removes the burden of someone manually checking.

If you're interested in developing chatbots and their potential business application, also check my other blog post on how to build a Whatsapp chatbot here.

Extensibility in the wild

Extensibility is the ability for users to create on top of your platform and extend the functionality you provide. This gives users a chance to be more involved in your product and also helps them to resolve pain points that you as a Product Team might otherwise miss.

It also helps by giving other innovators a chance to build new solutions on top of yours in widely imaginative ways. The innovators get to reduce their time to market and exposure by building on an existing and reliable platform, while you get to strengthen your ecosystem and maybe even solve problems for a new audience. My favourite example of this is WooCommerce, a popular WordPress plugin. At the time of launch, WordPress was mostly known for blogging but the new plugin extended the platform by allowing it to also offer e-commerce solutions. Now e-commerce applications might not have been an initial consideration for the WordPress team but because they had extensibility in mind, to date over 4 million websites use woo-commerce to sell their products on top of WordPress.

WordPress is a platform that understands extensibility and is a huge success because of it. WordPress is today one of the leading content management systems having most blogs and e-commerce platforms you use, running their incredible software. A huge key to their success was their embracing extensibility through their plugin architecture and templating system. WordPress at the core is just a CMS but with its plugins, you can extend the functionality to whatever you want, a blog, e-commerce system, e-learning platform, etc. Furthermore, their templating system, popularly known as themes allows the users to customize the look and feel to their specific needs. WordPress currently powers 455 Million sites on the world wide web, that's close to half a billion and it is largely thanks to its extensibility.

A key advantage of extensibility is that it allows a community to form around your Product and create a healthy ecosystem around your Product. A key example of this is Facebook, the social media giant made a conscious effort to add extensibility to their platform and because of this, they have a thriving developer community. Facebook and its family of platforms allow developers access to their APIs so that they can build bots, games and other cool user experiences onto their platform. In as much as people go to Facebook to stalk their ex-girlfriends/boyfriends, they also do so because of the other great experiences build by third-party developers such as interactive games and chatbots that give them access to external services such as shopping, e-learning, consultation and so much more.

How to bake extensibility into your Platform

It's important to note, that not all products need to be extensible it ultimately depends on your audience. If your Product has the potential to be build upon and has a part of the audience that is highly technical then maybe it's something you need to consider.

The key to extensibility is making sure your platform is easy to build upon, your platform must have SDKs, libraries and APIs that are easy to use and well documented. For example, Google created App Scripts, a rapid-development platform that uses can write code for using Javascript the most popular programming language. In addition to choosing a well known and loved language, the Google pages also have a lot of well-written documentation with examples on how to get started.

Another important aspect of build extensibility into your platform is having strong Developer Advocacy. It's not enough to have a great platform, someone needs to actively sell this to developers to get them to build solutions onto your platform. Additionally, developer advocacy helps to identify pain points that your community may face when building as you get to network directly with your community.

A great example of advocacy done right is Facebook which has a thriving community of third-party developers. The social media giant managed to establish local chapters everywhere around the world known as Facebook Developer Circles, these chapters hold regular meetups and hackathons around facebook technologies. This grassroots approach helps new developers to easily embrace building onto the Facebook ecosystem. The cherry on top of the cake is that Facebook holds regular competitions where these chapters can take part and build new, innovative solutions for exciting prices.

So there you have it folks, extensibility, it has the power to leapfrog your product into a platform and generate an eco-system of innovative products build on top of yours. Instead of stressing and struggling to build out everything in your backlog, how about your let your community help out 😉