Balsamiq Mockups 3, you’re dead to me.

James Hatfield
6 min readMay 5, 2015

Alas, poor Balsamiq! I knew it, Internet; a tool of infinite use, of most excellent fancy; it hath borne me on it’s back a thousand times; and now, how abhorred in my imagination it is! My gorge rises at it.

Why am I butchering one of the most famous lines in Shakespeare’s play Hamlet you might ask? It’s because I am upset, frustrated and feel betrayed by a company I had great faith and loyalty for. Balsamiq, an Italian software company that changed how I prototyped and modeled ideas and how I managed and maintained vast repositories of user experience design patterns.

The problem

Then they went and messed it all up by introducing a new binary file format in Balsamiq Mockups 3 and removing the biggest differentiating feature they had in a very crowded prototyping tool software sector.

Balsamiq recently changed their file format from open XML to a proprietary database binary.

Prior to the recent update to version 3 of Mockups for Desktop, Balsamiq was the most flexible, customizable and extensible wireframing and prototyping tool available. It was just glorious. The reason it was so luminous and enchanting? BMML. That’s Balsamiq Mockup Markup Language for the uninitiated. Basically it is a text file with instructions aka markup that tells the tool what to draw.

More specifically, it is XML with a specific set of tags, attributes and nesting rules that conforms to a schema Balsamiq’s GUI software tool can render as visuals. It’s also the reason why the source files for all mockups created in Balsamiq were able to be used programmatically in a distributed work environment.

Mockups 2.x XML / BMML formatted file.

With the change to a binary format, Balsamiq became just another wireframing and prototyping tool. Gone is the ability to use online version control providers like GitHub, BitBucket or even VisualStudio. Gone is the ability to programmatically pull out documentation, text strings or to generate your own working prototypes with a typical source control system. Now to get the same value will require substantial effort, gluing together multiple import/export stream to pull the data out of the SQLite database, convert it to a text based document and then store it. It’s unclear if it’s safe to make any changes to an export such as that and then re-import to Baslamiq by converting back to SQLite or not… in any case it is a lot more work and potential for errors, hangups and ultimately lost data and corrupted files.

Mockups 3.x binary / sqlite formatted opened in a text editor.
Mockups 3.x binary/sqlite file opened in a sqlite manager.

Taking value away

In Mockups 2 you could create several versions of your application as wireframes, a/b test something, merge the winning version back into your project and keep going on the other versions, tests and features you had in progress. All without worrying about information loss, conflicting copies and in a collaborative environment with other designers, architects and developers. In fact a UX team could follow the exact same workflow as the developers using something like GitFlow… a best practice methodology for version and release management. — All gone now.

Balsamiq representatives claim (in their forum) that they are working on addressing some of this lost functionality, though they describe them as ‘workarounds’.

So with this version, our goal was to create the app that we wanted to use and maintain, and then grow from here. Hopefully you’ll be along for the ride! — Ben Norris, [emphasis mine]

While this may provide desirable features for some, what it has really done is to lock down the format and make it so that only Balsamiq can add new functionality to your workflow. Only Balsamiq can enable new productivity when it comes to YOUR wireframes and mockups. That sounds a lot like vendor lock-in and the reason why Microsoft is no longer the king of desktop productivity applications.

I’m not the only one

There are several pages of comments on the Balsamiq forums about this change. A few are positive but the vast majority are not. http://forums.balsamiq.com/t/new-feature-bmpr/18

I’ve cherry-picked a few as examples (yes, I picked the ones that support my point of view).

While I find it great to manage a set of mockups togehter in a project, I really don’t like the way it was achieved. Having all mockups in one database makes it really hard to work on one project with multiple people. At our company, we store the mockups in our code repostory. This way we get automatic versioning, rollback, merging, branching. And: Multiple devs can work on mockups at the same time.

Now we have this situation: All mockups are in one shiny new project which is represented by a database file which is binary. This makes it impossible for any repository to solve merge conflicts if multiple devs changed any of the mockups. This means, we have to be very careful about who opens the mockups at any time. This is very error prone.–Henning Krause

Agree with this. When i first encountered the bmpr file, i thought it simply contained pointers to the individual files. It took some lost work to realize it actually WAS all the files combined. I guess i’m used to IDE’s and such where project files are just that — project information and meta data. not everything combined. — Im Fletcher

Conclusion

There’s really nothing more to do about it. Balsamiq seems to be headed in the direction of moving everything out of our control. I wish them luck but that’s about it. I won’t be going along for the ride, Ben. Well, not unless you change your mind in a 180 reversal and decide to go back to being an open platform for creating great user experiences.

update: Balsamiq responded to a question I posted, letting us know that the new format is actually an open format, “BMPR is good old SQLlite. It’s a documented format and is used by many applications:https://www.sqlite.org/famous.html”. While it’s great to hear they aren’t re-inventing the wheel, it still presents the same problems described above (it’s still in a binary format) and does not add any clear value to the user. I would love to be proven wrong here, so if anyone has thoughts, please respond.

p.s. Balsamiq’s not really dead to me, I’m just frustrated and upset that a great tool I was using has decided to go a direction that excludes a lot of investment I put into it. After overthinking this thoroughly, I’m pretty inspired to fill the hole they are leaving in the marketplace though. If you’re reading this and would be interested in helping to build yet another mockup app — one that uses a text based and human readable file format… get in touch with me on Twitter @emenoh or email me james@emenoh.com.

Sign up to discover human stories that deepen your understanding of the world.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

--

--

James Hatfield
James Hatfield

Written by James Hatfield

Experience Architect and Human Being

Responses (5)

Write a response