メンチカツ

ロースカツが好きです

Linux ユーザーが Microsoft Windows Developer Days (WDD) にいってきた Day 1


普段Linux使ってる自分が、最近作ったwebページ(説明ページは
こちら)がMetroUIを意識していた縁等々で、マイクロソフトさんのイベント
Microsoft Windows Developer Days」にいってまいりました。

Linuxとか使っちゃってる時点でWindowsデベロッパーではない自分。
業務系エンジニアだった頃はVisual Studioに相当にお世話になったものですが、
それは遥か遠い昔。
自分のWindows史は、VB6や、せいぜい.net2005くらいで途切れています。

そのくらい、縁遠くなって久しいWindows。
せっかくなので、久々に触れたマイクロソフト製品についての感想などを
書いてみたいと思います。

いらないものをすべてそぎ落としたシンプルUI「Metro」

今回のイベントの肝となる、Windows8のUI「Metro」。
「コンテンツに没頭してもらう」ことを最優先に考え、エフェクトやグラデーション
など、コンテンツに不要な要素はすべて取り除こう、という考えから生まれた
インターフェースです。

いままでボタンで表現していた機能を共通化して、画面の下部や右側を
フリックしたときにのみ、その場面で適切なナビゲーションがにゅっと表示
される「ルール」を用意することで、ユーザーはWindows8上のすべての
アプリケーションにおいて、UXに迷うことなく「ルール」に従うことが
できます。

このMetro、使用フォントや推奨フォントサイズ、タイルのサイズが詳細に
定義されているので、Windowsに限らず、プラットフォームの垣根を超え
さまざまなアプリケーションやコンテンツに遜色なく適用できそうです。

無駄のない、とても美しいインターフェースだと思うので、ぜひマイクロソフト
製品だけで囲い込むことなく、どうせならAppleStoreなんかでMetroのアプリを
お見かけするくらいに昇華していただきたいです。


Metroにまつわるルールのあれこれ

Metroは以下のような機能を標準機能としてルール付けしています。

■ライブタイル
新着メールや株価情報など、絶えず移り変わる情報に対して使われます。
定期的にスクロールしてリアルタイムな情報を表示してくれます。

■チャーム
画面の右端をタッチすることで出てくる、全アプリ共通のメニューバーです。

■アプリバー
画面の下部をタッチすることで出てくるナビゲーションバーです。
呼び出されたときにアクティブになっているアプリに応じて、
必要なナビゲーションを表示します。
この機能により、画面上に配置するボタンを最小限に留めることができます。

■ディスプレイ領域の分割
アプリケーションを複数起動している場合に使用します。
ウィンドウをドラッグ&ドロップすることで、そのアプリをサイドペインに
表示することができます。
このときのウィンドウ幅は320px固定になります。

■タスクの終了アクション
対象のウィンドウを下方向へフリックすることで、終了することができます。

■セマンティックズーム
横に長いページを、画面内で見渡せるようになったりする
「意味合いを持たせたズーム機能」です。

これらのルールをテンプレートとしてパッケージングし、開発者に
配布することによって、一貫性のあるウィンドウズアプリが短期間で
作れるということのようです。


また、Metroは推奨するフォントやサイズも決められています。

■使用フォント
英字:Segoe UI
日本語:Meiryo UI

■推奨フォントサイズ
タイトル:42pt
サブタイトル:20pt
標準テキスト:11pt

ここまで決められていると、開発時にありがちな選定の迷いがなくなるので
とても捗りそうです。


そのほか、webアプリケーション開発のノウハウとして、

・scriptタグにdefer属性をつけて、jsの評価を後回しにしよう

・htmlにjsを直書きしない

・通信が必要な処理はシングルスレッド・非同期でこなそう

・確実に応答を取得する必要のない処理は滞っている場合には、そのままにせず
 適切に中断させよう

などがありました。
これらのノウハウは、Metroに限らず参考になりますね。

というわけで、イベントの初日はMetroについてこってり学ばせていただきました。
結構あれこれとルールが決められているMetroですが、それらの縛りを気にしないで
さくさく開発できるVisualStudioは、そういう面でとても優れたIDEじゃないかな
と感じました。

普段自分はeclipseで開発をしているのですが、eclipseはいろいろと自由なIDEなので
こういったルールにのっとった開発環境を用意するとなると、VisualStudioのほうが
きっと強いんだろうな、と思います。

以上、Metro三昧の Microsoft Windows Developer Days DAY1 の報告でした。
Big DataやNode.jsなどのお話が興味深かった DAY2 についてはまたのちほど。