セッション資料「Windowsの画面スケーリングを きちんと理解しよう」プロ生第28回@東北大学



 昨日、プログラミング生放送勉強会第28回@東北大学で発表した資料を公開しました。Windowsの高DPIに関する資料やblogでの情報はすでに結構あるとは思いますが、ストアプリからデスクトップまでを一通りまとめたものというのはあまりないかなと思います。いちからそのあたりを知りたいという方にちょうど良い資料となっているので、ぜひ見ていただければと思います。

Surface Pro 3の発表で思うこと

 Surface Pro 3が発表になりました。どのような内容が発表されたのかはさまざまな記事があがっていますので、そちらをご覧いただければと思います。

Microsoft、9.1ミリ厚/800グラムの12型Windowsタブレット「Surface Pro 3」発表【詳細版】 (1/2) - ITmedia PC USER



 今回の発表で最も印象的だったのはディスプレイのアスペクト比が3:2となったという点です。これまでのSurface Proは1920×1080(フルHD)で16:9でした。他のメーカーのように画素数を増やしてよりPPIの高い高精細のディスプレイを搭載するという方向で行けば、その上のサイズは東芝のKIRAなどが採用している2560×1440です。さらに上となるとYoga 2 Proなどが採用している3200×1800です。いずれもアスペクト比は16:9です。


 しかし、Surface Pro 3はYoga 2 Proの276PPIといったさらに高精細なディスプレイを搭載するという道を選択しませんでした。Surface Pro 2は208PPIで、Surface Pro 3は216PPIです。ほとんど変わらないと言えるでしょう。タブレットやノートPCとしては、210PPI前後で必要十分という判断なのかもしれません。冷静に考えると網膜で識別できないものを提供しても意味がないということでしょうか。


 この3:2というアスペクト比を採用した理由として紙のノートのサイズに近いという説明がされていました。そして、ペンの性能向上もアピールしていました。先日もちょうどMicrosoft ResearchのInkに関する資料が話題になりました。この辺からこの先のマイクロソフトの方向性、あるいは次のWindowsの新機能が想像できるのかもしれません。


 追伸:ストアアプリ用のシミュレーターに3:2のディスプレイが追加されないと困りますね。

プログラミング生放送勉強会 第28回@東北大学

 5/31に「プログラミング生放送勉強会 第28回@東北大学」が開催されます。


5/31 プログラミング生放送勉強会 第28回@東北大学 開催! #pronama | プログラミング生放送


 プロ生(プログラミング生放送)をご存じない方はこちらをご覧ください。


About | プログラミング生放送


 今回、(なぜかトップバッターで)しゃべらせてもらうことになりました。私のセッション内容はこれです。

Windows の画面スケーリングをきちんと理解しよう


Windowsは 高精細なディスプレイにきちんと対応していないから、画面がきれいじゃない。」そう思っている人はいませんか? もしそう思っている人がいるならば、それは開発者の責任です。これから本格的な高精細ディスプレイ時代が来る前に、Windowsの画面スケーリングをきちんと理解して、きれいな画面のアプリケーションを作りましょう。



 これまで断片的にWindowsのスケーリング機能をセッション内で採り上げたことはあったのですが、スケーリング機能だけのセッションというのはこれが初めてです。Windowsのデスクトップ側のスケーリング機能は正直複雑で、きちんと理解している人はあまり多くないのではないかと思います(アンドキュメントな部分もあるし)。しかし、高精細ディスプレイの波はもうそこまでやってきています。





 できる限り分かりやすくご紹介できればと思っています。皆様のご参加お待ちしています。

MVP Community Camp 2014




 MVP Community Camp 2014が 3 月 17 日(月)から 22 日(土)までの 6 日間で開催されます。





 これはアジアパシフィックの 9 カ国 23 都市にて開催されるグローバルなイベントで、3 月 17 日(月)から 21 日(金)までの 5 日間はLive Webcastによるオンラインセミナーが開催されます。そして最終日には、各都市の会場にてカンファレンスが開催されます。


 今年は日本の 8 都市だけでなく、合計 9 カ国でさまざまなコミュニティが同日に一斉に勉強会を行います。私自身は東北会場を担当しており、セッションもやります。


http://atnd.org/event/E0023838


 MVP Community Campは去年までのCommunity Open Dayに引き続き、他のコミュニティに属する方々、もしくは未だコミュニティに属していない方々に各技術コミュニティの活動内容(勉強会)を披露し、興味があればそのコミュニティに参加してもらう機会を構築することが大きな目的です。新社会人、第二新卒、学生の皆さん大歓迎です。そして無料です。マイクロソフト様提供の豪華賞品があたる抽選会もあります。豪華賞品の内容は、間もなくサイトのほうで発表されると思いますので、お楽しみに。


 皆様のご参加お待ちしています。




デスクトップアプリのUXガイドライン

 「Windows 8.1 UX ガイドライン」のPDFが日本語で提供されましたね。正式なリンク場所はよく分からないのですが、以下のページの一番下の右側のほうにリンクがありますので、そこからダウンロードできます。


Windows 10 開発者・システム企画者向け技術情報まとめ | MSDN


 そこで以下のようなツイートをしたところ、ちょっと思った以上に反響がありましたので、ここではそのフォローを少ししたいと思います。




 上記のツイートの通り、最新のUXガイドラインでは、デスクトップアプリに関する情報は「Windows 8においてファイル拡張子に対する既定のハンドラーの設定、変更、照会をアプリができなくなった」ということしか記載されていません。しかし、これはデスクトップアプリにはUXガイドラインが存在しないということではありません。


 デスクトップアプリ向けのUXガイドラインは以下の場所にきちんと存在しています。


Windows Desktop Development – Windows app development


 今回久しぶりに訪れてみて気が付いたことなのですが、このトップページには「デスクトップ アプリのスタート画面のタイルをカスタマイズする方法」というWindows 8.1で新たに書かれた記事へのリンクも追加されています。他の部分のコンテンツはWindows Vista時代に書かれ、Windows 7の時点でアップデートがされたもののままだと思いますが、内容はWindows 8や8.1でも問題なく通用するものだと思いますので、デスクトップアプリ開発者はこちらを見ましょう。


また、去年のデブサミで「Windows 8デザインガイド」のデスクトップアプリ編というのをやりましたので、よろしくければこちらもご参照ください。



Windows 8以降のOSでImeModeプロパティによるIMEモードの切り替えが動作しない

Windows 8でImeMode Katakana/KatakanaHalfが有効にならない。 | かるあのメモ on WordPress



 この問題はWindowsフォーム標準のコントロールでも共通するものですが、グレープシティの下記のナレッジベースに情報が記載されています。

Windows 8やWindows Server 2012環境でIMEモードが切り替わりません - .NET 製品共通 - ナレッジベースの詳細|Developer Tools - グレープシティ株式会社



 解決方法は2つです。1つは「OSの設定変更による対応」。もう1つはInput Scopeを設定するという方法です。


 後者のInput Scopeを設定するという方法の場合、WPFWindowsストアアプリであればInputScopeプロパティとして存在しているので、それを使用します。Windowsフォームは進化が止まってしまっていることから、このような比較的新しいOS機能の変化に対応しておらず、プロパティは用意されていません。直接Text Services FrameworkのSetInputScope functionを使用して実装するか、または是非InputManの利用をご検討ください。


 上記のナレッジベースにも記載されていますが、以下の製品では、InputScopeプロパティが提供されています。


マイクロソフトMVPアワード再受賞のご報告

 マイクロソフトMVPアワードを再受賞することができました。この場を借りまして、皆様に感謝申し上げます。





 マイクロソフトMVPアワードの受賞は今年で8年連続となりますが、実はこのblogでご報告させていただいたのは最初に受賞した2007年のみでした。カテゴリは今年から「Client Development」という名称に変更になりました。


Microsoft MVP for Development Tools - Visual Basic Jan 2007 - Dec 2008
Microsoft MVP for Development Platforms - Client App Dev Jan 2009 - Dec 2013
Microsoft MVP for Client Development Jan 2014 - Dec 2014


 WPFからWindowsストアアプリまで、主にXAMLに関する情報を発信している人がこのカテゴリになるのではないかと思います。引き続き、今年も可能な限りblogやTwitterなどで情報を発信していきます。


2014年もどうぞよろしくお願いいたします。