てっく煮ブログ

2010年07月26日

東山三十六峰のマイマップを作った

京都東山の山々のことを東山三十六峰と呼ぶことがあるが、具体的に36個の山が何であるかは諸説あるようだ。

そんな中、小林利臣さんという方が 各種文献を比較しつつ、東山三十六峰の位置を特定 されている。この資料は大変興味深いのだけど経度緯度をみただけでは位置を直感的には把握しづらい。

そこで、経度緯度の位置を Google Maps のマイマップ機能を利用して表示してみた。


東山三十六峰

これでそれぞれの山の位置が分かりやすくなった。Google Maps なので拡大して場所の特定もしやすい。

また、Google Earth がインストールされていれば、KML 版 を開くことで、立体感のある表示ができる。Google Earth と連携した使用例は次のキャプチャだ。

私が以前、京都一周トレイルの東山コースを七条〜三条まで歩いたときの GPS データを重ねている。自分が歩いたコースとその近辺の山を見比べてニヤニヤできて非常に楽しい振り返り(=自己満足)ができた。

ちなみに、マイマップに登録するための経度緯度情報の算出には意外に苦労していて、オリジナルの情報は 34.59580 のように書いてあって 34.59580°なのかと思いきや実は 34°59′58.0″だったり、日本測地系を世界測地系に直さなきゃいけないかったり、36個もあるので手作業で変換するのは大変なのだが、完全に自動化するのは馬鹿馬鹿しくて勢いで簡単なスクリプトを書いてみたりした。

2010年06月07日

HTML5 雑感

twitter にちょぼちょぼ書いてたけど改めてまとめてみた。

HTML5 の捕らえ方

AppleAdobe CS5 ブロックに思う

少し落ち着いて

私がまだあまり HTML5 に積極的ではない理由

(追記 2010/06/09)

まとめ

最近、はてなダイアリーに実装された twitter 記法 を試してみたかっただけ。

2010年04月30日

なぜ iPhone に Flash が搭載されないのか(Appleの弁)

Apple のスティーブジョブズ CEO が公開した Thoughts on Flash を和訳してみた。

この文章では、「なぜ iPhone、iPod、iPad に Flash が搭載されないのか」について Apple の立場から6つの理由を説明している。細切れにジョブズの口から理由が語られたことはあったが、まとまって文章化されたことはなかった。

目次

  1. Flash はオープンじゃない
  2. 全ての Web を見るために本当に Flash は必要か?
  3. セキュリティとパフォーマンスを犠牲にしたくない
  4. Flash を使うとバッテリーが持たない
  5. Flash はタッチを前提としていない
  6. 一番重要な理由

Apple は Adobe と長い期間、関わり合ってきた。実際、我々が Adobe の設立者に会ったのは、彼らがガレージで起業したばかりのころだった。Apple はレーザープリンタに Adobe の Postscript を採用し、Adobe の最初の大きな顧客となった。Apple は Adobe に投資し、長らく Adobe の 20% の株を保有していた。2つの会社は密接に協力して DTP 分野を開拓して黄金時代となったのだが、その後2つの会社は疎遠になった。Apple は瀕死の状態を経験し、Adobe は Acrobat 製品を利用して法人向けマーケットを強化した。今日、2つの会社は共通する顧客を満足させるために協力している。Mac ユーザーの約半数は Adboe Creative Suite を購入しているのだ。だが、共通する利益はほとんどないのが現状だ。

なぜ Flash を iPhone OS に採用しないのか。顧客と批評家に理解してもらうために、我々の Adobe Flash 製品に対する考えを書き留めておこう。「Apple はビジネス上の判断で Flash を搭載していない」「Apple は App Store を守りたいのだ」と Adobe は主張している。しかし、実際には、技術的な問題が理由である。「Apple はクローズドであり、Flash はオープンである」と Adobe は主張する。しかし、実際には逆である。説明していこう。

1. Flash はオープンじゃない

Adobe の Flash は 100% プロプライエタリな製品である。Flash は Adobe のみが提供し、Adobe のみが将来的な機能拡張や値段付けなどを決定できる。Flash は多くの環境で利用可能ではあるが、だからといってオープンとは言えない。なぜなら、Flash は Adobe によって完全に制御されているし、Adobe のみが提供しているものだからだ。どのように定義しようと、Flash はクローズドなシステムである。

Apple の製品もプロプライエタリである。iPhone OS はプロプライエタリであるが、我々は Web に関連する標準は全てオープンでなければならないと強く信じている。Apple は Flash を捨て、オープンな標準である HTML5・CSS・JavaScript を選択した。Apple のモバイル端末はこれらの標準の高性能・低電力な実装を搭載している。HTML5 は新しい Web 標準であり、Apple や Google などの多くの会社が採用している。HTML5 を利用すれば、Flash のようなサードパーティーのプラグインなしに、グラフィックやタイポグラフィ・アニメーション・トランジッションを実現できる。HTML5 は完全にオープンであり、Apple も参加している標準化委員会によって管理されている。

Apple はまさにオープンな Web 標準を作っているところなのだ。例えば、Apple は WebKit を開発した。WebKit は完全にオープンソースな HTML5 のレンダリングエンジンであり、Apple の全ての製品に含まれるブラウザ Safari の心臓部分である。WebKit は広く採用されている。Google が Android のブラウザとして利用し、Palm も利用し、Nokia も利用し、RIM (Blackberry) は将来利用すると発表している。Microsoft 以外のほぼ全てのスマートフォンのブラウザが WebKit を採用している。WebKit の技術をオープンにすることで、Apple はモバイル端末のブラウザの標準となった。

2. 全ての Web を見るために本当に Flash は必要か?

Adobe は「75% の Web 上のビデオは Flash ベースであり、Apple のモバイル端末は『全ての Web』にアクセスできない」と繰り返し主張してきた。しかし実際には、ほとんどのビデオは、よりモダンなフォーマットである H.264 でも提供されており、iPhone OS 閲覧できるのだ。Web 上の 40% のビデオを占める YouTube は Apple の全てのモバイル端末で再生できるし、iPad は YouTube の優れたユーザー体験を提供している。さらに、Vimeo, Netflix, Facebook を加え、ABC, CBS, CNN, MSNBC, Fox News, ESPN, NPR, Time, The New York Times, The Wall Street Journal, Sports Illustrated, People, National Geographic を加えると、iPhone OS のユーザーはほとんどのビデオを閲覧できているのだ。

Adobe は「Apple の端末では Flash ゲームができない」とも主張する。これは事実である。ただ、幸運にも App Store には5万以上のゲームやエンターテイメントのタイトルがあり、この多くは無料である。iPhone OS は世界中の他のどのプラットフォームよりも、ゲームやンターテイメントのタイトルが多いのだ。

3. セキュリティとパフォーマンスを犠牲にしたくない

シマンテックは2009年、最もセキュリティが低い製品の1つとして Flash を取り上げた。我々は Mac がクラッシュする原因の1位が Flash であることを身をもって知っている。我々は Adobe と協力して修正に努めてきたが、現在も解決しないまま歳月が流れている。我々は iPhone OS の信頼性やセキュリティを確保するために、Flash を搭載していないのだ。

さらに、モバイル端末では Flash のパフォーマンスがよくない。我々は継続的に Adobe に対して「Flash がモバイル端末で正しく動作するところを見せてくれ」と要求してきたが、いまだに見れていないのである。Adobe の広報は次のように言っていた。「Flash は 2009年初期にはスマートフォンに搭載される」「2009年下半期には搭載される」「2010年前半には搭載される」…。そして今、「2010年後半には搭載される」と言っている。最終的には搭載されるとは考えているが、我々がそれを待っていなくてよかった、と安心している。そのような状況なのだから、Flash の性能がどうなるかなんて、誰が分かるんだろうか?

4. Flash を使うとバッテリーが持たない

ビデオ再生中にもバッテリーを長持ちさせるためには、ハードウェアデコードすることが重要となる。ソフトウェアデコードを行ってしまうと、バッテリーの消費が激しくなる。最近のモバイル端末で利用される多くのチップは H.264 のデコーダを搭載している。H.264 は全ての Blu-ray DVD プレーヤで利用され、Apple や Google(YouTube)、Vimeo・Netflix など多くの会社によって採用されている業界標準である。

Flash も最近になって H.264 に対応した。しかし、Flash サイト上にあるほとんどのビデオを再生するには、モバイルチップが対応していない旧世代のデコーダが必要であり、それはソフトウェアデコードしなければならないことを意味する。これは致命的なことだ。例えば、iPhone では H.264 ビデオなら10時間再生できるのに、ソフトウェアデコードを行うと5時間ももたずにバッテリーを使いきってしまう。

Web サイトが H.264 を利用してビデオを再エンコードしてくれれば、Flash は必要なくなる。Safari や Google Chrome のようなブラウザではプラグインなしにビデオを再生できるし、iPhone OS でも再生できる。

5. Flash はタッチを前提としていない

Flash は PC 上でマウスを利用することを前提として設計された。そのため、タッチスクリーン上での指を使った操作に対応していない。例えば、多くの Flash サイトは「ロールオーバー」に頼っており、特定の場所にマウスを持っていくとポップアップメニューなどが表示される。Apple の革新的なマルチタッチインターフェースにはロールオーバーの概念は存在しない。そのため、Flash サイトの多くは、iPhone OS で閲覧するためには、タッチ対応に再構築しなければならない。もし、開発者が Flash サイトを再構築するなら、HTML5/CSS/JavaScript のようなモダンな技術を使えばよい。

もし、iPhone OS で Flash が動いたとしても、多くの Flash サイトをタッチに対応させるために再構築しなおさなければならない、という問題は残っているのだ。

6. 一番重要な理由

ここまで、Flash がクローズドでプロプライエタリであり、技術的な欠点があり、タッチに対応していない、と述べてきた。それ以上に、我々が iPhone OS に Flash を搭載しない重要な理由がある。Adobe は Flash を利用して我々のモバイル端末上でアプリケーションを開発するよう開発者に望んでいる。

プラットフォームと開発者の間に、Adobeのようなサードパーティーの中間層が挟まると、低水準のアプリケーションが生まれ、プラットフォームの進化が止まってしまうのだ。例えば、ある開発者がサードパーティーのライブラリやツールを利用して開発したとする。そうすると中間層のライブラリやツールでプラットフォームの新機能がサポートされるまでは、その開発者はプラットフォームの新機能を使えない。新機能を使えるかどうかや、いつ使えるようになるかをサードパーティーの手に任せたくないのだ。(訳注: Packager for iPhone を利用したアプリは、Adobe が対応しない限りは iPhone OS のマルチタスク機能を利用できないことになる)

サードパーティーがクロスプラットフォームな開発環境を提供していると、状況はさらに悪化する。サードパーティーはクロスプラットフォーム環境の全てで利用可能な機能のみを提供するため、1つの環境にしか存在しない機能には対応しないだろう。そのため、開発者は全てのプラットフォームに共通する最低限の機能しか利用できないことになる。他のプラットフォームには提供されていない機能である、という理由だけで、Apple のイノベーションや進化から開発者が遠ざけられることは許しがたい。

Flash はクロスプラットフォームな開発ツールである。Adobe の目的は「優れた iPhone OS 用アプリケーションを生み出すこと」ではない。Adobe の本当の目標は「開発者がクロスプラットフォームでアプリケーションを開発する手助けをする」ことである。また、Adobe は Apple のプラットフォームの進化への対応が著しく遅い。たとえば、Mac OS X は約10年前に公開されたにも関わらず、Adobe は 2週間前に発表した CS5 でやっと Mac OS X (Cocoa) に完全に対応した。メジャーなサードパーティーの中では Adobe が Mac OS X への対応が一番遅かった。

我々のモチベーションは単純だ。世界一進化した革新的なプラットフォームを開発者が直接利用することで、世界一素晴らしいアプリを作成してもらいたい。素晴らしいアプリケーションを開発してもらうために、我々は継続的にプラットフォームを進化させていく。Apple は素晴らしいアプリケーションを利用して多くの端末を売ることができるし、開発者はより多くのユーザーにリーチできるし、ユーザーは素晴らしいアプリケーションで喜ぶことができる。Apple も開発者も顧客の誰もが喜ぶ。

結論

Flash は PC 時代にマウスのために作られたものだ。Adobe が Flash の成功を PC の外に広げたい気持ちは理解できる。しかし、モバイルの時代には、低消費電力、タッチ、オープンな Web 標準が求められており、Flash では実現できないのだ。

多くのメディア企業が Apple のモバイル端末にコンテンツを提供しており、Flash はもはやビデオや Web コンテンツの閲覧には不要である。20万ものアプリケーションが App Store には存在しており、何万人もの開発者が Flash を利用せずともアプリケーションやゲームを作成している。

HTML5 のような新しい標準はモバイル端末(とPC)で成功を収めるだろう。できれば Adobe には HTML5 に対応した優れたツールを作成していただき、Apple の進化を批判するのは控えてもらいたいものだ。

スティーブ ジョブズ

2010年4月

個人的には「5. Flash はタッチを前提としていない」は確かにその通りだと思うし、Flash に致命的なセキュリティーホールが多いのも事実なので、iPhone に Flash が載ってないのは理解できる。

ただ、「中間層があるとプラットフォームの進化が止まる」という主張には賛同しかねる。Apple は中間層を無視してプラットフォームを進化させたらいい。本当に革新的な進化に自信があるのならば、Apple は全ての中間層を許可した上で、iPhone SDK を直接使った革新的なアプリケーションのほうが App Store で人気になることを証明すればいい。そうじゃなく最初から締め出そうとするのは、プラットフォームの機能をフルに利用しないアプリケーションでもヒットしてしまうことを知っているからではないのだろうか。

誤字脱字、誤訳などの突っ込みはコメント欄または @ まで。

関連記事

和訳に当たっては、次の2つの記事を参考にさせていただきました。

2010年04月08日

「北海道を落とすとどう跳ねるのか?」がニコニコ動画で再ブレイク中!?

ちょうど1年前ぐらいに公開した 北海道を落とすとどう跳ねるのか? - てっく煮ブログ が、なぜだか今になってニコニコ動画で人気が出ている。

D

この動画は私がアップロードしたものではないが、どこかの誰かが Flash をキャプチャしてアップロードしてくれたようだ。説明文にオリジナル記事へのリンクもあるので、このブログへのアクセス数も少し増えている。ありがたい。

どれぐらい話題になってるのか

ニコニコ本家のランキングに見つからなかったので、ニコ厨な友人に教えてもらったところ、

などと、さらによく分からない言葉が返ってきたが、そこそこ話題になってることは判明した。

実際、ここ2日の動画再生数が10万回を超えており、これはオリジナルが2ヶ月かけて達成したページビューに相当する。

恐るべし、ニコニコ動画。

自分でもアップロードしたかったが…

この作品は、当初からニコニコ動画で人気が出る可能性を秘めていると思っていて、動画の作成までしていたのだが、

  • BGM がなくて寂しい
  • 改めて見るとダラダラ長いので再構成したい
  • どうせなら BGM に合わせて落とすと楽しいはず

などとと思ってしまい、そこで作業が止まっていた。

が、オリジナルのものでも人気が出てしまうところをみると、元もとの作品の力を信じてあげられなかったのが申し訳ない気分だ。

このままでは少し悔しい(?)のでオリジナル作品を高画質でキャプチャしたものをアップロード中。が、リサイズでボケた動画になったので停止…。動画公開は難しい…。

2010年03月23日

Bloggie のドーナッツ状パノラマ動画を変換してみた

bloggie という手軽にパノラマ動画を撮れるオモチャで遊ぶシリーズの第3回。前回、静止画のコンバーター ができたので、いよいよ動画にチャレンジする。

bloggie の動画は MPEG4(H.264/AVC) なのでそのまま Flash で読み込める。つまり、オリジナルの動画を再生しながら毎フレームごとに変換していけば、やや CPU は食うが展開して表示することはできる。実際、 Flashで360度パノラマ動画MotionVRを再生 | ClockMaker Blog ではそのようにやってる。

同じ方法を試しても面白くないので、ここではドーナッツ状の動画を展開した動画を作ってみることにする。

できあがり

完成品がこちら。

D

製品付属の変換ツールを使わずに変換してみた。自転車で bloggie を手持ちしつつ鴨川沿いを走った動画でございます。

手順

動画といっても、コマごとに変換してやればいいだけ。フリーの定番動画変換ツール、ffmpeg を活用してみた。

  1. ffmpeg を利用して撮影画像をコマごとに画像として分解する (参考: フリーランス アキのオープンソース活用術: FFMpegで動画を画像にする)
  2. 静止画のコンバーター のソースを流用して、各画像を変換するツールを AIR で作成する
  3. ffmpeg を利用して変換後の画像から動画を再構成する (参考: フリーランス アキのオープンソース活用術: FFMpegで連続画像から動画を作成する)

もう1つサンプル

動画にできたのなら、あとは左端と右端を繋げればループしてくれる。ということで作ってみたのがコレ。

続きを読む