モバイルと画像処理

最近ひとつmobyletを使ったモバイルサイトを作っているのですが
何が一番インパクトあるかっていうと

・絵文字が出たり変換されたり
・ブラウザサイズに合わせた画像の動的リサイズ

あたりが地味に感動します。


はっきり言ってしまえば
mobyletの中で頑張って画像処理やりまくるっていうのもどうなんだ?
と思いながら作っていたのですが
使ってみると、これは欠かせない機能だなぁと再確認しました。


先日livedoorのブログの方に
キャッシュ方式や画像処理に関するコストについてコメントを頂いていて
僕もどちらかと言えば小規模よりは中規模クラスのシステムについて仕事で携わることが多いので
画像処理の外部ASP化や、画像用Webサーバ、キャッシュ化(特にWebサーバが冗長構成を取った場合)など
普通にやるとそういうところをケアしたくなるのですが
そもそもmobyletを作ったのは「簡単に携帯サイトを作ることが出来る」ところを
ひとつのポリシーとして持っていたため
逆に規模が大きくなったときのことはおざなりになっていた気がしました。


mobyletは簡単に使えるんだけども、それが現場にそぐわなければ意味が無いと思うので
現場で想定し得る状況(特にmobyletの主要機能に関して)は、ケアしていかないといけないなぁと
再確認いたしました。
DBFluteと同じようなポリシーですね)


当初の予定よりはリリースが遅くなりそうですが
Ver.0.7.0には
・画像キャッシュの冗長構成時対応(OSCacheなどの外部ライブラリ対応)
・GAE/JでのBigtableキャッシュ対応(実際にはローカルファイル以外の外部ストレージ対応)
をやってからリリースしたいと思います。
#どちらかと言えば後者に力が入りそうです。

        • -

<余談>
mobyletの標準画像変換はGraphics2D/ImageIO系で構成されているのですが
GAE/JではGoogle提供の画像処理APIを利用するextensionを用意しています。
これ、見比べてみたんですが
圧倒的にGoogleの方が変換キレイなんですよねー。
※レスポンス速度は若干気になる時もあるけど(通信コストかな?)

しっかりした商用サイトの場合は、リソース的にも品質的にもJava標準の画像処理APIを使うことは難しくなりそうなので
このあたりもImageMagickをキックできるようなI/Fとかも用意したいと思っています。

#こんなことばっかしてたら画像屋さんになりそうで怖いです。


ちなみにどなたかJMagickって使ったことある方いらっしゃいますか?
ほとんど業務ではImageMagickを直接使うパターンが多かったので(JMagickの良い評判をあまり聞かないので)
使ったこと無いのですが、もし「結構良いよ!」というコメントがあれば
JMagickインターフェースもありなのかなぁと思ってたりしています。


TAG@mobylet, DBFlute, ImageMagick