Kaleidoscope 2 from Black Pixel lets you take code, text, images, and even folders and quickly, clearly see the differences between multiple versions. While that sounds simple in theory, it's not. Making differential data make sense, doing it in a way that's useful and actionable, and packaging it in an app built for people who build apps, well, that requires some serious kung-fu.
Sofa created the first version of Kaleidoscope and later, after they were acquired by Facebook, they sold it to Black Pixel. With a long history of contract work, making some of the best apps you'll never know they made, Black Pixel wanted to start shipping software of their own. Kaleidoscope 2 is their first.
- Listen to Black Pixel's Michael Jurewitz (Jury) talk about Kaleidoscope 2, and the challenges of making and selling developer tools, in episode 3 of the Debug podcast.
Getting started with Kaleidoscope 2 is lightning fast. You can open, save, and close files, sure. But you can also drag bits of text and images directly into the app, or onto the Dock icon, or simply paste from the clipboard and just get right to work.
I'll admit right now, Kaleidoscope 2 is a tough app for me to review. It's above my weight class. If you've ever played around in iMovie or GarageBand and then launched Final Cut Pro or Logic, or if you've ever been dropped into the middle of Halo or Call of Duty for the first time, you'll know what I mean. I'm not a developer, but Kaleidoscope 2 makes me wish I was. There's so much there that I can only poke around at, glimpse the edges of, and hit up my developer and designer friends about. However, there's also more than enough for a relative lightweight like me.
I write a lot of reviews in BBEdit, and sometimes, especially for the big device reviews, I accrue multiple versions. Sometimes I like parts of one and parts of another, or multiple others. Sometimes just a turn of phrase. Sometimes just the structure of a paragraph or section. Trying to manually integrate that stuff is a pain in the ass. Trying to do it in something like Word is a pain in the soul. Doing it in Kaleidoscope 2 is breeze. I wish I'd had something like Kaleidoscope when I wrote my first novel, and I'll be counting on it when I finally get around to writing the next one.
For text, you get support for TXT and HTML, and can extract text from RTF and DOC. There's two-way and three-way merge, and you can see added, deleted, and changed text in block, fluid, or unified layout, and quickly step through changes.
I don't get to do a lot of design anymore, but we have a design department here at Mobile Nations and we have a few big projects going on at the moment. We also have our daily content, and the photography and image work that goes with it. The ability to quickly, visually compare everything from differences between wireframes and renders from the design department -- yes, busted, you did change that! -- to how a hero shot looks with proper white balance and tonal range -- yes, dagnabit, I did have to fix it! -- is triumphantly satisfying.
For images, you get support for JPG, PNG, TIF, PNG, and most other common formats, in RGB, CMYK, and LAB, with alpha, in one-up, two-up, split, and difference layouts.
For folders, you get support for any number, with filters, safe bulk copying, and auto-refresh so what you're looking at always reflects what's actually there.
And it's not just about the deltas. Kaleidoscope supports code reviews as well. Doug Russell wrote about the KSReview feature on the Black Pixel blog:
KSReview compares all of the work done on a feature branch since it diverged from master (or from another branch you specify) while filtering out any other activity from that branch that might otherwise get in your way. We use this ourselves every day and we think it is a fantastic way to do code reviews.
Again, I won't pretend to grok all the fancy stuff you can do from there, like integration with Subversion, Git, Mercurial, Bazaar, and Perforce, so your source isn't only controlled, but clean and sane, or the complex conflict resolutions and levels of folder comparison ninjary you can get into, but it looks beyond useful.
Developer tools, even comparison tools in general, are for a highly select, often very difficult to impress audience. The first comparison they want to make is between the new tool and whatever they're currently, comfortably doing (or not doing, as the case may be.) They're a hard sell. However, for this same audience, time is absolutely worth more than money. Anything that smooths a workflow and shaves precious seconds off a process, or simply gets a project out of the weeds just a little bit faster, is invaluable. Even if it's not needed every day, it can be a life-saver when it is.
That's why I think Black Pixel's first app will also be their first hit.
Kaleidoscope 2 requires OS X 10.7.3 and is available both on the Mac App Store and directly from Black Pixel on the web. If you buy the MAS version and later decide you'd really prefer the non-Sandboxed, slightly more developer-centric version from Black Pixel, you can download and unlock it simply by running it on the same machine on which you've previously run the MAS version. That's a fantastic, and extremely customer-friendly feature from Black Pixel, and one that I hope other developers steal immediately.
If you've been looking for a tool like this, or if you've used Kaleidoscope in its previous incarnation, Kaleidoscope 2 is currently available at 50% off -- $34.99 until January 30. There's a lot more information available on their website, and also a 15-day trial available so you can make sure like it before you buy it.