The following is a story that I told many people already, but didn't think was interesting enough to put on my blog until a certain Tamales Princess I know practically forced me to write to ;) so here it is.
When I moved to the US in 2001 after finishing my master in CS at the University of Bologna my 5-year plan was to squeeze as much knowledge as possible from "big corporate America", then come back and start something of my own here in Italy. It took me 6.5 years, and there's still a ton to learn, but here we are. This is the story of how I came back.
About two years ago we (my team at Adobe) decided to try and use wikis for our internal team documentation. We evaluated many wikis, and I was very skeptical about them, based on my belief that no-one other than the engineers were going to use a tool that required you to learn crazy nerdy markup. Then a colleague found Atlassian Confluence (thanks Raffaele!), and I was in love: WYSIWYG editing, hierarchical pages (that could be moved!), PDF export, nice, clean UI and a level of usability that I have seen rarely - using it you get that feeling that "every feature you need is where you'd expect it to be" and "every button is right where it should be". Like Adobe's Contribute (the first version) or, hopefully, ConnectNow.
So I became one of Confluence's most vocal proponents on the team, dumping tons of documents into it and encouraging everyone to do the same: a thing that worked was a rule set by our team's VP (thanks Pete!), which went something like this: "never answer a question via email: write the answer on a wiki page and send a link instead". This, coupled with how great Confluence was, worked wonders. Within a few weeks even the most skeptical project manager was won over, and within months it had become an integral part of our work (as an Engineering Lead, the tools I spent all day in were Confluence and my IDE for coding).
Within a couple of months, Confluence usage magically started spreading like wildfire to the other teams, some even converting their documents from previous MediaWiki installations. Then it was HR, legal and everyone else. Pretty much within a year a company of 6000+ people had completely transformed the way we worked (I may be exaggerating a bit here, but that's how it felt to me at least).
That's when I thought to myself: "I gotta get ON this".
Call it Web Office, Enterprise 2.0, Work 2.0, this stuff is powerful.. It's a new way to work and it makes everyone more productive and the resulting work is better, which I believe impacts the bottom line directly as well as everyone's morale. I truly believe that we're in front of one of those "no going back" techonologies like broadband, cell-phones, clothes dryers, etc.
So that was in my mind when a few other things happened:
In that context, the idea for Mockups came when a Product Manager I worked with expressed her frustration about not having a simple tool to put her vision into a feature spec (hi Randah!). I could tell that she had exactly in her mind how the UI should behave but didn't know Photoshop/Fireworks nor had the time to learn how to use those tools to mock up a user interface.
So I did a litte research for her, and couldn't really find any tool that would fit the bill. Everything was either too expensive and complicated or not really good. Plus those were all desktop tools and didn't fit with "the new way we worked".
During our evaluation of Confluence we had discovered Gliffy, a Confluence plugin for Visio-style charting. It used Flash and rumor had it that it was built by just two guys in San Francisco. I had heard that they were doing ok financially, and I thought to myself: well two guys doing ok makes for ONE pretty happy guy!
So here it was: Mockups was a small enough idea that I could build it myself, with the angle that I would make it work in Confluence and maybe other Web Office applications.
Plugins make sense for a small vendor like me: it's an add-on sale, you don't have to convince buyers of the value of the platform (the platform vendors take care of this expensive task), all you do is add a feature, simple. I follow the platform's pricing model, marketing and sales channels, even my EULA is modeled after Atlassian's. Basically it's a low-risk purchase for Atlassian's existing customers. As a one-man-shop, that's the most I can achieve by myself.
Since that first idea my vision has expanded a bit. My current business plan is to build 2 or 3 plugins a year, and to port each of them to as many wiki/web office platforms as it makes sense.
The real surprise to me has been the high demand for a Desktop version of Mockups, which as of today accounts for 72% of my revenue (and a whopping 95% of individual sales!). That means that only 5% of my sales come from companies who have adopted the Web Office way to work...I predict it will take another couple of years for it to change (in the US, longer abroad). When it does, I'll be ready! :)
I'm digressing, back to the story.
I think the vision for Balsamiq started to cristallize in my head around August 2007. The project I was working on at Adobe was shipping in the spring of 2008, so there was my deadline: I wanted to have a sellable version of Balsamiq Mockups for Confluence for the spring, so that I could quit my job and launch Balsamiq right after. I had some savings, but with a family to feed, I couldn't afford to take time in between. Plus who knows how long it would take before I became profitable! It turned out to be pretty quick, but that's another story.
So I started my "second job": every night, after putting the baby to sleep, I would work for 4 hours in the kitchen (roughly 8pm to midnight). It's amazing how much progress you can make, a little bit at the time, even when you are tired from a full day of work. I would do the more tricky parts on Sunday mornings (my wife and I agreed I could have 3 hours on Sunday mornings for Balsamiq).
At some point I felt like I needed more time...so we went on vacation in Mexico with a bunch of friends! I highly recommend it: lots of people to help my wife with the kid, no Internet connection to distract me, just good old-fashioned coding on the beach!
There I am, building the scaffolding of the Balsamiq Mockups codebase.
The rest is pretty much history: I gave notice on April 1st, moved to Italy on May 2nd, finished with Adobe work on June 15th and launched Balsamiq 4 days later.
The main reason I started Balsamiq was to keep learning. My job at Adobe was terrific, I really loved it, but engineers there are really sheltered from the outside world (which makes perfect sense). I wanted to see what it took to do "the whole thing", from coding to marketing to legal to customer support to sweeping the floor of my office.
I want to see how much a single person can achieve with an idea, a laptop and the Internet. I want to learn what my limits are. Being the product of just myself, Balsamiq is a tangible representation of "the best that I can do", which is fascinating to me.
I want to build software that solves real problems, makes people more productive and elicits powerful feelings. I want Balsamiq to be known for its customer service and I want it to be part of a new breed of startups: small, bootstrapped software companies with big ambitions.
I believe I do my best work when I lead a small team of four or five people. I want Balsamiq to get there, organically, one sale at the time. The money, as long as there's enough to live comfortably and re-invest in the company, is secondary.
So far, I'm loving it. The ups and the downs, the easy days and the stressful ones. It's been an incredible learning experience already. If you care, I'll keep sharing what I learn on this blog. If you don't, I'll do it anyways, so that I have a record of it for myself. ;)
[UPDATE: you can read more comments on the Hacker News thread about this post]