WP_000123

マイクロソフトのイベント「Windows Developer Days」に参加してきました。会社から数名、友人・知人も、昨日「Bar Windows Phone」でお会いした方々も参加していて、想像以上のものすごい数の人が集まった熱いイベント 初日 となりました。

会社にお金を出してもらって出席したので、報告しなければなりませんから、内容を忘れないようにブログにメモしてみます。

なんか Visual Studio 2005 のイベントの時も個人ブログの方にメモしていたり、振り返ると懐かしいですね。読み返すと若い頃の熱い自分に出会えて、ちょっと気恥ずかしかったりしますが、今日のイベントもそのくらい熱いテンションで、ワクワクして今すぐアプリを作りたくなってしまう、そういう楽しいイベントでした。

それでは、自分が参加したところを、主観的にだらだら思いつく限り書きます。(※後日スライドはダウンロードできるようになるはずなので、正確な情報はそちらで)

 

キーノートセッション(10:30頃~1:00)

Windows 8 のメトロとデスクトップの特徴をデモを交えて紹介され、非常にわかりやすく好感が持てる内容でした。ポイントは

  • メトロでの共通操作は、画面右から指を画面内にスライドさせて表示させる「検索・共有」のボタンにある。アプリ内の検索、Webの検索、スタートでの検索・・・何でも共通の検索ボタンからいけるし、Windows Phone 7 のように何でも共有からメールを起動して送信、という操作ができる。つまり、それぞれそれに対応したアプリの作り方をする、ということが決められていることで、ユーザーにとっても非常に使いやすいし、アプリの開発者にとっても、実装すべき機能が明確で作りやすい。
  • Windows ストアでアプリを購入できる。開発者は作って出せる。
  • すげーPCもタブレットもノートも、最新の黒板代わりのデバイスも、昔のPCも何でも Widows 8 で同じように使うことができる。タッチでもマウスでもキーボードでも。
  • 動作がめちゃくちゃに早い。アーキテクチャの図、記憶が確かなら、Win32API上じゃなく、カーネル上に直に乗ってたように見えた。違うかもしれないけど、.net や新しいメトロ用のAPIはバリバリにチューニングされ、めちゃくちゃに速くなってるようす。自分の低スペックな Windows 7 用タブレットPCに Windows 8 CP を入れてもエクスプローラが早くて快適だ、と思っていましたが、いやいやいやいや、ハイスペックなマシンに入れると、尋常じゃなく早くなってる。オフィス4種類とかを同時に連続して立ち上げても、まるで HelloWorld プログラムのウィンドウが表示されるように起動する。これは仕事でマジで使いたい。もちろん、古いPCもまだまだ現役で使えるはず!期待大!
  • メトロ版バイオハザード5がホントに良くできていた。
  • Windows Vista でガジェットが JavaScript でアプリ作れるが付け焼き刃?的だったことや、WinG~DirectX でデスクトップ上で頑張ってゲーム表示してたのとは違って、専用のフル画面表示を標準のOSの機能として手に入れた Windows 8 は、メトロ版が HTML + JavaScript でも、.net でも、DirectX でも、最速でアプリを動作させることが出来るようになった。また、 Windows Phone 同様、タスクの切り換えもスムーズ、デスクトップとの共存も良くできている様子。
  • Windows To Go が凄い。USBメモリに Windows 8 を入れて、どのPCに接続してもそこから起動できる、というものだが、想像を遙かに超えていたのは、USBメモリから起動した状態で、USBメモリを抜くと動作がそこで一時停止する。もう一度指すと復帰する。例えば動画再生中に抜くと、そのまま停止し、もう一度指すと何事もなかったように再生が再開される。停止中は完全にロック状態で、60秒たつとシャットダウンされる。USBを抜いて席を立てば安全、ということで、PCに認証をするUSBデバイスを持ち歩くとかじゃなく、USBメモリだけ持ち歩けば、フリーアドレスのPCがすぐ作れちゃうじゃん、とか思った。しかし、開発者は専用の数万円するキーボードやマウスを使っていたり、会社のIT部門がこれに対応するルールを策定するまで時間はかかりそう。個人で使うときに、開発PCとノートPCを同じ環境にするのにいつも気を遣うことから解放されるかもしれない、とか、そういうことから使える気がします。部屋の移動や出張とか便利そう。

という感じでしょうか。基本的に Windows Phone 7 の良いところをすべて取り入れつつ、iPad とは違うアプローチで Windows らしくすべてのデバイスで何でも出来ることと新しい統一的な操作方法で人とのつながり=共有やメッセージをやりとりできるという点を強化するというバランスのいいOSだということが感じられました。また最近リッチリッチしすぎて飽きてきていたデザインから、シンプルだけどかなり頑張ってカッコイイ感じになったメトロが軽快に動く様子は印象が良かったです。

「メトロ?なんだ?うえ~ 使いづらいんじゃないの?」

という台詞は、あのデモを見たら一瞬で無くなると思う。ていうか、同じ操作を他の人にしてドヤ顔したくなるはず。あぁ、はやく社内デモできる高速に動作するタッチ端末が欲しい!絶対、部長やいろんな人に見せて回るのに~!!(私の端末では遅くて、ちょっとあの印象は出せない)

 

PO-004 Windows 8 の最新機能を利用した情報漏えいセキュリティ(12:00~12:40)

スポンサーサーセッションです。お弁当付きでしたが、どの部屋も定員オーバーで入れなかったようです。私は入れましたが、お茶がなかったので残念でした。が、内容はおもしろかったです。

情報漏えいを防ぐ商品の紹介でしたが凄いのは、

  • Windows 8 の新機能を使用して、PCがシャットダウンされた状態でも、盗まれたら「消せ」信号を送っておいて、次回起動後はそのPCはHDDのファイルが消された状態で起動する。かつ、ロックされていて入れない。
  • 使用しているのは、電源オフ状態でもタスクを動作させれるという機能と、Windows Phone 7 同様のプッシュ通知機能(通知が届かないときは時限式の様子)。ただし、最新ハードは必要。

もうちょっとコードの説明があるとうれしかったが、仕方ない。同じアイディアで他の全然違う商品思いつかないかな~?夢は広がります。

 

WA-012 Windows ストアから Metro スタイルアプリを配布する(13:00~13:45)

まず、Windows ストアに開発したメトロアプリを登録して公開する時の流れやストアの決まり事的な内容。

  • ユーザーは Windows ストアから検索したりカテゴリからアプリを見つけて入手できる。
  • ユーザーはさらに Web から検索して見つけることが出来る。リンクからストアを表示し、インストールへ誘導できる。また、自社のWebサイトなどでは、メトロ版IE10に「Get Tile App(?記憶曖昧)」というボタンをブラウザに表示させて、タップすることでインストールへ誘導できる。
  • Windows Phone 同様、ストアでインストール済みプログラムの更新プログラム一覧を表示することができる。
  • ユーザーがアプリを探すときは一般的に、画面を見る、説明文を読む、試してみる。この順を意識して登録時の内容を用意することが大事。たぶん、Windows Phone アプリでも同様と思う。自分もそういう順で見てる気がするので。
  • ストアホームは、左端にプロモーション記事の領域があり、そこからアプリページに誘導される、とのこと。プロモーション記事は、コンテストの受賞アプリとか、そういう企画的なことで更新される様子。それ以外はカテゴリからさがす。20ぐらいのカテゴリが想定される。
  • リーチ数は、ストアとアプリ100以上の言語、GDP上位40カ国を含む70の市場で地域に応じた価格設定を可能。
  • 価格は1.49~999.99ドル(階層型価格から選択)
  • ストアのり容量は、個人で $49/年、法人で $99/年
  • レベニューシェア 70%収益 から、売り上げに応じて80%(25,000ドル達成時)に変化。

そしてポイントは

  • 課金モデルで、自社の仕組みを使うこともMSの仕組みを使うことも出来る。一回だけ購入、複数回、期間(サブスクリプション)、無料で広告収益、などMSは制限をかけない。また、MSの仕組みも使用できる。
  • 試用版を用意するとダウンロード数は 70倍。そのうち 10%がすぐに購入。つまり試用版を用意すると収益は10倍になる!
  • 試用期間の期限付き試用版は、コード不要。ストア登録時の設定だけ。後は自動でやってくれる。
  • 機能制限付きの試用版は、API LicenseInfomation.IsTrial プロパティ(試用版かどうか?)と LicenseChanged イベント(購入時に発生)で実装できる。
  • アプリ内課金もAPIで実装できる。(※具体的な名前はメモ出来なかった)質問時間が設けられてなかったので確認できなかったが、アプリと同じように課金対象の項目もストアに登録しておき、インデクサにキーを指定して [“Name”] は購入済みか?みたいに確認すれば判定できたり、また購入への誘導(購入画面は同じアプリ内で動作するように思えたが詳細は不明)が出来る様子。これは、ありがたい。ゲームのアイテム課金はもちろん、大きなアプリのオプション機能を細かく分割しておけば、それらを個別に買ってもらうことも出来るはず。
  • ローカルの開発環境でテストできる。
    WindowsStoreProxy.xml と CurrentAppStoreSimulation (?メモできず)

それからさらにマイクロソフトの広告が使えて

  • ストアのアプリにマイクロソフトの広告、他の広告、どちらを出してもいい。制限はない(MSだけにしろ、とかはない)。組み合わせてもいい。
  • SDKをダウンロード、登録サイトで登録し、コードを書いてライブ広告を有効化、アプリをストアに公開すると、広告収入が得られる。
  • AppCertificationKit で事前にチェック。ストア公開には約5日かかる。
  • 条項が透明性があり、シンプルな原則で簡潔。
  • 潜在ターゲット Windows は5億。他はすべてあわせて4億以下。チャンスだ!

ということでした。

 

PL-007 新モデルで儲ける!Microsoft Advertising によるアプリ内広告(14:00~14:45)

さらに続けて広告のセッション。今度はより詳細にマイクロソフトの広告について、まず、広告の表示させ方について、

  • 広告を、よくある iPhone アプリのように(とはMSの人は言わなかったけど)画面の一部分を完全に占拠してしまって明らかにうざい広告が表示されている状態にするのではなく、例えばメトロ画面の中に、項目として自然に表示することでユーザーに使いやすさを提供する。たぶん個人的なイメージでは、アフィリエイトバナーではなく、Amazon APIをたたいて自分のアプリとして商品を表示させている感覚に近いと思う。それを標準機能(XAMLのタグ)として、定義するだけで表示させることが出来る。
  • 例えば 250 x 250 の広告アイテムをメトロ画面に表示させたら、タップすると自動的に全画面表示(メトロ画面でのダイアログと同じ方式)で広告が表示され、枠外をタップするともとの画面に戻ることができる。全画面表示内でそのまま購入に進むことも出来る。別のブラウザを表示するわけではなく、アプリが切り替わらずに同じアプリ内でそれらが自動で動作する。OSレベルで広告表示から購入までをサポートしてくれている感じ。これはいい。
  • また、例えば映画のタイトル画像をタップすると、動画が再生されたり、ゲームが起動したり、という種類の広告も用意される。これはおもしろい。
  • これらの広告の種類は、事前に定義されたものから選択してXAMLで埋め込む感じ。Amazon の広告生成をしたらHTMLが手にはいるので埋め込むケド、あれがもっと短縮されて、短いタグでかける感じに近いかと思う。

それからマイクロソフトの広告マッチングについて、

  • 広告主が「このアプリに広告を出したい」と指名したときは、その広告が表示される。高額収入が得られ、また内容もアプリに適した広告になる。
  • そうでない場合は、マイクロソフトネットワークでアプリと広告をマッチングして表示してくれる。この場合でも、例えば競合製品など出したくない広告を指定することが出来る。
  • AdSDKをダウンロードして、広告配信のための登録をすると、配信されて、売り上げの確認・分析ができる、というのが導入後の流れ。
  • 現在は Windows 8 CP でのパイロット中で実際の配信はない。テスト手順が公開されている。AdSDKをダウンロードしてシミュレーションを設定すると、サンプル配信がされて、アプリの動作を確認できる。

え~・・・いつも各社広告APIとか説明読むだけでぐったりして実際に導入するのはえらい面倒なので、これは楽でいいですね。Amazon API とかと組み合わせて使えるとおもしろそうです。

 

SP-005 Web標準を担う役割が拡大することによる影響と将来(15:00~15:45)

MSからW3Cに、忌憚ない意見を、という依頼があったとのことで、ちょっと特殊な感じのセッションでおもしろかったです。まず、Windowsアプリを作ったこと無い開発者でも、マイクロソフトが JavaScript を標準として認めてVisual StudioでJavaScriptでメトロアプリを開発できるようにしたので、何も知らなくてもチュートリアル通り作ればものの2時間でアプリが出来てしまった。MSやるじゃん、的な内容で始まり、W3C の役割とMSの関係、HTML5 がOSと同じアプリケーション基盤としての役割を担いつつある、ということが紹介されました。

一番の変化は、デバイス制御がJavaScriptから行えるようになった(なる)ことのようです。個人的には、Visual Basic か C# でアプリを作りたいのと、ブラウザは結局この10年で仕様と動作を統一出来ていないので、微妙な違いがまたしばらくはエンジニアを苦し続けると思っているので、少し懐疑的に見てしましましたが、個人的には jQuery など JavaScript と Webメソッドだけでアプリ組んだりもするので、JavaScript でメトロアプリを作れることについては非常に好印象。・・・あれ?ていうかJavaScript版メトロアプリは、W3C的にはブラウザでの動作なのか。なるほど。

実際にJavaScriptでメトロアプリを作る際のポイントは

  • Create your first Metro style app using JavaScript
  • js/data.js にロジックを書く
  • 例えば OAuth で twitter の情報を取得。jsOAuth を使う。このとき、js ファイルを src=”http://~” で直指定するとセキュリティエラーで動作しない。ダウンロードしてメトロアプリのフォルダに含めること。

また、HTML5 の対応状況は http://caniuse.com/で確認できるそうです。

 

WA-003 Metro スタイルUIの要素と注意点に関するセッション(16:00~16:45)

おすすめのセッションです!2日目も同じ内容をするはずなので、是非!

そしてこの内容はテキストでは共有が難しいです。ノートにはメモしたのですが。スライドがダウンロードできるようになるのを待つのが吉です。ポイントは、会場に行ったら全員もらえる Windows 8 CP の説明ブックに載っているユーザーの操作と、画面の変化を再確認した上で、それらにあわせた画面をどのようにデザインするか?という詳細な説明でした。

テキストだけで書けそうな部分は

  • Windows 8 メトロスタイルの Photoshop パーツテンプレートがある。これでデザインをすればOK。
  • ユニット、サブユニット、カラム・・とピクセル数でサイズ指定の定義がある
  • メトロ画面で2画面アプリを同時に表示したとき、広い画面の方はXGA相当になる。
  • <VisualStyle >タグで縦画面・横画面・2画面のサブ画面・・など、表示状態の変化に応じたプロパティの変化(Visibility の変化)を指定する。XAML上にすべてのアイテムを定義して、表示状態に応じて消す・出すを変更する。Visual Studio 既定のテンプレートはその指定が既にされている。
  • フォントは Meiryo UI。標準は 11pt で小見出しが 20pt、見出しが42pt。極小の注釈などが 9pt で。それ以外のサイズを使用しない。
  • プログレスバー、プログレスリングは非常に重要。タブレットPCにはHDDのアクセスランプが無い場合があり(衝撃の事実!!)、画面が完全に止まるとアプリが固まったのか動いているのか?判断することが難しくなってしまう。必ず、動いていることを示す表示をすること。
  • メトロ画面の切り換え時のエフェクトは、アニメーションライブラリで指定するだけで使用できる。XAMLでプロパティを指定するだけでOK。多用するとうるさくなるので使用しない。
  • メトロ表示は横スクロールのみが基本。縦スクロールを同じ画面内に入れてはいけない。例えばHTMLテキストの記事などの文章が長くなる場合は、下にスクロールさせるのではなく、新聞のように、右に右に・・と展開するようにデザインする。ユーザーは一貫した方向にスクロールしてコンテンツを確認する。

あと、インフラジスティックスの商品説明でしたが、今回の商品はいいかも。メトロUI用のコントロールの追加はもちろん、WPFとsilverlight でもメトロUIを使用できるのが発売される予定だそうです。これは期待大ですね。(会社なんかではデザインが出来れば、全部自作できると思われて買ってもらえない可能性が高いのが不安ですが・・・デザインはお金がかかるのですよ!!)

 

WA-010 Metro スタイル アプリでセンサーを使用する(17:00~17:45)

基本的に Windows Phone 7 を同じ感じでした。「プログラミングWindows Phone (MSDNプログラミングシリーズ) 」に詳しい解説があった気がします。それと同じと思って、メモらず帰ってしまいましたが・・・(既に集中力の限界にきていました)

GPSや振動、傾きを取得するコードを、JavaScript でも C++ でも、C# でも同じようにかけると、というデモがとてもわかりやすかったです。

 

(おまけ)戦利品

参加できなかった友人のために、行った気分を味わってもらうために・・・

WP_000119

ブログの最初に乗せた写真のパンフレット類の他にもらえる、首からかけるパスと、レポート用紙のボード?的なもの(なんていうんだろう?こういうの)

WP_000120

開くとレポート用紙とポケット、ボールペンがついていました。なんと、このボード、メトロカラー風の緑と青をもらっている人も確認しました。他の色があったかは?不明ですが、それぞれ綺麗な色でした。

レポート用紙には、私の手書きで暗号化(難読化?)された文書がかかれています。

WP_000122

さらにパンフレット類の中で、萌え系?なもの。

WP_000121

マイクロソフトのブースで貰った Azure クラウディア キットカットです。昨日の、Bar Windows Phone でもいくつか配られましたね。セミナ全コマ出席の合間を縫ってトイレとドリンクをもらうついでに頑張って貰ってきました。

あと Bar Windows Phone  でもいくつかノベルティを貰ったので、6月を予定しているコミュニティ(Plus Programing.net)の勉強会でプレゼントできるといいな~

 

その後、懇親会で盛り上がりました。凄かったです。