jQueryとphpでAjaxな郵便番号入力補助を作ったんで後はcssとキャッシュコントロール

jQueryとphpでAjaxな郵便番号入力補助を作ろうと思ったら問題が - blog::konk303の続き
いろいろ解決。だいたい出来た。

IE 文字化け問題

jQueryの問題だったorz。詳しくは後で書くけど、ajax.setupの中にscriptCharsetってオプションがあって(documentには未記載)、scriptタグのcharsetにはこれが使われるんだな。
utf-8に設定したら何の問題もなく動いた。

通信エラーハンドル

作ってみたら、無効な郵便番号入れて何のレスポンスもないのはUI的にあんまり不自然じゃないような気がしてきた。
無理に「住所が見つかりません」とかメッセージ出してもうざいだけかなっていう。
「これがasyncなやり方っすよ!」(言い訳)でとりあえず進んじゃえ。
と言うわけでここは後回しにしちゃおうと思う。
上の件でjQueryのソース見てたらやり方のヒントがあったんで、暇見つけてもうちょっと調べてみる。

機能を整理

作ってたら、「何が便利で何がそうでもないか」は見えてきた気がする。
まずリリース候補にするのは

  1. 郵便番号を入力して「住所を入力」を押すと、住所が補完される
  2. 「一覧から探す」で、住所一覧から選択できる。3階層のドリルダウン。

の2機能。と言うかここまで出来た。
郵便番号入力時のサジェスト機能は、あんまり便利じゃない気がしてきてる。むしろ追加で作るとしたら、住所そのものを入力しながらのサジェスト・補完機能。
ただし現状のフォームは郵便番号が先に来てて初めに住所から入力してもらうのは不自然なので、「一覧から探す」で出るウィンドウ(もちろん擬似的な)にタブでもつけて、そこで入力してもらうのがいいのかな。そうすれば「ここでの入力は補完が効く」ってのも理解してもらいやすそうだし。

残タスク・課題

デザイン

今のところjsばっかりいじってるんで、見映えが相当ひどい。なんとかしないといけない。
エンジニアなら「よし出来た。あとはデザイナーさんとコーダーさんでよろしくね!」でいいんだろうけど、なんせ僕が「コーダーさん」なんで自分でやらないと。
でもまぁ、ここからも存分に楽しめるのが今の立場のいいところなんで、がつんと作り込もうと思う。
機能的で使いやすくて、「何を押したらどうなるか」が分かりやすく伝わる感じにしたい(と自分にプレッシャーをかけるw)。

踏み台サーバでのキャッシュ

相変わらずsslでのクエリー用に踏み台サーバは使うんで、phpで書いてシステムさんに見てもらったら、「うんこれでいいけど、結果のキャッシュとかしてみたら?memcachedか分かんなければファイルでもいいけど」とのお言葉。
memcache用のライブラリ本番に入ってないじゃんよぉ、環境作ってから言ってよ…
などと嘆いててもしょうがないし、実際郵便番号なんて滅多に変更あるもんじゃないと思うんでやっといた方がいいのかも。
自分でよく分かってないんでちょっと調べないといけないけど、createResultクラスみたいなファサード作って、ファイル(レスポンスをtmpに吐いてtimestamp見る的な?)かmemcachedかはサブクラスに実装するべきなのかな?sendRequestとreturnResultは親で、みたいな。
そのぐらいまで作ったところでまた見てもらって、どうするか決めよっと。

中々時間取れないけど、なんとか「とにかくリリースする」が可能なレベルまで持って行きたい。リリースしちゃえば「機能追加しましょうよ」で作業時間確保出来ると思うし。