👋🏽 We wrote a book! Order Wireframing for Everyone today →

Balsamiq

Toggle navigation

Why We Integrate with Other Platforms

Building integrations is hard, but worth it!

What are integrations?

Software integrations are sometimes called plugins, or extensions, or add-ons in a nutshell, it's making two pieces of software talk to each other to provide a seamless experience between the two.

A little known fact about Balsamiq is that our initial business plan was entirely focussed on building integrations. My plan when I started was to build several add-ons a year, which together would have made enough revenue to pay the bills. Clearly, just like so many others, my business plan did not survive the first impact with customers. 😊 It's been 10 years, and we're still building our first add-on! 😊 Our customers asked us to build a Desktop version, then a Web app, and we had to adjust our plan accordingly.

Here's a little secret just for you, our inner circle: this initial focus explains why our name is Balsamiq! Just like top-quality balsamic vinegar makes everything taste better, our top-quality add-ons enhance any platform we integrate with! Ha! #condimentsforever 😊

Why do integrations?

When I started Balsamiq, my goal was to run a little tiny indie software product company of 1. This self-imposed limitation forced me to look at ways of cutting some corners. Building integrations seemed to fit the bill quite well. You see, when you build an add-on to an existing platform, the platform vendor gives you A TON of help. They need you to be successful, to validate their extensibility strategy!

The platform's message to their customers is simple: we make XYZ that does ABC. It might not have all the features you need, but here's a list of integrations that enhance our product to fit your needs.

They have a marketplace to list their integrations, they support add-ons with marketing efforts (letting you do guest blog posts on their blogs, for instance), and the more evolved ones even resell your software for you. This provides the best user-experience for the end-customer: they receive a single invoice, from a single vendor, with everything in it. The platform takes a little 10-20% cut for this, but it's totally worth it. They're doing all the marketing work for you!

So, as a solo developer, starting off with add-ons for Atlassian Confluence and Jira, and then Google Drive, gave me a huge boost. I was literally standing on the shoulders of giants.

Tight vs loose integrations

I've always aimed to provide super-tight integrations. My goal was for the end-user to almost not be able to tell my add-on apart from a native platform feature.

This means piggybacking on the platform's user authentication instead of forcing the platform users to have a separate login for my add-on, or working closely with the platform's designers when defining the UX of our add-ons, so that they can match as much as possible.

Unfortunately, this also means having custom code for each integration. And it's code you have to maintain as the platform's APIs evolve and inevitably regularly break your add-on.

Wouldn't it be simple to just have a web app with APIs and use those to build a thin layer that makes your web app and their web app talk to each other? Well sure, it would be better for us as developers, but it would provide a much worse UX for the end user. That's just not something we're willing to compromise on.

Look at this little video of adding a Balsamiq project to a Jira ticket:

Smooth, right?

Another example: look at how our Google Drive add-on integrates with the Google Sharing dialog:

That's what we mean with "tight integration".

It's more work for us, but it's totally worth it.

Risks and challenges

This strategy is not without challenges.

The first thing I did when I decided to start Balsamiq was to meet with then Atlassian developer relationships manager Jonathan Nolen. I asked him flat out: "how committed are you to this integration story? I'm going to bet the house on it. You're not going to just shut down your APIs next year, are you?" He had all the right answers. 😊

Remember when Twitter first launched, and how everyone was building Twitter clients? Over the years, Twitter acquired some of them, killed other ones, then eventually shut down their firehose API entirely.

When building on top of someone else's platform, you're beholden to their choices and whims. It's dangerous, you need to have a plan B. For us, it was Desktop and Web App versions, and they worked extremely well right off the bat, surpassing our integration revenue very early in our history.

You have to manage the relationship with the platform very closely: you have to go to their developer conferences, cultivate personal relationships with the right people at their companies... you want to make sure you know what their current strategy is and how you fit in it, so you can prepare for the months ahead.

And if you're successful, you often run the risk that the platform vendor will copy what you built and make it a free feature of their platform. In other cases — God forbid 😉 — they might try to acquire you! 😊

Another huge challenge is that the platforms evolve all the time, and make breaking changes to their APIs, often without realizing it. Be ready for a life of fighting fires! 😊

One last challenge I'd like to mention is that having different versions of your product can cause confusion to your customers. We get a lot of calls from people who ask "which version of Balsamiq should I buy?".

Rewards!

We are still committed to our tight-integrations strategy.

We actually very much enjoy the technical challenge of making separate clients and servers talk to each other seamlessly. Keeping up with the platform's technological shifts gives us a great litmus test on our own constantly-evolving choices (yes, we all use React right now). 😊

We have developed great relationships with our partners at Atlassian and Google, and are always flattered when they call us to discuss future possible integrations. Additionally, we have become members of their add-on communities: the Atlassian Marketplace vendor forums are a great resource to share tips and compare notes.

We continue to benefit from the growth of the platforms we integrate with (Atlassian recently bought Trello. Integrating with it would expose us to its 25+ million users with minimal effort).

Financially, it's been very much worth it. Our core plugins team consists of two developers and a tester/ops, and the integrations brought in over $1.5M in revenue for us last year. Plenty enough to pay their salaries, and then some! 😊

Most importantly, we have given our customers ways to use our product that conform to the way they want to work, not the way we think they should work.


We hope this little insight in our integration strategy was useful to you.

If you haven't yet, please check out our integrations product page, there might be something there you'll love!