ユーザーは、注文を取りながら、フィールドで終日このアプリを使用するとします。注文はオフラインで保存され(ネットワークが利用できない場合)、ネットワークが再び利用可能になったときにサーバーに保存されます。データの送信が失敗した場合、別の注文(またはその他のデータ)を受け取っている可能性があるときにアプリ内のユーザーに通知するか、デバイスレベルで通知する必要があります(SMS =通知)?
同じことについて利用可能なベストプラクティス研究はありますか?
アプリ内でユーザーに通知しますが、ワークフローが中断されないようにしてください。
Nielsen Norman Groupは、このトピックに関連するモバイルイントラネットに関する調査を行いました。 彼らは、エラーを回避し、ミッションクリティカルなアプリケーションの生産性を向上させるのに役立つ7つの戦略を示しました。 記事から:
「熟練した開業医であっても、グラスでタイプするのはピクニックではないことを認識してください。可能な限りデータ入力を最小限に抑えるタスクフローを作成してください。ユーザーがリスト、オプションのセットリストの検索、または自動提案の受信により、情報をより簡単に入力できます。ZONは、ユーザーに長いオプションリストを提供するのではなく、先行入力機能を備えたmTec検索を設計しました。これにより、モバイルユーザーの負担が軽減されます。 、彼らがオフィスにいるときのためにデータ入力集約的な作業を残します。」
そもそも、ほとんどのエラーの原因は何ですか?彼らはまた、ワークフロー自体を精査することを提案しています。デスクトップアプリからモバイルアプリへの変換で問題が発生する場合があります。
"一般的なタスクのワークフローを設計します。これにより、設計チームは作業を完了するために必要なステップとタスクの順序を完全に分析する必要があります。ユーザーがパスをたどることで負担が軽減されます。調査では、モバイルサイトまたはアプリで再作成しようとしていたプロセスが最初から壊れていたため、いくつかのチームで問題が発生しました。オフラインまたはデスクトップベースのワークフローでは、合理的または論理的には、それに基づくモバイルデザインはどちらにもなりません。このような場合は、最初にプロセスを再設計してから、モバイルにすることをお勧めします。」
中断によりデータ入力がより困難になり、より多くのエラーが発生する可能性があります。アプリ内のエラーに対するデバイスレベルでの中断もワークフローのコンテキストを混乱させる可能性があります。現在のワークフローに直接関係のない中断を避け、より都合のよいときに現在の注文に関係のないエラーを通知することを検討してください。
既存の実績のあるトレンドを使用して、以下の返信でOPの問題ステートメントに対処します。
あなたの最良の解決策は、デバイスを鳴らす/振動させるだけです永続的なOS通知。ユーザーが通知を表示、破棄、または承認するまで、デバイスを振動させたり、定期的に(短い間隔で1分ごとに1回)音を出したりします。
また、必要なのはエラー状態の設計です。
同じことについて利用可能なベストプラクティス研究はありますか?
ベストプラクティスはです。 Microsoft-Outlookで非常に長い間正しく動作しているので、同意するのが嫌いです。すべてのアプリには、ステータスバーを表示する権利があります。これは、アプリケーションレベルの情報を表示する場所です。
データの送信が失敗した場合、別の注文(またはその他のデータ)を受け取っている可能性があるときに、アプリ内のユーザーに通知する必要がありますか
あなたはそれをモバイル/タブレットと言うので、通知パネルを使用して永続的な通知を表示できます(Skypeやボイスメールが何をするのか)OSに貼り付けるだけです通知パネル。また、次回ユーザーがアプリを開いたり表示したりするときに、アプリレベル(アプリ内)の通知を表示することもできます。面倒ですが、機能し、それが必要です。
Facebookの機能もご覧ください...
デバイスレベルで通知する必要がありますか(SMS通知など)?
SMSはやりすぎです。回避してください。デバイスを振動させて、あらゆる形式の持続的な通知を表示します。デバイスを振動させ続けるか、ユーザーが通知を確認または破棄するまで、定期的に(短い間隔で)鳴ります。
データが後で送信されるというアプリ内メッセージをユーザーに提供します。アプリでは、なんらかのカウンター(または受信トレイ)を使用して、まだ同期されていない注文の数を示すことができます。アプリの外でその数を通知するには、ホーム画面のアプリアイコンカウンターを使用できます。
ユーザーにアプリ内通知をオフにするオプションを与えることができます。カウンターはまだ非同期データがあることをユーザーに伝えます。
注1:私はiOSを例として使用していますが、AndroidおよびWindows Phoneの場合、他にもいくつかの解決策があります: https://stackoverflow.com/questions/8292679/badge- on-Android-tabhosthttp://developer.nokia.com/Community/Wiki/Working_with_Live_Tiles_in_Windows_Phone_7
注2:ユーザーの責任には常に何らかの依存関係があります。アプリ外の通知はオフにすることができます。これについては、ユーザーにアドバイスしないことを除いて何もできません。
その他はユースケースをうまくカバーしています。私は議論から欠けている一つのことに気づきました:情報セキュリティです。エンタープライズユーザーおよびエンタープライズITは、情報セキュリティについて懸念を抱くことがよくあります。アプリケーションが機密データを使用している場合、企業はそのデータが他人のクラウドを通過することを許可しない場合があります。通知に機密データが含まれる場合、デバイスの通知(またはSMS)を使用できない場合があります。セキュリティ上の制限により、アプリ内通知のみを使用し、デバイスレベルの通知は使用しないようにする必要がある場合があります。
通知は、アプリ内またはSMSまたはその他のメッセージ手段(電子メールなど)のいずれかによって送信されるように構成する必要があります。ほとんどの場合、ユーザーはすべての作業にモバイルアプリケーションを使用しますなので、通知のほとんどは追加の処理のためにその中に表示されます(アプリケーションの他の部分との緊密な統合)。一方、SMS同時にメインアプリとの統合が困難ですが、エラーや警告などのより深刻なケースでは、SMSが効果的である可能性があります。
アプリがサーバーに接続されていないことを示す、アプリ内の画面の上部または下部に目立たないステータスバーを表示することをお勧めします。これは、データ接続が確立されているときに携帯電話が通知する方法であり、おなじみのパラダイムです。
アプリの通知はSMSよりも邪魔にならないようです。
ただし、通知は、ユーザーに行動を促す必要がある場合にのみ役立ちます。彼が何もする必要がなく、問題がそれ自体で解決できる場合は、ユーザーを煩わせる必要はありません。単純なインジケーター(完了/保留中)で十分です。