iPadアプリ作成日記: アプリ間の連携について一考察
2010.07.19
CloudReadersというPDF/マンガリーダーを個人で、neu.Notesという手書きノートアプリをneu.Pen LLCを通して開発・リリースしている私だが、当然のようにその二つを組み合わせて「PDFの赤入れアプリ」を作って欲しいというユーザーからのリクエストは聞こえて来るし、私自身も欲しい。
これまで二つのプロトタイプを作っては見たのだが、どうも気に入らないのでリリースは見合わせている。
最初に作ったのは、CloudReadersに "Annotation Mode" (赤入れモード)を追加したバージョン。とりあえず赤入れが出来るところまでは三日ぐらいであっさりと動いたのだが、「シンプルでサクサク読める」ことを最優先に設計されているCloudReadersの場合、追加した書込みを常に表示するのかしないのかでかなりパフォーマンスに影響が出るし、「赤入れモード」という明示的なモードを追加してしまうことが、そのシンプルさを失わせてしまうという点がどうも気に入らない。
それに加えて、ユーザーがiTunesから見ることのできるファイルはオリジナルのPDFなのか、赤入れ後のPDFなのか、というユーザーモデル面での曖昧さも生じてしまうため、「そちらの方向で押し進めるといつかどっかで破綻する」という「エンジニアの勘」が強く働き、この方向は見送ることにした。
次に作ったのが、neu.NotesにPDFを読み込む機能を付け加えた neu.Annotateという別アプリ。CloudReadersともneu.Notesとも違う、別のアプリとして作れば、ユーザーモデル面での曖昧さも回避できるし、「赤入れモード」のような「モード」を避けることができる。しかし、作っているうちに、iOSのPDF関連のAPIに致命的な欠陥があることを発見した。埋め込みフォントをちゃんと処理できないのだ。
PDFには受け取り側で送り側の表現したいものを100%再現することを可能にするために、フォントを埋め込む機能が付いているのだが、iOSのAPIを使ってPDFを再構築すると、この埋め込みフォントが抜け落ちてしまい、ちゃんと表示できないのだ。
元のPDF原稿を画像として埋め込むという荒技まで含めて色々と試したのだが、「どんなPDFを与えても、それに赤入れしたものを新たなPDFとして出力することができる」ようにするためには、自前PDFパーサーを作らねばならないという結論に達し、これも断念した。
第三の手段として、現在開発中なのが、CloudReadersとneu.Notesを別アプリのままで連携させるという方法。CloudReaders側で文章を読んでいる時に「Annotate(赤入れ)」ボタンを押すと、そのページのみを画像としてneu.Notesに渡してそこで赤入れができる、という仕組みである。
この仕組みであれば、neu.Annotateのような別アプリをインストールしてもらう必用もないし、それぞれのアプリのユーザーモデルを妙に変化させる必用もない。ページも画像渡しなので、埋め込みフォントの問題もない。唯一の欠点は、赤入れした文章がばらばらになってしまうことだが、そこは使い方・運用しだいで色々と工夫ができる。
ようやくプロトタイプが動きはじめたので、次のアップデートではこの仕組みを含めたものをリリースしようかと思う(たぶん、CloudReaders 1.13 とneu.Notes 1.3)。
ちなみに、この仕組みの興味深い点は、CloudReadersからneu.Notesに画像を渡す部分のプロトコルを公開してしまえば、他のアプリからでも画像をneu.Notesに渡して赤入れしたり、上に文字や絵を書くことが可能になること。neu.Notesをアップデートした際には、プロトコルの仕様をここで公開する予定なので、iPad/iPhoneアプリの開発者の方々にはぜひともお試しいただきたいと思う。
この仕組みを作りながら思ったのだが、各アプリは出来るだけシンプルに作っておき、それをこんな風にユーザーが自由に連携させながら使いこなして行く、というのがiPhone/iPadアプリの本来あるべき姿なんじゃないかということ。
具体的には、
1. 初項のPDFを編集者からメールで受け取る
2. そのPDFをDropboxにしまっておく
3. 出先で時間のある時に、Dropboxから"Open With..."でCloudReadersで開いて推敲する
4. 気になった部分を含むページをneu.Notesに渡して赤入れする
5. それをメールで編集者に送り、同時に、自分のEvernoteアカウントにCCしておく
のような感じだ。Microsoft Officeに代表されるパソコン用のリッチ・クライアント・アプリは、すべての機能をアプリそのものに含めようと肥大化の一途をたどったが、iPad/iPhone用のアプリはの進化の軸というのは、こんな風にそれとは大きく異なったものになるのでは、と思う今日この頃である。
CloudReaders重宝しています。ありがとうございます。Bookmarkが欲しいです!メニューバーのところに、「栞+」ボタンを付けて、栞は5箇所(色分け)MAXでメモ機能などはなし、とかで、ブックリストでは、栞を使ってる場合は、青赤などの四角い小さい栞アイコンがあって、それを押すとそのページへジャンプ、みたいなイメージでどうでしょうか。
Posted by: jimmie | 2010.07.19 at 18:52
はじめまして。iPad用のPDF/テキストリーダーアプリに、しおり というより、付箋機能を切望しているものです。画像を含めてご説明したいのですが、どういった方法でならご覧いただくことが可能でしょうか?こちらのBLOG内にはメールアドレスの表記がないので、どうしたらよいものかと。
差し支えございませんでしたら、私のメールアドレスに空メールでもいただけますと幸いです。
勝手申しましてすみません。
Posted by: Terada | 2010.07.20 at 02:33
実現して欲しかったOpenDocの世界ですね。
Posted by: manta | 2010.07.20 at 07:29
Androidはアプリ間の連携を強く意識した作りですが、iOSは開発者次第なのでしょうか。
プロトコルを公開して連携アプリを増やすのは面白そうですね。
Posted by: trisect | 2010.07.20 at 09:46
Androidはアプリ間の連携を強く意識した作りですが、iOSは開発者次第なのでしょうか。
プロトコルを公開して連携アプリを増やすのは面白そうですね。
Posted by: trisect | 2010.07.20 at 09:46
現状、画面キャプチャしたものをneu.Notesで取り込んで赤入れしてますので、
これがリリースされれば少し楽になりそうです。期待してます。
Posted by: kyusuya | 2010.07.26 at 06:51
日本でPDF Annocationのアプリが、いっさい出てこないので、
なんだかなぁ。って思ってたんですが。
理解しました。
Posted by: higekuma3 | 2010.07.26 at 07:45
はじめまして。
Ipad2で neu Notes+を利用させていただいてます。
商談で手書き図解説明に多用しますが、「自分も使いたいのでアプリの名前を教えて!」と仰るお客様が多いです。
開発者さまの意図に反するかも知れませんが、
neu Notes+のファイル形式のままメール添付などできれば、版下のテキスト部分を編集して返すなど、プロとアマチュアの連携で多用されると確信します。
Posted by: hassy_kishiwada | 2012.01.25 at 16:20