Looking back at 2013

Hello friends of Balsamiq! As 2013 comes to an end, it's time to revive an old tradition (2008, 2009) and look back at all that we have achieved this year.

TL;DR: We continue to truck along nicely, growing organically. We are now 5 years old, employ 16 people, revenue is over $6M, profit margins are around 30%. In 2013 we focused on laying the foundations for future growth and started to work on the next generation of Mockups.


Once again, this was a transformative year for our little company. The main difference is how big we are. We added 6 new people to the extended Balsamiq family. In order to do so, we had to spend a considerable amount of resources codifying "how we work" in our ever-growing company handbook, as well as change offices in Bologna and even rent the office below our new office in order to make room for all the new hires.

The other thing that might be interesting to notice is that more than half of what we did in 2013 was not directly customer facing. That's a very high percentage, which I'm sure will be much lower in 2014. I don't feel bad about it, it's just part of the natural ebb and flow of our company's journey. Just like in product development we alternate releases focused on features with ones focused on bug fixing, so does our company's focus alternate between product/growth and making sure our company is solid enough to withstand future growth.

This post is meant to show you a bit of what's under the hood, so that you know what we've been up to and can get a sense of what it's like to run a company like ours.

Alright, let's dive in!

First up, let's talk about our products.

We did 8 official releases this year: Jan 19, Feb 28, Apr 16, May 21, Jul 9, Sep 25, Oct 24 and Dec 13 - releasing about once a month seems to be a pretty good pace for us these days.
We also had to ship 5 hotfixes this year: Jan 28, Mar 8, Jul 16, Oct 24, Dec 20 - mostly to fix small regressions...but still, I hope we'll be able to lower this number in 2014.

New Features in all versions of Mockups

For a year not really focused on product development, we ended up doing quite a bit! :)

Take a look, click on each link to see the relative release announcement:

Improvements specific to Mockups for Desktop

Improvements specific to myBalsamiq

Improvements specific to mockups-web

Mockups-web is our internal name for the Flex editor that runs our web demo as well as all the plugin versions.

In 2013 we focused on bringing our plugin codebases closer to each other (less code = less maintenance!), by having all plugins (and myBalsamiq!) share CSS and JS wrapper files, which resulted in more consistent keyboard shortcut support across our versions, and more.

We also made a lot of progress in merging the mockups-web and myBalsamiq Flex editor code-bases. Once again, less code means less bugs and a more consistent UX across products, both of which are awesome. This HUGE but mostly-behind-the-scenes work should be completed in early 2014.

Improvements specific to Mockups for Google Drive

Mockups for Google Drive wins our most improved in 2013 award. It went from being a little experiment full of bugs and with high churn into a well-loved, very advanced, fast-growing product.

Mockups for Confluence and JIRA

Mockups for FogBugz and XWiki and new Integration Strategy

As part of our efforts to STREAMLINE ALL THE THINGS!, in November we said goodbye to Mockups for FogBugz and Mockups for XWiki.

We plan on integrating with these tools again (and many more) in 2014, by offering a few simple myBalsamiq APIs. This new integration strategy is a lot easier for us to maintain than writing our own plugins, and will result in more, cheaper, faster and more powerful integrations, all at once!

Mockups 3.0: native and project-centric!

Speaking of future stuff, this might be a good time to mention the other BIG project we've been working on for most of 2013. We are moving off of Flash, and plan on releasing native versions of the Mockups editor on HTML, Windows, OSX, Linux, iPad and Android. In order to continue sharing 80%+ of our code between all versions, we are writing a core set of libraries in Javascript, and running them either natively or in a JSVM (like Spidermonkey) inside native shells. It's a HUGE effort, but it's super-exciting and coming along nicely already.

The first part of this next-gen version of Mockups, a native BMML viewer for different platforms, will come out in early 2014. Building the different native editors will be our main development focus for 2014.

We have also been thinking about the UX of the Mockups editor, and have a lot of exciting updates in the pipeline. The focus is to make projects (i.e. collection of mockups) first class citizens of our app (all versions), simplify the UX of using Symbols, and a lot more...too much for this post, but know that we'll bring some of these improvements to the Flex-based editor first, and soon! :)

Next up...

Testing!

Our love for automated testing has been growing steadily, as has the amount of our code covered by our automated unit, integration and functional tests.

The focus in 2013 was still to have our tests catch up with our code, and that effort is pretty much complete. Now we just write tests for the new features as they come in, as well as add any tests that are necessary to prevent regressions from happening again.

We now have more, faster and more reliable tests. More of our developers write tests first, and we run more and more tests on our build machine after each build, as it should be.

We are expanding our load, performance and penetration tests and expect to do a lot more in this area in 2014. It'll be exciting!

Operations!

Ops is another one of those totally-behind-the-scenes but vitally important parts of what we do.

We re-did how we do myBalsamiq builds to make for faster and safer zero-downtime updates (in short, we now generate AWS AMIs directly instead of WARs). We reserved a bunch of AWS instances, which will lower our Amazon monthly bill quite a bit (now around $4k/month).

We changed how we build our websites, from WordPress to a rock-solid HTML/CSS/JS (jQuery) + Hammer + Github + Jenkins + S3 workflow. We also moved our website's assets to a dedicated media.balsamiq.com S3 bucket.

We moved all of our code from our own Bazaar server to github.com, and are totally loving it. We also open-sourced a few repos while we were at it.

We now have per-branch online staging areas for our products and website, and on-deck areas for testing the final bits before they go live.

We switched from Eclipse + Flash Builder to IntelliJ IDEA as our only IDE, and are very happy about it.

We bought and installed new SSL and code-signing certificates, and even set up fancy DNS redirects for the many balsamiq.* domains we own.

We are very happy with our uptime report. Here it is straight from Pingdom:

pingdom

Next up, let's talk about our websites!

Updates to our Websites

Another behind-the-scenes project that made a huge jump forward for us this year is what we affectionally call...

...Olio!

Olio is an internal web-app that makes our company's engine run smoothly. It's a custom CRM + license manager + sales support help desk solution.

We debated buying vs building for a while, and after evaluating a lot of tools we decided to build our own home-grown solution. We are VERY happy with it: our customer database now has over 160,000 transaction, with about 4,000 more getting added each month. Because Olio takes care of managing keys, sending keys to those who lost them, generating estimates and invoices, sending automated maintenance reminders, making sending free licenses a two-click operation and more, we are able to serve a big global customer base with what totals to only two full-time sales-support people.

This year Olio became super-powerful: we started by making it generate estimates and invoices, then we made it send automated maintenance reminder emails, we integrated it with Stripe, generate all the reports our accountants need from us and even made it manage exchanges and refunds.

Starting in January, our accounting work will be MUCH easier than it's ever been, making us even more efficient. We are also working on replacing the current Buy page and shopping cart experience with an Olio+React-powered client-side, single-page, super-usable shopping cart application.

In case you're wondering, Olio is not for sale...we're keeping it as a little competitive advantage, at least for now. ;)

The rest of what's on the list are things that are pretty much invisible from the outside world, but that are just as important as product features! Without a solid company behind it, even the best product is nothing but a proof-of-concept. :)

Admin, Finance and More

Speaking of solid company: there's A LOT that goes into making a micro-multinational run smoothly.

Here are a few examples, in random order: we updated our local LLC business registrations, we "got out" of NYC (Mike moved to California so we no longer need to pay NY-state sales tax). We bought furniture for our office in Bologna and rented and furnished a new office right under it. We hired 6 people and let go of 1, which entails quite a bit of paperwork, and training! We invested some of our reserve cash, switched 401k provider, updated our PCI compliance applications, as well as the Transfer Pricing documents we submit to the IRS and the Italian tax agency each year. We catalogued our fixed assets, took mandated safety and first-aid courses and started a quarterly review of many financial metrics. We established proper contracts with our external collaborators, and dealt with Natalie relocating from Italy to California.

We organized and ran an awesome company retreat in San Francisco during which we celebrated our 5th birthday and also had 3 other mini-retreats during the year: a developer one in the Marche region in Italy, a sales-and-admin one in Bologna and a UX-and-Docs one in San Francisco.

We politely turned away 29 emails from VC-types, answered 9,719 sales-related emails and 2,536 tech-support related ones (on top of the hundreds of GetSatisfaction forum threads). We also donated more than 2,000 free licenses this year.

Handbook + Kaizen

Our internal handbook got a lot of attention this year. We started using the term Kaizen - an old term to explain how we move forward in small, continuous improvements.

We started a monthly "Balsamiq Kaizen" meeting in which we discuss and review handbook pages together.

Here are a some of the pages that either were created or received major updates in 2013:

  • Company Equity & Ownership
  • Contingency Plans
  • Don't Create Work: The Curse of Maintenance
  • Fighting Fires
  • How we split Work
  • Dealing with Really Angry People
  • How we do GetSatisfaction
  • Sharing Updates with the Community
  • Raffles
  • Hiring Forms for California Employees
  • Salaries and Benefits for Multinationals
  • Budgets
  • Donations
  • Gift Policy
  • SWAG Gifts
  • Time off to Exercise
  • Office, Home Offices, Co-Working Spaces
  • Professional Development
  • Working Hours
  • Recurring Internal Meetings Etc
  • Sponsorships
  • Buddy System
  • External Collaborators
  • the sales support bible received a HUGE update
  • and many others...

If you're interested in knowing more about any of these policies, let me know in the comments and I'll be happy to write about it.

We started a monthly "Balsamiq Media Club" meeting - we all watch or read the same thing and then we get together on Google Hangout to chat about it, as a bonding experience - and a monthly "UX Club" meeting, where we discuss and teach each other about UX-related topics. We favorited hundreds of customer twestimonials, bookmarked hundreds of press mentions, ran lots of raffles and sponsored a ton of events, organizations and websites.

We experimented with live chat support on our website, and decided we weren't ready to offer it yet. We worked on Mockups for iPad quite a bit, then decided to put it back in the icebox until the shared code-base was ready to power it (but we did nail down the UX, which is awesome).

As a company, it felt like we went from version 2.0, to 2.5, to 3.0 and we're quickly getting to 3.5 (I'll explain more in a separate blog post).

Last but not least...

Conferences and Interviews

We attended the following conferences (* means we spoke):

We were interviewed 5 times:

Looking ahead

We are SUPER excited about 2014. We have a rock solid team and company, we work very well together and love doing so, we're under very little competitive pressure, and a lot of the seeds we've been planting will finally bear fruit.

As always, things will take longer than expected, there will be ups and there will be downs, and we'll learn A TON in the process. Bring it on, we're ready! :)

We hope you'll want to come along for the ride.

Here's a question for you: after reading all of the above, what do you think we should do differently? What should we do better? Be blunt, make it hurt, we need it! :)

Thanks for reading this super-long post, and for helping us get to this point.

We hope 2014 brings you and your families health, happiness and success.

Onward!
Peldi for the Balsamiq Team

Comments (7)

  1. Great post. As for things to fix, bluntly? This:

    TL;DR: We continue to truck along nicely, growing organically. We are now 5 years old, employ 16 people, revenue is over $6M, profit margins are around 30%.

    Really, an orphan table tag?

    Doug Strickland
  2. Sorry Doug, you’re the second person that points it out. That’s supposed to denote a summary: http://en.wikipedia.org/wiki/Wikipedia:Too_long;_didn't_read – I thought more people knew that acronym, my bad.

  3. Ciao Peldi
    >what do you think we should do differently?
    there is more to learn than to advise when reading this post. You do a perfect communication, great responsiveness to market needs, wide support

    From our experience, I would suggest not to start developing back office software on your own. This is huge amount of time and resources to put every year. Sure, there will be no CRM, accounting, financial, support or other software meeting fully your requirements of usability (hey, this is your subject, right ?) but better run it with its limits than start to invent the wheel again. Or at least take one open sourced for basis and feel the lack of features by yourself or better pay the community to do it.

    Another question that I have after reviewing of your videos in 2010, 2012 and this post of 2013 summary. Don’t you think you are done with the subject of mockups? You are like Sisyphus rolling and rerolling the stone again. I’m using Balsamiq for more than 3 years and very happy with the very first version we got. Ok, we miss pivot tables object or some other fancy GUI, but we still can produce nice mockups for our customers. Don’t you follow the Microsoft Office path where only 4% of features are really used by users?

    Anyway, I’m your big fan and thank you very much for all of your video appearances and advises.

    Dimitri

  4. Thanks for the feedback Dimitri! Regarding back-office software, we’re very happy to have built our own – like I said even after a long investigation we didn’t find anything that suited us, even with heavy customization – plus we might turn Olio into a product one day. :)

    Regarding Mockups, we have a ton to do! Even after 5 years, I still feel like we’re just getting started! :)

  5. I’m glad that you’re working on project management and native platform applications. This will hopefully address the two major pain points we struggle with every day: speed and large projects.

    Are you planning in having pre-release builds for native apps just like for the flex app? If so, I would be excited to give it an early test run and give you some feedback.

    Mathieu Brault
  6. Hi Mathieu, we plan on having private betas and pre-release versions of our native apps as possible. Stay tuned on our product blog for updates (it will be a while still before we start though).

  7. Any possibility your handbook will ever be open sourced on GitHub? Would be an amazing resource

    Anthony

Leave a Comment

Your email is never published nor shared.