Lost your Mockups key?
Log In to myBalsamiq
Already have a monthly subscription for our cloud-based web
Log In to myBalsamiq
Hello again friends of Balsamiq!
Peldi here with our traditional "state of the union" end-of-year report. You can find previous editions here: 2008, 2009 and 2013.
As usual, this is going to be a very long post.
We're doing great. We're executing on our vision, one step at a time. Most of what we did in 2014 was behind the scenes, and will be released in 2015 (we're SO excited). Revenue grew about 4.5% (not bad considering our last official release was in March), and profit margins remain very healthy. Our micro-multinational finally feels mature, with all the processes and benefit programs we'll need for a while. Customers are gradually migrating from Desktop to myBalsamiq, as expected. Support load and competitive pressure are both low, so we can afford to stay focused on gradually moving to native platforms and other hard-to-do product improvements.
Interested in all the details? Let's dive in!
We only had one official release of Mockups this year, on March 13. With it we introduced bracketed text links and iPad and iOS7-styled controls. We also did 3 small bug fix releases, but overall, the 2.2 codebase has been mothballed since about April, when we shifted our focus to...
These two steps (code refactoring and UX improvements) were meant to happen separately, but sometime in April we decided it made more sense to do it all at once. It took about 10 months, but it's all done. We are planning on opening up a public beta of Balsamiq Mockups 3 at the beginning of February, and starting work on the native editors in earnest right after that (we'll start with iPad and Android versions first).
The main change is that we are finally moving from a one-mockup-per-file to a one-project-per-file model. The new file format is called BMPR (pronounced bumper) and it contains all of the mockups, assets and symbols for a given project. Super-easy to share, and designed for the future (it will also contain mockup revisions, branches, comments, and more).
Mockups for Desktop 3 is able to import and export your existing BMML files, but BMPR is its primary file format. BMPRs are based on sqlLite, which allows us to automatically save every change as you make it.
The editing UX is much more mature: you can open multiple project windows at the same time, and we have adopted a "3 column" UI which is very common for authoring tools: the list of resources is on the left, and properties are on the right. The annoying floating property inspector is finally a thing of the past! 🙂
We also made the full-screen presentation experience much more powerful, and greatly simplified creating and working with Symbols.
In the process, we fixed over 750 issues between bugs and feature requests. The app is noticeably faster and able to handle large projects without much trouble.
Balsamiq Mockups 3 is going public beta on 2/2/2015, stay tuned on our Product Blog for the download link!
We soft-launched (or are about to launch) 3 incarnations of this native viewer:
The viewer supports skins, links, custom icons, assets...the works!
2014 was a good year for myBalsamiq, our beloved web app.
Just like for the Mockups editor itself, most of the work happened behind the scenes. We actually shipped 25 releases of myBalsamiq (all without any downtime of course). We added the ability to specify a secondary billing administrator, we added more events to the mockup-, project- and site-history streams, we added the ability to restore deleted mockups, made several performance updates and added features to help our sales support team extend trials quickly. We also worked extensively with security experts, making your data safer every day.
Behind the scenes, we rearchitected how we save mockups in the database (we migrated the BMML data out of RDS and into S3), we merged custom editor code with our main browser-based Flash editor, started using Docker and Vagrant to develop and deploy different components of our web app, made the app work with our new Buy Page, gave our administrator UI a new look and feel and started React-ifying the front-end code.
2015 will be the year in which we finally start investing more in myBalsamiq. By the spring, we should have 3 full-time developers on it (incredibly, we've only had Luis work on myB full-time until now).
The focus for 2015 for myBalsamiq is to integrate the B3 editor (trickier than it sounds), to offer yearly subscription plans, and to revamp the UI to make it much faster and streamlined (moving to React). This will also help us simplify the server-side code, which will finally start having some real JSON APIs. You just wait, it will be great. 🙂
In 2014 we simplified our plugin business by discontinuing two low-performing products, which ended up being less painful than we expected.
In 2015 we will continue to work on streamlining Mockups for Confluence and JIRA, by moving to the Atlassian Connect architecture and trying to migrate as many of our customers to Atlassian Marketplace as possible.
Mockups for Google Drive remains our best-kept-secret, which makes it the ideal test-bed for new and exciting things. In 2014 Mockups for Google Drive was the first product to adopt the BMPR file format, the first plugin to fully support Symbols, and the first to get real-time collaboration in the editor! In 2015 it will also be the first to offer Stripe-based subscriptions (the final step in migrating all of our payment processing to Stripe), followed by myBalsamiq.
For 2015, our plans are to bring Balsamiq Mockups 3 to all of our plugins...and we will finally have feature parity between all of our product versions!
Automated testing continues to be a very important part of our development process, allowing us to confidently deliver high-quality releases in a short amount of time.
Our main growth area for 2014 was around security testing. We have learned a ton and put it all in practice, with the help of some security researchers who wrote to our firstname.lastname@example.org address.
Keeping your data safe is a never-ending effort, but one we enjoy doing. We cannot go into too many details, but rest assured that your data is even safer now.
We continue to write new tests as new features are developed, and continue to make sure our testing bots run smoothly and quickly.
Operations is another of those areas that "is never done", but that we enjoy nonetheless. 🙂
In 2014, we quickly dealt with both the Heartbleed and Shellshock vulnerabilities. We upgraded our build machine, streamlined our AWS usage and even created our own private Docker registry.
We are very proud of our uptime reports: our websites pretty much never go down (yay for static sites on S3!), and myBalsamiq had 99.97% uptime (not bad, but we want to do even better in 2015!).
We improved how we build our static websites, swapping our Hammer workflow with one based on grunt. We also put balsamiq.com, media.balsamiq.com and uxapprentice.com behind a CDN, which makes them fast all over the world.
In 2015, among other things, we plan on switching balsamiq.com to be HTTPS-only: the GOOG says it's time.
The main focus of our admin team in 2014 was to implement our new let's compete locally on benefits policy across our different geographical locations. For our LLC, this meant switching to a new 401(k) provider, new medical benefits plans that also cover family members and a new life and disability insurance. Similar improvements are about to kick off for our Italian, French and German employees.
Other than that, we worked on the many little and big projects required to make a distributed micro-multinational work smoothly: we streamlined how we work with our accountants and payroll providers, we kept up with our local tax registrations, set up a new company nexus in Utah, we revamped our expense reimbursement forms, we updated our liability insurance and passed our PCI compliance audit, we learned about COPPA and made some changes to make sure we comply with it, we improved how we do international wire transfers, updated our transfer-price documentation, organized an amazing company retreat and several mini-retreat and get-togethers. We also formalized a bit how we organize retreats and picked a location for our 2015 company retreat: we rented a small castle in the Loire Valley in France at the beginning of June! 🙂
We also upped our contributions to our Donations (now 3% of profits) and Profit Sharing programs (now 15% of profits), trained in first-aid and fire-fighting for office safety, updated our office safety compliance documentation, rented another garage, made business cards for everyone, and welcomed Francesca to the Balsamiq family!
We also invested part of our cash reserves, finally putting our money to work.
We continued to improve our Company Handbook, and we'll be sharing more of it in 2015. For now, I just want to mention three new policies we started in 2014 that are working out really well:
On the financial side, we created an internal dashboard to help us track sales. Below are a few of the charts for 2014.
Here you can see revenue growing nicely, even if we haven't focused on it. Note that these numbers are not 100% accurate, but pretty close:
Here's a count of transactions: we're handling about 10,000 transactions each month these days...not too shabby! 🙂
Here's a chart showing where our customers are. Australia is over-represented because of our Atlassian Marketplace sales, which we don't break down:
Here you can see that Desktop sales have slowed down while myBalsamiq sales just keep growing (as expected). Plugins are pretty steady:
Here's another chart, showing how revenue is gradually migrating from Desktop to SaaS, as expected:
We are at about $370,000 in revenue per employee, which is high. We plan on hiring one or two programmers in 2015, which will help us go even faster. Interested?
We attended the following conferences:
My interview for the ConversionAid podcast was surprisingly popular, here's the link: How Balsamiq Bootstrapped Its Way Into a $6M Business.
Press mentions around the web are too many to count, but here's a little sample of some of the most interesting articles:
This year is going to rock: 2014 was for building, 2015 is for shipping! 🙂
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! 🙂
Thanks for reading this super-long post.
If anything in this post surprised you or sparked your interest, don't be shy and add a comment! I'd love to answer any questions you might have.
We hope 2015 brings you and your families health, happiness and success.
Peldi for the Balsamiq Team
We'll send you just one email a month and share a ton of information that you'll get before everyone else. More info about the newsletter here.
We'll never share your email address or spam you.
Your email is never published nor shared.
I forgot to add some observers are saying this Swift is similar to AS3 (among many other things) in some respects.
Apple seems to be pushing its new programing language Swift as a replacement to Objective-C. Any plans to write Balsamiq in Swift for the Native iOS platform?
Hi Ron, we’re looking into it…we’re pretty comfortable with Objective-C, we’ll see how the performance compares!
I agree awesome report! I am a ‘newbie’ to Balsamiq and I want you to know I absolutely LOVE it! Hope to spread the news throughout the company and enlist other users. Thanks for a very easy-to-use product. I am learning new features every day!
Awesome report Peldi! It’s so wonderful to see Balsamiq continuing to grow and prosper. The news about Balsamiq Mockups 3 is great and I can’t wait to give it a try when the beta is released.
I may not be around on the forums as much as I used to be but that’s because I have so few problems with the application and have figured out all the workarounds I need to get around those things that aren’t quite right (after reporting them of course!)