現在、リスト内のアイテムの並べ替えに取り組んでいます。ただし、注意が必要なのは、最大100個のアイテムを再注文できるようにする必要があることです。私はいくつかの解決策を考えていますが、おそらく20以上の項目に取り組むと、デザインは壊れます。これはユーザーにとって非常に悪い体験につながります。アイテムの長いリストの再注文を許可する方法についてのあなたの考えとアイデアを得たいと思います。
私が考えたいくつかの解決策:
オプション1:ドラッグアンドドロップでアイテムを並べ替えます
ご覧のとおり、アイテムを100番目までドラッグするのは難しいでしょう。スクロールも面倒です。ドラッグアンドドロップを使用するためのより良い方法についての考えを共有できればすばらしいと思います。
オプション2:アイテムを並べ替えるための矢印ボタンの上下
上下の矢印をクリックすると、ここで並べ替えが機能します。ただし、ここでの問題は、項目98を項目2に移動する場合など、離れすぎている項目を並べ替える場合です。
これを解決する簡単な解決策は、ページ付けを使用することです。この場合、ページごとに一度に10アイテムしか表示されません。ただし、並べ替えはその中で発生します。したがって、他のページからアイテムを並べ替えるときに問題があります。
オプション3:ドロップダウンを使用してアイテムの位置を選択します
あなたの解決策を聞いて非常にうれしいでしょう。ありがとう!
更新:何のためにあるのか不思議に思うかもしれないので、この長いアイテムのリストを並べ替えるユースケースにコンテキストを追加したいと思います。これは、質問のリストが長いアンケートに使用します。ドラッグアンドドロップはユーザーのペルソナに最適ではない可能性があるため、いくつかのオプションと代替案を検討しています。解決策と提案を共有してくれた皆さんに感謝します。
先に進む前に、(質問の中で)ユースケースについてもう少し説明したいと思うかもしれません...なぜ100エントリを手動でソートする必要があるのか、詳細を知りたいと思います。
ユーザーが100アイテムを手動で並べ替えることができるページを設計する要件を取得した場合、戻って要件を質問します。つまり、「アイテムAは本当にランク94にあるのか、それともランク95にあるのか」という質問をするユーザーにどのくらいの負荷をかけますか。たぶんあなたは属性に基づいて自動ソートを使用することができます、多分本当の要件はお気に入りとしてベスト5を選ぶことです...
要件が実際に100アイテムを手動で並べ替えることである5%未満の確率の場合、
私は(残念ながら)ユーザーがフォームのフィールドを並べ替えられるようにする必要がありました...それらのフォームのいくつかは途方もなく長くなることがあります。このシナリオでは、リスト全体を並べ替えるのではなく、単一のフィールドまたは連続するフィールドのグループを新しい場所に時々移動するように最適化する必要がありました。
役立ついくつかのアプローチがあります。
Netflixにはこれに関する多くの経験があります。DVDサービスにまだサブスクライブしているユーザーは、キューを並べ替えることができる必要があるためです。彼らは何度もアプローチを変えてきました。それは問題が実際には難しい問題であることを教えてくれます。現在のアプローチに関するいくつかのポイント:
したがって、それらは複数のアプローチを提供します。長いリストでの大きな移動が一般的であると思われる場合は、移動する行の移動先インデックスをユーザーに入力させるよりもよい方法はありません。
長いリストの並べ替えはそれほど珍しいことではありません。私がそれに遭遇する最も一般的なケースは、音楽のプレイリストです。
私の推奨は、上記のすべてです。
並べ替える必要があるアイテムがたくさんある場合は、ツールを使ってたくさんの支援を提供する必要があります。
短いリストまたはアイテムを互いに近くに再配置する必要がある場合は、ドラッグアンドドロップのサポートを提供する必要があります。特定のユーザーはこれにアクセスできないため、またキーボードコントロールからアクセスできる並べ替えボタンを提供する必要があることに注意してください。
「並べ替え」ボタンと「並べ替え」ボタンが必要ですが、"上に移動"ボタンと"下に移動"ボタンがあると便利です。
そして、それがすべて終わったら、特定のアイテムを特定の位置に移動できるようにすることも役立ちます。
これは通常、「並べ替え」ボタンと「並べ替え」ボタンの間に数値フィールドを提供することで行われます。
---- /\
---- Item Name [##]
---- \/
特定の状況で役立つその他の並べ替え機能:
Ctrl+Click
を使用してこれを行うことができます)Virtualnobiが優れた答えで述べているように、ユーザーが本当にリスト全体を手動でソートする必要があるかどうかを判断する必要があります。
ただし、そうする場合は、 プレミアリーグファンタジードラフトのWebサイト で使用されている例を示します。これはファンタジーサッカーゲームであり、ユーザーはプレーヤーを保存して後で紹介し、手動で注文を並べ替えることができます。考慮すべき主なこと:
プレミアリーグファンタジードラフトを指摘するのは、フィルタリング中に並べ替えができるためであり、すばらしい実装だと思います。
例えば:
最初のリスト:
「MID」(ミッドフィールダー)のみを表示するようにフィルタリング:
この時点でも完全なリストの順序は表示されますが(優先度)、ユーザーはこのフィルターされたリストを並べ替えて、リスト全体に影響を与えることができます。
たとえば、ユーザーはSnodgrassをこのリストの4番目(全体で7番目)からこのリストの2番目に移動できます。これにより、全体で4番目になります。
それは確かに厳しい要件です。誰かが手動で100アイテムをソートする必要があると仮定すると、私はそれをユーザーのためのゲームにすることを好みます。子供が数字を昇順に並べるためのこのパズルのおもちゃを見たことがありますか。私の提案はそれをそのようなものにすることです。
download bmml source – Balsamiq Mockups で作成されたワイヤーフレーム
このアプローチには、ユーザーがどれだけ完了したかを確認できるという利点があります。
この状況でうまくいく可能性のあるもの(人々に多数のアイテムのランキングを作成させる)は kitten wars -スタイルの手段であり、ユーザーはすべてのアイテムのペアを表示して、 2つのうちどちらが高いランクを取得するかを選択します。これを実装するためのコードがそこにあります。ユーザーに表示するペアを選択し、十分な数のペアが評価された後、完全な100アイテムのランキングをそれらの応答に基づいて計算できます。ユーザーは一度に2つの項目を比較するだけでよいので、楽しく簡単です。
申し分なく、私のアプローチは他の人によってカバーされていないと思います:
「つまり、これは質問のリストが長いアンケートに使用します。」したがって、ユーザーがどちらの答えがより重要であると考えるかを比較検討する必要があります。私が考えることができる同様のことは、私の国(オランダ)のすべての選挙について頻繁に使用される投票ヘルパーです。その中で、「核エネルギーは風力エネルギーよりも優れている」「防衛はヘルスケアよりも多くのお金を稼ぐべきだ」という質問に答え、それらのうちどれがより重要であるかを割り当てます。実装は異なります。
したがって、ユースケースがこのようなものである場合、アイテムの正確なスポット(100のうち)はそれほど重要ではなく、2つの質問を重要度で比較するのは簡単です。そうする。 質問を続ける "ランクが高くなる、質問XAまたは質問XB?"、簡単に回答可能、アイテムに十分な順序を設定できるようになるまでおそらくすべてのアイテムの正確なランキングを知る必要がないので、上位25が何であるかを理解した後で停止し、質問するだけです。それらを並べ替えます。または、ユーザーが必要なときにいつでもユーザーを停止させて、不完全なデータを処理することもできます。データがないよりはましだ。
完全な注文のショットを撮る前に、少なくとも100の質問をする必要がありますが、それらはsimpleの質問です。それ以外の場合は、「質問XAに必要なランクは何ですか?XB?XC?」の形式を除いて、100の質問にも回答する必要があります。これらはhardです。他の99と比較したこのアイテムの重要性の概要を知る必要があるためです。
正確な順序が依然として非常に重要である場合、少なくともこれらの回答からかなりソートされたリストを作成できます(たとえば、50ペアを比較してから、すべての勝者と敗者のペアを比較して、上位25%を把握します(両方のマッチで「勝った」)と、100回の比較で下位25%(失った)です)。次に、それをユーザーに見せて最後の仕上げを行います。ほとんどのアイテムはあまり移動する必要はありません。