Dropbox + git = Designer Luv
pivotallabs.com
pivotallabs.com
1. Git is agnostic to updates to the repo, as dropbox is not a supported transport method (as opposed to SSH for example). So, for example, git hooks won't work.
2. Dropbox is extremely susceptible to repo corruption in case of simultaneous updates. Restoring a corrupt repo is not a pleasant task.
For your sanity - don't do it.
Presumably the developers have whatever hooks they want, and they still get run at the appropriate time....
Specially if your only concern is updating the images, the process should be pretty straightforward, you don't need to learn anything advanced.
Why don't you learn photoshop and how to do basic design? That way you don't need to ask the designer to do minor tweaks.
It doesn't work. If you've never used version control, "just learn git" can be a multi-week project. If you've never done design, "just learn photoshop" is the same.
Each person is on a team to do a specific job, let them do their jobs.
> Why don't you learn photoshop and how to do basic design? That way you don't need to ask the designer to do minor tweaks.
I know you're trying to be facetious here, but I think it's actually a good idea. Why bother someone else to make a simple fix (I'm thinking typo-correction level here)?
If we programmers are so smart we'll make working "our" way easier, not harder.
If a developer needed to edit images regularly, I would expect them to learn enough Photoshop to do it, not to go bother a designer every time because Photoshop isn't a "developer tool".
For someone who can understand Photoshop layers, understanding commit, push, and pull shouldn't take too long!
We got to the point where he'd own all of the HTML and CSS, as long as I had certain ids and classes to hook my Javascript into. After we got CI and CD going, he's start pushing out new designs several times a day, giving us a pretty quick turn around time.
I never asked him to use the command line, since Tower handled most of the stuff he'd do. I wouldn't ask him to learn all of git, just as how I'd be frustrated if I had to learn all of Photoshop. I wouldn't be opposed to doing some basic work, like changing the color on the background layer.
Most of us have learned to use Photoshop to perform basic tasks without needing to push it all on the designer - things like resizing images, cropping, saving from source PSD to usable formats like JPG, etc.
It's hardly so much to ask of a designer to learn commit, push, and pull.
A designer's job is to design and a programmer's job is to program. Both of those jobs require tools to make their jobs easier.
I'm sick of designers getting away with things programmers never would in their jobs. Programmers learn skills such as: organization (files and directories), communication (comments), workflow management (version control), etc. In my experience with designers, none of them care about things like that. You'll see 5 versions of PSDs filled with Untitled layers and no logical grouping.
These are things that are just expected of programmers and they should be expected of designers as well.
Work with better designers :)
In all seriousness, I think many designers haven't be shown the benefits of why they should change their workflows. If you can demonstrate how using Git would make their jobs easier, you might get some converts.
Also, most designers think visually, so text-based commit history is kind of useless to them. I'd love to see tools like Timeline [http://pixelnovel.com/timeline], but for Git.
As for not naming & grouping layers? That's just a bad designer. Send them this: http://photoshopetiquette.com/
I'm not advocating everyone to be a programmer, but to deliver the best experience, you need to be in control of the design. And I don't say you need to do frontend coding (even I think you should) but just to be part of the workflow, making your work better and everyone's else easier.
I taught my girlfriend to use git/github.com(how to commit, push and pull) in an afternoon, and she's not a coder or a designer. So I think quite easy to learn, specially if you have people around helping you if you get stuck.
It's like saying "I'm a designer, I cannot use email, IRC or Skype", when everyone else around you are using these tools.
Git is just one tool to share work within a team, and it happens to have nice GUI (like SmartGit) which make it almost unnecessary to learn the Git command line. I cannot believe that someone who can use Photoshop is unable to learn to press "Pull", "Commit", and "Pull".
In the end, it's about adopting what is most effective for the entire team to get the job done.
Given that there are many companies who offer repository hosting for just a few dollars per month (also for teams), I cannot see why one would go this route.
Besides that, there are some great, easy to use git clients (Tower, GitBox, SmartGit). I have non-CS colleagues who adopted git in no-time with SmartGit (for LaTeX documents).
As a designer who has had git on his "To Learn" list for way too long, can you explain what you mean by this?
1. (x)diffs of binary files are usually more expensive than text files.
For instance, consider a git-tracked bitmap image where you apply a global filter. If you add the revised image, and every pixel was touched, this will usually result in a large diff. So, git will either store the large diff, or the modified file completely.
If you, on the other hand use SVG with filter effects, the application of a filter will just add a few lines of text to an SVG file. This gives a small diff, meaning that the object can be stored compactly.
2. In the SVG scenario, you could easily spot the changes between both revisions of the image with a 'git diff' (since both files are plain-text). In the bitmap scenario, you can only spot the differences visually.
In the case of a bitmap image think of a grid made up of pixels. Each pixel is stored on the file as binary data (0's and 1's). Anything that affects that pixel will change it's value in the file.
With a vector file there aren't pixels necessarily. The drawing is saved as shapes and those shapes have properties. These shapes and their properties are actually saved as text (sort of like HTML markup).
So as the file changes the changes in those various file types are more drastic. With a bitmap there will be greater changes so overall more space is used to store the file and it's history. Also, because it's binary it's difficult to see the changes in the actual file (without opening it in a photo editing program). With a vector file only small amounts of text would be changing and you can literally see the changes in the file and make sense of it.
Hope that helps.
In most cases, a good backup system is what they need. Use Apple's Time Machine or Crashplan and backup every 15 minutes automatically.
From a programmers point of view VC is great. We actually have the tools to deal with different versions of text files: find differences, resolve conflicts, merge, split off new versions, etc.
And designers? What do they get beyond a more complex and opaque form of Backup. Sure it makes it easier to get the designers output into our programmers workflow, but the way this is usually sold is a Pain in the designers backside with no real benefit.
If programmers want to win over designers to version control, we need to sell them on real advantages. We need to show them tools like pixelnovel's timeline that integrates SVN diretly into Adobe CS and provides an in app version viewer. Or Kaleidoscope.app which allows the visual comparison of image (and text!) files.
http://pixelnovel.com/ (SVN only)
http://www.kaleidoscopeapp.com/ (Git, Mercurial, SVN & Bazaar)
However, even these tools only scratch the surface of the power that programmers gain from the pain of version control.PixelNovel looks interesting, but it seems mostly focused on "timelines" for single users, not teams.
Github's pricing is based on the number of repositories. Dropbox's is based on the amount of storage used.
I have a linux VM on my main computer that is accessible to the outside world with gitosis on there and it's pretty great for a private git repo.
If you are starting frsh, set up gitolite servers instead. Gitolite is actively maintained and has more features and better documentation.
You do have to install git, virtualenv and pip on all the computers, but thats not too much to ask.
It currently has native clients for Linux and Mac, with Windows coming soon.