iPhoneのTwitterアプリでホーム画面1ページ分埋めるなら、この16コ(かな?)

そういえば、先日の Tweetup Tokyo 09 Fall イベントでLT発表してきました、というのを書こうと思っていたのですが、すっかり失念してました…。

@kiri_featherさんのエントリ見て思い出したので、書いてみます。どういうLTだったかというと、淡々とiPhoneアプリを18コ、スクショ付きで紹介するという超シンプルなものでした。全部のアイコン的にはこんな感じです。

いまやiPhoneでのTwitterクライアントはおそらく、ゲーム以外では一番の激戦区で、AppStoreでTwitterと検索すると400件ぐらいひっかかるという凄い状況です。最初LTのお話をいただいた時に、この全部を1,2秒ぐらいで名前だけ連呼するという変態LTを考えたのですが、スクショ撮るだけで3日ぐらいかかりそうだったのと、さすがにみんな飽きるだろうと思ったので、ホーム画面の1ページ分の16コぐらいにしておきました。

この16コは、今とりあえず僕の認識しているアプリのうちで16コ選ぶとしたらこれぐらいかなあというもので、日常的にこれらを使い込んでる16コとかではありませんです。

ただ、iPhoneTwitterクライアントは、現状でも選択肢が沢山あって、クライアントを使う人にとってはこれ以上幸せな状況は無いんじゃないかなあ、というのがLTで唯一伝えたかったポイントだったりします。というのもちゃんと言える時間がなかった><

全部入り

  • Tweetie2
    • バランスが良いのと、ビジュアル、UIデザインも美しいのが良いです。2になってからのNeerbyにも感激しました
  • Twitterrific
    • 老舗な感じですが、2.0になってからビジュアルデザイン的にかなり作り込んでる感じがよいです。
  • Echofon
    • これもバランスが良いですね。Echofon for Macが最近出たので、未読同期が良さそうです。
  • Twittelator Pro
    • 高機能が良いといえばコレですね。ぜんぜん機能を把握できないぐらい機能があります。
  • TweetDeck
    • タイムラインをグループ分けができるのは、他にあまり無いでしょうかね。といってもちょっとやってみたのですが、意外にユーザー追加がしんどかったです。うむむ。AIR版と同期すると良いんでしょね。
  • SimplyTweet
    • 高速が売りだそうで確かに速いかも(?)。そういう意味ではいちばんNatsuLion for iPhoneに近いかな? でも、NatsuLion for iPhoneよりは多機能です。
  • TwitBird
    • 吹き出し」の表示といったら今はこれでしょうね。replyとかでのPushも確実に送られてくる気がします。(今は結局Pushがうっとうしくなって切ってしまった…)
  • Fastweet
    • とにかくタイムラインを一度に大量に見たいというのがあればコレかもしれません。あと地下鉄とかでオフラインでざっと見るとかいうのも良いかも。

機能的に投稿のみとか絞ってるもの

  • Tweeter
    • 投稿専用アプリ。起動してそのまま文字を入力してPOSTボタンを押すだけで投稿されます。いわゆるtsudaり専用。ダークモードも搭載なので、なにかの発表会とかが暗闇でも延々目立たず(これ重要)tsudaれます。
  • なうったー
    • たぶんこれ以上定型文を投稿するのに楽なのはないでしょう、というナウいアプリ。意味もなく「リナカフェなう」投稿が1ボタンでできます。(〜なうの〜はもちろん自由)
  • 音声認識メール
    • 音声認識で文字が打てて、そのまま投稿できます。これは使ってみると驚異の認識力でビビります。
  • TwitMusic
    • iPodでいま再生している曲を投稿できるアプリです。「Playingなう♪」ってやつですね。
  • 投稿百景
    • 携帯百景に投稿できる写真投稿専用アプリ。MMSでの投稿ではリサイズされないんですが、これを使うとリサイズしてくれます。
  • Gyazickr
    • 写真投稿専用アプリ。Flickrにも投稿できてよいです。
  • Peephole
    • 写真だけを抽出して一覧とかで見れるアプリ。たとえば #tiltshiftgen でsearchすると、TiltShift Generator で投稿したのが見れたりします。
  • AirFollow
    • Bluetooth機能で、おたがいのTwitter IDを交換できて、そのままFollowすることができます。オフ会とかに便利じゃないかなあと。

プロモーション的なdockにある2コ

  • TiltShift Generator
    • @fladdictさんと共作の、写真アプリです。加工した写真をTwitterにそのまま投稿できます。詳細はこちらなどでどうぞ。
  • NatsuLion for iPhone
    • @akrさんのNatsuLion(Mac)を移植して独自拡張していったクライアントです。僕のタイムラインの方々のご意見で作られたのもあるので、フッターとか日本固有の使い方にマッチしているのとかはあるかなあとか。あと個人的趣味で高速、シンプル方向に振っています。

まとめると

・・・「全部入り」のところが、全然使い込んでないのがバレバレですね…。というか、全部入りはもうすでに機能的にかなり似てきているので、あとはビジュアルデザイン的なところであったりとか、「ボタンの配置が気に入らないので、やっぱこっち」とか、そういう感じの差になりつつあります。Tweetie、Twitterlator以外では無料版があるので、まずそちらを試していただいてというのも良いかもしれません。

ちなみに僕自身はどういう使い方しているかというと、iPhoneではほぼ9割自作のNatsuLion for iPhoneで、写真投稿する際に投稿百景(あるいはMMSからメール添付)、たまにいわゆるtsudaりたい時に、Tweeterを使う感じです。あとTweetieとかで、NatsuLion for iPhoneの挙動が変になったときに確認するとかもしてます。

恒例のおまけ

TweetupにてGF1で撮った写真を置いておきますね。しかしTwitterのタイムラインを具現化したようなカオスなイベントでしたねー。そのカオス感が楽しかったです。

http://www.flickr.com/photos/takuma104/sets/72157622591099118/

E-P1かGF1かさんざん悩んだあげくGF1買いました

なんかこのblog最近告知ばかりになってしまったので、たまにはガジェットネタでも。。

マイクロフォーサーズ(規格)っていう、レンズ交換ができるコンデジがとある方面で最近話題ですが、ちょうど価格帯や性能的に同じような2機種が、最近オリンパス(E-P1)と、パナソニック(GF1)から出てます。

で、Twitterでどっちがいいかなーとかつぶやいてしまったら、すごいreplyいただいて、ああ、みんな気になってるんだなーとw たしかにこの2つは良く似てて、どちらを選んでもレンズ変えれば、ほぼ同等の画が撮れそうでした。ので、みんな悩むんだなあと。検索してもこの辺悩んでる人はおおそうです。

それで、結局色々blogとかサイトとか見て回ったんですが、実物を見て考えようということで、店頭で見てきました。最終的に購入したアキバヨドバシ店頭で撮りくらべ(SD入ってないので、撮影後のプレビューで)をかなりやってみました。

結局GF1の決め手となったのは、

  • まずAFが速い。速いときはコンマ何秒な感じ(っていうのは、標準パンケーキの仕様の差?)
  • 標準パンケーキレンズ(単焦点、20mm F1.7)がやっぱり良い。ボケがやっぱり美しい。
  • 「一眼レフ」でなく「一眼」なのでpreview用のディスプレイが比較的重要だと思うんですが、GF1のがぜんぜん綺麗 (解像度が違うっぽいです)

の3点でした。対して、E-P1が良かったポイントは、

  • ブレ補正がパンケーキでも効いていたのが確認できた(店頭が明るすぎたので、効果がちょっとわかりにくかったですが、ボディに手ぶれ補正機能が入ってるそうです)

でした。

GF1を購入後、秋葉原で夜景撮影もやってみたのですが、片手持ちのすごい中途半端な撮り方とかやると、やっぱり手ぶれが気になった感じです。この辺については、やっぱE-P1のが良かったのかなあというのはあります。(ちょっと夜撮影のとりくらべとかやってみたい気も…) GF1でも、標準ズームレンズのほうは、レンズに手ぶれ補正が入ってるそうです(がこちらは良くみてませんでした…)

今日たまたま秋葉原に居合せた@epytwenさん(NatsuLionのtoolbar/tabbarのアイコンの作者さんでもあります)から、アルパカのねじまき人形をいただいたので、それをGF1のパンケーキレンズで撮影したのを貼っておきますね。F1.7で撮った動画もふんわり柔らかくてけっこう楽しいです。(ぜひリンク先のHDサイズでおたのしみください)

P1000108

P1000117

#TiltShiftGen で撮った写真を見れるサイト作ってみました

まだ仮ですが、とりあえず。

http://tiltshiftgen.lazuro.com/

ご好評いただいております、TiltShift Generator アプリですが、本日アップデート版の 1.01 が出ました。

このアップデートでは、Twitterの設定が分りにくかったところなどが修正されました。あとハッシュタグ (#TiltShiftGen) を入れられるようになったので、Twitterに投稿された TiltShitGen アプリで撮った写真が検索できるようになり、結果 TiltShiftGen で撮ったみんなの写真が見れるようになりました。そこで、一覧で写真共有サイトっぽく画像を出してみたら面白いかなあと思って作ってみた次第です。

TiltShiftGen アプリでいい感じにするには若干コツが必要だったりするので(特に、ミニチュアにしたい場合は、上から見下した写真を選ぶとか、写真選びのほうが重要でしょうかねえ)、そのあたりで、みんなの写真を見て、上達の参考になるとうれしいなあと思います。

fladdictさんのTiltShiftGen アプリのチュートリアルも合せてどうぞ。

(追記)
このサイトでは、Twitter検索のこのクエリを使っています。ですので、ここに表示されないのはまず出ないです。あと、いまのところここに表示されるのは、Twitpic、Twitgoo、Yfrogのどれかのサービスを使っている場合のみです。他の写真共有サービスなどに対応することも可能だと思いますので、リクエストなどありましたら、@takuma104 までお願いします。

iPhoneアプリ: TiltShift Generator 本日発売されました!

新アプリ TiltShift Generator がリリース。 | fladdict



@fladdict さんと共作の TiltShift Generator が本日発売されました。どんなアプリかと一言で言うと、iPhoneで写真をミニチュア写真ぽく加工できるアプリです。

それで、なんと即日で日本のAppStoreの有料アプリ1位となりました! すでにレビューも、Twitter含めあちこちで頂いています。お買い上げいただいた皆様、そしてレビューしていただいた皆様、本当に感謝の言葉しかありません。ありがとうございます!

ToyCameraで撮影したものをTiltShift Generatorを使ったもの。


(CC by) emrank さんの写真をTiltShift Generatorを使ったもの。


コラボでの開発

このアプリは、fladdictさんが企画、ビジュアル/UIのトータルのデザイン、ディレクションを行って、のこりのコーディングを僕が、みたいなコラボで作ってみました。

きっかけは、fladdictさんが、"TiltShift Generator" を Flash のアプリとして作られていて (こちらは無料で使えますよ!)、BlogとTwitterで「誰かこれiPhoneアプリにしない?」と。そのとき脊髄反射で僕が手をあげたのが始まりでした。というのも、企画としてすごく魅力的に感じたのと(チルトシフト写真見てても楽しいし!)、もうすでにFlash版があったため完成系がすんなりイメージできたというのがありました。

iPhoneアプリでのコラボは初だったので、ちょっとどうなるかなあ?、というのもあったのですが、やってみるととてもスムーズに、充実した感じで行うことができ、なおかつ出来上ったものも、とてもすばらしいものができたと思います。これも、すでにiPhoneアプリを何本もヒットさせているfladdictさんの「的を射た」ディレクション、デザインにあったと思います。ありがとうございました!

それっぽいミニチュア感を出すコツとかを考えてみた

このアプリは、blur効果と、vignetting、contrastなど利用した、汎用的な写真加工アプリとして使えますが、どうしてもミニチュアっぽいものにこだわる場合は以下の方法が使えるかもです。

まず、それっぽいミニチュアになる写真と、どうやってもミニチュアっぽくならない写真があるので、写真を選びます。

選ぶ写真としては、だいたい以下のような条件を揃えると、良い気がしてきました。

  • 大きい物体が1つ、とかよりも、小さい物体がたくさんある写真
  • フォーカスがほぼ写真の中央に合ってるもの(パンフォーカスなら気にしないで可)
  • 写真の主題的な物があって、なおかつそこがblurの中心にできると、そこが目立つのでなお可

小さい物体がたくさんというのは、ある程度の高さからの町並みとかの風景写真が該当します。あと、人混みをある程度の高さから撮ったものとかもよくありますね。

Blurの中心は、できるだけ写真の中央にあると、ボケが両端になり奥行感が出ますが、Blurの中心点とフォーカスの中心点は合せたほうが自然な絵になるので、そうするとフォーカスの中心点も写真の中央にあったほうがよい、ということになります。

いいかんじの写真があったら、

  1. 初期状態では円形ブラーになってるので線形ブラーにする
  2. ブラーの中心をもと写真のフォーカスがあたってる部分にだいたい合せる。パンフォーカスならどこでも可だけど、できるだけ写真のまんなかの方に。
  3. ブラー強度はあんまり上げないでもそれっぽい場合も (0.2とか?)
  4. ブラーの幅はほとんど無くてもよいかも (ぴったりくっつけでも可)
  5. Saturation をちょっとだけ上げ目に (0.8ぐらい)
  6. Vignetting はおこのみで。ちょっとだけ (0.3とか) が奥行が出るかも
  7. Contrast / Brightness であまり暗くならない程度に調整

みたいな順序で操作するとよいかもです。もちろん、あくまで僕が考えた例なのでいくらでも工夫しがいがあると思います。

円形ブラーは、バニッシングポイントがあるような写真で、その部分にブラーの中心を合せると、バニッシングポイント付近にかけてが強調されるので、面白かったり。

今後は?

とりいそぎ、Twitterアカウント設定がわかりにくい(現状設定アプリで設定できます)のと、iPod touchで使えない問題があるため、その2点の対応を行ったversionを早めに出したいと思ってます。

あと、以下の対応も順次行っていこうと思っています。

  • Twitter投稿機能での画像投稿先をTwitgooに加えてTwitPicも選択可能に
  • 画像の状態保存
  • 各パラメータのリセット機能
  • 出力解像度を選べるように

その他、バグっぽい何かとか、ご要望などありましたら、ここのコメント欄やTwitterのリプライ、あるいはメールなどでお教えください!

おまけ:実装について

基本的にこのアプリは画像処理アプリなのですが、メインの機能といってもいいボカしの部分、Blur演算は比較的重い処理の部類に入ります。それがiPhoneでどこまでできるのか、というのがやはり大きなボトルネックになりそうだったので、まずそこをプロトタイピングしました。

プロトでは、OpenGL ESを使ったりとか色々試行錯誤をし、予想以上に時間がかかってしまったりしました。GLを使った物も、思ったような品質(ボケ味)が出ず、最終的にはすべてCPUでの演算になっています。CPUの演算も、単にガウスブラーでは速度的に遅すぎて話にならず、現状はboxblurをさらに高速にしたような実装としました。

あと苦労した点というと、やはり使用できるメモリの量が限られてくるので、自前でbitmapを作って管理するのから始まり、いかにオンメモリにあるbitmapを減らすかというのに苦心しています。それでも、ある程度blurの品質も必要なので、blurの奥行を与えるために、実は3枚程ボカしのパラメータを変えたbitmapを持ってたりします。ということで、絵的な品質と処理速度とメモリの使用限界量のバランスがけっこう綱渡り的な感じだったりします。

そのほかは、あまり苦労ポイントはなかったように感じます。Saturation, contrast, brightness は LUTベースのものにしたところ、普通にこの速度が出ています。この辺は、いままで散々経験もある感じのところだったので、それほど苦労しなかった感じです。

あと、UI部分のつくりこみ、visual designの入れこみも、昔からの経験が生きたところで、かなり楽しんで作業させてもらいました。なんというか、理に叶ってるデザインをコード化するのは、必然的に楽しい作業になると思うのです。

RubyKaigi2009で発表してきました

RubyKaigi2009で喋ってきます - @takuma104 log

本日(会場/Ust)で聴いていただいた皆様、ありがとうございました! またスタッフの方々、とてもスムーズに気持ちよく話すことができまして、とても感謝いたしております。ありがとうございます! 実はRubyKaigi初参加だったんですが、非常に熱いものを感じてすごく楽しかったです。ぜひ来年もまた来たいなあと思いました。(今度はスタッフかなー??)

スライド

時間の都合上ちょっと端折ってしまった部分を入れたスライドをupしておきました。

あとCCの写真もスライド中使わせていただいています。ありがとうございます。

映像

また、Ustreamにおそらく配信されたものと同じ録画が上っていたようなので、貼っておきます。無謀にも途中のデモがなにげにlivecodingだったので、壇上で立ったままコーディングする的なのをもっと練習すべきと思いました。。(その辺グダグダです)

http://www.ustream.tv/recorded/1833622

リソース

僕が作ったリソースは以下です:

今回のセッションでご紹介させていただいたライブラリ/アプリ:

irb for iPhoneは、シミュレータでしか動作しないかもしれません。あと、RubyCocoa for iPhoneは、3.0対応が不十分なため、2.xでビルドするといけると思います。この辺、しばらくメンテしてなったので、ちょっとメンテを再開してまず最新の環境でも簡単に動くようにようと思います。。

感想とか

今回セッションで話していて、途中で、みなさんiPhone持ってますかー?というのを会場の皆さんにお聞きしたんですが、「すごい!」と半絶句してしまって、ちゃんと言えてませんでしたが、ほぼ3/4以上の人が手を挙げていたような気がしました。アプリ開発している人ー?というのもお聞きしたんですが、こちらも1/4ぐらいでした。もっとアウェイな感じになるかなーとか思ってたのですが、Macセッションからの続きというのもあった所為か、会場のMac率も9割方みたいな感じで、このRubyコミュニティを見ても、iPhone色々来ているなあという感じがしました。

逆に今回のセッションの内容的に、RubyCocoa for iPhoneはデバック用だよ的な結論にしてしまって、なんというか、みなさんの(暗黙の)期待を裏切ってるようで、ほんと申し分けない気がしてきました。。というぐらい熱気がありました。

ということでMacRuby 0.5のほうでの可能性を探るのを、再開しようと思います。まえからも大分色々勉強してたりとかしているのですが、技術的に僕自身まだまだ追い付いてない感じです。。

このMacRubyはそもそもやってる仕事自体が大きいというのもあって、(なんせRuby自体をほぼ作りなおしてますので) 人手がぜんぜん足りてないそうです。iPhoneへの移植ともなると、さらにハードルが高いと。Vincentさんのセッションのなかで、MacRubyiPhoneへの移植話についてVincentさんが回答されていましたが、「対応検討中」とのことで、このままだとまだまだ道程はながそうです。

その辺Apple社がリソース投入的な意味で、どう気合を入れてくるかも気になるところではあったりするのですが…。どうなんだろう、期待できないのかなあ?? LLVMバックエンドって、Rubyにとってもすごい画期的だと思うんですけど。

現時点での僕自身の考えでは、iPhoneの移植では、MacにあってiPhoneにはない(Cocoaの)GCの部分をどうするか、という部分がいちばん問題になるのではないかと思っています。単にMac(Leopard〜)で使われているGCのAutozoneライブラリを移植すれば完了!という話ではなく、そもそもFramework側がGCに対応していないので、これをRubyCocoaのようにMRIGCと、NSAutoreleasePool併用みたいな感じにしないと、まともに動かないのでは、と。これだけでも相当大変な仕事になるのではないかと感じています。まずは、その辺も、とっかかりというか、足掛りというか(本当にボトルネックはそこなのか、というのも含めて…)、そこを探すところから始まる気がしています。

RubyKaigi2009で喋ってきます

ようやくスライドが完成したところなんですが、「RubyをつかったiPhoneアプリケーション開発」というタイトルで喋ってきます。7/19(日)のおそらく15:00ぐらいからです。おもにRubyCocoa for iPhoneの話とそのデモです。

http://rubykaigi.org/2009/ja/talks/19M07

RubyKaigi2009にお越しの方でご興味のある方是非どうぞ。おそらくUstreamでも(回線が調子良ければ)リアルタイム配信されると思います。

http://www.ustream.tv/channel/rubykaigi2

[告知]退職しました。フリーで再出発します。

昨日(6/30)付けで取締役を退任&退職し、いちプログラマになりました。(ただし、弊社のフリーの営業の立場として、週1ぐらいで通う予定なので、完全に退職した形ではないのですが、常勤ではなくなりました。)

プログラマとしては、今後しばらくはフリーでの活動を行い、最長でも1年以内に自分の会社(合同会社/LLC)を設立しようと思っています。

月日は流れるのが早いもので、(株)エスグラ*1の前身の(有)エスグラを3人で共同創業してから*2、もう7年になりました。それ以来、CTOとして実務をずっと担当しており、ここで抜けるのは心苦しいものがあります。幸いなことに、信頼できる仲間達に仕事を譲ることができたので、今後も粛々と業務をこなしていってくれると思います。

Don't waste your time living someone else's life

たぶん一番大きなきっかけとしては、AppleSteve Jobsの、スタンフォード大学卒業祝賀スピーチでのこの言葉 *3

Your time is limited, so don't waste it living someone else's life. Don't be trapped by dogma ― which is living with the results of other people's thinking. Don't let the noise of others' opinions drown out your own inner voice. And most important, have the courage to follow your heart and intuition. They somehow already know what you truly want to become. Everything else is secondary.

http://news.stanford.edu/news/2005/june15/jobs-061505.html

だと思います。そう、その時私は "someone else's life" を生きてしまっているのではないかと、はっと気づかされました。そして何が "I truly want to become" なのかもだんだん分ってきました(下記)。なにが "someone else's life" なのかをここに具体的に書くのは止めますが、こっそり酒の席でも聞いてやってください。

今後何をやるか

ずばりiPhone関連の仕事を中心に行っていきたいと考えています。AppStoreでの自分のアプリ販売ももちろん考えているのですが、それ以外に現状すでにお話しをさせていただいている案件として、レベニューシェアでの共同開発、開発のコンサルティング、開発受託があります。いずれも、お互い(orみんな)幸せになれるような仕事の進めかたを模索していこうと思います。

そもそもなぜiPhoneなのか、というと、そのプロダクトのデザイン自体もすばらしく(私がいわゆるApple信者であることを差し引いても、現時点ではやはりモバイルデバイスとしての完成度の点で、他を圧倒していると思います)、アプリを作るのも非常に楽しいのです。やはりこれからのコンシューマPC市場は、NotePCなどからもっと小型のモバイル、特にスマートフォンと呼ばれるセグメントへのシフトがさらに進むのではないかというところで、その将来性を買っています。

ただ、iPhoneアプリの主戦場であるAppStoreでの現状を見ると、上位プレイヤーにかなりの売上が集中するモデルなので、そのあたりを考慮した戦略がないと、AppStoreではかなり厳しい戦いになる予感がひしひしとしています。ですので、AppStore一辺倒でなく、iPhoneアプリに関するその周辺のビジネス(コンサルティングや技術協力などの面など)も模索したいと考えています。

私のポートフォリオ

最後に今までの自分のポートフォリオを可能な限り書いてみます。もし、私に「仕事をふってやっても良いよ」、という方がいらっしゃいましたら、ぜひご相談させてください。「何か一緒に作りたいんだけど」、というお話もぜひぜひ大歓迎です。レベニューシェアでのお話なども柔軟にご相談できます。メールなどでご連絡いただければ*4、いつでもご相談に応じますので、ぜひ今後ともよろしくお願いいたします。

Softwares / Services
Blogs
簡単な自己アピール

10年以上映像画像処理などを中心として、Web周りも含めさまざまな分野をやってきました。原点(Composite Station)から考えると、いかに現実的な時間内でソフトウエアを高速に動作させるか、というのが私の大きな1つのテーマかもしれません。そういった意味で、モバイルのような、やや環境の厳しいような所でも、現実的な範囲内でいかにユーザーが快適であるものを作れるのか、というのを追求しています。またUIデザイン的なところでも、いかにシンプルにユーザーが目的とすることができるのか、という点を追求したりすることも好きであったりします。

*1:映像システム関連やモバイル関連をメインとしたほぼ受託専門の会社です

*2:実はその前私はフリーでした

*3:このスピーチは日本語字幕付きの映像もあるので、もしご覧になってない方はぜひ http://video.google.com/videoplay?docid=9132783120748987670

*4:メールは takuma104 at gmail dot com でお願いします

*5:http://ipodtouchlab.com/2009/05/twitter-client-iphone-ipod-touch.html