Balsamiq Community Discussion

Version Control for Desktop app?


I saw the thread about “Project History” for the Balsamiq Cloud. Is something similar in the works for the desktop? My company generally uses git or mercurial for version control, and I’d love to see some sort of integration feature in Balsamiq. Obviously, the binary nature of the bmpr files makes diff’ing and merging a serious challenge. Hopefully, there will be some way to work around that.



Hi @pixelpshr,

It’s a good question. As you note, BMPR project files are binary (they’re actually SQLite database files which means that traditional GitHub -style diff’ing etc. is problematic.

As such, I’m not sure there’s a great answer. I know there are version-control systems which can, at very least, handle binary files and track versions (e.g. GitHub, Subversion) and, as long as you’re not working on very large projects, they’re probably useable. Even if your projects are large, there are ways to workaround adding large binaries to repos (see, for example: Storing Large Binary Files in Git Repositories). There are also simpler tools you could use locally to keep versions (e.g. Apple Time Machine).



Oh… SQLite?! That’s cool! I wonder if I could script pushing the file through a SQL-to-JSON exporter and gitifying the JSON output. Then do it in the opposite direction for a git pull/merge…

Well… That seems like a lot of work, with plenty of opportunities for failure.



Oh, and I do use Time Machine for local backups, but I’m trying to find a way to improve our team productivity. We’ve got 3 or 4 people who might be working on pages of the wireframe on any day. For now, we must either work on the file sequentially, or manually merge the work of two team members to get a single complete update.
The merging process is fraught with challenges, too. For instance, if we simply copy and paste from one project file to another, the symbol libraries get duplicated. Then, a change to one of the symbols won’t get updated across all the pages.



Hi @pixelpshr,

I agree it’s not ideal - collaboration, especially in real time - is not the strength of the desktop app.

I don’t want to make any assumptions - and I understand that many clients have regulatory and limitations which prevent them from using web-hosted apps - but have you considered switching to Cloud from the desktop version?

Two features in particular - project history and real-time collaboration - would seem to address two of your needs head on. If Cloud is a better for for you, we can apply your desktop license to a Cloud subscription.



Hello @alasdair,
Unfortunately, my client is one of those with strict rules about external servers. They like web-hosted apps, as long as they are hosted within their own web. They recognize that their rules eliminate a lot of good solutions, but… “rules is rules”.
For now, our small team will continue with our “old school” methods.