web-dev-qa-db-ja.com

モバイルナビゲーション-2つの相互参照画面での無限ループの問題

私のアプリの一部は、ユーザーが実行しなければならないタスクのコレクションです。 タスクごとに、彼はいわゆる「レポート」を作成できるようになります。ここでは、タスクを達成するために実行した特定の手順と、自分がどれだけうまくいくかを説明しますした。レポートは量によって制限されないため、タスクごとに多数存在する可能性があります。

現在のフローは次のようになります。

Workflow visualization of the app

現在アクティブなタスクにすばやくアクセスするために、メインメニューに独自のボタンがあります。このアクティブなタスク画面には、このタスクで作成されたレポートの量と、詳細レポートページへのリンクも表示されます
各タスクの詳細レポートページは、対応するタスク画面にリンクしています。これは、アクティブなタスクか、既に完了している古いタスクのいずれかです。


私が直面している問題はこれです:
これらの画面はどちらも相互にリンクしており、無限ループが発生しています。
もちろん、1つのオプションは、リンクの1つを完全に削除することですが、それは実際にはユーザーに役立ちません。


私の現在のアイデアは、それを開いた親画面に依存させ、リンクボタンを単に非表示にすることです。
enter image description here (逆も同様です)

このソリューションでユーザーが持つ可能性のある問題はありますか?

それは一貫性を壊し、最初は少し混乱するかもしれませんが、それはマイナーなことであり、簡単に学ぶ必要があります。しかし、おそらく何かが足りない。

1
Big_Chair

潜在的なデータの不整合がない限り、画面のスタックは有限であるユーザーの動作によって制限されるため、新しい画面の作成は重大な問題とは考えていません。考慮すべきいくつかのオプション:

  • リンクの動作を変更して、既存の画面で以前のインスタンスを検索し、新しい画面が作成される前に自動転送できるようにします。

  • 厳密な階層に沿って移動するように、「戻る」動作を変更します。

  • アプリからいくつかのナビゲーションパスを削除します。

    image


画面を互いにリンクするだけでは、「無限ループ」は発生しません。たとえば、このページにはメインページへのリンクがあり、メインページにはこの質問へのリンクがあります。ユーザーはリンクをクリックすることで移動先を選択するため、前後に、ただし「無限ループ」に問題はありません。人々が同じ2つの画面間を永遠に前後にクリックしたい場合、それは彼らの特権ではありませんか?

1
習約塔