タグ付けされた質問 「user-interface」

人間のユーザーとのソフトウェアの相互作用に関する質問。


4
アジャイル開発でユーザーインターフェイスの設計とそれぞれの機能のサポートに対処する方法
アジャイル開発プロセスでは通常、主な焦点はユーザーストーリーにありますが、1つの要件が複数のユーザーストーリーにまたがることもあります。 たとえば、クライアントはフォーラム内のすべてのユーザーの検索ページを要求する場合があり、ユーザーの禁止、ユーザーの削除、パスワードのリセットなど、ユーザーごとに実行できるアクションがいくつかあります。 この機能は、少なくとも4つのユーザーストーリーに分割できます。 ユーザーを検索 ユーザーを禁止 ユーザーを削除 パスワードを再設定する ユーザーインターフェイスデザイナーは、このようなユーザーインターフェイスをどのように実装しますか?彼/彼女は最初のユーザーストーリーに取り組み、それからUIへのより多くの機能を増やし始めるべきですか?ただし、最終的なUIは台無しになると思います! 彼が機能全体(検索+アクション)で作業することに決めた場合、アクションの優先順位が低く、検索機能が実行された後に複数の反復が実装されるとしたらどうでしょうか。

1
非同期タスクが悪いUXを作るとき
私は、必死にそれを必要とするIDEを拡張するCOMアドインを書いています。関係する機能はたくさんありますが、この投稿のために2つに絞ってみましょう。 ユーザーがモジュールとそのメンバーをナビゲートできるツリービューを表示するコードエクスプローラーツールウィンドウがあります。 ユーザーがコードの問題をナビゲートして自動的に修正できるようにするdatagridviewを表示するコードインスペクションツールウィンドウがあります。 どちらのツールにも、開いているすべてのプロジェクトのすべてのコードを解析する非同期タスクを開始する「更新」ボタンがあります。コードエクスプローラは、構築するために、解析結果を使用してツリービューをし、コード検査は、コードの問題を発見し、その中で結果を表示する解析結果を使用するDataGridView。 ここで私がやろうとしているのは、機能間で解析結果を共有することです。これにより、コードエクスプローラーが更新されたときに、コードインスペクションがそれを認識し、コードエクスプローラーが行った解析作業をやり直すことなく更新できるようになります。。 それで私がやったことは、パーサークラスを、機能が登録できるイベントプロバイダーにしたことです。 private void _parser_ParseCompleted(object sender, ParseCompletedEventArgs e) { Control.Invoke((MethodInvoker) delegate { Control.SolutionTree.Nodes.Clear(); foreach (var result in e.ParseResults) { var node = new TreeNode(result.Project.Name); node.ImageKey = "Hourglass"; node.SelectedImageKey = node.ImageKey; AddProjectNodes(result, node); Control.SolutionTree.Nodes.Add(node); } Control.EnableRefresh(); }); } private void _parser_ParseStarted(object sender, ParseStartedEventArgs e) { Control.Invoke((MethodInvoker) delegate …

2
登録時にパスワードを自動生成するのは良い考えですか?
現在取り組んでいるプロジェクトの登録システムを開発しています。 プロセスが長すぎる場合、ユーザーはサインアップしない傾向があるため、私は(少なくとも最初は)電子メールのみを必要とすると考えました。ここで、自動生成されたパスワードを送信します(これにより、電子メールアドレスを確認することもできます) )。また、登録を迅速に完了するために、弱いパスワードを選択することもできなくなります。 今までのところ、マイナス面は発見されていませんが、このシステムを使用しているサイトを見たことがないので、残念な点がいくつかあります。 それは良い考えですか? PS:もちろんFacebookや他の同様のサービスを介してサインアップも実装し、人々がパスワードを必要とせずにすばやくサインアップできるようにしますが、多くの人は、プライバシーの懸念から、またはそうでないために、クラシックサインアップを選択したいと思うかもしれません。それらのサービスのいずれかを使用します。

1
各実装がUIの一部をカスタマイズできるようにするアプリケーションフレームワークの設計
私は、各実装がユーザーインターフェイスの一部をカスタマイズできるようにするアプリケーションフレームワークの設計を任されています。そのような例の1つは、実装(これをクライアントと呼びましょう)が、特定の画面に返すコレクションビューセルを定義できることです。フレームワークは、適切なオブジェクトを販売してアプリを簡単に構築できるようにするだけです。これは、いくつかの類似したインスタンスを構築するためです。 フレームワークへの私の現在のアプローチは、アプリ全体のすべてのプレゼンテーションおよび却下イベントを担当する調整コントローラーを設計することでした。デフォルトのCoordination Controllerは、フレームワーク内のすべてのデフォルトのビューコントローラーを提供します。デフォルトのビューコントローラーは、構成されたUIを提供することなく、関連するタスクをすべて実行します。たとえば、1つのコントローラーがテンプレートセルを含むコレクションビューを表示し、特別なものは何もありません。この設計の利点は、コントローラー間の結合がなくなり、クライアントがデフォルトのコーディネーターをオーバーライドして、特定のタスクに対してまったく新しいビューコントローラーを返すことができることです。 私が抱えている問題は、このフレームワークを設計して、クライアントが独自のカスタムUIをアプリに追加できるようにする方法です。 アプローチ1 フレームワークにビューファクトリを必要とし、このビューファクトリがすべての関連するビューの販売を担当するようにします。したがって、アプリデリゲートでは、クライアントがたとえばCollectionViewCellFactoryを作成し、インターフェイスが、準拠するクラスが提供する必要のあるすべてのセルを定義するように強制できます。私はこのデザインのコードベースを継承しましたが、コードベースが抽象化されすぎてカスタマイズできなかったので、コードベースから離れました。これには、アプリのあらゆる側面に対応する多数のファクトリーが付属しており、これにより、すべてのアプリのセットアップ時間に数日が追加されました。 アプローチ2 各ビューコントローラーは、これらのカスタムUIクラスを実行時に定義できるようにするサブクラス化フックまたはセットアップAPIを指定します(UISplitViewControllerが呼び出し側がviewControllersプロパティを使用してコントローラーをセットアップする方法と同様です)。これを行うには、各クライアントは基本の調整コントローラーと各コントローラープレゼンテーションでサブクラス化するだけです。コントローラに適切な値を設定して、目的のUIを実現します。何かのようなもの viewController.registerReusableCellsBlock = ^(UICollectionView *collectionView){ //perform custom registration } viewController.cellDequeueBlock = ^UICollectionViewCell<SomeProtocol> *(UICollectionView *collectionView,NSIndexPath *indexPath){ //dequeue custom cells } 現在、私は再利用性を促進し、ViewControllerの肥大化を防ぐために、ビューのデータソースを別のオブジェクトに分離しています。これにより、セルのインターフェイスを提供するビューコントローラーのサブクラス化が少し難しくなりますが、不可能ではありません。 アプローチ3 おそらく、フレームワークを設計してその使用法を予測しようとするのは悪い考えです。おそらく、最良のオプションは、セットアップコストが比較的高い場合でも、最大限の制御でサブクラス化できるようにすることです。次に、いくつかのクライアント用に構築したら、出現するパターンに気づき、ルートに沿って最適化を開始します。 私はフレームワークの内部でカスタマイズ可能にする方法を理解しています。私が苦労しているのは、クライアントによるフレームワークの潜在的なカスタマイズポイントを定義するインターフェースを最適に定義する方法です。 TL; DR インターフェイスの最も複雑な部分は、コレクションビューセル内にネストされたコレクションビューを扱います。これにより、セルの水平ページングと垂直スクロールが可能になります。これは、水平セルを管理し、各セルのコレクションビューを新しいデータソースで構成する1つのデータソースを持つことで実現されます。 これらすべてのセルをカスタマイズ可能にするインターフェイスをどのように設計しますか?


7
スクラムプロジェクトのUXは誰ですか?
OK。あなたが教科書スクラムプロジェクトに取り組んでいるとしましょう。あなたは、製品所有者と協力しているスクラムマスターを手に入れました。次のスプリントはUIが重いです。コーダーが画面の作成を開始する頃には、実際に彼らがどのように見えるかを考えている必要があります。 誰がいつワイヤーフレーミングを行うのですか?製品のオーナーは?製品の所有者をサポートしている人はいますか?スクラムマスター?UXのエキスパートがいる場合、スプリントの開始後にコーダーと一緒に作業しますか、それともストーリーカードと制約のそばに座って、開発者が行っている作業をガイドして通知するワイヤーフレームとモックアップを事前に提供しますか? UXのヘルプが必要だと思いますが、どこに適用すればいいのか本当にわかりません... 編集:質問を言い換えましょう。 アジャイルプロジェクトで一貫した高品質のユーザーエクスペリエンスをどのように提供しますか?

3
マイクロソフトが現在のUIのようなUIを構築するためにUXフレームワークをリリースしないのはなぜですか?
.NETフレームワークでプログラミングの学習を始めたとき、UIテクノロジとしてWinFormsを使用することから始めました。このオフィス2000と同じように「クラシック」メニューを使用しています。Office2007 がリリースされて数年後、リボンが誕生しました。 さらに数年後、Office 2010がリリースされ、ステージなどの新機能も追加されまし た。数日前Office 15のプレビュー版がリリースされ、より豪華な新機能が追加されました: これは大きな進歩であるIMOですが、開発者がそのようなUIを構築できるようにしないのはなぜですか?.NETを見ると、まだリボンを作成する方法がありません。拡張性の高いWPFを使用しても、事前に作成されたコントロールはありません。したがって、コミュニティはこれらすべての「機能」を作成するためにいくつかのプロジェクトを開始しました。今日、マイクロソフトはWinFormsとWPFのリボンをリリースしましたが、それはまだコアフレームワークの一部ではありません(4.5のものでもありません)。しかし、私が知る限り、これは.NETに限定されていませんか?今日、アンマネージアプリケーションがこれらのリボンUIを作成するためのAPIはまだありません。 ドイツでは、すべてが自分のスタイルに合うように、無料のUXトレーニングを提供しています。http://j.mp/NZGgH9 マイクロソフトが開発者にクールなものを提供しないのはなぜですか?彼らは彼らのアプリケーションがユニークであることを望みますか?

2
ユーザーに構成、名前=値のペアの編集を許可するときに空白を処理するためのベストプラクティスは何ですか?
たとえば、悪名高いパス変数をユーザーに定義させます。どのように解釈しapppath = C:\Program Files\Appますか? これは、プログラミング言語がホワイトスペースを無視する慣習を採用しているように見え、読みやすさのために等号の前後に残しますが、アプリケーションではホワイトスペースを含む有効な変数値である可能性があります(サフィックスであると考えてください)。 キーにも空白を含めることができますか? アプリケーションの一般的なベストプラクティスは何ですか?私が持っている場合: key-example = value-example キーの存在"key-example"または"key-example "と値を存在"value-example"またはと解釈する必要があり" value-example"ますか?

5
多くのソーシャルメディアサイトでテキストの編集が許可されない技術的な理由は何ですか?
Facebook、Twitter、Ning、その他のソーシャルサイトについてよく耳にする不満は、コメントや投稿を作成すると編集できないということです。 これは、ユーザーエクスペリエンスの主要な目標の1つであるユーザーエージェンシーの提供、またはソフトウェアでのユーザーの行動を制御する能力に反すると思います。 Stackexchangeサイトでも、コメントを編集できるのは一定の時間だけです。 非常に多くのWebアプリが、ユーザーが自分の執筆を編集できないようにすることができないのは、技術的な欠点または「機能による設計」ですか?

8
優れたユーザーエクスペリエンスとは何ですか?起動時に一度待機するか、頻繁に待機するか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 5年前休業。 現在、多くの計算を必要とするアプリケーションを設計しています。今私は一般的に私が両方をテストした2つの可能性を持っています: 1)アプリケーションの起動時に、最も重要な値と多くの時間を消費するこれらの値のみを計算しました。したがって、ユーザーは起動時に約15秒待機する必要があります。しかしその一方で、多くのユーザーインタラクションは再計算を必要とするため、アプリケーションがすべての値を計算してロードするまで、ユーザーはどこかをクリックしてから2〜3秒待たなければならないことがよくあります。 2)起動時にすべてをロードします。これには90〜120秒かかります...これはかなり長い時間ですが、大きな利点は、すべてのユーザー操作がすぐに実行されることです。 では、一般的に、より良いアプローチをどのように考えますか?起動時または必要なときにすべての時間のかかる操作をロードしますか?

3
ページが見つかりません:404-このページに配置するのに最適なコンテンツ[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 6年前休業。 「404ページが見つかりません」のようなエラーページにどのようなコンテンツを入れればよいですか? 例: 「申し訳ありませんが、ページリクエストの処理中にエラーが発生しました。」 「ページが見つかりません!URLを確認してください」 「エラーが発生しました。もう一度やり直してください。」 「申し訳ありませんが、リクエストされたページが見つかりませんでした。」 コンテンツは、ターゲットユーザーの視点である必要があります。対象ユーザーが何が起こっているのか、何をすべきかを簡単に理解できるはずですか?

3
プログラミングのコストに基づく設計のコスト
あるプロジェクトでのプログラミングのコスト(作業時間)がわかっている場合に、UIデザインのコストを決定する必要があるときの方法論は何ですか? たとえば、一部のプロジェクトでのロジックのプログラミングにはXドルの費用がかかるとします。設計コストの決定に役立つ一般的な割合(プログラミングコストの30%など)はありますか? 関心のある分野は、携帯電話の開発(主にビジネスツールと2Dゲームであり、3Dではありません)です。ここでは、ウェブデザインやPCゲームデザインと比較して、デザイン作業が少なくなっています。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.