(10連休7日目)一息入れるついでに時刻表サイトの問題点について整理してみた

津和地島から帰ってきた後に、しれっとリニューアル版を本番反映していた時刻表サイト

f:id:kamonohashiy:20190503191939p:plain

とりあえずローカルで検証したとおりの動作はしてくれて安心はしたものの、現時点でも問題は山積みなので、一休みついでにその整理と対策方法について考えてみた。

モバイルでの操作性が総じてうんこ

リニューアル前と同様、PWA化してモバイルでの快適性を上げようと頑張ってみたのだけれど、PWA云々とは関係ない部分で問題が結構見つかった。

まず一番大きいのは画面サイズの小さい携帯から見ると必要な情報を得るのに上下にスクロールを繰り返さなければならないところ。

Chromeのシミュレータで確認したかぎり、iPhoneで言えばPlusシリーズを除くX以前の機種は軒並みこの状態になっているので早期に改善をしたいところ。

画面を強制的にスクロールさせるか、時刻表をモーダルで表示してスクロール自体を不要にするか。後者のほうがよさそうかな?

あとそのモーダル関連で言えばこれも画面が小さい機種だと選択肢がはみ出て表示されちゃうのもマズい。

f:id:kamonohashiy:20190503193220j:plain

このへんは休み中になんとか対処したいな、と思ってる。

ただこれらのバグは直していく一方、スマホに関してはネイティブアプリ版の作成を頑張ってみるのもアリかなとも思っていて。

そもそも「地図上のマーカーを操作する」アイデアはReact Nativeの技術書に載ってたサンプルから着想を得たものだし、バックのAPIも既存のものをそのまま使い回せる可能性が高いので(React/React Nativeを頑張って習得すれば)実現できるんじゃないかと。

まあそのへんは機会を改めて考えてみよう。

その他気になるところ

バグではないけど気になっているのは画像の読み込み料金表に設定がない項目の表示について。

前者については、画像の点数自体を減らしたとはいえ500KB強(2019/5/4追記:さすがに嘘、200KB前後だった)の画像が結構大量にあるので、ユーザの想定外のところでギガ食わせてたら嫌だなあと思っていて。

使用ケースとして「電波状況のよくない離島で」目的の船の時刻表を調べることを考えているので、なるべく通信量は抑えたい(となるとそもそもGoogleマップを使うことを前提にしてるのも考え直さないといけないかも)。

このへんは遅延ロード処理入れるとかして対応していこうかな。

後者はたとえば高速船など、人以外が乗せられない船(あるいは自転車までは行けるけど車バイクは無理とか)での料金表の扱いについて。

現状そういう便の場合は数字を増やしても金額が増えないようにはなっているけど、それであれば元々フォームを表示しないほうが親切ではあるよな、ということで。

リニューアル前には一応やっていたことだけど、Vuetifyに変わってから処理をどうするか迷ったとこなので、なんとか対処法検討して実現していこうかと。

時刻表データの収集・管理方法

ここまではユーザ側から見える部分についてだったけど、これは管理・運営側の問題について。

時刻表の元データの収集を自動化するのが難しいのが悩みであるとは以前の記事でも書いていたけど、これから検索対象を増やしてくとなると、やはりすべてを手動で行っていくのはなかなか無理があるなと。

今まで二の足を踏んでいたスクレイピング処理も可能な部分に関しては少しでも実装して、自身の負担を少しでも減らす努力をせんとな、とは思っている。

それと「データの正しさを担保するシステム」作りにもぼちぼち着手していく必要があるかな。

ダイヤの改正もそうだし、消費税増税に伴って運賃が改訂される可能性も今後あるわけで、そこの変化をいかに素早く察知してこっち側のデータに反映させていくかを考えていきたいところ。

いろんな会社のサイトを毎日目視で確認して、ってわけにもいかないしこのへんも何らかの形で自動化ができれば、と思っているが果たして。

収益化

..とここまで考えてみると、今までも、そしてこれからもサイトの維持・拡大には結構な手間暇がかかってくる(現に連休の半分つぶして実装してる)と予想されるわけで、そうなるとその分はお金になって返ってきて欲しいと思うのが人情ってもの。

今のところ収益につながりそうなのはPayPal.Meへのリンク = 任意の寄付ボタンだけだけど、満足な収益を得られる期待は薄いし(現に以前の2つのサイトでも使っていたけど入ってきたお金はゼロ)。

導入する可能性が高いとすれば観光に繋がる部分。たとえば時刻表の検索と同時に周辺の宿を検索できて予約サイトへ導入するとか、遠方から訪れる人を想定して空港券の.. ってのが現時点で出てるアイデア

ただ実装方法どうするかとか、それ本当にユーザが欲しいものなのかとか、それが原因でパフォーマンス落ちちゃったらどうなのか、とかとか。

考えるべきことは色々あるけど、そこは維持費格安の個人サービス。

いろいろ試して成功したらもっと頑張るし、駄目だったらとっとと引き下がればいいだけの話。

今はただ自分もユーザもWinWinになれるシステムを考える、それだけの時間が楽しい。

あー、この連休あと10日くらい延長できんかな。