白旗製作所

マウスジェスチャのユーザビリティ評価

常々思っているのですが、Operaなどに標準で搭載サれているマウスジェスチャは、
 ↓:タブを開く
 ↓→:タブを閉じる
というような形で、正反対の動作にも関わらず反対のジェスチャになっておらず、
また「タブを閉じる」というよく使うジェスチャに2ステップかかるなど、
ユーザーインターフェースとしてはどうかと思うものになっています。

OperaはChroniumベースになってからジェスチャのカスタマイズができなくなり、
この使いづらいジェスチャを使うしかなくなってしまいました。
Chromeの拡張機能でもまともなマウスジェスチャが使えるものがありません。


なぜこのようなジェスチャが使われ続けるのか、このようなジェスチャのユーザビリティ評価などは
検討されていないのか、少し調べて見ました。

・ジェスチャ操作の問題点については、タッチパネルの例ですが、以下の記事に少しまとまっています。
ジェスチャ操作の意義と課題
 ・標準的なジェスチャとのコンフリクト
 ・暗黙的に存在する独自ジェスチャに気づかない
 ・ジェスチャが直接操作に貢献していない
 ・チューニングが不十分

上記の問題は、「ジェスチャが直接操作に貢献していない」に該当しますかね。
こういう観点だと、もともとのOperaのジェスチャでも、↓→でタブが右下に閉じる
ような表示がなされていれば、操作と表示の対応が取れるため、良いのかもしれません。

一方、ジェスチャのユーザビリティ評価としては、以下の様な観点の評価が行われるようです。
・学習しやすさ
・記憶しやすさ
・エラー発生率
・効率性
・主観的満足度
タッチパネルデバイスを用いたジェスチャコントロールの実装・評価
モバイル情報機器のユーザビリティに関する感性科学的アプローチ

ブラウジングでよく使用する「タブを閉じる」が2ステップかかると、
エラー発生率や効率性に影響しそうです。
評価方法としては、被験者に実際にブラウジングしてもらい、
その際の時間を計測したり、操作回数ごとのミス発生率の推移を測定したりすることになります。

ウェブブラウザのユーザビリティ評価については下のような例はあるものの、
マウスジェスチャによるブラウジング操作に関する評価は見当たりませんでした。
メタ知識に基づくウェブ探索を容易にするFootprintTrailerとウェブブラウザとの連携機構


是非ブラウジングやその他の操作時にのマウスジェスチャについても評価して、
良い物をスタンダードとして使って欲しいですね。
  1. 2016/04/08(金) 08:44:31|
  2. Opera
  3. | トラックバック:0
  4. | コメント:0

ブログデータのバックアップ

知らなかったので一応メモ。

FC2のブログのバックアップは、
管理画面左下の、ツール→データバックアップからできます。

ただ、画像までのリンクとかはそのままなので、
引越サービスとか使わないと、そのまま移すだけでは画像が
表示されない感じになります。
  1. 2015/11/15(日) 11:57:42|
  2. ブログパーツ
  3. | トラックバック:0
  4. | コメント:0

WICED SenseのUSB電源での動作

Wiced Senseは、ボタン電池動作しますが、
待機中はLEDの、Bluetooth接続中はセンサの消費電力が大きく、
電池があまり持ちません。

デバッグ中はなるべく電池よりもUSBから電源をとって動作させましょう。
以下の方法で、USB電源動作することができます。

①WICED Senseのボタン電池のフタを外しておき、
 ボタン電池を指で挿入して押さえます。

②赤LEDが光り始め動作を開始したら、
 USBケーブルを接続します。

③ボタン電池を離しても動作し続けます。

注意:
 USB電源で動作させると、Bluetooth接続に失敗しやすかったり、
 動作が不安定になる場合があります。

参考:
WICED SENSE Kit BLOG

  1. 2015/11/14(土) 22:03:29|
  2. WICED Sense
  3. | トラックバック:0
  4. | コメント:0

WICED Senseのファーム開発環境構築と書き込み

Broadcomが、WICED Senseという無線センサ開発キットを出しています。
https://www.switch-science.com/catalog/1925
https://store.macnica.co.jp/products/broadcom_bcm9wiced_sense

Broadcom自体は無線チップメーカで、チップを使った開発キットの位置づけです。
ただ、これ単体でもいろいろ遊べそうなので、購入してみました。

WICED Sense自体のファームウエアの開発と、
WICED Senseのデータを受信して利用するアプリの開発をする必要がありますが、
今回はファームの開発環境構築です。

参考:WICED Senseのファームウェアを変更してみる

①IDEとSDKのダウンロード・インストール
まずBroadcom communityに登録します。
Broadcom community
ここからSDKやリファレンスガイドなどをダウンロードすることができます。

次にSDKをダウンロードします。
WICED Bluetooth→Download SDKで
WICED-Smart-SDK-2.2.1-IDE-Installer
と書かれたリンクからインストーラをダウンロードします。
WICED Sense IDE Download2

ダウンロードしたらインストールに移りますが、
このIDEのインストーラが少し曲者で、JREがJava7でないと動作しないようです。
Java8にアップデートしてしまい、Java7がない場合、
Oracleのアーカイブからダウンロードしてインストールすることになります。
Javaアーカイブ
これでインストールできるようになります。

②プロジェクトの準備
開発の手順は、Broadcom communityの以下の記事が詳しいです。
WICED SENSE Kit BLOG
ちなみにこれ以外にも以下のコンテンツがあります。
WICED Sense Table of Contents

WICED Senseの電池を抜いて、USBケーブルでPCに接続します。
IDEのインストール時に、Silicon LabのUSB-UARTドライバもインストールされたはずですので、
自動的にドライバがインストールされて使用できるようになります。
念のため、デバイスマネージャーで確認しておきます。

次に、IDEを起動します。画面はほぼeclipseです。
左側のProject Explorerの中の、
WICED-Smart-SDK→Apps→wiced_sense
が、販売されているWICED Senseのデフォルトのファームウエアです。
これを修正して使います。

wiced_senseのフォルダをコピー・貼り付けして名前を変更します。
今回は「wiced_sense_changed」とします。
フォルダ内のwiced_sense.cがメインのファイルなので、
この辺りを見て適宜修正します。

③書き込みと動作確認
IDE右側にMake Targetの中にSDKの他のプロジェクトのBuild→書き込みのターゲットが用意されています。
以下のフォーマットで名前を作ってターゲットを用意すると、Buildと書き込みができます。
 プロジェクト名-チップ名 コマンド名
例:wiced_sense_changed-BCM920737TAG_Q32 download

他のターゲットをコピー・貼り付けしてEdit→Target nameを例の様に記載して、
Targetをダブルクリックすると、ConsoleにBuild結果と書き込み結果が表示されます。

USBケーブルを接続した直後であれば、以下の様なメッセージがでて書き込み成功し、
プログラムが走り出します。
 Detecting device...
 Device found
 
 Downloading application...
 Download complete

 Application running

デバイスが接続されていなかったり、アプリケーションがすでに走っていたりすると、
 Detecting device...
 No BCM20737 detected
というメッセージが出て、書き込みが失敗します。
この場合は、デバイスを接続しなおしたり、リセットしたりを試す必要があります。

④Appendix リカバリの方法
WICED Senseリカバリの方法を書きます。
まず、カバーを外して基板を出します。
以下の矢印の箇所にドライバーを突っ込んで、赤いカバーを外します。
DSC_3860_2.png

表に見えた基板の赤四角部分がブートボタンです。
DSC_3858_2.png
ココでプラスネジが2つあるのでそれも外します。

DSC_3857_2.png
赤四角の部分がリセットボタンです。

USBケーブルに接続し、
(a)リセットボタンを押しながらブートボタンを押す
(b)リセットボタン→ブートボタンの順に離す
とこれでリカバリの準備ができます。

SDKのMake Targetに「WICED_SENSE-BCM920737TAG_Q32 recover UART=COMXX」
という名前のTargetを作り、実行すると、EEPROMに初期のプログラムが書き込まれ、リカバリできます。
(COM番号はデバイスマネージャーのポートにあるUSB to UART BridgeのEnhanced COM Portの番号です。)

  1. 2015/11/14(土) 17:43:38|
  2. WICED Sense
  3. | トラックバック:0
  4. | コメント:0

[Python]Anaconda3+spyder環境でpandasのエラーが生じてIPythonに括弧が入力できない。

タイトルのとおりです。

長時間Spyderを開いていると、たまにIPython上に以下のメッセージがでて、
括弧"("とかの記号を入力しようとすると、エラーメッセージで潰されて実行できなくなります。

C:\Anaconda3\lib\site-packages\pandas\core\format.py:2037: RuntimeWarning: invalid value encountered in greater has_large_values = (abs_vals > 1e8).any()
C:\Anaconda3\lib\site-packages\pandas\core\format.py:2038: RuntimeWarning: invalid value encountered in less has_small_values = ((abs_vals < 10 ** (-self.digits+1)) &
C:\Anaconda3\lib\site-packages\pandas\core\format.py:2039: RuntimeWarning: invalid value encountered in greater (abs_vals > 0)).any()

ググるとgithubにQAがあったのですが、
どうやらpandasのバグのようです。
解決策は以下の2つが示されてます。
・pandasを最新版にする
 conda remove pandas
 conda install pandas
・pandasのオプションでfloatのフォーマットを変更する
 pd.set_option('display.float_format', lambda x:'%f' %x)

https://github.com/pydata/pandas/issues/9950

毎回spyder再起動やらオプション変更するのも面倒ですし、
とっとと最新版にしてしまいましょう。


  1. 2015/11/07(土) 16:16:32|
  2. Python
  3. | トラックバック:0
  4. | コメント:0
前のページ 次のページ