郵便局での長時間待ち問題をWebアプリの観点から考える
先日、近くの郵便局に行った時に、窓口がすごく混んでいたので、Webアプリの観点から、勝手に対策を考えてみました。
以下、問題点とその対策について考えてみます。
フロントエンドの処理スレッド数が少ない
小さい郵便局だとこのケースが多いと思います。
うちの近くの郵便局だと、スレッド(窓口)は2つでした。
ただし、隣りのゆうちょ銀行のスレッドは3つ。
おまけに、郵便局側は10人待ちの時に、ゆうちょ側は誰も待っていない、という状況があったりします。
なので、スレッドを郵便局側に4、ゆうちょ側に1にしたら、もっとスムーズに処理できると思います。
(組織的に可能なのかはわかりません。)
フロントエンドの処理が重い
郵便局は1つのリクエストの処理が結構重いです。
見ていると、海外への荷物の送付などは、1リクエストの処理に数分以上かかることも多いです。
これはユーザビリティ的に耐えられないので、バックエンドに回して、非同期に処理した方が良いと思います。
そうすれば、フロント側で別のリクエストを処理することもでき、全般的な待ちを減らすことができます。
バックエンドの処理が詰まる可能性がある
上でも述べましたが、郵便局は1つのリクエストの処理が重いことが多いので、バックエンドに回しても、そこで処理が詰まる可能性があります。
可能ならスケールアウトしてほしいところですが、なかなか難しいので、ひとまずステータスを表示するようにしてはいかがでしょうか。
バックエンドの処理のプログレスを表示して状況がわかるようにすれば、ユーザーのイライラ感も軽減するでしょう。
根本的にはピーク時の処理能力が足りない
システム全体として見ると、根本的には、ピーク時の処理能力が足りません。
ここが解決できない限り、ユーザーの評価は上がらないでしょう。
以前の職員をパートとして雇うなどしてプライベート・クラウドを構築し、ピーク時にスケールアウトし、ピークが過ぎたらスケールインするようなシステムを作り上げるべきです。
あとがき
人手でやっている業務をWebアプリとして考えてみると、結構改善できるのではないでしょうか。(笑)