Designing connected products #1-2 17M7106 大杉 隆文
担当範囲 code can run in many more places devices are distributed in the real world remote control and automation are programming-like activities complex services can have many users, multiple UIs, many devices, many rules and applications
code can run in many more places
システムモデル デバイスの形状,システムのコード →システムモデル デバイスの形状,システムのコード →システムモデル (従来)ユーザがシステムモデルを気に しなくてよいことが理想 ex)Amazonで買い物するとき 技術的な構造について考えますか?
概念モデル 目標達成のための行動 それらの手順の関連を構造図化したもの →概念モデル 目標達成のための操作イメージ,手順
システムを機能させるために必要な機械を わざわざ理解しなくてよい 具体例(Amazonでの買い物) Amazonで欲しいものがある →製品の検索 →製品の閲覧,比較 →カートに製品を追加 →アカウントにログイン →代金支払い 製品到着 しかし,IoTの場合ではこの問題から逃げてばかりはいられない システムを機能させるために必要な機械を わざわざ理解しなくてよい
典型的な IoTサービスの構成 内蔵デバイス インターネットサービス ゲートウェイデバイス タブレット,PC,モバイルで使用するアプリ (インターネット接続)
ゲートウェイ デバイスとインターネットを繋ぐための 中継物 多くのデバイスを効率的に接続することが可能
従来の webサービスとの違い コードを実行可能な場所が複数存在 システムの多くの部分が どこでもオフラインになりうる システムの多くの部分が どこでもオフラインになりうる コードの実行元のデバイスによって 機能に利用制限が存在 何のコードがどのデバイスで実行しているかによって,いくつかの機能はいつでも利用できない
具体例(照明システム) 照明の切り替えシステム 制御可能 スイッチ,スマートフォンアプリ ゲートウェイ接続のインターネットサービス
具体例(照明システム) 家に誰もいない時のルール 「夕方になったらライトを自動でつける」 もしインターネット接続がない場合 インターネットサービス,アプリで実行 →ルール適用不可能 ゲートウェイで実行 →ルール適用可能
具体例(照明システム) IoT の理解しておくべき部分 ライトシステムの実行の確認 システムモデルの理解 デバイスと機能の対応付け システムの稼働の制限
システムデザイナーの役割 部品がオフライン時の重要な機能の継続性 ex)家のセキュリティアラート 現在の起こっている状況の把握(ユーザに) 問題発生時のリカバリーの簡便性 (メンテナンスの容易性)
devices are distributed in the real world
ユーザのニーズ デスクトップからモバイルへの移行 →様々な状況下でのコンピュータの使用 デスクトップからモバイルへの移行 →様々な状況下でのコンピュータの使用 モバイルのデザインは使う文脈における ユーザのニーズの理解が重要
IoT の組み込み コンピュータパワー,ネットワーク →オブジェクトや環境へ埋め込まれる ex)セキュリティシステムの仕事の範囲 社会に接続されたデバイスやサービスを 使用する状況 →複雑で多様化
remote control and automation are programming-like activities
直接操作 Ben Shneiderman が 1982年に定義 視覚的表現に使用 ex)関心のあるオブジェクト,動作, ポインティング,増分可逆的操作 理解,予測,制御可能な UI を生成 行動の結果のフィードバックを すぐに返し,取り消し可能
具体例(操作画面の Window)
IoT における時間と場所 相互作用の可能性を生成 (時間と場所で移動する) →起こることの形成,リモートの設定
具体例(ビデオ,鍵の解錠) 直接操作ではない 家の自動的なルール 「ビデオカメラをオンに,家に誰もいない場合に センサーに反応があればアラームを鳴らす」 もしくは 「配達員が荷物を持ってきたら仕事用PCから解錠」 直接操作ではない
未来に起こることの制御 未来のニーズを予想 Alan Blackwell 「基本的なプログラミング」 ユーザビリティ,アクセシビリティに影響 望む行動を論理的条件,行動のセットに要約 Alan Blackwell 「基本的なプログラミング」 難しい認知課題 全ての状況,ユーザに適しているわけではない ユーザビリティ,アクセシビリティに影響
遠隔操作 ドアの遠隔解錠→行動の結果から離れる 良いシステム→確認を送付 小包が残っている場合,ドアのロックが されているかの確認ができるかどうか? 良いシステム→確認を送付 スマートフォンが接続されていない場合, 受け取れない 訳がわからんかった,きく
complex services can have many users, multiple UIs, many devices, many rules and applications
シンプルな IoTサービス 一つ二つのデバイスを提供 シンプルなアプリで制御可能 多くのデバイスを追加した場合, デバイス同士の調整の方法が増加
具体例(複数のシステム) 警告を消すときにライトをつける ライト→ライト,アラームに所属 セキュリティから(家に誰もいないとき)の 情報で暖房接続の機能を追加 ②点灯 ③家に誰も いない ④暖房 ①消す
具体例(複数のユーザ) 各システムに異なるアクセス権を所持する複数 人存在 加熱スケジュール,温度調節 セキュリティシステム,アラームのオン/オフ
複雑なシステム・サービス 簡単なシステムから開始 結果複雑なシステムの生成 ユーザ,UI,デバイス,ルール,アプリの数 デバイスやサービスの増加 システムの動きの理解が高難度化 時間を管理のために消費
まとめ (従来)ユーザはシステムモデルの理解は 必要なし (IoT)機能と対応するシステムの理解 (従来)ユーザはシステムモデルの理解は 必要なし (IoT)機能と対応するシステムの理解 ↑プログラミングのよう IoT は組み込み,使用文脈のデザインが必要 IoT は直接操作ではない IoT は複雑になる