web-dev-qa-db-ja.com

アルファベットフィルターは効果的ですか?

これはアルファベットフィルターです。

example

これは、ユーザーがアイテムの最初の文字が何であるかを知っていることを前提としています。また、辞書やアドレス帳などの本のサムインデックスの時代から継承されたメソッドでもあります。

長いリストをふるいにかける場合、予測検索や分類など、リストにインデックスを付けるより現代的な方法があります。

このタイプのフィルターを使用するケースとはどのようなものですか?

私はそれがとても古風だと思っていますが、このタイプのフィルターを使用する場合の事例を見てみたいと思います。それはあなたのアドレス帳のためのワントリックポニーですか、それとも他のタイプのフィルターの代わりにこれが適合する他のシナリオがありますか?

2
Pdxd

あなたの質問:

このタイプのフィルターを使用するケースとはどのようなものですか?

あなたは以前に答えたものです:

[できる場合]アイテムの最初の文字が何であるかをユーザーが知っていると想定します。

状況に応じて、あなたの2つの例が最も適切な用途であると思います。辞書とアドレス帳です。たとえば、iOS7のアドレス帳ではこれを使用しています。確かに、それは予測的な検索/フィルタリングも提供するので、それを好む人にとっては「Nice-to-have」として存在するだけです。

この状況で理にかなっているのは、誰かの姓を綴る方法がわからない場合がありますが、それがどの文字で始まるかはよく知っている場合があるためです。予測検索が役立つかもしれませんが、それだけが限られたデータセットです。それが大きすぎる場合、一致を見つけるためにスペルを推測して推測する必要があるのは面倒です。

それをすべて答えに変えるには、次のようにします。

アルファベットのナビゲーション/フィルターは、a)大きなデータセットである場合b)ユーザーがアイテムの最初の文字を知っている可能性が高い場合c)しかし、Word全体を正しく綴る方法を知らない可能性があります。

これはアドレス帳で理にかなっています。しかし、おそらくユーザーがアイテムの綴り方を知っている可能性があり、したがって予測検索/フィルターがはるかに意味のあるオンラインストアにはおそらく意味がありません。

2
DA01

これらのフィルターが使用される主な理由の1つは、実装が単純であるためです。 SitePointフォーラムでこの discussion をご覧ください。これらのフィルターの1つを実装します。最良の提案の1つは、小さなSQLスニペットを使用することです。いくつかの基本的なクライアント側の処理により、これは簡単にフィルターに変えることができます。

もちろん、このようなフィルターはクライアントにも使用できます。一部のアプリケーション(Web、ネイティブ、デスクトップの両方)では、これらのフィルターは単独で、または検索ボックスと組み合わせて、通常は名前をリストするために使用されます。たとえば、多くの電子メールクライアントはこの機能をアドレス(連絡先)ブックに使用します。私のメールクライアントはデフォルトで連絡先をアルファベット順に一覧表示し、このフィルターを上部に表示するので、すべての連絡先を簡単に確認できます。

[...]のように、リストをインデックス化するより現代的な方法があります。

本当です。この種類の並べ替えが開発されて以来(30年代頃、アドレス帳(興味があるなら)で使用するために)、コンピュータ自体を含む多くの新しい開発がありました。ただし、modernbetterと同義ではありません。システムが近代化され、より複雑になるにつれて、新しい機能で優れたUXを破壊する可能性が高まります。

したがって、これらのフィルターが引き続き使用される理由の1つとして考えられるのは、「歴史的な」理由です。おそらくWebサイトは10年前にフィルターを使用して開発されたものであり、ユーザーは慣れているため、開発者はそれを変更するのに適していません。もう一つの理由は、それがシンプルで理解しやすいことです。これをページに追加する場合:

フィルター:A B C D E F G H I J K L M N O P Q R S T U V W X Y Zすべて

簡単に理解できます。

では、これらのフィルターはいつ使用する必要がありますか?

  1. ユーザーが最初の文字を知っている可能性が高い場合。
    たとえば、名前や場所。私は数分前に数人に尋ねました-彼ら全員はスペインの首都がMで始まることを知っていましたが、彼らの50%は名前を知りませんでした。

  2. それが理にかなっているとき。
    数字のリストがある場合、アルファベットフィルターを使用しても意味がありません。このようなフィルタを使用する必要があるのは、次のように実際に使用することが理にかなっている場合のみです。

  3. (文字列の)長いリスト
    ショートリストにはフィルターは必要ありません。数字の長いリストもそうではありません。何が残っていますか?文字列の長いリスト。明らかに他にもいくつかのケースがありますが、これがこのようなフィルターが必要な主なケースです。

0
ArtOfCode