2016年4月19日火曜日

UI.Composition でListView/GridView を賑やかす

UI.Composition を使い、スレッドカタログにアニメーション効果を付けた F10 をリリースしました。

F10 image bbs browser
https://www.microsoft.com/store/apps/f10-image-bbs-browser/9nblggh1ntrd


このGridView のItemをくるくる回す部分を抜き出した簡単なサンプルプロジェクトを作りました。

CompositionGridView
https://github.com/pnp0a03/CompositionGridView

MSさんのサンプルには面白いのが沢山載ってるんですが、一番単純な…単にList/GridViewものをくるくる回す的な意識の低いサンプルが無くて難儀したためです。

MSさんのUI.Composition Sample
https://github.com/Microsoft/WindowsUIDevLabs

ここでコードぺたくた貼って解説するより読んだほうが早いですよね。

UI.Composition について


Visual Layer
https://msdn.microsoft.com/en-us/windows/uwp/graphics/visual-layer
... この項、概念から具体的な操作例まで満遍なく記述出来ている良記事 MSDNでは少ないタイプです。オススメ

上の記事を読んでいただければいいんですが、XAML Framework から DirectX Layerの間に一枚あったDWM... Visual Layer, UI Composition を Win10 TH2から使えるようになりました、という話です。

XAMLレイヤから降ってきたUI Element、またはVisual Layer の中で作ったRectangle・Imageに対して、Effect・Animationを掛けることが可能です。

XAML→DirectXのパイプラインに手を突っ込んで描画を捻じ曲げるような感じがあります。


以下に参考になるリンク集等。


Creating Beautiful UX in a Real-World App with Visuals, Animations and Effects
https://channel9.msdn.com/Events/Build/2016/B818
... GridView/ListView のItem弄る元ネタはこのセッションの途中からパク参考にしました。Slideだけだと肝心のCodeが見えないので、面倒でも動画を見るのがお勧めです。英語ですが字幕Onにできますので。また、2016年夏予定のRS1で入るUI.Compositionの変更にも触れられています。


MSさんのUI.Composition Sample
https://github.com/Microsoft/WindowsUIDevLabs
... Build 2016 で使っている部分を多く含むサンプル。また、下のDiderikさんサンプルでも参照されているComposition ToolKit ... Visualに対してImageをロードするコード、もここから取得可能です。Visual Layerの中で色々やるには多分必須。
また、Sample はRS1用の新APIを使うものも含んでおり、RS1上のVSでBuildすると見られます(バグ多し)。


Diedrik Krols さんのBlog
https://xamlbrewer.wordpress.com/category/composition-api/
... MSさんの解説・サンプルは基本的にXAML のElementに対してVisualを作って操作する、物がメインなのですが、Diedrik さんのサンプルは珍しく「Visual Layerの中だけで作った」Visualを操作して色々描いてみる、というスタイルです。

robmikh blog
http://blog.robmikh.com/
UI.CompositionTeamの中の人のBlog
特に、Why even use Composition? は読む価値があると思うのでオススメ。DWMにやらせることでApp(UIThread)側の負担ゼロで秒60コマのアニメーション・エフェクトを使えるのがUI.Composition の利点で、XAML上のStoryBoard使ったアニメーションではこれは無理、という大事な話
Why even use Composition? / Images and effects
http://blog.robmikh.com/uwp/composition/2016/04/21/images-and-effects.html



2016年4月11日月曜日

Build2016 API Readiness

(訂正 2016/04/29... RS1以降のAPI を使うには、NuGet Package Microsoft.NETCore.UniversalWindowsPlatform を手動で5.1.0に更新することが必要なようです。既定の5.0.0だとBuildできない、通らないものが多いです。← 14332 Releaseと同時だったので今となってはよくわからない)

build 2016で説明されていた新機能が、現状のWin10 RS1 14295 SDKにどれくらい入ってるのか…すぐ使えるのか、ビルドは出来るけど動作怪しいのか、全く入ってないのか…を自分で確認したもの表です。

(個人的に興味があるもの…UWP App関連+Centennialだけ見ているので、ほかの要素は全くノーチェックです)

Item
説明
現状
FullTrustProcessLauncher

UWP App Package内のWin32 AppをUWP Appから起動する…という謎のAPI
今まででは考えられないタイプのやつ
多分Centennialで作ったPackage用
Build不可
このAPI Callに必要なPacakageManifest内のCapabilityがSchemaに入ってないので全く無理
AccessKey
XAMLのショートカットキー革命
動作する 超便利
TrySetDisableLayoutScaling
謎 これを呼んだAppのScalingをDisableするらしいけど
Callは出来るが常にFalse(失敗) 効果自体謎ではあるのでよくわからん
ExtendedExecution、BackgroundTask系
Build2016で説明のあったやつ
Diffと、MSDN HelpDocのAvailabilityを見る限りまだ準備されていない
CommandBarの自動オーバーフロー
幅が足りなくなると自動的に今までのSubMenu見たいになるやつ(伝わる?)
既定で動作する ただ一部Propertyは現在XAMLで指定するとRuntimeに落ちる事がある
Pivot

HeaderOverflowModeをセットするとアプリ起動時に死ぬ
これ以外にも14295 SDKでBuildしたPivotは、もともとXAMLでPivotItemを指定していない場合CodeからPivotItemを追加できない等動作が不安定なので注意
ImageのAnimated GIF Support

これだけはちゃんと入ってる SourceにアニメGIF指定するとXAMLデザイナ上でアニメGIFが動く
だが、ウェイトサポートが適当で正しく再生されないAnimated GIF が多い 正しい再生を行いたい場合はGifImageSourceを使うのがお勧め
Ink

まだ見れてないです (ペン対応PC持ってないので出来る事が少ない)
UI.Composition

UI.CompositionについてはGraphicsTeamが自前で持ってるSample TreeがGithubにある こっち見るといいです
Project Rome系
IPC的な仕組み
CortanaがDevice間でデータを同期するのに使ってるのがこの仕組み わかりづらいけどうまく使うと良いものになりそう
まだ見れてないです
Map系

まだ見れてないです
App Extension系
後からPackageに新しいバイナリを追加できる仕組み
所謂DLC的なやつ
まだ見れてないです
UWP on XBOX

実機が無いので出来ることがあまり無い…


SDKとは特に関係無いけどBuildで出た新アイテム等

Centennial
Preview版と、そこそこ詳しいドキュメントが出た
Win10 Enterprise IP 14316が必要です。Azure VM上のものでも大丈夫です。
Preview版自体は動作条件がハードル高いので実際に試している人は凄く少ないと思う
重要なのはある程度詳しいドキュメントが出たことで、下のリンクのBehind the scenes を読めばこの手のもの知っている人には何やってるのか大体わかるようにはなったと思います

現状わからない(興味ある)のは、実際のパッケージのサイズがどれくらいになるか(VFSやFont等肥大化しそうな部分が多々ある)
Store Update
 

Availabilityという点では今回一番優秀なのがこのStore Update
かなりの機能が既に実装済みで即利用可能になっている 素晴らしい Documentationも良くできている
新しいベータテストのための仕組み TestFlight Packageは、今までできなかった「本筋のAppPackageをストア上に維持したまま、登録したテスターにテストパッケージを自動更新でDeploy」が可能になっている 凄い 即役に立ちそう
BuildのSession動画を見ると判るけど、どうもMSさんは自分のSteam Storeを持ちたいみたい
HoloLens
HoloLensのフラグ立てたアプリは既に受け付け開始されている (F10はこれで出した)
※ HoloLens emulator でAppを動かすには、AppのTarget(.csprojのPropertyページで設定するやつ)の「最小バージョン」を10.0.10240.0 に設定する必要があります。10586だとエミュレータがメニューに出てきません。
XAMLTreeView
MSのGitHub UWP Sample、Dev Branchに「XamlTreeView」サンプルがある Build・実行にはRS1環境が必要 実体はVC++製のControl RS1の新Controlを使っているのでTH2では使えないです
14316 DesktopでThemeがSettingsから変更可能になった件
App側のTheme設定が「Default」だった場合、Systemの変更が即反映される・・・・はずなんだけど
F10でテストすると、部分的に適用される所・されない所がありバラバラ うまく動いていない もちろんAppを一旦終了・再起動すればOKではある
XAMLのEdit&Continue
Buildのデモ、超便利そうでしたよね すぐ使いたい!使わせれ!!!
でもこれ、現状使えるのは
Win10 RS1 14295以降+VisualStudio vNext "15"
だけです。VS2015Update2はムリ。






おまけ

TH2 vs RS1 API差分一覧 (MSDNへのリンク付き…まだ文書無い場合は404です)
何気に便利

http://ddlgsite.azurewebsites.net/ApiPeek/win10.10586.to.win10.14291.diff.html

元ネタは
https://github.com/martinsuchan/apipeek

おまけ2

MSDN のAPI Referenceの内、"10.0.14295.0から" という文言が付いているもの検索
(変更後少し経つとIndexingが走ってこういう検索ができるようになる 04/11現在はOKです)

https://social.msdn.microsoft.com/search/en-US/windows?query=%2210.0.14295.0%22&refinement=183%2C117&ac=4


2016年3月18日金曜日

公式Twitter App の考察


2016年3月中旬、Twitter社のWindows 10用 公式Twitter UWP アプリが大きく更新されました。

Twitter for Windows 10

これまでは正直安全運転というか…動けばいいかなくらいの出来だったのですが、今回の更新ではかなり頑張っており、評判も良いようです。(※1)

この公式アプリ、UWP App の Visual State の切り替えやUIのデザインを考えるに当たって良いケーススタディとして使えるように思えました。ので、触ってみて気の付いたところを書いてみようという企画です。(※2)

Visual State / Adaptive Trigger の扱いについて


幅の小さいほうから順に見ていくと、
  • 0 から 450あたりまで … Mobile用 画面上部にボタンが横に並ぶ形
image

  • 450 から 950 あたりまで … Desktop用 画面左にボタンが縦に並ぶ形
image
  • 950 以上 … Wide Desktop 画面左のボタンに解説文が表示される
image

このデザインには幾つかポイントがあると思われ、

ポイント1:Mobile / Desktop切り替えの閾値がかなり小さめである


MS GitHub のサンプル等を見ていると、大体は720epxあたりを閾値として採用し、これ以下はMobile、という切り方になっているものが多い。が、公式Twitterは450に設定している。実はこのせいでマイナーな問題が発生していて…Madosma のような720x1280 Displayを「低い」DPI…150程度で使うと、幅が閾値450を超えてしまい「MobileだけどDesktop表示」という現象が起きてしまっている。

ただ不具合かというとそういうものでも無く…まずDPI設定変更はユーザーの意志であり、その結果としてDesktop様の表示となるのもまた意図した動作と言えなくもない。

…が、まーざっくり言えばこの件は単にLo Dpi 設定でのテストが抜けていたように見える。仕方ないかな。また、普通に閾値を720あたりにしておけば防げた事案であるとも言える。  

ポイント2:ハンバーガーメニューの排除


普通にうっかりハンバーガーメニューを置きがちな所であるけれど、Twitter社は一歩立ち止まってハンバーガーメニューの排除に成功している。

(Win8の頃からのDesignを踏襲しているだけ、という見方も正しいとは思うが…UWPだからってホイホイ付けなかったのは偉い)

Twitterのような1次元リストで特に「マルチカラムを用いない」場合、PCの横長画面上でのWindowでは…どうやってもコンテンツエリアの左右は余るので…わざわざSplitViewでPaneを出し入れする理由があまり見当たらないため、これは正しいデザインだと思う。出しっ放しでいいじゃない、という。  

ポイント3:Mobileでボタンを上に並べている所


最近の大きい画面のMobile機では、ボタンは下に並べるべきと個人的には思うが… Webや他PlatformとのConsistency の問題もあるので勝手にはできないのかもしれない。  

ポイント4:Pivotを使わなかった所


こちらも…左右スワイプでTL・@・自Tweetをすぱすぱ切り替えられれば便利だろうし、3rdPartyのアプリなら「必ず」そうするだろうと思うけど…あれはあれで慣れていないユーザーにとっては意図しない操作を引き起こすともいえるので、公式としては安全運転で今の形になっているのかもしれない。また、上と同じようにConsistencyの問題もあったろう。  

その他、気が付いた点


  • VoiceCommand 対応している事…所謂コルタナさん対応が各言語で入っている。えらい。C:\Program Files\WindowsApps\9E2F88E3.Twitter_5.0.0.0_x86__wgeqdkkx372wm を覗くとVCLファイルが見えます(管理者権限のついたCommand Promptでどうぞ)
  • C#/XAML で作ってあること
  • 共有コントラクトに対応していること…Win8.1の頃は全然動いてなかった奴
  • 「引っ張って再読み込み」に対応している事…XAMLのコントロールはこれに標準対応している訳では無いため、現在は各アプリ個別にうnうn唸ってインプリしている状態です。公式Twitterのインプリはちゃんとしてますね。

等、UWP Appとして旬のTopicがかなり入った意欲作であるなと感じました。

総じて良くできており、ストアアプリ・UWP結構やっている人がごりごり絡んでいるのではという印象を受けました。いい仕事ですなー。羨ましい。

 
-------


※1) 私は 3rdParty appとしてのTwitter Client についての知識は全く無いため、そちら方面の考察は無いです。ごめんなさい。あくまでもGenericなUWP Appとしてのお話です。


※2) このため、正直な所…これまでWin10/Win10Mを使い込んでいる人は公式Twitter Appよりも高機能な3rdParty App を使っている人が多いように思います。
等、Windows 10 / Windows 10 Mobile 両方で使えるイカしたClientが多数ストアに載っています。














2016年2月5日金曜日

F10 : 画面が表示されない問題について

2月8日夜追記: 1.1.0.232 がストアからDLできるようになりました。「ストア」からの手動更新・またはそのままにしておくと自動で更新されます。

F10 image bbs browser - Windows ストアからダウンロード
https://www.microsoft.com/store/apps/9nblggh1ntrd


2月8日夕方追記: 1.1.0.232 が審査を通過しました。ストアに更新が反映されるのは数時間後~火曜日頃になる見込みです。

2月7日朝追記:1.1.0.222について、2月6日に別件(*1)を指摘され1.1.0.232を提出しました。火曜頃までには配信される見込みです。

*1) バックボタンを押下された場合、戻る履歴が空の場合はアプリケーションを中断しスタート画面に戻る、がデザインの仕様なのですがそれを満たしていませんでした(今回変更した部分では無く、初回リリースからこうだったのですが…指摘が前後するのはストアではたまにある事です)。

2月5日夜追記:修正版 ver1.1.0.222 をストアに提出しました。土曜~来週の火曜頃までには配信される見込みです。


2月5日早朝から配信されているF10 ver1.1.0.212 には以下の問題があります。ご迷惑おかけして申し訳ないです。


問題


既定の設定(Passport認証を使用しない)の場合、アプリケーションの中断から復帰する際にウィンドウの表示が行われなくなる。


問題の回避方法


Passport認証を有効にすることで回避できます。

1) OSの設定→アカウント→ログオン設定 で、「PIN」を使用する設定にする。
2) F10の設定 で 「Passportの使用して認証」をOnにする。
こう設定する事で、中断から復帰する際にPassport認証が求められ、認証が通るとウィンドウの表示が行われます。


修正版について


作成中ですが、審査に一定の時間が掛るためストアから配信可能となるのは早くても土曜日以降になる見込みです。

2016年2月4日木曜日

指紋認証ユニット UBF-Hello を試用しました

今回、DDS社さんの指紋認証センサ UBF-Hello を頂く事ができました。
嬉しかったのでその使用感等をまとめ、またMicrosoft Passport / Windows Hello を UWP App から使う件についても記事にしてみよう、という企画です。
  1. UBF-Hello について (この記事)
  2. UWP App の Microsoft Passport 対応例 (対応が入ったF10の使い方)
  3. Microsoft Passport 対応 UWP アプリの作成 について(これから書きます)
という三回シリーズの予定です。


経緯


2015年の末に、ITmedia誌上で広告企画「Surface3×指紋センサーモニターキャンペーン」がありました。

ITmedia: 「Surface 3」のモニター募集中! Windows 10×指紋認証で「安全・便利なワークスタイル」を体験してみませんか? (募集は終了しています)
http://www.itmedia.co.jp/news/articles/1511/04/news007.html



応募したところ指紋センサ単体枠に当選し、2016年1月中旬にセンサが送られてきたという流れです(Surface3はハズレました)。
センサ枠にはモニタの義務は無いのですが、せっかくですので記事にしてみます。


UBF-Hello について


USBポートに直で挿すタイプの指紋認証ユニットです。Windows 10 で導入された生体認証のフレームワーク「Windows Hello」に対応しています。
指紋認証センサーは他のWindows Hello の認証…虹彩と顔に比べ、既存のPC(特に持ち運ぶノートPC)に簡単に後付けできる特徴があります。

なお、小売はされていないようです。

外観


Surface 3 の斜めにカットされた本体に合せて、プラグの部分が斜めになっています。Surface 3 に挿すとぴったりフィット(するはず)。




このため通常のUSBポートに挿すと隙間ができますが、特に問題は無いです。

一方、Surface特化の形状故の問題もあります。プラグから直で本体が生えているため、ポート側の形状によっては最後まで挿入できない場合があります。




例えばこのUSB延長ケーブルはポートの周りが少し出っ張っているためにUBF-Hello本体と干渉してしまい、動作させる事ができませんでした。ノートPC等ポートの周りに余裕が無い場合は注意したほうがいいかもしれません。


指紋センサ


ライン状のセンサに対して指をスライドさせて指紋を読ませるタイプです。資料によるとセンサ自体のベンダはValidity(現在はSynaptics)とのこと。

製品仕様
http://www.dds.co.jp/product/ubf_unit/

私は今までに指紋センサ内蔵のノートブックPCを2台…2006年と2010年に購入し、使ってきました(*1)。
この二つのモデル、指紋登録時・認証時共に指を滑らせる角度・滑らせる距離・スピードにコツがあり、ある程度人間側の学習が必要な所がありました。

それらに比べるとこのUBF-Hello、かなり変な角度やばらけた距離で指を滑らせても登録・認証で蹴られることが殆どありません。それでいて、未登録の指は正しく弾かれます。
今まで使っていたセンサに比べると全然別物という印象で、これは驚きました。

*1) LenovoのPCで、指紋センサとドライバは旧UPEK、後のAuthentec製でした。

ソフトウェア


今回のモニタ品では、DDS社のサイトからドライバをダウンロードし使用する形でした。Win10にinBoxDriverが入っている訳では無いようです。
使われているのはSynaptics の4.5.314.0。
ちなみに、HardwareIDはVID_138A&PID_0050&REV_0060 です。
VendorID 0x138AはValidityです。


気がついた所


Logitech の無線レシーバーと隣り合わせのUSBポートに挿して使っていたところ、数分~十数分おきにUBF-Hello が切断・接続を繰り返す、という問題に出くわしました。無線レシーバー側を別ポートに移すと問題は発生しませんでした。??。










2016年2月2日火曜日

F10 : Microsoft Passport サポート

この記事は Microsoft Passport / Windows Hello にUWP Appを対応させるシリーズ記事の一部です。
  1. UBF-Hello について (Windows Hello 対応指紋認証ユニットの試用)
  2. UWP App の Microsoft Passport 対応例 (この記事)
  3. Microsoft Passport 対応 UWP アプリの作成 について(これから書きます)
・・・・・・

F10 Version 1.1.0.232 より、F10 の起動・復帰時に Microsoft Passport による認証をお使い頂けるようになりました。

F10 image bbs browser - Windows ストアからダウンロード
https://www.microsoft.com/store/apps/9nblggh1ntrd

PINの入力、または指紋認証センサ・虹彩認証カメラ・顔認証カメラ等のハードウェアがある場合はWindows Hello による生体認証で、F10 の使用を保護することが可能になります。

passport_1366x768

使用できる環境

  • Passport が有効になっていること…Microsoft アカウント でログオンしており、かつ、PIN が設定されている場合。
  • 上の条件を満たしている場合でも、リモートデスクトップ接続中は使用できません。
  • 会社アカウントで使用中の場合(Azure AD等)…使える「はず」ですが未テストです。

使用方法


F10 の設定→Passport 設定 をOn にすると、以下の場合…
  • F10 起動時
  • F10 中断からの復帰時 (*1)
に、Passport 認証ダイアログが表示され、PIN または Windows Helloによる認証が要求されます。認証をキャンセルした場合、F10 はすぐに終了します。また、認証が完了するまでの間はF10  のアプリ画面は表示されません。

*1) 中断と復帰について
以下の場合が「中断」に該当します。これらの状態からF10 を再び使う場合が「復帰」で、Passport 認証が必要になります。
  • 全てのWin10… システムがロックまたはスリープ状態に入った場合
  • Win10 PC の場合… F10 の全てのウィンドウを最小化した場合 (*2)
  • Win10 PC(タブレットモード)の場合… F10 ウィンドウ が他のアプリの背面に回った場合
  • Win10 Mobile の場合… F10 ウィンドウが他のアプリの背面に回った場合
*2) 最小化すると即時中断となります。例外として、起動後初回の最小化では中断に至るまで数秒~十数秒かかります。

タイムアウトについて: F10 中断後、ここで設定した時間以内に復帰する場合、Passport 認証はスキップされます。時間を越えると、Passport 認証を行う必要があります。

アプリでPassport が利用できて何が嬉しいのか


(この項は背景の解説です)

Microsoft Passport はOS組み込みで、生体認証も使える公開鍵認証システム、が本来の姿です。本来なら、別に立てた認証サーバと、複数のWin10 デバイス間でネットワークにパスワードを流す事無く、セキュアにサーバ側でアカウント使用をコントロールできる大変便利なシステムを作ることが可能になります。

ですが、F10の場合…使用を認証するサーバはそもそも存在しません。この一番大事な公開鍵部分をすっ飛ばし、ただの認証ダイアログとしてPasssportを使用しています。Passport 本来能力の1/10程度しか使っていません。

・・・・・


そもそも、今回のPassport 機能追加は「普通」にお使いの方にはあまり使う意味の無い機能ではあります。「普通」は、デバイスへのログオンそのものがPassport によるPIN または Windows Hello で保護されていますから、アプリでもう一回認証する理由はあまり有りません。
逆に言うと、デバイス自体は他者も使用する・目にすることがあるが、このアプリだけは自分だけが使いたい・使う前に一呼吸入れたい場合には役に立ちます。

例えば…
「Win10M スマートフォンを使っており、もちろんスマートフォンにはPassportでロックを掛けている。Webや写真を見せるために、他人に画面を見せたりデバイスを手渡す場合もある。ただ、だがしかし、F10 だけは使ってほしくない!!!! 」という場合。

(まだまだ物珍しいWindows 10 Mobile故、ふとした会話中に話題に上り、手渡してちょっと見せてあげる…という場合は個人的には良くあります。そんな時、うっかりF10 を起動されてしまうと……社会人としてどうなのか?という不安があります。)

他には、「Win10 ノートPC を使っており、これからプロジェクターに繋げてプレゼンを行うためにPCをスリープから起こす。だがしかし、スリープ前にF10 で4chanのごりごりな肌色多めの板をガン見していたのを忘れていた!!!」という場合。

(スリープから復帰する場合、F10 の画面はもう一度Passport 認証を通すまで表示されません。認証キャンセルでF10を終了し、何事も無かったかのようにプレゼンに入ることが可能です。ブルマ女将の心配はもう有りません。)

Passport_multiwindow

2016年1月7日木曜日

TechRewards で糊口を凌ぐ

2017年1月追記…TechRewards は終了しました。このページにあるTechRewardsへのリンクは全て繋がらなくなっています。

2016年10月追記…2017年1月6日をもってTechRewards が終了することが発表されました。
新規チャレンジ・XP/PTS/バッジ獲得等は10月6日に既に終了しており、1月6日までに残りのPTSをRewardと交換するように、というガイドが出ています。さらば。

Microsoft TechRewards will be closed on January 6, 2017.
https://rewards.msdn.microsoft.com/en-us/closure


2016年8月追記…遂に、Ptを稼ぐことのできるChallengeが無くなってしまいました。経験値のみを稼ぐ見返りのない純粋学習サイトに発展してしまいました。糊口は凌げない…
2016年5月追記…Steam GiftCardの件、結局ポイント払い戻しという処理になりました。
2016年4月12日追記…現在、RewardItemとして使用済みのSteam GiftCardが送られ、サポートに連絡して一か月近く経つ今でも解決しないというトラブルに見舞われています。今までこういうページを作ってお勧めして来ましたが、現状はあまり勧められないです。

-----


UWP Appが完成し、ストアで公開に至ったとしても…売上なり広告なりでいくばくかの収入を得るのは中々ハードルが高いものです。
地を這うeCPM、伸びないDL…小鳥の餌にすら足りない収益…もう鼻血も出ない……(個人の感想です)

そんな開発者の乾いた心とフトコロを多少なりとも慰めるのがこの TechRewards サービスです。


TechRewards とは


Microsoft TechRewards
https://rewards.msdn.microsoft.com/




TechRewards は、Microsoft が運営している開発者支援サービスです。現在はUWP / Store App、Azure 等のアプリケーション開発者が主な対象となっています。

※ Nokia が運営していたサービス"DVLUP"がルーツです。その後MS のNokia 携帯事業買収等色々あって今に至ります。…ほんの数年で何もかも変りますナ。

体裁としては、RPGのお使いクエストのような感覚で技術を学習・使用し、ご褒美を頂くという流れです。今風に言うと学習のゲーミフィケーションでしょうか。

具体的には、以下の例のような「チャレンジ」…

  • 機能Aを実装したUWP アプリをストアに公開する
  • ある新技術をテーマとする20問のクイズに18問以上答える
  • MVA(Microsoft Virtual Academy) のコースを受講する


チャレンジ  https://rewards.msdn.microsoft.com/challenges



が数々用意されています。
ビデオを見るだけでOKの簡単なものから、リッチな機能を持つUWP Appの公開、ストアでレビューを700個以上貰う等まで、難易度は様々です。
挑戦したいものを自分で選びクリアすると、経験値XPとポイントPtsが手に入ります。
難易度に応じて得られるポイントは変わります。
そして、溜めたポイントを各種のリワードと交換できる…というシステムです。


「リワード」には以下の様な物があります。
  • ゲーム系…Steamのギフトカード、XBOX MusicのAnnualPass(日本では使えない)等
  • 開発支援系…リソース翻訳サービスの割引クーポン、各種SDKの使用権等
  • 慈善団体・NPOへの寄付


リワード https://rewards.msdn.microsoft.com/rewards


チャレンジ


コースの受講等で細かくポイントを積むのも良いですが、やはり効率よく稼げるのはUWP アプリの公開でしょう。

「普通の」UWPアプリを一本リリースしたとして、大体以下の項目はクリアできるアプリが多いのではないでしょうか。

合計すると1800Pts。SteamのUSD 50 ギフトカード(JPYで6000円相当)、1200Pts分は余裕で稼げます。

チャレンジの登録


チャレンジをクリアする条件が詳しく記載されているので確認します。



注意点としては、


  • 審査の都合上、基本的にストア上の解説文・アプリは英語表記が必要な場合が殆どです。
  • アプリは「自分で作成した、意味のある」アプリであること、という条件があります。サンプルそのまま持ってきたようなもの、画面数枚のもの等…言い換えると、「リワード目当て」のいい加減なアプリはダメよ、という事になっています。
  • だからといって…経験上出来の良いアプリでないとダメ、という事でも無いようですが。ただし、条件を満たしていない場合はあっさり落とされるので気を付けてください(一度条件を間違えて応募した事があり、そのときはさくっとダメでした)。


アプリ提出系のチャレンジでは、右横のコメント欄に

  • AppName (名前)
  • AppID (UWP App の場合、ストアURL末尾の英数字)

を入力して「Participate」ボタンを押せば登録完了、となるものが多いです。

チャレンジによっては「アプリのスクリーンショットを取ってTwitter に上げれ、そのURL を書け」という物もあり、様々です。

提出後、チャレンジ条件を満たしている事が確認されると経験値・ポイントが付与されます。
これ、どうも人力でアプリを確認しているようで、そこそこ日数が掛ります。
数週放置される事もあったのでのんびり構える感じが良いと思います。


リワードアイテム


アイテムは時折入れ換わります。例えば、以前は
  • AdDuplexの広告表示クーポン
  • XBOX Live Gold Membership 半年・一年分
等があったのですが、2016年1月現在消滅しています。代わりに寄付系のアイテムが増えました。
このため、欲しいものはポイントが溜まったらさっさと交換したほうが良いと思います。