Lisra.jp アプリ開発ブログ

特定非営利活動法人位置情報サービス研究機構(Lisra.jp)が提供するアプリ「駅.Locky」「時刻表.Locky」についてのお知らせを行います。

現在確認されている不具合について

アプリのアップデートに関する問題

駅.Lockyと時刻表.Lockyのアップデートが公開されましたが、iOS4での動作について、いくつかの問題が報告されていますので、現在確認している問題についてお知らせします。この問題は次期アップデートを早めに提出して対応したいと思います。

アプリを終了させても状態が保存されず、毎度初回起動状態になる

iOS4ではFast App Switchingの機能により、ホーム画面に戻ってもアプリが終了しないままになります。その代わり、ホームボタンをダブルクリックしてアプリ切替画面を表示し、そこでアイコンを長押しして表示されるマイナスボタンを押すことで、アプリを完全に終了させることができます。

しかし、このマイナスボタンによる終了は、一般のOSで言うところの「強制終了」になりますので、アプリ側の終了時イベントが呼び出されずに終了してしまいます。

このため、今まで駅.Lockyではアプリ終了時に状態を保存する処理を行っていたのですが、マイナスボタンによる終了ではこれが呼び出されないために状態が保存されなかったようです。
状態が保存されないと、起動の度に初回起動時と同じ動作をしますので、利用情報の送信などの確認ダイアログが毎度表示されてしまいます。
(バックグラウンドに移行した状態で長時間が経過した場合には、通常の終了処理が呼び出されて終了するはずなのですが、これも実際には上手く動作していない模様です)


次期アップデートでは、ホーム画面へ戻ったり他のアプリに切り替えられた際に、毎度状態保存処理が実行されるように修正したいと思います。

アプリ切替時に現在地の時刻表が表示されない

これはバグではなく、現状での仕様なのですが、Fast App Swtitchingによってアプリの「起動」というプロセスが無くなってしまうため、今まで使えていた、「アプリ起動時に現在地の時刻表を表示する」機能が実質利用できなくなっています。
この問題は私も把握していたのですが、以下の理由により、とりあえずは元の状態に戻るという仕様で公開させて頂きました。

  • アプリ復帰後、現在位置を取得するまでに数秒間かかり、取得まで待つようにするとアプリの高速切替のメリットが損なわれてしまうため
  • 一般的にiOS4のアプリ切り替えは「以前の状態にそのまま復帰する」ものであり、この原則と違う動作をさせるとユーザを混乱させる恐れがあると考えたため


私としては、アプリ切り替えにて元の状態に復帰するという動作を変えたくはないと思いますので、次期バージョンでは、アプリ起動中に現在地の時刻表を素早く表示するための機能を追加しようと考えています。
具体的には、文字入力を戻す時などに使う「シェイク」ジェスチャーiPhoneを振るジェスチャー)をカウントダウン画面で行った場合に、現在地の時刻表に戻るという機能の実装を考えています。

駅.Lockyで、マイリスト・履歴をリセットしようとすると落ちる

これはバグなので、次期アップデートで修正します。

時刻表.Lockyの路線情報に関する問題

アプリ側で時刻表を更新しようとすると、ダウンロードしていない場所の時刻表が表示される

この問題は、路線の名前を変更すると、その路線名に対応付けられている路線コード(7桁程度の数字)も変更されてしまう事が原因で発生しています。
路線コードには割り当てられる範囲が限られているため(1会社につき999路線まで)、変更・削除によって利用されなくなった路線コードがあった場合、その後で新しく登録された別名の路線にはそれと同じ番号が再割当てされる事があります。
このため、アプリ側で削除される前の路線情報を持っていた場合、「更新のチェック」を開くと書き換えられた新しい路線情報が表示されてしまうことになります。


この問題を解決するには、

  1. 一度変更・削除された路線コードを再利用するまでの期間がなるべく長くなるようにする。もしくは二度と利用されないようにする
  2. 路線情報が変更された場合は変更前の変更後の路線コードを保持するようにしておき、変更前の情報から変更後の情報へ誘導できるようにする。
  3. 初めから同じバス会社や路線の表記がバラつかないような対策をする

などの対策を行う必要があると思います。

(1)や(2)については、比較的簡単に実装ができますので、なるべく早めに対処したいと思います。
(3)については、先日の記事にも書かせていただきましたが、路線情報データベース構造の根本的な見直しも含めて今後考えていきたいと思います。


以上、不具合により色々とご迷惑をおかけして申し訳ありませんでした。
なるべく早く対応したいと思いますので,それまでお待ちいただきますよう、よろしくお願い致します。

iOS4アップデートの不具合について

6月21日(月)に、iOS4への無料アップグレードがAppleより公開されますが、このアップグレードによって、Locky.jp関係のアプリにおいて無線LAN情報が取得できない不具合が生じる可能性があります。


対象となるアプリは以下になります。


現在、この不具合を修正した各アプリのアップデートを、Appleの審査に提出中です。
アップデートの公開までは、iOS4の公開から数日後になると予想されますが、
それまで無線LANを利用した位置推定やアラーム機能が利用できなくなります。

ご迷惑をおかけして申し訳ありませんが、ご理解頂いた上で、アップデートまで注意してご利用くださいますよう、よろしくお願いします。

駅.Lockyバージョン2.1アップデート内容

iOS4へのアップグレードに伴ない、駅.Lockyのバージョン2.1アップデートをAppleに提出しました。現在審査中で、1週間以内には公開されると思います。

アップデート内容は以下になります。

iOS4への対応

不具合の修正

iOS4にて、無線LAN情報が取得出来なくなる不具合を修正しました。

Fast App Switchingへの対応

iOS4から利用できる新機能である、起動状態でのアプリの切り替え(Fast app switching)に対応しました。画面の状態を保持したまま、他のアプリに切り替えたり、復帰することが可能になります。

マルチタスクへの対応について

今回のアップデートでは、バックグラウンドでのアラーム機能の利用などといったマルチタスクには対応しません。対応については今後検討していきたいと思います。

終電後に翌日の始発が表示されるように修正

これまで、午前3時を過ぎるまでは前日の終電からの経過時間が表示されるようになってしまっていましたが、今回から、終電の時刻を過ぎている場合は翌日の始発までの時間が表示されるように修正しました。
ちなみに、午前3時までは始発のみが表示されますが、3時を過ぎると日付が完全に切り替わり、その日の全ての電車が表示されるようになります。

マイリスト機能の追加

駅選択画面にマイリストが追加され、履歴から駅をドラッグすることによって、普段利用する駅をマイリストに登録しておくことができるようになります。

情報スペースの導入

時刻表.Lockyにて開始した、カウントダウン画面の情報スペースを駅.Lockyにも導入しました。この情報スペースには、普段は時刻表データに関する情報が表示されますが、Locky.jpのサーバから様々な情報提供を行う予定です。(情報提供の内容は、表示している駅に関係した情報や、研究目的のアンケート協力のお願いなどです)

利用状況の送信機能の追加

時刻表.Lockyと同様に、位置を用いた情報提供に関する研究を目的として、アプリの利用状況をサーバ側に送信する機能が追加されます。(設定でいつでも送信のOn/Offを切り替えられます)
送信する情報は、カウントダウン画面に表示されている時刻表の情報、端末の種別、ソフトウェアのバージョン、起動回数のみで、個人を特定する情報等は送信されません。サーバに送信された情報は研究目的のみで利用し、位置を用いた状況提供やアンケート調査の基礎情報などに利用させて頂く予定です。
この機能を有効にしていただくことが、今後の駅.Locky及び時刻表.Lockyの運用の継続のためにも重要です。ぜひ、ご協力をよろしくお願いします。

位置情報が無効な駅情報を削除しました

時刻表リストでは存在するのに地図上に駅が表示されないといった問題が多数寄せられていましたが、これはプログラムのバグで、駅情報を編集した際に駅の緯度経度情報が稀に0になってしまうという問題によるものでした。

今回、このバグを修正すると同時に、これが原因で無効となってしまっていた駅情報を、勝手ながら一旦削除させていただくことにしました。


対象の駅は以下になります。(駅名 - 路線名)


立川駅北口 - 立川バス[ま行]
上七軒あ - 京都市バス【か行】き
上七軒あ - 京都市バス
上七軒い - 京都市バス
上七軒う - 京都市バス
小仏 - 京王バス【ko】
金沢八景(国道)1 - 京急バス【か行】
上七軒あ - 京都市バス【か行】上
上七軒 - 京都市バス【か行】上
上七軒い - 京都市バス【か行】上
上七軒う - 京都市バス【か行】上
上池上 - 東急バス【か行】
上七軒え - 京都市バス【か行】上
南長崎六丁目 - 国際興業バス【ま】
天現寺 - 品川駅前行
OCATバスターミナル〔4番のりば〕 - 大阪空港リムジンバス【あ行】 高速バス
安東小学校前 - 1安東循環
葛西臨海公園駅前 - 臨海28
久我山駅 - 京王バス【か行】
南が丘中学校前 - 東戸塚駅
集会所 - 東武バス【と】
春日台団地 - 厚61 厚63 厚木バスセンター行
溝口駅前 [北口6番のりば] - 川崎市バス【た行】
品川シーサイド駅前 - 都営バス
元住吉 - (削除しようとするとfalseと出る)
JR栗林駅 - レインボー東循環
大倉山 - 横浜市営バス【あ行】
高幡不動駅あ - 京王バス【た行】
川崎駅前 (1番・水江) - 臨港バス【か行】
新代田駅前 - 東急バス【さ行】
扇町【83/78/37】 - 大阪市営バス【あ行】


ご迷惑をおかけして申し訳ありませんでした。

時刻表.Locky 路線情報の問題について

時刻表.Lockyユーザの皆様。
時刻表データ及びWiFi情報の提供にご協力頂き、どうもありがとうございます。

多くの方からご好評を頂き、開発した甲斐あって嬉しい限りではありますが、
それと同時に現在、多くの方から路線情報の登録に関する問題のご報告をいただいています。


このような非常に混乱した状況になってしまっているのは、明確なガイドラインの作成や、路線データベースの統一・管理が行えていないためだと自覚しております。

路線情報を自由に作成できる時点で、このような状況になることはある程度想定はしていたのですが、十分に対策を練らないままサービスを開始し、皆様に御迷惑をおかけしてしまい大変申し訳ありません。


対応が遅れてしまっていますが、ここで、今後の対策についてお話をさせていただきたいと思います。

現状の問題点

具体的には、現在の路線データベースには以下の問題があると考えています。

1つのバス停に複数のバス会社の時刻表を登録できない

現在、バス停の情報とバス会社の情報は同時に登録しなくてはいけないため、1つのバス停を複数のバス会社が利用している場合、同じ位置に複数のバス停を登録しなければいけません。これによって、バス停が探しにくかったり、乗換を調べるのに不便だという問題があります。

同じ会社や路線の名前の表記が、データの作成者によって異なっている場合がある

現在でも、「名古屋市バス」「名古屋市営バス」や、「名古屋バス【あ行】」「名古屋市バス【あ】」などといった情報が存在しているように、会社や路線の名前の表記がバラバラになっており、目的の時刻表を探すのがとても難しくなってしまっています。

地域から駅を探す事ができない

現在、会社名から階層的に駅を探す仕組み(地図から探す仕組みもありますが)になっていますが、登録されている会社の数が非常に多くなってきているために、目的の時刻表を探すのが難しくなっています。このため、都道府県→地域→あいうえお順といったように、地域から階層的に駅を探せるしくみが必要だと考えています。

同名のバス停だが、行き先によって微妙に乗り場の位置の違う場合の問題

バス停は上りと下りなので乗り場の位置が違う場合が多いのですが、現在ではこういった場合にどう登録すればいいのかどうかのガイドラインが定められていません。乗り場ごとにバス停の登録を行ってしまうと、バス停の検索が複雑になってしまいますので、複数の乗り場を登録できつつ、それらの乗り場を一つのバス停としてまとめて扱うことができるような仕組みが必要だと考えています。

路線の経路情報を登録できない

現在では、路線名には「名古屋市バス【あ】」のように記述し、経路情報は方面名に記載するというガイドラインになっていますが、この情報では、どのバス停からどの経路で、どのバス停にいけるのかどうかを知ることができません。現在のように地図上にバス停を設置していく仕組みと別に、路線の経路情報を登録できる仕組みが必要だと考えています。

対策について

以上のように、様々な問題が現在のシステムにはあります。
そして、これらの問題はそもそもの路線情報データベースのデータ構造に欠陥があると考えています。
そのため、付け焼刃なガイドラインを作成して対処するよりもむしろデータ構造を根本的に変更することが第一だと私たちは考えています。


しかし、データ構造を変更した場合、これまでユーザの皆様によって登録して頂いた情報はすべて利用できなくなる可能性があります。それを避けるために、データの変換はこちらで行いたいのですが、それには大きな手間が必要となるため、こちらにそのような作業を行う余裕がなかなか無いことを含め、対策が遅れてしまっている状況です。

完全な移行にはまだしばらく時間がかかると思いますが、具体的に以下の方針で進めていきたいと考えています。

  1. 新しいデータ構造の設計と、それに対応した新しい登録用Webサイトを作る
  2. 新しいWebサイトを、別のサーバに立ち上げ、現在のサーバと並行して運用する
    • この間、アプリ側では今まで通りに旧サーバを利用します
  3. 新しいサーバ上に、改めて時刻表データを登録しなおす
    • 移行作業はこちらでなるべく行いたいと思いますが、有志の方に協力していただけるよう、新サーバも公開してデータを登録出来るようにします
  4. 新しいサーバ上へのデータの移行が完了した時点で、新サーバに対応した時刻表.Lockyのアップデートを配信する
    • この際、アプリ上のデータ構造も刷新し、それまでダウンロードしていた時刻表データは一旦すべて削除されます
  5. 以後、旧サーバの運用は停止し、新サーバへ完全に移行する


現時点で考えていることは以上になります。
なるべく早いうちに対処していきたいと思いますので、
申し訳ありませんがそれまでお待ちいただけたらと思います。

よろしくお願いします。

時刻表.Locky アプリについて

先週から試験運用させて頂いております新サービス「時刻表.Locky」ですが、
まだアプリ側で時刻表をダウンロードすることは出来ませんが、
既に多くの方が時刻表をアップロードして下さっているようです。
皆様ご協力どうもありがとうございます。


さて、肝心のアプリの方ですが、現在開発を進めており、まもなく公開する予定です。
当初、駅.Lockyをそのままバス時刻表などに対応させる予定でしたが、
まずは別バージョンの新アプリとして公開させて頂くことにしました。

時刻表.Lockyの特徴

時刻表.Lockyは、基本的には駅.Lockyと全く同じ機能を持つアプリですが、
以下の新機能が追加されています。

  • カウントダウン画面に、時刻表データの作者や作成日、作者コメントなどといった情報が表示される。
  • 地図から駅を探して、時刻表をダウンロードできる。

公開時期について

なるべく早く提供したいと思っていますが、AppStoreへの公開まではまだあと数週間ほどかかる見込みです。
もうしばらくお待ち下さいますよう、よろしくお願いします。

バスなどの時刻表に対応した新サービス「時刻表.Locky」の試験運用について

駅.Lockyをご利用いただきどうもありがとうございます。

長らくお待たせしてしまいましたが、この度、
駅.Lockyをバスなど様々な乗り物に対応するように拡張させた、
「時刻表.Locky」の公開に向け、新しい時刻表登録Webサービス
試験運用を開始させていただくことにしました。


路線バスなどは路線情報をこちらで用意することができないため、
時刻表データと同様にユーザーの皆様に路線情報を作成していただく仕組となっています。


駅情報の作成や時刻表データの登録は、新しく専用に開発したWebサイトである
http://tt.locky.jp
から行うことができます。
※ご利用には、お手数ですが駅.Lockyとは別に新しくユーザ登録を行っていただく必要があります。

駅情報の作成方法

簡単にですが、駅情報の作成方法について説明します。

  1. ユーザ登録」ページから新規ユーザ登録を行う。
  2. 駅編集&アップロード」ページに入る。
  3. Google Mapを操作して、中央の十字マーカーを駅を作成する場所にあわせる
  4. 「新しい駅を作成」ボタンを押す
  5. 表示されたダイアログに、駅の情報を入力する
  6. 「送信」ボタンを押す
  7. 駅が作成されるので、「時刻表を追加」リンクを押して、駅.Lockyと同様の操作で時刻表データを入力する。


アプリの公開について

http://tt.locky.jpで登録したデータは、今後公開予定の専用アプリ「時刻表.Locky」でのみダウンロードして利用することができます。
今後しばらくは、試験運用として時刻表登録Webサービスのみ公開を行いますので、時刻表の登録を行うことはできますが、アプリにダウンロードして利用することはできません。
アプリの公開は、駅情報などの登録の様子を見て数週間中に行いたいと考えていますが、申し訳ありませんがそれまでお待ちいただければと思います。


ご協力よろしくお願いいたします。