高性能画像圧縮アプリ「Caesium」をMac OS Xにポーティングしました

クックパッドに入社以来、仕事が忙しく、個人のアウトプットを出せていませんでした。最近、仕事が少し落ち着いてきたので、少しづつ個人のアウトプットも出して行きたいと思います。
現在進めている個人プロジェクトの1つとして、自炊(本のスキャン)をしている人向けのサービスを開発しており、画像圧縮アルゴリズムの研究しています。その調査の過程で、Caesiumというアプリがなかなか良い感じの出力をすると2chで見かけたためソースコードを読んでみました。プログラムは簡単にMacにポーティングできそうだったのと、社内の一部のエンジニアでcodewallが流行っている事もあり(現在国内トップ)、Mac OS XへポーティングしてGithubで公開してみました。
Githubのプロジェクトページの右の方にある「Download」タブからバイナリをダウンロードできます。インストーラーは頑張ったけど、設定が悪いらしくApplicationsにコピーされない orz そのうち頑張ります。
「Caesium」は高性能な画像圧縮ツールで、ネットの記事を読むとサムシングスペシャルなテクノロジー(笑)が使われているとの事ですが、ソースコードを読むと別に特別な事をやっている訳では無かったです。
Mac版では、DnDでファイルを投入できるとか、Exif情報を取り除くとか、複数言語を表示できるといった幾つかの機能が正しく動いていませんが、メインの画像を圧縮するという機能は動いているので、マイナーバージョンとして公開します。
標準設定で圧縮すると、この4.9Mbの画像ファイルが842Kb(-84%)になります。
画像の圧縮サンプルはこちらを御覧ください。
iPhoneアプリのモックを簡単に描く方法

iPhoneアプリのモックデザインって何で描くの?とよく聞かれるので、ブログにまとめる事にしました。
私がよく使うのは、Balsamiq Mockupsというアプリです。Adobe Airでラクラクインストールできるのでオススメです。
なぜこれが良いと言うかというと、線が手書き風だということ。我らが、Joel Spolskyはこう言っている。
- プログラマでない人間に90%まずいユーザインタフェースを持った画面を見せたなら、彼らはプログラムが90%まずいと思う。
- 100%素晴らしいユーザインタフェースの画面をプログラマでない人間に見せると、彼らはプログラムがほとんど完成していると思う。
見た目がクールでないUIの価値が分かったら今すぐBalsamiq Mockupsをインストールだ!
このアプリに1つ問題があるとしたら、それは日本語入力を受け付けないという事です。これは単にフォントの問題なので、手書き風フォントを突っ込んでやればokです。
日本語の手書きフォントと言えば、「あくあフォント」。まずは下の2ファイルをダウンロードします。
・あくあフォント
・あくあPフォント
ダウンロードしたファイルは.exeなので、一見Windowsでしか利用できないように見えますが、中身はLHA形式のアーカイブなのでLHA対応のアーカイバがあれば圧縮データを取り出す事ができます。
MacやLinuxでの解答手順は以下の通り。
まず、SourceForgeからLHa for UNIXをダウンロードします。
$ tar zxvf lha-1.14i-ac20050924p1.tar.gz $ cd lha-1.14i-ac20050924p1 $ ./configure --prefix=$HOME/bin/lha $ make $ make install
適当に$HOME/bin/lhaへパスを通します。(.bash_profile辺りに以下の行を追加するか、直接実行する)
> export PATH=${HOME}/bin/lha/bin:${PATH}
次に、ファイルの解凍。
$ lha x aqua2_7.exe aqua2_7/aquafont.ttf - Melted : ooooooooooooooooooooooooooooo aqua2_7/readme.txt - Melted : o $ lha x aquap2_5.exe aquap2_5/aqua_pfont.ttf - Melted : ooooooooooooooooooooooooooooo aquap2_5/readme.txt - Melted : o
◆ココからWindows/Mac共通作業。
ttfファイルが取り出せたら、ダブルクリックして[インストール]を押します。
OSに応じて、以下の内容のBalsamiqMockups.cfgというファイルを以下のいずれかの場所に新規作成します。
<config>
<fontFace>あくあフォント</fontFace>
</config>
- XP C:¥Documents and Settings¥Application Data¥BalsamiqMockupsForDesktop.#numbers#¥Local Store - Vista C:¥Users¥AppData¥Roaming¥BalsamiqMockupsForDesktop.#numbers#¥Local Store - Linux ~/.appdata/BalsamiqMockupsForDesktop.#numbers#/Local Store - Mac OSX /Library/Preferences/BalsamiqMockupsForDesktop.#numbers#/Local Store
これで、Balsamiq Mockupsを再起動すると日本語が使えるようになります。
Happy Coding!
ニコニコ生放送「ITエンジニア&志望者あつまれ!」コミュニティ大規模OFF会をクックパッド本社で開催するよ!
私のブログを御覧いただいているみなさま。特にニコニコ生放送を視聴していただいているみなさま。
クックパッド入社以降、放送では「オフィスに遊びに行きたい」とか「東京に引っ越したならOFF会しようよ!」という声が多数寄せられたので、なんとかPRの部署を説得して会社への立ち入り許可をもらったので、みんなでワイワイとITのお話で盛り上がりましょう!
日時:2月3日 19:00〜(受付開始:18:30〜)
遅刻してきても大丈夫ですが、ビルの正面が20:00に閉まりますので、それまでに入館をお願いします。
場所:クックパッド本社 5F(詳細)
参加費:無料(懇親会参加者は会費1000円)
申し込みはこちらから。申し込みは終了しました!
一応、クックパッドという会社をPRするという名目で会場を借りたので、1時間ぐらいで以下ようなお話をして、その後に懇親会(OFF会?)という形にしたいと思っています。金曜日に設定したので、終わったらみんなで飲みましょう!
・私がクックパッドに入社して1ヶ月目の会社に対する感想
・クックパッドがどのような事業をやっているか
・クックパッドがどのように開発が進められているか
・クックパッドのエンジニアに対する考え方
・Cookpad Internationalのお話
・インターンシップについて
あとは、社内のエンジニアを適当に(今やだいちゃんの十八番となってますが、例によって)拉致ってくるので、色々お話してもらいたいと思います。
特に必要なものはありませんが、来客者用のWifiを用意するので、ノートPCやスマホを持ってくると良いと思います。名刺は必須ではないですが、色んな人が来ると思うので連絡先交換用に持ってくることをオススメします。学生の方もTwitterやメールアドレス、ブログのURLなんかを紙に書いて持ってくると良いと思います。
現時点で何も決まって無いので、こんな話を聞きたいとかあれば@dddaisukeまで連絡下さい。
ニコニコ生放送のリスナーさんやこのブログを見た方であれば、お気軽にご参加下さい。私とあまり絡んだ事がない方や直接面識がない方、学生さんでも大歓迎です!
申し込みはこちらから。申し込みは終了しました!
みなさんにお会いできる事を楽しみにしています!
以下、社内の様子。





ちなみ、以下の写真は、先日私がランチに作ったサラダです。個人でベビーリーフなんて購入しないから、一気にカフェっぽくなりましたw



