日記
攻殻機動隊
今日が公開日だというのを今日知ったので、レイトショーで観に行った。雑に誘ってくれたあまぎ君ナイス。今日は押井守さんの話をやけに沢山見かけるなあと思ってたけど、今日公開日だったのが原因か。押井守さんはとにかくオープンワールドやマインクラフト系のゲームをやり込んでいるという話だった。記事の内容はどうでも良くて。映画の感想を記した発言を貼り付けておきます。
いやー攻殻機動隊良かった。45点です
— ホームページビルダー (@r7kamura) 2017年4月7日
amakan
シリーズのページに載せる本一覧は発売日順に並べていて、例えば進撃の巨人 1 巻、2 巻、3 巻と並んでいく訳なんだけど、古いシリーズ作品が現代になって再度形を変えて商品化されたような本の場合、複数の巻の発売日が同じになることもよくある。amakan ではこの対策として、発売日が同じ本は更に巻数の昇順に並べることにしていた。
ところが amakan においては正確には巻数というのは数ではなく文字列であり、これは上巻や下巻、い巻やろ巻、赤、青、緑などを扱うための措置であるのだが、これに起因して並び替え時の昇順のロジックも文字列として辞書順で計算していた。しかしこの判断が原因となり、9 巻 と 10 巻が同じ日に発売された場合、9 巻 より先に 10 巻が並んでしまうという状態になっているのを今日発見した。1, 11, 12, 2, 3 みたいな状態 (現在は修正済み)。
大抵の書籍が巻数に序数を利用している (あるいは amakanize での巻数判定時に序数に正規化している) ということを理由に、今回は巻数を無理矢理数字に変換した上で自然順ソート (natural sort) を適用することにした。数字に変換できなかった場合は辞書順で評価するというロジックはサボっていれなかったけれど、今のところ大抵のケースがカバー出来ているのでよしとする。
他に、コメントが付いている本にはコメント数を表示するようにした。コメント機能がもっと流行ってほしいという気持ちの発露です。コメント数が 0 件の場合には鬱陶しいだけなので表示していない。
条件次第でテキストを出したり出さなかったりするのって、要素が横に並ばない UI だから上手くいく作戦で、本が横に並ぶような UI だとコンテンツの有無で高さが変わるので綺麗に解決できていなかった。グローバルナビゲーションをサイドバーに配置するようにしたのは、デスクトップ用の UI でもメインコンテンツ領域の横幅を狭くして、要素を 1 行ずつ表示してもそこまで違和感がないような UI にすることで、こういうことをやりやすくしよう、という戦略が背景にある。
そういえば最近加えたシリーズ判定方法の大幅変更も UI 的な要求が理由のひとつになっている。「利用者の学習効率を良くするために、デスクトップ用の UI とスマートフォン用の UI でなるべく違いが出ないようにしよう」という方針がまずあり、これを考慮しながら上図のようなリスト形式の UI が構築された訳だけど、スマートフォンの小さな画面で表紙画像の横にテキストを回り込ませると、どうしてもテキストを表示する領域が狭くなってしまう。これを解決するために、「進撃の巨人(22) (週刊少年マガジンコミックス)」というタイトルをもっと短く表記できるようにしたい、ということで巻数判定への要求が高まり、結果として今回のシリーズ判定方法の変更でこの要求が無事叶えられたのであった。