Swipe:Apple TV アプリを誰よりも早く作りたい人のために

4月から開発して来たSwipeがようやく安定して動くようになったので、Apple TV 向けのアプリが解禁になるのに合わせてオープンソース化することにしました。
|

4月から開発して来た Swipe がようやく安定して動くようになったので、Apple TV 向けのアプリが解禁になるのに合わせてオープンソース化することにしました。Swipe により、プログラミングの経験のないデザイナーやイラストレーターにも Apple TV 向けのアプリの開発が簡単に出来るようになります。

Swipe を作ることになったきっかけは、とあるメディア業界の人に「未だに紙に描かれた漫画をスキャンしてスマフォで読むという時代遅れな状態をなんとか解決して欲しい」と頼まれたことにあります。しかし、そのルーツは、Microsoft を辞めるきっかけにもなった「Intelligent Document 構想」にあります。

この構想は、「特定のアプリケーションで作ったドキュメントはそのアプリ(もしくはビューアー)が存在しないパソコンでは中身を見ることすら出来ない」という問題を解決しようというものです。特に当時は、Office アプリケーションのビューアーすらなかったので、PowerPoint のスライドをメールで送ってもらっても、PowerPoint がインストールされていないパソコンでは何もできないという問題がありました。

「Intelligent Document 構想」は、ドキュメントそのものにインテリジェンスを持たせ、自分自身をパソコンの画面上でどう表示するか、ユーザーとどんなやり取りをするか(例えば PowerPoint のスライドであれば「右矢印でページ送り」など)をドキュメントの中に標準化されたデータフォーマットで埋め込んでおき、それを OS と一緒に提供する汎用ビューアーで表示しようという発想です。

私自身はとても良いアイデアだと考えて提案したのですが、Microsoft 内部では「そんなことをしたら Office Application が売れなくなる」と猛反対されて実現には至りませんでした。

その後、Microsoft を辞め、そんな仕組みを作ろうと考えたこともありましたが、Microsoft と真っ向から戦うのも契約上出来ないし(辞めてから18か月間は直接競合する仕事はしないという契約を結んでいました)、それをどうビジネスに結びつけるかという案も浮かばなかったので、そのままお蔵入りになってしまったのです。

最初、この次世代漫画の話が来た時にはどうもイメージがはっきりと描けなかったのですが、何度も話しているうちに、この「Intelligent Document 構想」と、さらにここ数年感じていた「プログラミング環境化してしまった HTML5 や Flash への違和感」が、突然一つの道として繋がって見えてきたのが Swipe なのです。Steve Jobs の言う "connect the dots" が私の頭の中で起こったのです。

iPhone の登場以来、スマートデバイスのハードウェアやソフトウェアは急激に進化して来ました。iOS や Android という OS も進化しているし、その上に作られた HTML5 や Unity などのプラットフォームも順調に進化しています。

しかし、どのアプローチにも一つだけ大きな欠点があります。「プログラミングが必要」という欠点です。プログラムが書けるソフトウェア・エンジニアが圧倒的に不足している今の時代、これではアプリケーションを作るコストや時間がかかりすぎて、イノベーションが十分なスピードで起こせないのです。

HTMLも最初は非常にシンプルなマークアップ言語でした。HTMLで記述された静的なウェブページをハイパーリンクで繋ぐだけで様々なアプリケーションを作ることが可能なため、プログラミングの経験の全くない人たちも競ってウェブページ作りに精を出したのです。

しかし、より多くの機能が欲しい、インタラクティビティを追加したいなどの要求に応じて、DOM と JavaScript が導入され、今や HTML5 は OS に匹敵するほど複雑な「開発環境」になってしまいました。

これはこれで良い面もたくさんあるのですが、それとともに「プログラミングの経験のない人がサクッとウェブページを作れる」時代が終わってしまったことも事実です。

Adobe の Flash も、ほぼ同じ経緯を辿りました。Flash は最初はデザイナー向けのアニメーションツールでした。その頃は、Flasher と呼ばれるデザイナーたちは、プログラマーなど雇わずに、自らタイムラインベースのオーサリングツールで Flash Movie を作り、ウェブページに貼り付けて作品を発表することが出来たのです。

しかし、Flash に ActionScript が導入され、Flash が単純なアニメーションツールからアプリケーションの開発環境へと進化するに従い、プログラミングが必須になり、デザイナーだけではイノベーションが起こせなくなってしまったのです。

Steve Jobs が Flash を嫌った一番の理由は、この Flash 上のアプリケーションがブラウザーやOSの動作を不安定にする点にありましたが、その不安定さの根本の原因は、ActionScript を使ったプログラミングにあったのです。

そんなHTML5やFlashの進化を見た私が漠然と考えていたのは、初期のHTMLのように「純粋な宣言型のマークアップ言語だけでアニメーションやインタラクションを表現できないものだろうか」というものでした。実際、今では HTML5 の一部となった SVG には、宣言型でアニメーションを実現する SMIL という仕組みもあったし、不可能ではないはずです。

そんな私の頭の中にあった「HTML5は複雑すぎる、プログラミングが不要な宣言型の言語をもっと進化させるべき」という思いと、Microsoft を辞めるキッカケにもなった「Intelligent Document 構想」と、「スマートフォンの時代に相応しい漫画のあり方」という三つの Dot が、繋がって出来たのが Swipe なのです。

ドキュメントもまだ不十分で、オーサリングツールもまだ開発中ですが、とりあえず github にオープンソースにした Xcode のプロジェクトをベースにすれば、誰でも簡単に Apple TV や iPhone 向けのアプリを作ることが出来るので、ぜひとも試していただきたいと思います。

一つのプロジェクトから、Apple TV 向けのアプリと iPhone/iPad 向けのアプリを同時に作ることが可能なので、新型 Apple TV を持っていない人でも、手持ちの iPhone 上で動作確認をして、Apple TV 向けにアプリを申請してしまうことすら出来ます。

手始めに、簡単なチュートリアルを Swipe で作ってみたので、そのキャプチャー映像を下に貼り付けておきます(残念ながらオーディオのキャプチャーができていないので、無音です)。ちなみに、このビデオだけだと少しわかりにくいのですが、後半はタイマーではなく、Apple TV の Siri リモコン上のスワイプ動作に同期させたアニメーションのデモをしています(戻ったりするのは指を前後させているからです)。