SmartWatch MN2に対応してみました

SmartTrainingがVer7.1.0でSmartWatch MN2に対応しました。
できることと画面イメージは公式サイトを見て下さい。
LiveView対応と同じノリでサクッと2~3日で対応しようと思っていたら2週間以上もかかってしまいました。
その理由と今回特にこだわったところをまとめてみます。

まず、MN2は以下のような特徴があります。
・直射日光下では画面がほとんど見えない。
・操作はタッチパネルで行うしかない。
・バイブレータが利用できる。

・直射日光下で見えない画面

本当に見えません。困りました。適当に字を描画しても、とにかく見えません。周囲が暗ければ普通に見えますが、明るくなると極端に見えづらくなります。親機Xperiaの液晶は明るい直射日光下でも比較的見えやすい液晶なので非常に残念です。残念残念ばかり言ってても始まらないので、アプリケーション側でできる対策を考えます。というわけでハイコントラストをかなり意識しました。
・字は白。
・背景は黒。
・アイコンデザインも変更して、他アイコンと判別したい『人の形』の部分を白(以前のアイコンは若干グレーのフィルタをかけてありました)にしました。ほんのちょっとのグレーでも極端に見えなくなります。白黒配色は一見殺風景ですが、そういった理由があります。ちなみに、背景を白、字を黒にしなかったのは、バッテリー消費を少しでも抑えるためです。(そうしろと、ガイドラインに書いてありました)


・タッチパネルで行うしかないI/F

LiveViewには、端末右上にハードキーがありました。
ハードキーと左右キーとを組み合わせたUIとしていましたが、SmartWatchはタッチパネルのみ。
画面が小さい上にその小さい画面を指で触るとほとんど覆われて何も見えない状態になります。
ユーザの操作を認識したのかどうかがわかりにくい。これから気持よくランニングを開始しよう、とか、ランニングが終わって疲れてヘロヘロ~、という状態で操作できたのかどうかを見づらい画面を触って操作するなんて耐えられません。というわけでユーザに操作できたことをフィードバックすることにしました。
・操作受付が可能な部分を触った瞬間、振動させることにしました。
・特に重要な操作の場合、振動パターンを切り替えることにより何の操作を行ったかを判断できるようにしました。
・画面が起動されたタイミングで振動することにして、スリープ状態から画面を見なくても操作の開始可能なタイミングを判断できるようにしました。
・振動に頼れない状況で操作できたかどうか判断するために、画面を触った瞬間、白色のハイライトを表示することにしました。これは、SmartWatchのUIガイドラインに沿ったものです。
(余談ですが、このUIガイドラインが定められているにもかかわらず、SmartWatch自体はハイライト表示に関してはこのガイドラインに沿っていません。アプリ起動時に白色でハイライトすべきじゃないですかね?というか、この白色のハイライト画像をSDKに含めて提供して欲しいんですけどね。)


・一応フォロー


文句ばっかり言ってるとメーカーの人に嫌われそうなのでフォローします。
私はSONY製品を愛しています。NW-MS70D買ったときはワクワクして夜も眠れなかったし、実際使ってみて手元を一切見る必要なく、全ての機能を操作できるUIは衝撃的だったし、W42Sを5万円くらい払って真っ先に予約購入したし、そもそも歴代の携帯電話はIS03を購入して「あれれ...」と思うまで全部SONY製でジョグダイアル命だったし。その後、(SonyEricssonブランドだけど)Xperia Activeを買い直したし。そういうわけで、良い点を、
・LiveViewに比べて格段に親機との接続性が良くなりました。
・LiveViewに比べてデザインが非常にすっきりしました。
・加速度センサーも使えるようになって、ジェスチャー操作とか、可能性が広がりました。
・Pebbleはまだ発売されていないので最終的にどうなるかわかりませんが、inPulse SDKと違ってJava+Androidの知識の延長で開発できるので、非常に開発しやすいです。
・SDKのサンプルも超わかりやすいです。
・エミュレータの機能もリッチで開発をよくサポートしてくれます。


あれ、なんかLiveView叩きと開発者視点しかないのは何故だ。
まぁ、そういうわけで、思ったより頑張りました。
次のMN3(?)期待してます。

コメント

このブログの人気の投稿

Execノードを使う

Joinノードを使う(その4)

SendGridのX-SMTPAPIヘッダの使い方(Section Tags、Substitution Tags編)