Looking back at 2020
Hello friends of Balsamiq!
A very intense year is finally behind us
Twenty-twenty was a terrible year for the world, by many measures. The one that I keep thinking about is inequality: some industries were devastated by the pandemic, others benefitted from it.
At Balsamiq, we were luckier than most. We’ve been working remotely for over a decade, so the lockdowns didn’t affect us very much. As you will see below, our revenue wasn’t impacted either: we continued along our existing growth curve, as if the pandemic didn’t happen.
Because we did so well, there’s a certain amount of guilt in discussing the challenges we did have, but it would be disrespectful to everyone at Balsamiq to discount them. It was a tough year for us, even if the stress was mostly caused by events outside of work.
We had long periods of high anxiety and low productivity, and delicate mental health. We’re still struggling with it, and continue to adjust to our evolving concept of normality.
I’m very proud of the resilience of the Balsamiq team, and decided to celebrate it by writing a more-detailed-than-usual list of what we accomplished in 2020, despite everything.
I’m also very proud of the fact that our existing company policies are - and have been - so generous towards our employees, our local communities, and our customers. They really shined in 2020, without us needing to make any adjustments for a tough year.
Our revenue numbers
Let’s start off with what everyone is most curious about. 🙂
Our Revenue in 2020 was USD $7,314,789.45 - a growth of 9.37% over 2019.
Our SaaS and Integrations continue to do well, but a lot of our growth in 2020 came from our Desktop version: in January 2020 we launched a new major version, a paid update. And lots of people updated!
As you can see, rumors of our demise are greatly exaggerated. 😉 We’re trucking along nicely, and our laser focus on low-fidelity wireframing is shielding us from most competitive pressure.
For 2021 I expect revenue to be a bit lower, around $7.2M. This is because the “paid update bump” will peter out, and because we shut down myBalsamiq, our vintage web app, which brought over $300k in revenue in 2020.
As you know, we focus on longevity over growth, so I’m totally ok with a flat year. In fact, I don’t want us to get addicted to growth, so I welcome it! 🙂
If you read our newsletter about how we prioritize work, you’ll know that 2020 for us was mostly about surviving launch. In January 2020 we launched a fully rewritten codebase, so it naturally took a few months for the dust to settle.
We spent most of our efforts in 2020 fixing bugs, crashes, dealing with edge cases, and implementing little forgotten features from our old codebase here and there.
We also did a lot of behind the scenes chores: we migrated our Windows app from .NET Framework to .NET Core, we did a lot of work on improving performance, and helping customers shrink the size of their projects for faster loading - resampling images on import, caching resources on the client, adding warnings when you have a lot of unused or trashed resources, improving how we detect conflicts when importing or pasting, and more.
Towards the second half of the year, we started to have some time for feature work as well. We decided to focus on features that didn’t touch our BMPR format, in order to give our Balsamiq Mockups 3 users more time to migrate to Balsamiq Wireframes.
In our Desktop versions, we added spell-check, we made our Windows app work on linux again, and we added the highly requested Automatic Check for Updates feature.
In our Web Apps - Balsamiq Cloud and our Integrations - we spent a lot of time making it work on mobile browsers, for tablets and phones. We’re still working on it, but it’s getting there!
In all versions, we added pinch-to-zoom, a more responsive UI, support for more touch events, we increased the quality of both thumbnails and exported PNGs, improved how we deal with dependencies when copy/pasting between projects, and did a full revamp of the right-click menus.
The new version of the editor required a massive update of our documentation, including new videos and new FAQs for people who were migrating.
Our Web Apps are a bit further along in the maturity chart, so a lot of the work for them in 2020 was about scaling and serviceability. We brought some third-party services in-house, updated a lot of libraries to the latest versions, did a lot of security fixes (thanks to a revamped Bug Bounty program), added a lot of metrics and alarms, and more. We also improved our superadmin UI for Cloud, for the joy of our support team: we greatly improved the performance of searching for customers, we added IP-banning tools and rate-limiting code to deal with DDOS attacks, and improved how we capture crash bug reports from our clients. We also updated our Atlassian Data Center pricing.
Additionally, we worked on some user-facing features: all of our versions now support Image Links, and sharing a public full-screen view link.
Again, all these new features required documentation and video updates. We’re very proud of our docs: we even noticed other companies using our docs to support their customers!
Last but not least, we said goodbye to myBalsamiq, our vintage Flash-based web app. This was actually a massive effort, because we wanted to give our thousands of customers plenty of time and help in migrating to Balsamiq Cloud.
Behind the scenes, we did a lot of work improving how we build our products. We now have a separate “UX & Strategy” team that helps our product teams with product design, strategy, and user research. We established an Online Services group to coordinate our DevOps efforts across products. We crafted templated checklists to follow when we build new features, we established a quarterly process for coming up with roadmaps, we officially introduced the concept of Product Managers, we started regular “Product Review Board” meetings to go over our backlogs, and more.
We also continued to focus on data privacy, by improving how we audit ourselves and shrinking the number of 3rd party vendors we send your data to. We improved Acetaia, our internal project-management tool, and added two new internal tools for sending batch emails and scheduling meetings.
We also improved Olio, our home-grown CRM system, wrote a ton of new automated tests, started adopting Typescript more and more, refactored some of our libraries so we can use npm to manage dependencies, and started tracking our AWS costs more closely by tagging everything.
On the support side of things, we finally joined our Sales and Tech support teams into a single unit. This was not as big of a change as you might think because the team had been operating like this for the last two years - we just made it official. Speaking of official, the team also codified their support style (going as far as to give it a name - “Finding the Human”) and started brainstorming more ways to improve it.
Doing actual support work, the team has taken a year-long crash course in supporting our native apps (particularly Windows and its many dependencies!), but we are hoping for a smoother year. We also kept up with Atlassian's continuous changes to their platform, and we revamped our classroom page to better assist teachers in using Balsamiq with their students.
Marketing, education, and website updates
At Balsamiq, we do very little traditional marketing. Instead, we lead with our product and our mission.
In 2020, we sponsored 173 events and hackathons around the world. We would have done more, but many events were postponed or canceled. We’re proud to share that about 50% of the events we sponsored were run by underrepresented communities in tech.
We also sponsored 7 podcasts, but decided to give away our airtime to listeners of those podcasts who couldn’t afford to sponsor on their own. Over 40 small startups took advantage of our offer, with more to come.
We met with over 50 people as part of our Office Hour program, and we got more mentors on board for the future.
We also continue to sponsor our local Ultimate Frisbee team CUSB. Our sponsorship is making an impact not just in their awesome team results, but they’re using part of the money for important educational efforts.
We suspended our newsletter from March to May because we didn’t want to take attention away from more important world matters, but were able to share behind-the-scenes news with 9,000 of you for the rest of the year.
We improved how we run marketing projects in terms of data privacy, we did 4 marketing research projects, and updated this YouTube playlist with reviews from other YouTubers.
Our website had a major facelift back in January, with a fully rewritten CSS and a much cleaner design. We improved its performance and SEO. We improved our shopping cart to allow for the new Desktop Major-Version Update licenses, we rewrote our Jobs page to make it easier to apply, and moved our blog from a subdomain to a subfolder - much harder than it sounds! 🙂
But the biggest investment of 2020 for the website was the Balsamiq Wireframing Academy (balsamiq.com/learn). Our education team has been killing it: we created a set of awesome introductory videos explaining what wireframes are, paired with a great web page about it. We wrote a lot of new articles, including one on how to start your UX career. We beefed up our Resources section, and continued to share useful UX/UI links every month. We optimized our content for search and social sharing, and integrated it with our product’s loading dialog quotes.
We spoke at several conferences, seminars and meetups, we interviewed more product people for our “The Process Behind” series, and collaborated with Paul Boag on his Lean UX podcast.
Last but not least, we made a booklet and a poster about the “10 Principles of Effective Wireframes”.
Running a 12-year-old, 33-people-strong global company requires a lot of effort. Our admin team is the backbone of our company, tirelessly taking care of our people, as well as our accounting, legal, and tax needs.
Here are some of the projects they worked on in 2020, on top of their usual work.
We managed a few family and medical leaves, we improved our benefits by increasing the lunch vouchers and adding a welfare budget for our Italian employees, we switched dental plans and negotiated savings for our 401k plan for our US employees, we celebrated 3 ten-years-at-Balsamiq anniversaries, organized various employee gifts, reviewed the quality of our SWAG items, and explored new policies to lower environmental impact.
We had to do a lot of work dealing with cancellations of events, both those that we planned on attending, and those that we had sponsored. We closed, then safely re-opened, then re-closed our Bologna office. We wrote a CCTV policy for our office, and almost hosted a large marketing retreat there.
We also did some special tax and compliance projects: a huge one on calculating and collecting sales tax in some US states, applying for a Research & Development tax rebate in Italy, applying for a Bilateral and Multilateral Advance Pricing Agreements (BAPA) with the Italian and US tax authorities, and we even came close to acquiring a competitor. 🙂
Last but not least, our admin team did a lot of personal support during the pandemic - checking in with individuals 1-1, creating dedicated channels for discussion, setting the right expectations and overall just keeping us sane.
We also worked on improving our company, what we call “Kaizen” efforts.
We completed a full reorganization of our wiki spaces, and revamped the format of our monthly All Hands meetings.
The biggest effort of the year, though, was starting what we called the “Professional Growth & Salary” project - we’re changing how we do those things for more scalability, longevity, and to make Balsamiq an even better place to work.
Something we’re proud of is that we managed to NOT hire anyone in 2020. We’ll probably hire a couple of people in 2021, but we might finally be approaching our company’s long-term natural size!
A peek at 2021
We’re very excited about 2021. In many ways, it should be a much easier year for us, and hopefully for all of you too!
We’ll have fewer legacy products to maintain, so we’ll finally be able to focus on innovating again, with a nice mixture of new features, bugs, and chores. Stay tuned for a lot of product goodness coming your way!
Company-wise, our main focus for the year will be to transform how we support our employees' professional growth trajectories, and how we set salaries. This is a massive project and a huge step towards ensuring Balsamiq’s scalability and longevity. We’ll share more about it along the way.
If you have any questions about anything specific, don't hesitate to ask! You can either leave a comment here or schedule an Office Hour session with me.
Thank you for making it 'till the end, friends! ❤️