ユーザインタフェース 課題


課題: 散布図上で多次元データ分布を作成するユーザインタフェースをデザイン・実装し、ユーザテストを行う。

散布図上で、ペイントツールやイラスト作成ツールのように簡単な操作で任意の分布を持つ多次元データを作成するためのユーザインタフェースをデザイン・実装する。 サンプルコードを以下で配布するのでそれを元に開発すること(同等のものを作成できるのであれば他の言語等で新たに開発してもかまわない)。 自由に拡張(点をドラッグ操作で移動できるようにする、選択してまとめて移動や拡大縮小できるようにする。エアブラシのように点をまとめて配置できるようにする、平均や分散を指定して規定の分布を配置できるようにする、など)を行い、なるべく効率よくタスクを遂行できるようすること。各自の創意工夫を期待する。 他の学生との情報交換はかまわないがコードの流用は厳禁とする。 またインタフェースもなるべく他人と違う工夫を施すこと。 操作時間を早くすることよりもオリジナリティを重視する。 ユーザスタディを行うほか、作成したソフトウェアの動作を説明した文書、およびビデオを作成し、提出する。 講義最終日の発表会で、デモを交えて作ったものを発表する。

配布資料:

ユーザテスト
自分の実装したプログラムを被験者に操作してもらい、時間を計測する。被験者は自分の他に2人用意してテストを行う(合計3人)。 なるべく情報科学科以外の人が望ましい。 目的とする散布図の概形をあらかじめ紙に印刷しておき、それになるべく近くなるようにデータを生成するように指示する。 個別の点の位置でなく、全体的な分布が似ていればそれでよい、と指示する。点の数は固定(1000)とする。 まずは、練習用の図を見せて練習させる。最初は詳しい操作方法の説明なしでやってみてもらい、様子を観察する。 そのあとで、監督者が説明や手助けをしつつ使いこなせるまで練習してもらう。十分に練習できたら、課題の図を1つずつ順に描いてもらう。 厳密な一致は求めず、被験者には満足したら終了としてもらう。終了したら、時間を記録する (計測用コードを組み込んでもよいし、ストップウォッチでもよい)とともに、 結果のレイアウトのスナップショットを取っておき、それもレポートに含めること。 また、一通り終わったあとにユーザと話をしてコメントをもらう。 テスト結果はこちらで集計するので以下のフォーマットの表がほしい(単位は秒)。
時間
		練習	Task1	Task2	Task3
被験者1   	100	200	300	400
被験者2   	100	200	300	400
開発者   	100	200	300	400
平均	   	100	200	300	400

時間に加えて、自分で動かした感想や、テストユーザからのコメントや観察結果などを まとめる。

情報科学科以外所属でプログラミングが出来ない学生向けの課題
自分で実装する代わりに、既存のソフトウェアで今回のタスクに もっとも適していると思われるものを使用して実験を行う。 具体的には、PowerPoint, Illustratorなどが考えられる。 また、実験の結果に基づいて、今回のようなタスクに適した 理想的なインタフェースを自分なりに考案し、 そのデザインを詳細に説明した文書を作成すること (図をふんだんに使って具体的な動作がイメージできるようにする)。 実験に使用したソフトをどう改良すればよいか、どのような機能を 追加すればよいか、でもかまわない。

レポート提出方法
自分のデザインの説明・詳しい操作方法・実験結果(時間と結果の画像)・考察、 をまとめたレポート(pdf)、およびプログラム(ソースとバイナリ) をzipファイルにまとめて、氏名・学生番号を明記の上、 下記の提出先までメイルすること。
また、自分のプログラムの動作を映したビデオを撮影し、それも提出する。動作が分かればよいので短めでよい(30秒~1分程度)。 撮影は、スクリーンキャプチャソフト(Bandicam, CamStudioなど)がベストだが、スマホでの画面撮影でもよい。 ビデオはファイルサイズが大きいので、動画共有サービス(Youtube や vimeo など) あるいはファイル共有サービス(google drive, MS one drive, dropboxなど) にアップロードして、URLをレポートに記載する。

提出期限: 7月9日(月)深夜 (厳守)

提出先: kentaro.asai.is@gmail.com

なるべく早く作業を始めること。 テストには時間がかかるので、一週間前くらいまでには実装を終えるように。 早めに提出してもらえるとありがたい。 不明な点、質問等があれば早めに五十嵐まで。 アップデートがあればこのページに掲示する。

参考資料

  1. Same Stats, Different Graphs. Justin Matejka, George Fitzmaurice. paper, video ACM SIGCHI 2017.
  2. Scikit-learnのデータ生成関数 make_regression, make_classification