TrickleというTwitterクライアントがすごい

TrickleというTwitterクライアントをApp Storeで偶然見つけて,それが僕にはたいへん印象的だったので久しぶりにダイアリを書きます.

The domain name trickleapp.com is for sale | Undeveloped

iPhoneiPad用のTwitterクライアントというと,

タイムラインをTableView(指でスワイプ出来るあれ)で表示して,下のタブに返信やダイレクトメッセージなどのビューを切り替えるボタンがある

といったフォーマットに沿ったものが多いです.基本のフォーマットが同じなので,評価のポイントは機能の豊富さや,それらの機能を収めるユーザーインタフェースが使いやすいかどうか,といったことに集中しがちです.しかしTrickleはそういったシーンとは「目指しているゴールが違う」Twitterクライアントです.結論からいうと,Trickleの本質的なアイデアは以下の画像でほぼ説明されます.


(注:すごく高橋メソッドっぽいですが,高橋メソッドではありません)

TricleがTwitterクライアントとして出来ることといえば

  • 画面いっぱいにtweetを表示
  • 新しいtweetが自動的に読み込まれてスクロールする
    • 表示時間はtweetの長さに応じて変わる.こういう一見気づかないところに凝っているのがかっこいい
  • 琴線に触れたtweetが現れたらfavやRTが出来る
  • 気になるリンクが現れたらタップするとSafariが開く

ぐらいです.

Trickleは何も操作しなくても勝手に新しい発言が読み込まれるので,ちょうど時計アプリみたいに,目に入るところにiPhoneなりiPadの本体を置いておくことが想定されていそうです.こういったタイプのTwitterクライアントは主流にはならなそうですが,その代わり一般的なTwitterクライアントではカバーできていない,

機器に触らずにタイムラインをなるべく受動的にながら見したい,ただたまにfavやRTはしたい

というニーズを補完するのが開発意図なのでしょう.少なくとも僕は使ってみて自分の中にそういうニーズはあることに気づかされました.

ところでこんなシンプルなアプリに長い説明は蛇足もいいところだと思うし,実際に使ってみないと伝わらないことは多いです.App StoreiPad/iPhone/iPod touch対応で今だと115円です.個人的にはiPadで使うのがおすすめです.
http://itunes.apple.com/jp/app/trickle/id393837637?mt=8

しかしこのTrickleというアプリは,このエントリを書いてる時点では日本のApp Storeでの評価0件,レビューも0件と日本ではほとんど注目されていないアプリのようです.本エントリでその良さに気づく人が居れば幸いです.

KodakのデジタルフォトフレームEasyShare P750がかなり頑張っている件

Kodakといえば往年のカメラフィルム製造業で大成功したものの、その後の世界的なデジタルカメラの普及の波に乗れなかったという、イノベーションのジレンマの典型的な例として、割と不名誉な取り上げられ方をされることが多い企業という側面があります。(参考: http://ameblo.jp/akihikoakihikoakihiko/entry-10708865021.html)

そのKodakが最近、デジタルフォトフレームというジャンルの製品でかなりバランスのいい製品を出していたので紹介します。

http://wwwjp.kodak.com/JP/ja/digital/pictureframe/P750/

この製品、2010年12月5日現在、ネット上や家電量販店の店頭では、国内メーカーの製品に押されてかほとんどまったく話題になっていません。しかし私は、Kodak EasyShare P750は店頭で目立たないものの実は隠れた名機だと思っています。一方でこれは、家電量販店のデジタルフォトフレーム売り場で一通りの機種を実際に試すぐらいしないと、なかなか気づかないはずです。

店頭で見栄えのするいい液晶を採用し、デジタル写真をそこそこ奇麗に表示できているように見えると、それだけでいい製品に見えがちです。しかし、大抵の製品ではユーザインタフェース面での品質、つまり本体のボタンの位置、数、形状、クリック感、メニュー構造の分かりやすさ、操作の手数の少なさ、メニューのフォント品質、そして操作に対する応答性のうちどれかが大抵欠けています。

(注: 私は昔からユーザーインタフェースに強い興味をもっているので、こういうところはかなり注意して見ています)

競合製品と比べたときのKodak EasyShare P750の特徴としては、以下のような感じになります。

  • この手の組込み機器のソフトウェアとしては作り込まれた奇麗なユーザーインタフェース
  • 人物の顔を認識し、顔を中心にズームする「インテリジェントズーム/パン」機能
  • 独自のカラー最適化技術「KODAK Color Science」による写真の色味の最適化
  • 8インチ800x600ドットと競合製品(7インチ800x480が多い)に比べて縦サイズがあるため、横置きで縦長の写真を表示してもそれほど小さくならない
  • LEDバックライトで中の上ぐらいの画面品質(さすがにSonyのS-Frameなどには負けるが)
  • 日付ベースで表示したい画像群を簡単に探せる機能
  • 周囲の明るさと音をセンサーで検知し、電源のオン・オフを自動的に制御する機能
  • ファームウェアアップデート機能
  • それでいて予算1万円でおつりが来る、この品質のデジタルフォトフレームとしてはかなり安い価格設定

動画や音楽を再生するなど、競合製品のような派手な機能はありませんが、しかしデジタルフォトフレームとして欲しいであろう機能はしっかり網羅されており、その点では値段が3倍ぐらいのする高級機種と比べても全く遜色ないどころか凌駕している部分もあります。

しかしここまでの力の入れようを見ると、もしかするとKodakデジタルフォトフレームの分野で、往年のカメラフィルム並とはいかなくても、結構な成長を見込んでいるのかもしれないなと思いました。また個人的にも、どちらかというと失望させられることの多い組み込み機器のUIの中で、ひさしぶりに感心した気がします。

これからクリスマスシーズンに入りますが、デジタルフォトフレーム選びに店頭に足を向けた際には、有名メーカーのメジャーな機種だけでなくKodak EasyShare P750もチェックしてみることをおすすめします。

フリーソフトだけを使った長時間DVDのオーサリング作業まとめ

友人から「昔一緒に出た音楽イベントの模様を撮影した動画ファイルがあるんだけど、これを一般的なDVDプレイヤーで視聴できる形式のDVDにしてほしい」といったことを頼まれたのでフリーソフトだけでやってみました。

結論からいうと、フリーソフトのDVDオーサリングソフトウェアの選択肢はいろいろあるものの、自分の使用目的ではDVD Stylerでしか正常なDVDを作成できませんでした。

DVDのオーサリング作業というのは時間がかかるので、出来れば失敗したくないものです。なので、発展途上のフリーソフトを利用するよりも、定評があり信頼性の高い有料のソフトウェアを利用する方が、現段階では賢い選択なのかもしれません。(ちょうどお仕事で代替のフリーソフトがあったとしても有料の製品を使わざるを得ないシーンがあるように)

元データの仕様

元データは、昔大学で開催した音楽イベントの模様をデジタルビデオカメラで記録したもので

動画部分
MPEG2-PS 9000kbps
音声部分
MPEG1 Layer-II 48khz 224kbps
記録時間
6時間弱
記録容量
12GB程度

とそれなりに高画質・高音質・長時間・大容量なデータで、これをいかに品質を保ったままDVDとしてオーサリングするかが課題です。

チャプター分割

私が把握している限り、フリーソフトのDVDオーサリングソフトで利用可能なチャプター分割機能は、どれも任意の再生位置では分割できず「動画ファイルごと」もしくは「n分おき等間隔で」といった方式でしか対応していません。そこで、元の長い動画ファイルから出演団体ごとの動画ファイルとして切り出してやる必要があります。このための要件として、

  • 動画をプレビューしながら切り出し開始時間、終了時間を指定できる
  • 動画切り出し時に再エンコードせずコピーに対応(画質・音質の劣化を避けるため)

といったことが必要でした。こういった要件を満たすフリーソフトは意外と無くて、私にはAvidemuxというフリーソフトしか見つけられませんでした。なのでこれを使ってチャプター分割作業を行いました。なお、このAvidemuxというソフトは動画形式の変換をサポートしているので、元データがDVDオーサリングソフトで直接読み込めない形式だった場合、Avidemuxで変換するのも有効だと思います。

記録メディア選定

記録メディアをどれにするかは迷いましたが、片面2層で8.4GBお記録容量があるDVD-R DLを選びました。理由は4.7GBのDVD-Rを選んだ場合

  • 再生品質を保とうとすると3枚程度のディスクに分割して記録する必要があり、入れ替えの手間がかかってめんどくさい
  • 6時間弱の動画を無理やり片面1層のDVD-R 4.7GBにまとめると、再生品質が低くなりすぎる

というデメリットを、8.4GBの記録容量があるDVD-R DLだとある程度緩和できると考えたからです。DVD-R DLの互換性に若干心配があります。しかしいろいろ調べたところ、最近のDVD再生機器ならほぼ大丈夫なようです。

DVDのオーサリン

DVDオーサリングソフトのうち以下の要件に合うものを試しました。

  • DVD-R DL(8.4GBの片面2層DVD)に対応している
  • 長時間の動画データをDVDの最大記録容量(4.7GB or 8.4GB)に合わせて再エンコード可能

以下、この要件を満たすフリーソフトのDVDオーサリングソフトを試した順番に、ダメだった理由を箇条書きしていきます。

iMovie+iDVD

(厳密にはフリーソフトではなくMac購入時に付属してくるソフトウェア)

  • iDVDには出力する動画の品質を3段階から選ぶことで、記録可能な動画の再生時間を伸ばせる機能があるものの、その幅があまり広くない(記録可能時間が最大でもプラス数十分程度しか増えない)
    • この理由でiMovie+iDVDは使えませんでした
DeVeDe
  • 出来上がったDVDイメージにおいて、各シーンの終了3秒前に謎のチャプターが作成されるバグあるいは仕様に遭遇し、回避方法分からず
DVD Flick
  • 読み込む動画データの形式によっては、作成したDVDの映像と音がずれるバグがあるらしく、それに遭遇して解決方法分からず
DVD Styler
  • 「対象とするDVDの最大記録容量と入力映像データの再生時間を考慮してエンコード品質を調節することで、DVDの最大記録容量ぴったりに収める機能」が、入力画像データの形式によっては初期状態で無効になっている
    • 動画ファイルの読み込み設定を「コピー」から「NTSC 720x480」に変更することで本機能が利用可能になりました

結局最後に試したDVD Stylerで無事DVDをオーサリングできました。不要な部分をトリミングしたら5時間強程度になり、それをDVD-R DLに焼きこんだのですが、元の動画データとそれほど遜色ない品質で仕上がりました。

進学先研究室の決め方をどうやって思いついたか

この間書いた私はこうやって進学先の研究室を決めました - yanbe.logで当時とったアプローチを、そもそもどうやって思いついたか思い出しました。

たしか私が中学生のころに「グスコーブドリの伝記」というアニメ映画を観て、それは宮沢賢治が書いた同タイトルの童話をアニメ化したものだったのですが、

そして、いろいろな本を一山ブドリに渡しました。ブドリは仕事のひまに片っぱしからそれを読みました。ことにその中の、クーボーという人の物の考え方を教えた本はおもしろかったので何べんも読みました。またその人が、イーハトーヴの市で一か月の学校をやっているのを知って、たいへん行って習いたいと思ったりしました。

宮沢賢治 グスコーブドリの伝記

多分このシーンが印象に残っていたから、先のエントリで論文誌において似たようなアプローチをとったのだと思います。この後ブドリは文中で出てくる学校に入学するのですが、私が大学(学部)に入学するまでは、大学とはこういうところだとイメージしていました。今考えるとかなりナイーブですが。

過去の自分の経験がどこでどう影響してるかわかりません。

私はこうやって進学先の研究室を決めました

なぜこの文章を書こうと思ったか

最近大学院入試の出願を控えて進路について迷ってる人をWebのいろんなところで見かける割に、Webでこういう問題について扱っているページをあまり見ないからです。

5月〜6月というのは翌年4月に大学院に進学したい人が志望先を決めるシーズンであり、昔自分も迷った経験があるので、こうして書くことでだれかの参考になればいいと思いました。

結論

私が実際に大学院に進学して4年ほど経ち、自分でいろいろ体験したり見聞きしたりした上での現段階での結論は、

進学先を選ぶにあたって、どこで最先端の研究をやっているかを知るには、自分が関心がある研究分野に実際に携わっている研究者に聞くのが一番いい

ということです。研究者は、自分が取り組んでいる研究分野の最近のトピックがどの研究コミュニティによって取り組まれてきたかを、大体は調査し把握しているはずだからです。

もし幸運にも自分の人脈の範囲にそのような話を聞ける人がいるなら、3人ぐらいに話を聞いてそれらの話を統合して進学先を決めるのが、結果的に正確な選択ができそうです。

私(id:y_yanbe)が2005年5月ごろに進学先の大学院を決めるにあたって実践した方法

しかし一般的な学部4年生の段階で上記のような話を聞ける人脈があるかというと、個々人の置かれている環境にもよりますが、多くの場合難しいのではないかと思います。少なくとも2005年当時の私には(リアルでもネットでも)そういう人脈はありませんでした。また、進学先の決定という、向こう2年なり5年の自分の環境を左右する決断において、人の話を鵜呑みにするのはリスクが大きいです。そこで私は、以下の方法で自分なりに調査を行った上で進学先を決めました。

0. そもそもなぜ大学院進学にあたって大学を移ろうと思ったか

私がやりたいと思っていた研究分野(Webマイニング)をとくに扱っている研究室が、学部の時に所属していた大学にも、実家から通える範囲にある別の大学にもなかったからです。

この段階で大学院からは実家を出て一人暮らしをすることが決まり、同時に、進学先の選択肢が日本全国の大学院の研究室に広がりました。つまり

日本全国の大学の研究室から、自分がやりたい研究に取り組むにあたってもっとも適した研究室を発見する

という、探索空間が広くてかつ評価関数も自明でない問題に取り組むことになりました*1。そこで当時は、可能な限り探索範囲を広げてみるアプローチをとることにしました。

1. 関連する学会の論文誌を読みあさる

まず自分がやりたいと思っている研究がいったい日本のどの大学のどの研究室で取り組まれているのかを知りたかったので、大学の付属図書館にこもって自分の研究に関係ありそうだった情報処理学会人工知能学会、電子情報通信学会の各論文誌の過去5年分にひととおり目を通しました。また一部の研究会等で発表された論文に関しては研究会のWebサイトなどで無償で公開されていたので、それらにも目を通しました。

学部4年の5月の段階ではこういった研究論文を読むには前提知識が足りません。そのため、当時は詳細まで読み込むには至りませんでした。しかし論文の著者や共著者を注意深く見ることで「この大学のこの研究コミュニティはこういう研究に取り組んでいる」みたいな業界地図的なものや、「この若手研究者はたぶんこの先生の弟子」みたいな人間関係がぼんやりと見えてきていました。

2. 研究コミュニティ単位で興味深かった研究論文の本数をカウントする

論文を読みあさるうちに、面白そうだと思った研究論文が10本〜20本ぐらいたまったので、それらが属する研究コミュニティごとに論文数をカウントしていきました。研究コミュニティの見分け方ですが、共著者の一番最後が共通ならおおむね研究コミュニティだろうと判定していました。この作業により、最終的には5〜6つほどの研究コミュニティが浮かび上がってきていました。

3. 発見した研究コミュニティについて、さらに詳しく調査・検討する

一見別々の研究コミュニティに見えても、注意深く見ると、元は1つの研究コミュニティだったのが弟子の方が独立して別な大学に研究室をもっていた、というケースがあることが分かりました。その場合、弟子の先生に師事するか、師匠の先生の方に師事するかは迷いどころです。

個人的には、以下の理由で、師匠の先生の研究室を選ぶのが安定プランな気がします。

  • 師匠の先生の方が大学院生の指導経験が豊富なことが多い
  • 弟子の先生の職位が助教の場合、平均で5年ぐらいで別な大学に異動になることが多いため、自分の入学時もしくは在学中に入れ違いになるリスクが比較的高い

一方で、弟子の先生の研究室に入ることで、新進気鋭の若手研究者の元で研究に取り組めるのも、人によっては大きな魅力だと思います。ただ、この辺は個々人の性格や研究室の方針、縁などによってケースバイケースだと思うので一概に言えなそうです。

その他気に留めておいた方が良さそうなこと
  • 博士課程に進学する可能性があるなら、指導教官になる先生の年齢が(退官年齢-6歳)以下の研究室を選んだ方が無難です
    • 定年退官時に、研究室内で卒業年数に満たない学生については配慮されることがほとんどのようですが、途中で大学の籍が変わったり、指導教官が途中で替わって研究室の研究方針が変わったりといった事態は出来れば避けたい
    • 退官年齢(要は定年)は60歳のところが多いですが、最近は退官年齢が65歳になる大学も増えてきているようなので、もし関係ありそうな場合は調べた方がいいです
  • 論文誌として閲覧可能な論文は、一番新しいものでも実際には1年ぐらい前に取り組まれていた研究の成果であり、かつ自分が入学する頃には2年前になっている、といったタイムラグがあります
    • なので、「こういう研究をやりたい」というよりは「この研究の先にある、より新しい問題に取り組みたい」というつもりでいた方が実際に研究室に配属されたあととのギャップが少ないです
4. 志望先の研究室が所属する専攻の大学院入試を受け、合格し、入学する

進学希望先が決まったらあとは入試に向けてがんばりましょう。研究室訪問や入試説明会への参加、過去の入試問題の取り寄せ、などやることはたくさんありますし、その辺の手続きついて詳しく扱っているリソースは書籍にしろWebページにしろいくつかあるのでそれらに譲ります。

*1:そもそも人生におけるたいていの問題はこういう問題ですが ;-)

UNIX系OSでカレントディレクトリ以下を線形検索するより洗練された方法

昔書いたエントリを眺めていると、当時の自分の知識の範囲内で物事を解決しようとしているので、問題に対する解決方法が洗練されていないことがあります。たとえば以下のエントリはxargsコマンドを知らない状態で書きました。

シェル関数で指定ディレクトリ以下の全文検索を簡単にする - yanbe.log

今改めて読んでみるとシェル関数とか定義していて大げさです。そこで自分でフォローアップしてみようと思います。結論から言うと同じことが以下のコマンドで出来ますし、汎用性も高いです。

$ find TARGET_DIR | xargs grep TARGET_STRING

内容としては、

  1. findでTARGET_DIR以下にある全ファイル名をリストアップ
  2. それらのファイル名1つ1つについて、pipeでつないだxargsがgrepを起動
  3. マッチする部分があればファイル名・行番号とともに出力する

というものです。

不慣れなソースコードツリーでコードリーディングをするときで、特定の識別子(関数や定数)が使われている箇所に当たりつけるのに便利。

cdやlsなどを通常のコマンドとすると、xargsはメタコマンドといった感じのコマンドで、標準入力で受け取った各行に対して任意のコマンドを実行したり出来るため、pipeと組み合わせることでアイデア次第でかなり使えます。

つづきは man xargs で。

未来を予測する方法とガボールフィルタについて

インタラクティブ性が高いと質が低くても満足できる: iPhone 3G の話 - 武蔵野日記 経由。

アラン・ケイ氏によるこの名言には、二つのバリエーションがあるらしいことを知った。

The best way to predict the future is to invent it. - Alan Kay

We can predict the future by inventing it. - Alan Kay

後者の方が簡潔だし、Weが主語であることで、僕らにも出来るよ!とポジティブ。

オバマ氏の演説と同じだ。

このフレーズ"The best way to predict the future is to invent it."の日本語訳「未来を予測する最も良い方法は、未来を創り出すことである」で検索してみたら、同じ趣旨のことを言ってる人は他にも居て、

未来を予測する最も良い方法は、未来を創り出すことである - デニス・ガボール

この名前、なんか聴いたことがあると思ったら、ガボールフィルタを発明した英国物理学者デニス・ガボール博士だった。

ガボールフィルタは主に画像処理の分野で使われている高精度なエッジ抽出アルゴリズムで、人間の視覚における物体の認識方法がモデルになっている*1と2006年ぐらいにとある講義で知って、大変興味深かった覚えがあります。曰く、人間の目は差分(エッジ)を認識することで、物体を認識するらしいです。

この講義を聴いてすぐに、「既に自作していたQRコードデコーダのエッジ検出処理にガボールフィルタを採用したら、QRコードの検出精度が上がるのではないか」と思って、文献にあたって実装方法を調べていたのですが、すぐに(主な対象プラットフォームである)携帯電話では計算量的に割に合わないことが判明したのでした。