Android 版 Kindle アプリ, 一覧表示のソート順バグ...
Android 版 Kindle アプリでの一覧表示が「タイトル順にしろ著者名順にしろ まともにソートされず行われる」…といった辺りについては, 以前から書いているところです。 このバグは初期の版から存在するもので, もう長らく修正が行われていません。 当然ながら日本で Kindle のサービスが始まる前も同じだったわけですが, その頃はアルファベット以外の絡むケースが殆どなかったことから, コンテンツ数自体は それなりに多くなっていたものの, 殆ど気になりませんでした。 (たまに「ん?」と思うことがあった程度。)
ところが, その後日本でもサービスが開始され, 「あっ」という間に 300 以上のコンテンツを購入するに至りました。 当然日本語版のコンテンツが増殖しまくったわけですが, 日本語が絡んだ場合の並びが あまりにも出鱈目で, 「一体どういう大ボケのプログラムを組んでいるのかしら?」と思いつつ, あちこちで愚痴をこぼしていたところです。 iOS 版のようにインデックス検索でも可能なら良かったのですが, Android 版では 1 冊 1 冊探し出すしかないわけで, しかも それが「どこにあるか判らない」状況なのですから。 そのわりには あまり詳細を追求しようとはしていなかったのですが, さすがに使用期間が長くなっただけあって, その一因が掴めてきました。
というわけで, 右画像は Android 版 Kindle アプリでタイトル順による一覧表示を行ったところです。 ぱっと見では出鱈目に思えますが, よくよく見ると, 赤色で強調してあるとおり, 「平仮名かカタカナの部分のみ読んでいる」ことが解ります。 恐らく letter…つまりアルファベットや平仮名カタカナといった表音文字でフィルターリングを行っているのでしょうね。 純粋なアルファベットのみだと, アクセント記号付き文字 ('é') や特殊文字 ('ß') の含まれるフランス語やドイツ語といった欧文が扱えないことから, それらを扱うためのフィルターリングなのでしょう。 後発でサービスの開始された日本が使う日本語辺りは未だに考慮されていないわけです。
…と, 「タイトル自体を読み込む仕様」なのであれば上述のとおりなのですが, 実際には漢字仮名交じりでも正しいソート表示を行う iOS 版が存在することから, 「電子書籍自体には別途『読み』のフィールドが存在し, また そのデーターは正しい」ことが解ります。 要は Android 版でも「読み」のフィールドから読み込むのが本来の仕様で, 単にプログラムが腐ってしまっているだけなのでした。 (^^;) 一応「『読み』のフィールドを読み込もう」とはしているようで, 中には ちゃんと読みで並んでいるコンテンツも存在します。 この画像なら『沈黙の艦隊』が そうですね。
ちなみに「letter のみを扱っていること」自体は間違いでも何でもない正しい処理です。 プログラマーが思い描いた仕様は「『読み』のフィールドから読み込む処理」だったのですから。 「読み」に必要なのは letter…つまり上述したアルファベットや平仮名カタカナのみです。 中点 ('・') や句読点は読み飛ばしたほうが都合のよいことから, フィルターリングを行っているに過ぎません。
次の画像は著者名順で一覧したところです:
上述したフィルターリングについては同じですが, それ以前に「著者名順にもかかわらずタイトル順で一覧されている」ことが解ります。 著者名でソートされている部分も存在する点から, 「著者名フィールドのつもりが異なった箇所を指してしまっているポインター」により読み出していることが疑われます。 読み出し方法自体が間違っているのか最適化のせいなのかは別として, とにもかくにも「読み出し方が腐ってしまっている」わけですね。 さらに, 原作者と挿絵担当, 原作者とコミカライズ版の作者…といった複数の著者のフィールド等への登録方法がコンテンツによって異なっていたりすることから, 結果として「同じ著者の作品が 4・5 カ所に分かれて表示」されたりするわけです。
タイトル順にしろ著者名順にしろ, 完全な出鱈目ではなく一定の法則に則って並んでいることから, 「フィールドへの辿り方を間違っている」のでしょうね。 簡単に修正できそうなバグなのですが, どうして長期間に渡って修正されていないのかしら? きっと「欧米以外の情報なんて基本的にスルー」なのでしょうね。 あちらの環境では「タイトル自体も読みも同じでしかない」でしょうから。 それでも著者名順には影響しているはずなのですけれどね…。 (^^;)
ちなみに, このバグはコンテンツではなくインデックスからの読み込み時に発生するものなので, インデックスの状態が変われば並び順も変わります。 結果, 端末側とクラウド側で並びが異なっていたり, 「同じコンテンツをダウンロードし直したら別の場所に表示されるようになった」なんてことが発生します。 同じデバイスでさえ そうなので, 異なるデバイスでは当然ながら並び方が違ってきます。 (^^;)
Jun.17,2013 追記
記事を書いてから 10 日以上経った週末土曜になって, ようやく Amazon へ不具合についての報告を行いました。 いつも思うのですが, Web のフォームからの報告だと画像等を添付できないので非常に不便ですね。 毎度ながら, 回答があったとしても その回答に返信できませんし…。 (^^;) >From, Reply-To 双方のヘッダーに送信専用アドレスが記載されている
今回の不具合と UMI X1 で発生しているタップ関係とで不具合報告が 2 つ。 そしてコンテンツ数表示の要望を それぞれ単独で報告しています。 最初 1 つに纏めようとしたのですが, フォームに何文字まで入れられるのか判らなかったのと, 対象デバイスが異なることから単独にせざるを得なかったのでした。 あ, ソートバグについては日曜に「担当部署へ報告しましたぁ~」と連絡が来ています。 必要なら以前と同様に追加で問い合わせが飛んでくることでしょう。
Jul.3,2013 追記
Kindle の新版 (4.1.0.66) が出ましたが, 上述の不具合については全く改善していませんでした。 サムネイル表示バグの時と異なり「調査の上修正する」ではなくて「担当部署に連絡する」だったので, 開発部隊にまで届いていない可能性が高いです。 「修正できない」のパターンは ちょっと考えられないです…職業プログラマー的に。 (^^;)
Aug.1,2013 追記
現在の版では, 「新からのインストール直後のタイミングで最初に作成されるクラウド側のリスト」だけは, ほぼ完璧にソートされます。 が, その後新たに追加される分は相変わらず出鱈目なソートです。 端末側は全てが「その後新たに」の範疇なので, 最初から最後まで出鱈目です。 (^^;)
Aug.29,2013 追記
現行では「新からインストールし直せば」端末側共々正常にソート表示されるようになるようです。 後から買った書籍についても今回は大丈夫。 100 冊以上落としているデバイスだと, 環境再構築が地獄ですけれど…。 サンプルが多い場合も地獄かもしれません。 数が多いと いちいち何を落としたかは覚えていないでしょうから。 それはともかく, 「後からリストを構築し直し」というオプションが欲しいです。 手持ちのデバイスは仕方がないのでインストールし直しました。 サンプルは「最初から そんなものは落としていなかった」扱いでスルーです。 (^^;)
|