Looking back at 2014

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.

Summary

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.

The Nitty-Gritty

Interested in all the details? Let's dive in!

Mockups

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...

Balsamiq Mockups 3: as you may remember from last year, our focus has been to gradually move away from Flash, towards native implementations on all major platforms, while sharing the bulk of our code-base between versions. It's a massive undertaking, and a risky one. To lower this risk, we decided to take two in-between steps: the first one was to refactor our existing code-base to separate the parts that required Flash from those that didn't. The idea was to end up with a core set of classes that could be translated to Javascript to form the core of our native editors. We spent months rearchitecting the existing code-base, pushing Flash-specific classes to the edges and cleaning up 6-years worth of technical debt in the process. That effort is now complete, the new codebase is a joy to work with, and will serve as the basis for the future Balsamiq Mockups native editors, coming sometime in the future. The other step we wanted to take to minimize risk in the migration to native was to make all of the UX changes we've been wanting to make to the product for years, BEFORE going native. This way we could deliver the changes sooner and test them on the existing code-base, letting the dust settle before we port the new UX to native platforms.

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).

UX changes in Balsamiq Mockups 3

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!

The road to native

In 2014 we focused on creating a multi-platform viewer of BMML files, as a first step towards native editors. It was a lot of work, but it came out really nicely. We now have a core set of Javascript classes that can render any BMML natively in multiple platforms.

We soft-launched (or are about to launch) 3 incarnations of this native viewer:

  • a native OSX BMML QuickLook plugin: read more and try it out here. We are going to make this work in Yosemite and understand BMPR files soon.
  • an HTML+SVG viewer inside of myBalsamiq, in the single mockups view. This will ship publicly in a few weeks.
  • a native linux renderer (uses Node.js and Canvas to output bitmap files) to be used by myBalsamiq for creating thumbnails and PDFs. This will replace our current hacked-together and error-prone solution of running a cluster of Mockups for Desktop linux clients.

The viewer supports skins, links, custom icons, assets...the works!

myBalsamiq

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. :)

Plugins

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!

Testing

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 security@balsamiq.com 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.

Ops

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.

Website Updates

In 2015, among other things, we plan on switching balsamiq.com to be HTTPS-only: the GOOG says it's time.

Admin, Finance and More

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:

  1. We started to have quarterly 1-1 catch-up meetings between each employee and myself. The goal of these meetings is to take a step back and think more long-term than what we usually do.
  2. We started a Professional Development program: we encourage each of us to take half a day each week during regular work hours to learn something new or improve something we already know.
  3. We started a Time Off to Exercise program: we encourage each of us to take half a day each week during regular work hours to do some physical exercise.

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:
revenue

Here's a count of transactions: we're handling about 10,000 transactions each month these days...not too shabby! :)
cumulative

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:
geo

Here you can see that Desktop sales have slowed down while myBalsamiq sales just keep growing (as expected). Plugins are pretty steady:
line

Here's another chart, showing how revenue is gradually migrating from Desktop to SaaS, as expected:
percent

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?

Conferences, Interviews and Press Mentions

We attended the following conferences:

  • Clojure eXchange 2014, London
  • Microservices Meetup, Amsterdam
  • Enterprise UX Meetup, San Francisco
  • Business of Software 2014, Boston
  • JS Conf 2014, Berlin
  • Atlassian Summit, San Jose
  • JS MVC Meetup, Amsterdam
  • AtlasCamp, Berlin
  • JSDay, Verona
  • You in UX Web Conference
  • 99u Conference, NYC
  • React 2014, London
  • WebRTC meetup, Amsterdam
  • Joy of Coding 2014, Rotterdam
  • Interaction_14, Amsterdam
  • Javascript MVC Meetup, Amsterdam
  • Strange Loop 2014, St.Louis
  • Leon spoke at a HCI class at Purdue University (video)

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:

Looking ahead

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.

Onward!
Peldi for the Balsamiq Team

    Balsamiq, the Secret Sauce

    It's not hard to guess that our company has always had a strong affinity with food. Especially good, earthy, artisanal, unpretentious food.

    We even added a menu item in our software's Help menu about it! Clicking on it will take you to this page, where you'll find a playlist FULL of great and simple video recipes, made with love mostly by our own Valerie Liberty, queen of phone support and awesome chef of every-day simple meals.

    We called our company Balsamiq because our software has a lot in common with balsamic vinegar - the good kind, aged at least 12 years, made in Modena, Italy: it's artisanal, it's smooth, it's a treat to use, it improves other things (like our plugins do), it's made in Italy, and yes, it takes a long time to make, but it's worth the wait. :)

    Over time, we have noticed that this affinity has spilled over a few times...here's a few examples of what we mean.

    Actual recipes

    We found a super geeky girl who runs Coders.Kitchen, "the only blog where food and tech connect". Her name is Sarah and she writes recipes inspired by different tech companies. For us, she came up with "Balsamiq Crock Pot Caramelized Onions"! Such a tasty recipe... yummy!

    Another blog, French Cooking for Dummies by a French girl named Véro, has 3 recipes with the tag 'Balsamiq vinegar': Warm goat cheese salad, Green asparagus and vinaigrette, Smoked duck & pear appetizer spoon.

    Last but not least, if you like squid you cannot miss this delicacy: 'Squid Adobo In Balsamiq Vinegar'.

    Instagram pictures tagged with "balsamiq"

    Oops, I think my mouth just watered. ;)

    I want to leave you with a little story: whenever we have to spell "balsamiq" over the phone, we usually say: "Balsamiq. Like the vinegar, but with a Q". Back in 2009, as our little business was taking off, Peldi's step-dad Eugenio made this prediction: "If you keep going at this rate, soon the city of Modena will describe the vinegar by saying like the software, but with a C!" :)

    Enjoy your meal everyone! :)

    Fra

      Even Santa uses Balsamiq?

      As you know, our little company is spread out around the world. We have a Hipchat room we use to share day-to-day stories, which helps us bond. Today Stefano told us a story from his weekend which we'd like to share with you:

      The scenario is the Annual Inescapable Christmas Party Among Italians™ for families living in Leiden, Netherlands. Here's what happened:

      ...there I was, lost in the chaos of a horde of loose children, trying to hide behind a table full of cakes, pretending to look after Alberto who was happily working on his third slice of pandoro.

      And then I meet this new face, a nice guy from Brazil, working on his PhD in Delft. It turns out we're both nerds so we start talking about stuff and then he says:

      No way! I just lllloove Balsamiq! That's where I've seen your face! I'm trying to convince my whole department to buy a new license!

      And so on. He also introduces me to his girlfriend... and then it occurs to me: "What are you doing in this forbidden hell if you're not Italian, you don't have children and don't even live nearby??"

      "I'm supposed to be the Santa", he says". LOL!!

      brazilian santa balsamiq fan

      Thank you Stefano for sharing your little shiny story. And Happy Holidays to all of you from your friends at Balsamiq.

        Santa visited Balsamiq today!

        As Santa gets ready for his annual trip around the world, he came by for a visit to our different locations this morning. We all were ready for him, bouncing off the walls and with big smiles on our faces.

        We must have been good this year, because he brought us such beautiful gifts!

        Santa loot

        • Creativity, Inc.: a book on what does it mean to manage well from Ed Catmull, the co-founder of Pixar Animation
        • a terrific photo-album from our last retreat
        • a generous Amazon gift card
        • 2 things from our SWAG stores (US / European)
        • brand new Business Cards! So what if they feel corporate! ;)

        Santa-Peldi wrote us a little dedication, let me share it with all of you:

        I know I say this every year, but it really fells like the years are flying by, and 2014 was no exception. A lot of what we did in 2014 was 'behind the curtains' stuff, but it was nonetheless incredibly important and exciting. I'm going to write a blog post about it around the end of the year, you'll be amazed.

        Personally, what I loved the most about this year was noticing how each of us is getting better at what we do, while at the same time getting better at working together, even in our challenging geographically-and time-zone-distributed environment. Such Kaizen... very amaze... wow... ;)

        I am SUPER excited about 2015. I don't know about you, but I still think that the best is yet to come for our little company! :)

        Let's take some time to reflect and get re-energized... Try to be away from a screen as much as possible over the break! Play board games, make something with your hands, have long chats with friends and loved ones, in person! I know, radical.

        Merry Christmas and happy holidays, Balsamici.

        Peldi

        Have a great holiday season, friends!
        Francesca for the Balsamiq Team

          Francesca Fabbri joins Balsamiq!

          Hello friends of Balsamiq!

          I'm Francesca, the seventeenth member of the Balsamiq family.

          What can we expect from you?

          My primary role at Balsamiq is to be the Community Manager; you can meet me on all the major Social Networks and at some conferences. I intend to let you know more about Balsamiq and what we do, how and when; I'll also share with you things we love and that we hope will make YOU more successful.

          Since I'm based in Bologna, Italy, I'm also going to help with tech support for our European customers.

          My email is francesca@balsamiq.com. And if you are coming to Bologna, let me know: I’ll bake you a cake!

          Francesca Fabbri… such a cute name!

          Actually, Francesca Fabbri is a very common name in the geographical area where I live and has always caused me identity issues: "Are you related to...?" - "No, I'm not". "That's funny, I know another Francesca Fabbri!", etc.

          Lucky for me, my namesakes were not as good at internetting, so I was able to snag “francescafabbri” on every social network! Facebook, Twitter, Instagram, Linkedin, SlideShare, Flickr, Google+, Pinterest… they are all MINE! Muahahaha!

          ...and now you know how to find me online ;)

          francesca_for_blog

          How did you get into Balsamiq?

          It’s a long story, grab a seat!

          I first met Peldi and Marco in 2010, when Balsamiq was... Peldi and Marco! We all were attending to an Italian conference. Peldi began his talk by saying something like: “Hey, hello, I just got back from San Francisco, I'm here with Marco, I’m now in Bologna but I don’t know anyone here…”

          After he had finished I looked for him, picked him out in the crowd (you know… red hair), tapped him on the shoulder and said: “Hey, ciao! We are from Bologna too!”.

          I don’t want to tell you the whole story, there'll be time for that. Suffice it to say that Balsamiq was looking for a workspace and there was one free to rent next Mimulus office (Mimulus is the amazing agency that I worked for). So we became office-mates for a few years.

          In those days I coined the term “Balsamíco” - it's a blend between "Balsamiq" and "amico", the italian word for friend...ever since then, that's what Balsamiq staff members call each other: we're your Balsamíci! :)

          After a couple of years Balsamiq Bologna moved to a bigger office, but I’ve kept in touch with Peldi, Natalie, Val, Marco, Paolo, Luis, Mike… I saw the company growing and doing great things, and I wanted to be a part of it.

          Well... now I am! :)

          Do you have any advice for us?

          Considering the way I've joined Balsamiq, I want to tell you: do not be afraid to desire great things and try to reach them. The reality may surprise you beyond imagination!

          See you online!
          Fra

            2014 Retreat: Learning From and About

            bike success

            Friends, I can't believe it's October. Before summer becomes a distant memory, I want to tell some stories from this year's Retreat. If you've been following our company, you'll recall that our little team has grown a bit each year. We work as a distributed team, mostly from our homes in the US, France, Germany, and the Netherlands, in addition to a small office in Bologna, Italy. We get together annually to spend time enjoying the friendships we've developed over the years, as well as hold focused discussions about our company, our products, and ourselves that are best done relaxed and in person. Here are some lessons learned this year. If you'd like to see past posts about our corporate retreats, they're here: 2010, 2011, 2012, 2013.

            Lessons learned in 2014

            Finding a week that works for 16 people is hard!

            This year, we used a 3-color voting grid on a Google Doc (Red: I won't attend; Green: I'm in; Yellow: I have issues) to find August 21-28. Super great fortune for us, because that included Peldi's birthday. Here we are on the last night, celebrating at Clandestino after a day at Portonovo beach. Special shout out to family guests Mariah, the Guids, and La Nonna!

            birthday

            We all have something to teach

            This year, Marco had the brilliant idea of organic learning – teaching each other. We opened up a wiki page to suggestions and ended up with 25 different sessions! Each served a double purpose: our group learned about a wide variety of subjects, and we also learned about each other and our hobbies. Learning From and About emerged as a theme of the 2014 retreat. All sessions, except Florian's talk on security for the dev team, were offered as optional. It was successful beyond expectations.

            watercolor

            Location, location, location

            Our location was familiar and comfy: we returned to La Sperduta, Peldi's place in the countryside of Marche, Italy, about 3 hours from Bologna office. For the first time, there were no new-comers, so our Retreat had the air of a family reunion. Because our team has grown to 16, we tried a new set up: we rented rooms at a local B&B so we each had a room to call home. At night, we ran an early and a late van back. Before breakfast, Stefano and Peldi led yoga practice by the pool, then, we'd load up the vans and head off for a field trip, or to La Sperduta, where we had sessions, and covered sales & support cases, punctuated by extreme ping pong, extreme Bananagrams and extreme naps.

            hammock

            Our focus was learning new ways to enrich ourselves and our work.

            Here's our full schedule.
            Schedule

            Getting together annually is at once a defining and a re-defining week.

            It's the only time we are all in the same place. It's where we are able to learn on a different level as a mature (ha!) and intimate-but-distributed company. We review our manifesto, we true-up our values and our behavior. We check in with each other in all sorts of ways (e.g., "you still off coffee/a vegetarian/whatever?" or "how'd you hack your baby monitor?" )

            smores

            To kick things off, we had a real-live behavioralist, Paul Kenny talk to us about organizational psychology. It was not only fascinating, it has helped us understand the communication styles of our peers, providing a richer understanding for teams that span languages, time zones and emotional ranges. We took a profiling test beforehand, and Paul presented the results. We reviewed ourselves as individuals, teams, sub-groups, and the company as a whole. This type of understanding is meant to help us harmonize, diffuse tensions, and trust our colleagues more deeply. So far, we've seen great results play out successfully when working on a complex group task: ironically in choosing the next Retreat location!

            Paul Kenny

            We learned a lot from Paul, of course, but the single most notable take-away for me was: introverts have the same depth of emotion as extroverts but show it differently. That epiphany has come in handy at work and at home. It was great to schedule this kind of heavy stuff early in the week, so it could percolate, and we could build on it throughout the remainder of our time together.

            We learned, and shared and laughed and ate. As always, it passed by too quickly, overwhelming, exhausting and refreshing. We can't wait to do it again next year. At the end of this month, we'll decide where we'll go in June.

            DJs

            If your team has had a successful off-site and you'd like to share your ideas, I'm all ears! We're also looking for a great way teams select photos when there are, um, a lot of favorites. Comment here, or email val@balsamiq.com.

            A few more favorites...

              Transformative Living @ Balsamiq

              DSCF4182

              I believe it all started in San Francisco. In 2013, our yearly retreat took place in a big house on the pan handle and one of the many highlights was a hatha yoga flow session at the Yoga Tree Stanyan lead by the lovely Brenna Geehan. I had never set foot in a yoga studio before and the experience was a combination of feeling like a fool, sweating like a pig and admiring some of my fellow coworkers who were like fish in a pond. Now that's a mouthful of metaphors! Getting back to the subject though, little did I know that this event would set the stage for a series of changes that have ultimately transformed me in a way that I could not have expected or forseen at the time.

              Now it's true that even before our retreat in San Francisco I had become more aware throughout the years about the issues surrounding food production in our mondialized society. In 2003 I had met the founder of what turned out to be a short lived organic restaurant (too much of a precursor, Paris wasn't ready yet I think) at an entrepreneurship program at the ESCP-EAP business school in Paris which is now known as ESCP Europe. I had lunch at the restaurant and had found the food to be relatively unsavory. Although being a consumer of organic fairtrade coffee for years, it was going to be tough to get used to this if that's what the rest of organic food tasted like! Nevertheless, over the years the proportion of organic foodstuff in our grocery cart increased a lot, especially for products containing oil or fatty substances which can more readily absorb toxins.

              1024px-Marche-Richelme-Aix
              (Source: fretless88)

              In France, we have the amazing luck to have a world class culinary culture that is deeply engrained with a vibrant living tradition of open air farmer's markets. Produce from these markets can be of the highest quality thanks to an outstanding distribution network which finds it's nexus in the form of the Rungis market where most goods are shipped to for redistribution to the citizens of the Paris area. However progressively concerns about the provenance of goods, the costs involved in shipping, the carbon footprint, etc... led us to adopt a more local style of consumption. At a nearby boulangerie, two farmers would take turns every other week setting up a stand where we would buy their local products. I had become a locavore!

              But back to yoga. It turns out that after that summer a lot of us at work started to develop their yoga practice, including me! After trying out a couple of different traditions, I ended up liking Sivananda as taught by my teacher Christy because it strikes a nice balance between postures, balance, and my favorite, relaxation. The practice and discussion with the other yogis in my class turned out to be very interesting and beneficial in opening up to larger concerns.

              forks-over-knives-header
              (Source: Forks Over Knives)

              Then just before the year's end I got lucky. The French distributor of Fork Over Knives ("La Santé dans l'Assiette" was the French title) was making their rounds, organizing showings in cinemas here and there in our area. When we went to see the movie there was also a presentation by a nutritionist and a member of the local AMAP which is an national NGO promoting traditional farming. By the end of the movie I was convinced we were doing it all wrong and from already low levels of meat consumption I decided it was time to take the level down to zero. Now I was a newbie vegetarian!

              It turns out I was not alone in my reaction with very well known people like James Cameron reportedly going vegan because of this same movie. It seems I was in good company, however about this time, our family was already going through some upheaval in our diet because of newly discovered intolerance related to milk and wheat products. This turn of events created a lot of constraints and although exploring new foods and recipies was great for a while, it was definitely getting hard to find something to make for dinner!

              Things did settle down and today, after a couple of months of this regimen, I definitely feel that although I might have come to this eventually without the yoga, it certainly might not have been such a no brainer. I feel very lucky that our policies at Balsamiq encourage taking time to be and stay healthy, both physically and intellectually, by giving us time during the week for learning and excercise. I might have gotten started in yoga by myself, and then maybe not! So I also really appreciate that yogic kick in the rear in San Francisco that got me and maybe some of my colleagues started in a new world of greater concern. And as James Cameron says in the video, what better way to show your concern about what we eat, how animals are treated in our society, how we treat the environment, ... the list goes on, than to live the talk?

              Although I have not yet progressed to becoming a vegan, and maybe I never will (getting there slowly), I do feel harder, better, faster, stronger and I'm enthralled and thankful that this lifestyle has been in large part inspired and supported by our work ethos.

                Happy to Learn Something New!

                We encourage each other to be lifelong learners at Balsamiq, and I decided to take a class. Opportunities for online education are abundant, but don't overlook the benefits of an in-person course. Check out your local universities' continuing education.

                I enrolled in courses about Emotional Intelligence at Stanford without sweating any admissions requirements, paid the bargain price (less than $300 per course) and studied happiness. These courses focused on neuroplasticity and mindfulness-based stress reduction (i.e., meditation) so students can better understand and manage emotions, build positive relationships, and resolve conflict. It sounded like a scientific love-in!

                The courses were called Positive Psychology & the Keys to Sustainable Happiness: Enhancing Emotional Intelligence; and Happiness at Work: Using Science-Based Practices to Increase Success and Fulfillment, taught by Dr. Laura Delizonna using the curriculum she created with Ted Anstedt.

                So, if you'd like to learn something new, here are some of the key take-aways from my "happy classes."

                Neuroplasticity: Train your mind. Change your brain.

                The science is in: by thinking differently, you actually change the grey matter in your head. We used to think that people were born with their capacity for smarts and, well, you just had that IQ your entire life, but now we realize that we can continue to increase brain power throughout a lifetime.

                Evolution-wise, our brains developed like a Winchester Mystery House, with additions and growth right on top of existing areas. These different areas of our brain (the reptilian complex, the limbic system and the neocortex) handle impulses at different (infinitesimal) speeds. Since our higher-order cognitive functions developed later than our primitive survival emotions, they are situated in different areas of our brain. Emotional centers receive input before thinking centers. By understanding this, we can adjust and train ourselves to respond to this asynchronous neural circuitry. We can learn to control our responses. By focusing on happiness, you can habituate yourself right into a good mood, strengthening the ease with which you can transition into a good mood. It's the opposite of a vicious circle!

                Perhaps your mother was right!

                After we'd finished learning all about the science, biology and physiology of the brain and emotion, we were given tracking sheets, meditation guides, and other practical support. But, the exercises, while very helpful, really, were surprisingly straightforward and simple. Some of this is kitchen-table wisdom. Suggested activities for achieving sustainable happiness were almost too elementary: If you're upset, talk to a friend. Take a walk. Get some exercise. Change the language you use to describe the situation. Try to argue the conflict from the opposite perspective. The shocking part? It works. Try it next time and let me know if you see a difference in your response.

                Identify the habit you want to create, and then do it.

                The courses drew on common, successful behavior modification techniques like journaling, self-assessment, and peer counseling. The text includes exercises to cultivate good habits through daily practice. Lectures and reading covered the science and physiology to further help us understand the interdependent relationship of practice and habit. Here are the 3 steps to creating a habit:

                1. Assess
                2. Plan
                3. Practice

                See what I mean? Simple, right? Ahem, right.

                Common errors that thwart happiness:

                1. We overestimate a threat. Stemming from the need for protection, our brains are built to react in the Fight or Flight mode before we reason through a situation. This can result in over-reacting. Slow down.
                2. We underestimate our resources. Sometimes, we respond to the initial overestimation of threat and jump to the conclusion that a problem is bigger than we can ever manage. This is often just not true. Relax and take stock of things.
                3. We overlook opportunities. By jumping to conclusions, we narrow our focus and lose sight of options. Pause and reflect.

                Be present somewhere new!

                Just walking across a beautiful college campus is inspirational. I felt smarter just rubbing shoulders with the folks in line for coffee! The architecture, beauty and long history was uplifting, and I felt lucky to be there. I arrived early every week to walk around, read under a tree, and consider the coursework. One evening, I caught the choir rehearsing for a concert inside the Memorial Chapel, so I just ducked in and grabbed a seat. What a treat!

                Here are some snaps from my walk around campus one evening.

                happy4
                happy1happy3
                happy5happy6
                happy2happy7

                Surely you've also got some great resources where you are. Check around in your area. Post a comment if you've taken any great courses, and what your experience was like. We'd all love to hear about it!

                  Admin Engineers

                  About a year and a half ago, we started experimenting with a company structured around project-based work. I remember Peldi asking me what I thought we should name the project for the more operational things he, Anna, Joy, and I work on. When I suggested simply Admin & Finance would be fine, I realized he had been worried I might be offended in some way to be labeled as doing administrative work. He knows the value and importance of the work we were doing, without a doubt.

                  But on thinking about it some, I realized he's right. There is often some sort of preconceived notion that admin and accounting departments are, well, the unglamorous, uncreative, and perhaps less important areas of a company.

                  Bored SecretaryMaybe it's some old notion of the secretary pool, typing away at mundane and repetitive work? A left over comedic archetype of the 1950's stenographer? (By the way, I think we all know in our hearts that secretaries --though hardly ever called that any more-- often are the ones really keep the show running).

                  Or maybe it's the classic image of bad middle management that "administrates" by pushing paper around, not only being unhelpful to the innovation of the team, but often even stifling it?

                  Sure, the entry-level, pretty-darn-replaceable admin jobs exist. Sure, there are those paper pushing useless administrators around, but I'd like to give a little shout out to the awesome admin and finance folks out there, that are making and creating in fantastic ways.

                  It came up again for me recently as I was listening to a story on Marketplace. The author Andrew Yang was being interviewed about his new book Smart People Should Build Things and how he believes we need to encourage our top students not to go get "good," safe, well paying jobs, but instead to be the creators, builders, and risk takers.

                  I haven't read Yang's book, but what stuck out to me as I listened was he wasn't talking just about those we typically think of when we think of innovators and inventors: "Yang says there's a misconception that start-ups only need coders and engineers. 'Early stage companies need talented salespeople, customer support, management, operations, marketing, administration. They need talented people at every part of the organization, in a variety of roles.' "

                  I'm fortunate enough to work with folks who appreciate what I do. But that's not always the case. And in fact, some times I don't even appreciate what I do. I didn't study anything related to what I am doing now. I sort of fell into it over time, and something about that makes it seem invalid (i.e. If what I was doing required me having a specific degree, then it would be important.)

                  Supporting the companyBut I want to encourage those folks working in admin, accounting, human resources, and business operations, to not fall into the trap of seeing what you are doing as just boring work that sustains others who are doing the real creating.

                  What we do can be a craft. It can be creating something new: improving relationships, systems, and flow for the company.

                  And for all those programmers and coders out there, help your co-workers recognize that they are administrative engineers, with the ability to create, to be discoverers of solutions, and inventors of new ways of doing things.

                  Our good old friend Wikipedia says "Engineers design materials, structures, and systems while considering the limitations imposed by practicality, regulation, safety, and cost."

                  We may not be using code to analyze, design, and create, but let's challenge ourselves to remember we can be builders and problem solvers using things such as words and numbers, facilities and logistics, bookkeeping systems and customer records, people and relationships.

                  Don't let your admin title fool you; we can be makers too.

                  Group working together

                  Natalie

                    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


                      Next Page »