2011年4月アーカイブ

 HTML/CSSやJavaScriptによるiPhone向けWeBサイトやWebアプリをつくる参考書はこれまでもありましたが、この本は大胆にもUIWebViewとセットにしてネイティブアプリにしてしまおうという発想で書かれています。

 同様な発想で、iAd Producerを開発ツールとして使ったコンテンツをくるんでネイティブアプリにしてしまおうという試みもどこかで紹介されていましたね。

 Cocoaプログラミング的にはUIWebViewの使い倒しみたいな感じで読めそうです。


『iPhone/iPadアプリ実践開発ガイド HTML/CSS/JavaScriptでつくるネイティブアプリ』

 OS XやiOSのアプリレーションを開発する際のネイティブ言語であるObjective-Cの解説本がまた1冊登場しました。

 荻原本よりも入門的な位置づけとはいえ、扱う内容を絞り込むことでかなりの段階までカバーしています。重たいですが、ちょっとしたリファレンスとしても使えるかなという感じです。

 九州新幹線も開通し、書店へ行くと新幹線に関する雑誌やムックが鉄道関係書棚に多く並ぶようになっています。

 私も新幹線予約アプリ(EX予約アプリ)を開発するにあたって、志気を高めるためと列車運行や車体の情報の理解を深めるために購入して眺めたりしています。

 いまのところ「鉄道ダイヤ情報」誌のムック『新幹線ファーストガイド』がお気に入りです。巻末あたりにある「新幹線保存車両一覧」は、懐かしい0系車両が意外にも全国にひっそりと残され活躍している様子が分かって興味深かったです。

--

 さて、新幹線予約アプリの開発をするにあたって、エクスプレス予約サービスの研究をしてきているわけですが、これに関する情報は多くありません。

 単なる交通手段の予約サービスですから、本家サイトの説明がすべて。1冊の本になるほどのことでもないため、せいぜい雑誌記事が少しあるだけです。CiNiiという論文データベースを使うといくつか探せます(こちら)。

 開発を始めるにあたってすぐ読まなければならないものは無さそうなので、いつか紐解くことにしようと思います。

 新幹線予約アプリのためには、サービスの概要もそうですが、予約サイトの仕組みを掴まなければなりません。サービスに関する情報も少ないところで、予約サイトの情報はさらに少ないのが現実です。

--

 他の予約アプリのレビューでも見たように、EX予約のサイトはPC向けと携帯電話向けがあり、次のような特徴があります。

  • PC向け:インターネット経由からパソコンのブラウザで予約手続することを前提として作られたサイト。スマートフォン等からもアクセスは出来るが、画面は最適化されていないため困難が伴う。
  • 携帯向け:携帯電話キャリアの回線からのアクセスに限定したサイト。インターネット上からはセキュリティのためアクセスできない。各種携帯電話の画面を考慮して簡素な表示で手続きを進める。

 つまり、スマートフォンへは未対応、というのがEX予約の現状です。ただし、昨今の情勢から、いよいよスマートフォン対応にとりかかったようです(【会員の皆様へ】スマートフォンによるエクスプレス予約ご利用について)。

 「スマートフォン向け画面の構築等、システム開発をしている」と表記されていて、実現時期については明言していませんが、早くて夏、あるいは秋頃ではないかと推測されています。一日も早い実現を期待しましょう。

--

 現時点では、アクセス回線の制限を考えると、スマートフォンからのEX予約はPC向けサイトを利用する他に選択肢はありません。 

 しかし、スマートフォンからPC向けサイトを利用する際に、問題が発生していると言われています。

 たとえば「EX予約プラウザ」というアプリは、予約手続き中のエラーを問題視してアプリの公開を中止しました(EX予約ブラウザのページ)。

 その原因についてAndroid版における調査をされたようです(「Android 版EX予約で予約がうまく行かない件」)。これによるとスマートフォン上のWebブラウザが採用している「WebKit」というHTMLレンダリングエンジン(プログラムの主要部品)がエラーを出しているとのこと。

 WebKitは完成部品のようなものなので、改造のために手を入れることが難しい。その部品がエラーを起こすのではお手上げ、というわけです。

 
 また、EX予約サイトの方が「特殊」なためにエラーが起こるのだという指摘もあります。座席リクエストのような画面は複雑なので、メモリを過度に消費してエラーを引き起こすのではないかとも考えられています。

 あるいは、セッション管理を伴うWebの処理を行なっているため、一つ一つの手続きを完了させながら進めない(まだ画面が途中表示なのにボタンを押してしまう)とエラーが発生して接続が切れてしまうといった問題もあるようです。

 
 乱暴に要約すると、スマートフォンが標準採用している「WebKit」を利用する場合、EX予約サイトとの相性が良くないということです。

 解決方法は

  • EX予約サイトがスマートフォン(WebKit)対応する
  • WebKitを使わない方法(たとえばOpera miniブラウザの利用)でアクセスする

 このどちらかしかありません。

--

 EX予約サイトがスマートフォン対応する予定であることはすでにご紹介しました。

 Opera miniブラウザのようなWebKitを使わずに独自にエンジンを作って利用しているアプリならば対応できるわけですが、かなり応急処置的です。

 というわけで、EX予約アプリを作ってみようというわけですが、これがそう簡単な話でないことは先回書いた通りです。

 これほどニーズがありながら、今日においても新幹線予約のアプリがリリースされていないことが、その難しさの傍証とも言えます。

--

 けれども、EX予約サイトは、そんなに酷いシステムなのかと問われると、センスがあるかないかは別として、システムとしてはかなり堅実に動いているようです。

 なにしろJRの予約・発券システムと連動するわけですから、それはそれなりに確実な動作を企図して構築されています。

 とりあえず「新規予約」と「変更」に限定すれば、おおよその挙動は把握できそうですし、そのための画面遷移もパターンを見つけ出すことが出来そうです。

 次回はいよいよ予約サイトの解析の準備を始めることにします。

 数年前に引越してからは新幹線を利用する機会はめっきり減りましたが、たまに利用することがあればエクスプレス予約(EX予約)を利用します。

 先日、J-WESTカードも申し込んでみました。

 私はビューカード会員なので、EX予約はモバイルSuicaを使って利用するユーザーです。そのためJR東海やJ-WESTでエクスプレス会員になった人が持っているEX-ICカードを持っていませんでした。

 モバイルSuicaだと、EX予約の携帯サイトで予約し、在来線から新幹線への乗り換えも含めて、携帯電話一台で済みます。これはこれで便利なのです。

 ただ、私もiPhone大好き人間の端くれ。iPhoneでEX予約が快適に出来れば、それを優先したい。そして改札はEX-ICカード(在来線は2枚重ねが必要ですけど...)で済ませるのが基本形かなと思います。

 というわけで、そのための準備としてJ-WEST会員になってEX-ICカードを手に入れようという魂胆です。ん?会費の二重払い?...食費削りますか。

--

 アプリ開発のために、EX予約サービスを研究しています。

 EX予約のユーザーになると説明書をもらえます。たくさん注意書きがあるのですが、すべてを知らなくても予約画面の必要なボタンをクリックしていけば予約は完了します。

 しかし、新幹線の乗車にはいろんな種類やサービスが有り、そうした条件に応じてEX予約の画面は細かく変わっているのです。

 予約する人間にとってみれば、必要な項目をパッと見つけ出して押すだけですが、予約サービスを提供する側にしてみれば、たくさんの選択肢を用意してもれなく表示しなければなりません。その組み合わせはケースバイケースでたくさんあります。

--

 たとえばEX予約は、時間帯によってサービス内容が違います。

 5:30〜23:30までは通常サービス時間帯なのですが、23:30〜5:30は夜間受付サービス時間帯なので、すぐに予約を確定できず翌朝5:30以降に予約希望の確定結果がメールで届くという仕組みになっています。

 「なんだ予約結果がメールで届くのか」とお思いかも知れませんが、通常は片道予約が基本なところ、夜間は往復予約を受け付けます。そして第2希望まで入力できます。

 こうなると予約画面は大幅に変りますし、選択処理も複雑です。画面に表一個増えただけように見えても、裏側でそれを察知するのは結構手間なのです。

 少なくとも時間帯によって処理が変ることを前提にしなければなりません。

--

 EX予約は、予約候補列車リストの中に乗り換えパターンも含んでくれます。

 一覧表示の処理をするためには、乗り換えパターンの選択肢をどうやって表示させるかも頭を悩ませる課題です。乗り換え駅と乗換駅での到着発車時刻、乗り換える列車についてなど扱うデータが増えるからです。

 EX予約は、様々な列車タイプが予約できます。

 「のぞみ」「ひかり」「こだま」はよく知られていますが、さらに西日本で走っている「レールスター」という列車もあります。

 それぞれの列車は、予約できる座席タイプが異なります。たとえば、ひかり号には禁煙だけでなく喫煙席があります。のぞみ号は全席禁煙ですが、喫煙ルームがあるので附近の座席を希望するか選べます。

 座席のリクエストとなれば、号車構成や号車毎の座席構成など様々な組み合わせを自由に閲覧して選択できるようにしなければなりません。


 EX予約は、チケットや割引サービスも様々です。

 EX予約は、基本的に登録会員本人の利用が多いと思います。つまり大人一人を予約してEX-ICカードで改札乗車するというスタイルです。

 ただ、複数人数の予約も可能です。この場合、EX-ICカードを全員が持っているわけではないので、必然的にきっぷ購入という形に切り替わります。

 「EX-IC乗車」と「きっぷ乗車」という2つの形に枝分かれした後、きっぷの場合は乗車券を合わせて購入するかどうかも選べます。他にも「e特急券」とか「IC早特」とか「グリーン特典」とか。季節限定「EXお出かけ早特」なんてサービスもあったり。

--

 斯様に、EX予約の紹介サイトを見ただけでも、予約の手続きに関係する要素が結構多くて可変的であることがわかります。

 こりゃ簡単には予約システムを改変できないだろうし、スマートフォン対応も夏までかかりそうという噂も「そりゃそうだろ〜ねぇ」と納得する他ありません。

 そして専用アプリを開発するハードルも高くなりがち。

 上記の様々な条件を踏まえた上で、全部に対応することは出来ませんから取捨選択してアプリ設計をしなければなりません。

 そのような下準備と開発に時間を掛けているうちに、JR東日本がEX予約のスマートフォン対応を完了させるかも知れないとしたら、開発すべきかどうかの判断も迷うところです。まして現行サービスがリニューアルされれば、アプリは作り直しです。

--

 とはいえ、以前も書いたように私は日曜プログラマ。

 開発動機は好奇心でなんとかなりますし、アプリの作り直しとなれば残念ですが、それもまた新しいチャレンジが増えたと考えることもできます。

 有料アプリにしてヒットを狙うなんて下心がないわけではないですが、夏にはスマートフォン対応が予定されていると分かっている今なら、逆に下心の賞味期限がハッキリしているわけですから、いやらしさも半減してるはず(あれ、そうでもない?)。

 というわけで、EX予約アプリの開発は地道に取り組んでいます。

 もっとも最初から有料アプリでは危なくてリリースできないので、アプリ内広告を入れた形で無料アプリとしてリリースできればいいかなと夢想しています。

 そうすればたくさん利用してもらえて、フィードバックも得られますので、機能改善など施すことも出来るでしょう。そのうえで高機能な有料版を出すのが一番スムーズな展開かなと思います(こういう捕らぬタヌキの皮算用妄想は楽しいですね)。

 iOS(iPhone)アプリを開発するにあたっては,技術的なことも大事ですが,開発の周辺事項(アプリのアイデア出しや完成したアプリの売り方など)も大事になってきます。

 また,そもそもどうやったらiOSアプリを開発できるのか,という事始めに関して丁寧に解説した本も必要です。

 こうした本としては従来まで以下のような本がありました。

  

 『iPhone/Androidアプリで週末起業』はiPhone向けに書かれた本の改訂版で,Androidに関する記述も増やしたものです。

 こうした内容の本は,不易流行を扱うため,タイミングを逃すと古くて役立たないこともしばしばです。どちらかといえば雑誌のサブ特集で扱う類いの内容とも言えますが,そういう記事も意外と少ないので,やはりこうした書籍を読むのが早いかも知れません。

 さて,このところさらに新顔の書籍も出てきたようなのでクリップしておきます。


  

 『C言語すら知らなかった私がたった2か月でiPhoneアプリをリリースするためにやったこと』は,筆者のブログの書籍化のようです。書名の通りの体験をした著者は,雑誌でも紹介されたりした人物です。ちょっと夢見てみる読み物としていいかも知れません。

 『売れるiPhoneアプリの法則』もWebの記事の書籍化です。iPhoneアプリ開発講座を開講している著者たちによる文章です。多くの開発者を育成したり,接したりしている立場から分かったことや格言をいろいろ書いています。個人的には少し中途半端な感じのする内容ですが,アプリを作り始めた人にはいいのかも知れません。

 『iPad/iPhoneアプリを作る前に知っておきたい70の常識』は様々なアプリを開発したり,開発本も書いている著者によるもの。あくまでもこれからアプリを開発してみたいと思っている人向けのQ&A式レクチャー本なので,技術的なことは期待できません。


 ちなみに,洋書にもこの手の本はたくさんあります。たとえば『App Savvy』はアプリのアイデア出しからマーケティングまでの流れに沿って解説した本です。目新しいことが書いてあるかは読む人によりますが,基本の中に新しい発見があることも確かです。


 その他,アプリデザインに特化した本などもあります。