web-dev-qa-db-ja.com

フロントエンド開発とインタラクションデザインの関係

[ここには貴重な回答があるため、元の質問は変更しません。しかし、私が行っていた研究はこれで終了し、結果が公開されます ここ

および http://hci.me.uk/jqueryperformance/

元の質問:

私は、インタラクションデザイナー間のjQueryパフォーマンスに関する意識レベルを調査する方法についての紙をまとめようとしています。パフォーマンスはユーザーエクスペリエンスの重要な部分であり、jQueryはWebベースのプロトタイプを作成するために最も広く使用されているツールです。

設計する前に この調査 完全に、私は仕事でjQueryを使用する実務家から2つの質問をしたいと思います。

  1. あなたの意見では、WebフロントエンドテクノロジーとjQueryについて、経験デザイナーとしてどれだけ知っておく必要がありますか?
  2. 知覚されるパフォーマンスと比較して、計算パフォーマンスはどのくらい重要ですか?
2
Ali Habibzadeh

あなたは主に意見を探しているようです。サンプル調査を見ると、いくつかの課題があると思います。 1つ目は、多くのUXグループがフロントエンド開発者を十分に配置できるとは思えないということです。私見、それはUXチームの要件であるべきですが、悲しいかな、私はそれを私が望むほどには見ていません。

第二に、ラピッドプロトタイピングの場合、人々はユニットテストをまったく行っておらず、jQueryセレクターの微調整についても気にしていません。これは通常、開発側に分類されます。繰り返しますが、UX すべきはフロントエンドコードを開発していると思いますが、通常はそうではありません。

サンプルの質問に関しては、基本的にjQueryの基本的な最適化手法(セレクターの特異性、要素のキャッシュなど)を認識しているかどうかを調べているようです。確かに良い質問ですが、UXの主な焦点ではない可能性があります(これも、そうであるべきですが)。

最後に、フロントエンド開発には、エンドユーザーにとってパフォーマンスの妨げになりがちな側面がありますが、内部開発のパフォーマンスが向上するため、エンドユーザーにとってはメリットになります。それは実用的なパフォーマンスの調整と呼べるかもしれません。

たとえば、各要素に厳密なIDを使用してスクリプトに渡すのではなく、DOMを上下に移動してjQueryインタラクションを構築し、それをスクリプトに渡して、フロントエンド以外の開発者が実装して再利用しやすくします。わずかに遅いブラウザーエクスペリエンス(確かにおそらくごくわずかですが)ですが、内部開発速度が確実に向上します。

更新:

Xgreen、元の質問を整理してくれてありがとう。より具体的な回答を追加するには:

質問1:個々の設計者はおそらくフロントエンド開発者である必要はありませんが、フロントエンド開発はUXチームのツールセットの中核コンポーネントです。独自のフロントエンド開発を行わない、または少なくともフロントエンドのプロトタイピングを行わないUXチームは、それらのソリューションが古くなっており、利用可能な技術や手法のすべてを活用していないことがわかりました。

また、すべてのやり取りの細部を紙でのみ設計することは単に不可能であることがわかります。ユーザーエクスペリエンス全体を完全に理解し、必要に応じて調整するには、コードに取り組む必要があります。ユーザーエクスペリエンスを完全に設計するには、それを構築する必要があります。

質問2:これは答えるのが難しい質問です。上記の私の答えを参照してください。これには「まあ、それは場合によります」がたくさんあります。実際のパフォーマンス問題と知覚されるパフォーマンス問題の両方が、合理的な範囲内で対処することが重要です。

2
DA01

2)について:

ユーザーとして、私は実際のパフォーマンスが何であるかを気にしません。それが反応性があり高速であると感じ、かつそれが私のタスクの実現を遅らせない限り、必要なだけのCPU計算が必要になる場合があります。

例:

  • Wordがフィードバックを提供しています。ドキュメントが開いているので、作業を開始できます。ただし、バックグラウンドでは、ページを100〜200フェッチできます。
  • iPhoneは、このアプリが完全に起動するまで、アプリがどのように表示されるかのキャッシュされた画像を表示します-起動よりも時間がかかりませんアニメーション、ほとんどの場合
  • これが、プログレスバーなどを使用する理由でもあります。ユーザーにコントロール感を与えることで、時間がかからないように感じます(例:Gronier/Gomri 2008)。

(私は、ユーザーとして、私の開発者としてdoes計算パフォーマンスを心配するが、先を見据えて:十分な速度を維持するために、それをさらにどれだけ実行できるか?)

2
giraff

最初の質問では、フロントエンドエンジニアと良好な関係を築くには、html、css、jquery、さらにはSencha ExtJS(ここではそれを使用)の動作に関する知識が重要です。また、基本的なSQLとデータベースがどのように機能するかを知るようにしています。私はエンジニアの真ん中に座っています。エンジニアリングとの良好な関係は、プロダクトマネージャーとの関係と同じくらい重要です。同じ言語を話すことができれば多いほど良いのです。

パフォーマンスに関しては、知覚されたパフォーマンスは生の数値よりもはるかに重要です。ただし、改善を測定するには生の数値が必要です。

2
Glen Lipka