What is Gemba?
Technically, Gemba is a designer-friendly GUI to a subset of Git. It focusses on asset delivery, cutting all the crap and complexity that is great for us developers but frustrating and off-putting for designers.
What’s in it for me?
Time and concentration: No need for you to move assets from Dropbox, e-mails or .zip files into the Git repository.
Less faulty assets: Gemba warns the designer about faulty Retina dimensions, mismatched dimensions for updates, etc – so you don’t need to.
How do designers use the app?
Designers prepare changes for any number of assets, and then “deliver” them. They drag their assets into the app, review potential problems, describe what they changed, and press the “Deliver Changes” button.
What happens under the hood?
For each set of changes, a commit is created with the changed assets, it is played on top of the tracking remote branch (e.g. origin/master), and pushed to origin. Effectively: add, commit, pull (rebase), push.
Where in the working directory do assets go?
Existing assets are simply replaced (filename matching).
New assets are put in a default folder, which you can specify in the .gemba file. If you
git mv an asset to a new location, subsequent asset updates will go there.
What if we work on feature branches?
That's great, because you can just tell your designer to switch to that branch.
Merge conflicts! What about merge conflicts?
Ah, the first question that invariably springs to our traumatized developer minds…
In practice, this should be a fairly rare case for assets, with most designers practicing “PSD ownership” (in contrast to us enlightened agile ninjas, who have all but renounced code ownership… right?). But if shit happens anyway, the designer simply may choose --ours or --theirs.
How can I help my designer with getting started?
Adapt this sample .gemba file to your repository’s needs (it’s a simple, well-commented YAML/JSON file), and send it to your designer.
Gemba runs on Mac OS X 10.9 upwards (Mavericks and Yosemite), and you need a hosted Git repo to which the assets shall be pushed.
Does Gemba work with our Git repositories?
Yes. Gemba works with any Git repository on any hosting service (GitHub, Bitbucket etc) or self-hosted server (Stash, Gitlab etc).
Can we use Gemba for our Android/Web/… projects?
Maybe. Gemba is currently optimized with iOS and Mac app development in mind. You may find that it works well for other types of projects as well. One known limitation is multi-resolution support for Android, because Gemba expects unique asset filenames.
My question wasn’t answered here…
No worries. Just drop me a line at firstname.lastname@example.org and I’ll be glad to help!
Some of the world’s best designer–developer teams are already using Gemba.
Join the Beta program to help make Gemba the best it can be: