NextTrain iPhone用Web(サーバー)アプリ

osamus2009-08-15

情報が散乱してしまったので一旦まとめます。(過去記事に対しての追加情報はほとんどありません。)

これは

H.TOYOさんの作成された、時刻表データを読み込んで、次に発車する列車の時刻と出発までの時間を表示するリアルタイム時刻表ソフト*1NextTrainと同等の機能をiPhoneで使えることを目指したWeb(サーバー)アプリです。*2

必要環境他

  • iPhoneからアクセスできるWebサーバー
  • Webサーバー上で動作するPerl

Perl CGIの使える無料レンタルサーバースペースがあれば充分です。
Unix系OS以外にWin32版Apache+ActivePerl(x86)でも動くようです。ダイナミックDNSサービスを利用すれば、ドメインを持っていなくても使用できるかもしれません。
また、ServersManなどを使用して工夫することにより何かできるかもしれません(未確認)。
CGIによりWebサーバに置いたtblファイル(およびnext.cfg)を読み込んで表示します。発車までの残り時間はiPhone側のSafariJavaScriptにより表示します。また、Webページの表示整形にはiWebkit(Ver.3)を使用していますので画面切り替え時にはスライド表示します。
tblファイル・next.cfgはディレクトリ指定等の一部を除きNextTrain互換です。なので、フリーソフトウエアTrainConv5でtblファイルを作成することができます。一部カラー表示・アイコン表示で独自拡張(必須ではありません)をしています。
リアルタイム時刻表 NextTrain 時刻表フォーマット (c) 1997-99 by H.TOYO
ファイル設定・設置後、Webページにアクセスすると表示されます。これをホーム画面に登録すれば完了です。*3

実装済みの機能

  • 基本機能(直近の発車までの残り時間表示)
  • 複数時刻表選択
  • 時間帯指定・曜日指定・列車種別指定
  • 到着予定表示
  • 乗換表示
  • 時刻表モード
  • 時刻表一覧アイコン表示

カスタマイズ

  • 午前何時までを当日とするか(デフォルト:午前2時(26時)まで)
  • 表示する列車の最大数(デフォルト:10列車)
  • リアルタイムモードで直前に発車した列車を表示するか(デフォルト:する)

などは簡単にカスタマイズできますが、基本的にPerl+JavaScriptなのでいじってしまえば何でもできると思います。*4 ただしiWebkitのフッター表示は変更しないようお願いします。*5
表示関係(フォントサイズ等)もCSSの書き換えで可能。
時刻表リストに表示されるアイコンはTrain Front Viewなどからもらってくるのがオススメです。

配布

いまだベータテスト中ですので、必要な方はメールいただくか、コメントにて連絡をお願いします。配布パッケージには、iWebkit(Ver.3)とサンプルデータも同梱しています。
ベーターテスト中は2次配布をしないようお願いします。また、基本的にノーサポートですが、バグ報告は歓迎いたします。

動作サンプル

こちら。普通のブラウザでも雰囲気は見ることができます。Mac/WindowsSafariやもちろんiPhoneからならスライド表示されます。

スクリーンショット

時刻表選択画面 リアルタイム表示
時刻表選択画面 リアルタイム表示
到着予定表示 乗り換え表示
到着予定を表示 乗り換え表示
種別選択 種別で絞り込み
時間帯・曜日・種別を選択 時間帯・曜日・種別を指定して表示
時刻表モード 時刻表モード2
時刻表モード。各行を押せばその時間帯表示に飛びます 種別は下に表示
横表示
横表示

今後の予定

そのうち、CGIを自前で設置できないがWebスペースを持っている人向けにCGIレンタルサービスができるようにするかもしれません。データをご自分のレンタルサーバなどに置いて、こちらのサーバーのCGIからデータアクセスするイメージです。多分人数を限定でのサービスになると思います。

NextTrainとは

NextTrainは、H.TOYOさんの作成された、時刻表データを読み込んで、次に発車する列車の時刻と出発までの時間を表示するリアルタイム時刻表(フリー)ソフトです。
Apple公認の乗り換え案内アプリ(ジョルダン「乗換案内」や「駅探」「Y!路線」)に比べて、

  1. 自分専用なのでいつも同じ駅(ルート)を利用する人は時刻表へのアクセスが早い。特にデフォルトの時刻表を午前と午後で自動切換えするので、普通の通勤・通学者は起動するだけで目的の時刻表を見ることができる。歩きながら検索しても余裕
  2. 起動時に最も近い時間の列車から数本先まで一気に表示(リアルタイム)。もちろん他の時間帯や曜日(平日・休日ダイヤ)の切替も可能
  3. 上記2と共に、それぞれの出発までの時間を自動表示、もちろん時間の経過に従い、残り時間も変化。(これは他の「時刻表・検索系アプリ」でもできるようになるのかも。iPhone用の駅探やY!では現状できないはず)
  4. 時刻表データはテキストなので、公認アプリにないバス路線や公共交通機関ではない構内バスなどでも利用可能。(メジャーな路線ならTrainConv5が便利)
  5. 逆にあちこちで呑み歩くような人(どの駅・路線を使うか決まっていない人)には向かないかも

という特徴があります。*6

*1:フリーソフトウエアです

*2:これをNextTrainと勝手に名乗るのに問題あったらご連絡をお願いします。

*3:ホーム画面用アイコンも同梱しています。

*4:ただしスクリプト自体は「動けばいい」という方針で書いたので非常に読みづらいと思います

*5:ここ(はてな)へのリンクは変更していただいてかまいません

*6:あくまでも私の主観ですが。