BMPR x BMML and Git/SVN (VCS's in general)


I’d like to express my opinion regarding Balsamiq’s change to BMPR file format. Although I find it useful to have a single file with all the project’s data, I’m afraid that a git repository will not perform well with large projects with a lot of minor prototype edits. BMML folders hasn’t this problem, because every file is text-based (except the ones that doesn’t often change =]) resulting in a vcs-friendly experience.

Besides my opinion, I’d also like to ask: can I rely on BMML ZIP export for long-running projects? Is BMML deprecated? If it is, please consider adding support to some form of text-based export or even better, text-based file format. I would not blink twice before trading absolute file size and save/load CPU time for smaller commit chunk size and vcs-history support (all that can be easily achieved with stable text-based formats).


Thanks for the note @samuelgrigolato - it’s true that BMPR is a binary format. We are planning on releasing a diffing tool. It should help, right?

Re: BMML: we have no plans for deprecating it at the moment.


Hello @peldi, thanks for the reply!

I don’t know if it would be possible to integrate a diffing tool like that with Git in order to improve commit’s chunk size (what I mean by that: commits that doesn’t transfer the entire binary each time). Nevertheless, a diffing tool would indeed be nice even if it doesn’t quite solve the problem at hand. Just to ensure my point landed correctly: the repo’s size is only a problem with distributed vcs like Git and with reasonably long projects (3k+ bmpr file commits).

We’re going to buy the risk and use Mockups anyway (it has plenty more benefits), I just thought it would be nice to report this because it got me thinking.


Balsamiq is a wonderful tool.
However I’ve got the same feeling about the new, binary, file format.

What I’m doing for now :

  • export in bmml zip format
  • unzip in the folder containing the .bmpr
  • add both .bmpr and .bmml/assets file under git.

As we’ve got little and rare modifications, size and necessity to export are not a huge problem.

But having a text-based format would be nice :

  • to make simple modifications mergeable
  • to compare two versions - and even one version with an alternate one : with text files, I can use a tool to compare two parts of the same file - just using copy/paste; otherwise I’m limited to whatever tool

Although nice, a difftool wouldn’t help in both these usage.

What could be done keeping all in one file :

  • allow saving/opening in a text-based format (json or xml). (Saving in the format it was opened)
  • a git-filter, with appropriate smudge and clean actions.
    These have both the advantage of all-in-one-file and being vcs-friendly.

A beyond-compare filter would alse be a nice option for .bmpr files (and, why not, for such text files !)


Concerning specifically the commit’s size, we’re thinking about solving these problems with git-lfs solution.


Thanks for the continued input on this, @Yopai. It’s something we are taking a look at.

I’ll add your comments to the internal story we have about this so that the team can discuss it. Please don’t hesitate to keep the feedback and ideas coming.

Also, if other folks would find this useful, be sure to comment or like this thread. :smile:


I’d like to second the request for a text-based format.
The binary format has kept me from upgrading to Balsamiq 3 until now.