99
レビュー: Kaleidoscope 2 は最先端のファイル比較機能を OS X に導入します

コンピュータの使い方に関わらず、2つのファイルを比較するという問題に一度は遭遇したことがあるでしょう。一人で比較するのは、まるで「間違い探し」という最も難しいゲームをプレイしているようなものです。だからこそ、この目的のためのソフトウェアは何十年も前から存在してきたのです。

ファイル比較アルゴリズムは、もともと開発者がソースコードの変化を追跡できるようにするために設計されたものですが、最終的にはMicrosoft WordやAppleのPagesなどのより一般的なアプリに採用され、「変更履歴」は長年にわたり作成者が正気を保つのに役立ってきました。

Black Pixel の Kaleidoscope 2 は、2 つのファイルを比較する機能を 21 世紀に導入し、テキストを超えて画像やファイルシステム自体も対象に拡張しています。

インストール

Kaleidoscope は、最初から細部へのこだわりが見て取れます。アプリのデザイナーたちは、非常に賢明にも、長いセットアッププロセスを省き、ユーザーがすぐに操作を行える素早い起動を採用しました。

Kaleidoscope の 機能には、すべてのオプションが最適化されているかを確認するために、数画面分の質問を用意するだけの十分な理由があります。しかし、このアプローチは、まず Kaleidoscope の最も分かりやすい機能をじっくりと使いこなし、その後で追加機能を発見したいと考えている、このアプリの想定ユーザー層にとって非常に効果的だと思います。

インストール: 短いチュートリアルを除けば、Kaleidoscope のセットアップにより、ユーザーはすぐにアプリを試すことができます。これは、対象とする技術者層を考慮すると賢い動きです。

細かい点ですが、Mac App Store版とBlack Pixelのウェブサイトから直接ダウンロードできるアプリには若干の違いがあります。OS Xのサンドボックス化による制限のため、前者は外部開発ツールとの統合オプションが少なくなっています。幸いなことに、App Storeで購入して後で気が変わった場合は、サンドボックス化されていないバージョンの新しいコピーをダウンロードし、同じマシンで実行するだけで、追加料金なしでロックを解除できます。

異なる入門書

2 つのテキスト ファイルを比較する機能は新しいものではありません。そのための元のアルゴリズムの 1 つは約 30 年前に公開されており、1970 年代半ばに導入されたコマンド ライン Unix ユーティリティ diff は、今でも毎日何百万人もの開発者によって広く使用されています。

この分野からイノベーションがまったく失われているというわけではありません。グラフィカル ユーザー インターフェイスの登場により、Bare Bones Software の BBEdit や Apple の Xcode などの開発者向けアプリでは、初期には不可能だったファイル間の違いを視覚的に表現できるようになりました。

しかし、専用ツールである Kaleidoscope は、このタスクに比類のない焦点を当てて取り組むことができ、プレーン テキストと HTML のサポートや、2 つのドキュメント間の違いを視覚化する 3 つの異なる方法など、幅広い比較オプションを提供します。

差分、改善

Kaleidoscope の最初のモード「ブロック」では、2 つのファイルが横並びで表示され、その違いが 3 色のブロックで示されます。緑は右側のファイルにはあるが左側のファイルにはないテキスト、赤は左側のファイルにはあるが右側のファイルにはないテキストを示します。紫は、両方のファイルに存在するが、異なるテキストを含むテキストブロックを示します。

2 番目の「Fluid」モードでは同じ配色が使用されますが、比較の両側のブロックの各セットが線で接続されるため、2 つのファイル間の違いが検査中のドキュメントのフローにどのように影響するかをすばやく確認できます。

並べて表示: 予想どおり、アプリのテキスト比較機能は充実しており、整理されています。

最後に、統合モードでは、3 種類の変更すべてが 1 つのストリームに結合され、1 つのパネルに凝縮された差異を調べることができます。

3つのモードすべてにおいて、変更された両方のファイルに同じテキストブロックが出現すると、アプリは個々の単語間の差異も強調表示します。これは、ソースコードでは比較的頻繁に発生する小さな変更を追跡する際に非常に役立つツールです。プラス記号やマイナス記号といった単純な変更が、重大でありながら検出が難しいバグを引き起こす可能性があります。

テキスト差分表示という定評のある機能でさえ、Kaleidoscope はユーザーを煩わせることなく、細部まで配慮された設計となっています。3つの表示モードは微調整なしでも問題なく動作し、表示フォントの変更(開発者なら誰もがすぐに使いたくなる機能です)や、マルチカラー表示をオフにして複数の青の濃淡を表示する機能も備えています。これは色覚異常のユーザーにとって朗報と言えるでしょう。

画像の比較

Kaleidoscope のテキスト比較ツールの開発に注がれた配慮は、画像間の違いを強調表示する機能にも反映されており、この点がこのアプリが競合アプリと大きく異なる点です。

繰り返しになりますが、2枚の画像を並べて比較する方法はいくつかあります。まず1つ目は「Two-up」と呼ばれるもので、画像を単純に隣り合わせに配置し、ズームとパン操作を同期させることで、両方の画像の同じ部分が常に表示されるようにします。

One-up ビューでは、2 つの画像が重ね合わされ、マウスをクリックするか、タイマーでアプリが自動的に切り替えるようにすることで、画像を切り替えることができます。

画像は分割ビューでも重ねて表示されますが、スライダーを使用して各画像の特定の部分を徐々に表示することができます。

最後に、差異モードでは、アプリは完全に重なっていないピクセルだけを強調表示し、ごくわずかな変化も強調表示する擬似カラー画像を生成します。

画像:画像を比較する機能は、おそらくKaleidoscopeの最もユニークな機能でしょう。この例では、スプライトシートの1ピクセルずれのミスを簡単に検出できました。

これほど多くの表示モードがあるのは一見、奇抜に見えるかもしれませんが、それぞれに特定の目的があります。例えば、2アップ表示と分割表示は、写真を比較して異なる効果を選ぶ際に特に便利です。一方、1アップ表示と差分表示は、複数のデザイナーが手を加えた大きなアイコンやスプライトシートなど、わずかな位置ずれを把握したい場合に便利です。

テキスト比較と同様に、アプリには、相違点の強調表示方法や色の処理方法の制御など、画像分析ユーザー インターフェイスをカスタマイズするのに役立つさまざまなオプションが用意されています。

ファイルシステムの分析

Kaleidoscope の3つ目の機能はファイルシステムで、2つのフォルダ間の差分を判定できます。これはおそらくアプリの中で最も目立たない機能ですが、その役割は十分に果たしています。

このモードでは、2つのディレクトリを比較することに重点が置かれ、片方にしか存在しないファイル、または両方に存在するが異なるファイルをハイライト表示します。Kaleidoscope は、2つのフォルダの違いを色分けしてユーザーに伝えます。さらに、各ファイルとフォルダのサイズも表示されるため、関連するコンテンツに焦点を絞りやすくなります。

膨大なデータセットを扱っている時でさえ、このアプリのスピードには本当に驚きました。ふと思いついて、ドキュメントディレクトリをバックアップドライブにある古いバージョンと比較してみましたが、10年分の蓄積された不要なデータから選別する必要があったにもかかわらず、Kaleidoscopeはわずか数秒で有用な情報を返し始めました。

統合

Kaleidoscope の多くの機能はよくできていますが、それだけで多くのユーザーが既存のツールセットを捨て去るほどの効果が得られるとは思えません。結局のところ、Black Pixel のソフトウェアの競合製品のほとんどは、様々な制限はあるものの、開発者のワークフローに無理なく組み込めるという大きな利点を持っています。それは、ほとんどのユーザーが長年日常業務の一部として使い続けてきたという理由以外にありません。

幸いなことに、Kaleidoscope には、Git、Mercurial、Subversion などの主要なバージョン管理システムをはじめ、Black Pixel 独自の Versions や Macromates の TextMate など、開発者向けの他の人気の OS X アプリなど、驚くほど多様な外部開発ツールと統合する機能が備わっています。

統合機能は基本的に完璧です。Kaleidoscope を Git のデフォルトのファイル比較およびマージ ツールとして設定するのに 1 分ほどしかかからず、何の手間もなくすぐにワークフローの一部になりました。

開発者フレンドリー: Kaleidoscope は、Git、Mercurial、Subversion などの主要なバージョン管理システムを含む、他の一般的な開発ツールと簡単に統合できます。

結論

開発者が日常的に使用するツールのほとんどが無料である現代において、Kaleidoscopeの70ドルというプレミアム価格は奇妙に思えるかもしれません。しかし、このアプリは、単一のタスクに取り組み、それを可能な限り完璧にこなすという、古くからのUnixの信条を体現した稀有なグラフィカルユーティリティです。そして、その点で、少なくともOS Xにおいては、まさに同種のアプリの中で最高のものと言えるでしょう。

Kaleidoscope は明らかに技術者を対象としていますが、開発者以外にも役立ちます。システム管理者からグラフィック デザイナーまで、大量の構造化データを扱う必要があるすべてのユーザーが、さまざまな目的でその機能を活用できます。

結局のところ、Kaleidoscope が本当に必須なのは、既存のツールと統合して開発者のワークフローの一部となる機能です。あっという間に、ファイル比較に欠かせないツールになりました。OS X を愛用する他のプログラマーやデザイナーにも、ためらうことなくお勧めします。