Feed on
Posts
Comments

タイトル考えるのだけは楽しいですね

Office 2013は現在もっともWindows 8のデスクトップアプリケーションのあるべき姿をとっているということができると思います。そもそも現在Windows 8向けのデスクトップアプリケーションというものはないのではないかと思います。というのもたいていはWindows 7以前向けのアプリケーションを使っているためです。
しかしOffice 2013は完全にWindows 8を意識して作られています。これはWindows 8、ならびにこれからのWindows デスクトップアプリケーションのあるべき姿である、そんな風に思います。というわけでOffice 2013のUIなどを見ながらどうしていけばよいかなんかを考察していきます

・増える入力形式
今までのWindowsでは基本的にマウスとキーボードの入力が主流でした。Windows 7からマルチタッチをサポートしましたが実際には対応したデバイスが多く出なかった点や単純にWindows 7をそのままタッチデバイスに持って行ったためあまり操作性が高いといえるものではありませんでした(標準のコントロールのpxとかうんぬん)

しかしWindows 8からはタッチとペンも主流の入力形式としてサポートしていく形になります。これが示すことはつまりどんな入力デバイスからでも操作できる可能性 というものが必要になってくるわけです。たとえば11pxのListBoxのアイテムを直列に並べたらどうなるでしょうか? 間違えずにちゃんと押せるのか といわれると間違えるかもしれない という回答になることでしょう。最低でも何たらpx以上とかなんとかってどこかにあった気がしますが本当にWindows 8などに対応したデスクトップアプリケーションを作るうえではとても大事になっていくことと思います

・UI表示方法を変えるタッチモード
タッチモードはすべてのOffice製品に追加されているUIレイアウトを変更するモードです。次の二つの画像を見てみましょう

現在のOutlook 2013の画像です。上が標準モード、下がタッチモードです。タッチモードのほうはオレンジで囲ってある部分が変更部分です。リボンUIのボタンレイアウトが通常より大きめにとられているのが分かると思います。またリストアイテムも大きめになりよく使うコマンドは右側にコマンドバーとしてまとめられているのが分かると思います。さて、この時どのようなことが行われているのかをもうちょっと検証してみましょう。次に4枚の画像を示します

はい、ということでリボンUIコントロールとリストアイテムを拡大して横にルーラーを配置したものです。どちらも先が標準で後がタッチモードです
リボンUIのほうはわかりやすいように適当に選択してみたのですがこれに誤差があるとすればボタンの大きさは同じといえることが分かります。リストアイテムの方は17px→26pxとなり事実上大きくなってはいますがフォントサイズはどちらも11pxとまったく同じです
つまりタッチモードで調整してるのはマージン部分である という風に言えると思います。マージンとグリッドが大きくなっていますが中のコントロール自体はそのままになっているためタッチへの対応はマージン調整を行えるようにするだけでもだいぶできるのではないかという風に感じます

・シンプルなアイコン
Office 2013になってからリボンUIのアイコンはだいぶシンプルになりました。これはModern UI(だっけ?)に影響を受けたものといえるかもしれません。 2010と2013のリボンを並べてみるとこんな感じです

アイコンの形なんかも結構シンプルになりましたね。まあこの辺は手間が大きい可能性もあるしなんともいえないですけど

・IMEから見るキーボードとタッチの違い
情報そのまま垂れ流しです。タッチキーボードと通常のキーボードではIMEの予測変換の出方が違います。タッチでは縦に並べると誤操作が多くなるため横にならべていてキーボードだと縦となっています

UIのコンテキスト依存
これなんかもはや調べてない…
Office 2013では特定のメニューにおいてタッチで開くかマウスで開くかに応じてメニューのレイアウトが切り替わるというものがあります。おもにはコンテキストメニューやカラーピッカーなどとなります。参考としてはhttp://blogs.technet.com/b/microsoft_office_/archive/2012/08/14/office-office.aspxなんかがいいと思います。私のこの記事の全部の内容が書いてあります(

・実際どうしたらいいのか
どうせ対応するなら今からやっとくといい気もしますがその辺は滑らないことを願いつつ
デスクトップアプリケーションは現状マウスとキーボードのみをターゲットとしてるものが多いので新規に作るときにこういう点を考えてもいいかもしれません。既存のアプリケーションに加えるならやはりOfficeみたいにタッチモードの導入が一番いいかもしれません。またはリボンUIみたいにコントロールが大量に列挙されるようなものでないなら最初からタッチモード的な形で作成する という手もあると思います。情報量少し減るのでその辺はよく考える必要はあるかもですが
Officeでタッチモードと標準が共存してるのはリボンUIがスペースとりすぎるという問題があるためなのでそういう問題がないならタッチモード一本で組んでしまうのは十分ありではないかと思います

UIのコンテキスト依存要素についてはControlクラスにMouseDownイベントTouchDownイベントの二つがあるのでこれを使い分けていくという方法がありかなと思います

重要な選択肢は横に並べる方が正確性が出る っていうのも割と大事かもしれませんね

おまけ:リングメニューという新しいメニュー
おまけですがWindowsストア向けのOneNoteにはリングメニューという特殊なメニューが実装されています。これはフリックに近い操作でコンテキストメニューの操作を行えるやたらとすごい代物です。タッチの時代に合わせて新しくコンテキストメニューに代わるものが出るのかもしれませんね


とりあえず今回はここまでで
こんなタイトル負けした記事でよいのか…

とりあえずここまでで

Comments are closed.