14 | 4月 | 2015 | HMDT Blog

カテゴリー : 2015年 4月14日

アプリ『大辞泉』バージョン3.2での改良点


daijisen_icon

iOSアプリ『大辞泉』バージョン3.2をApp Storeの審査に提出しました。審査通過次第、公開となります。

3.2の大きな目玉は新語追加で、プラスとの累計で35万語を超えたことですが、他にもいくつかの改良を行っています。その中の一つ、検索結果多数のときのスクロールアウトによる逐次表示、についてご紹介。

アプリ『大辞泉』の大きな特徴は、検索するとその場で検索後の見出しとその語釈を表示してくれること。以前、小学館さんから配信していた『デジタル大辞泉』は、まず検索後の見出しだけ表示して、それを選択すると語釈を表示してたんですね。

digitaldaijisen_cd

これだと、意味を確認するのにワンステップ余計に必要だし、見出し語が同じものの場合、見分けがつかないっていう問題があります。それで、検索と同時に語釈も表示するようにしたんです。

daijisen_cd

このスタイル見た目はいいんですけど、技術的に結構難しい。何が難しいかっていうと、処理に時間がかかってしまうところですね。ユーザが検索語を入力したとき、まずデータベースからそれを含む語を検索します。そのすべての語に対して語釈を調べて、さらに画面上にレンダリングしてやる必要があります。1つの言葉に対してだったら100msもかかんないんですけど、検索結果によっては数百語もやることになる。そうするとどうしても時間がかかって、操作感がだいなしになっちゃいます。

どうするべきか、試行錯誤を繰り返していたんですが、どうにか解決できました。最初は20語くらいだけ表示してやって、それ以降はスクロールしてその語が画面に表示されるタイミングでレンダリングしてやるようにしました。この手の処理は、いろいろなアプリでやられているんですけど、『大辞泉』はそれなりに複雑なレイアウトをしているので、結構難しかったです。でも、どうにか満足のいく形になりました。

ムービーも撮ったので、ちょっと見てください。スクロールしながら、レイアウトとレンダリングをやっている様子がわかると思います。