2018年12月22日土曜日

減量していました。

2018年は技術系のアウトプットが極端に減ってしまいました。
これには理由があり、余暇の殆どを減量、ダイエットに費やしていたためです。
…他人の昨日見た夢の話と体重増えた減った話ほど興味引かれないものも無いですよね。はい。この記事は以降そういう話が延々続きます。今風に言えばTL;DR.

学生の頃は運動もしており60-80kg程度(身長176cm)だったのですが、大人になった後は大体120~130kgで推移していました。若いころはこれでも生きていけるのですが、おじさんになると健康診断でこれはまずいのでは?死ぬのでは?という数字が出るようになってきました。具体的にはHbA1cが13.6、血糖430等。ワオ。

2017年夏、職場の近くに引っ越しました。これまで片道2時間弱かかっていた通勤が10分で済むようになり、自由になる時間が一気に増えました。折角なのでこの機会に減量に取り組もう、と始めてみたわけです。

月々何をやっていたか詳しい話は省略しますが、特別な事はしておらず…食事制限と有酸素中心の運動を出来る範囲で続けてきたという所です。


Oct 2017 - Dec 2018
最近は約93kg


2018年夏までは月3~5kgペースでどんどん落ち、それ以降は緩やかな減少となっています。最近は93kg程度です。
勿論まだ肥満体ではあるのですが、各種検査も正常値になり、かなり人間らしい生活を送れるようになってきました。


  • 階段を登ることができる
  • ズボンの股が半年で破れない(太ってると擦れて破れます)
  • 飛行機に乗る際、シートベルトの延長ベルトをCAに頼まなくていい(そういうものがあるんです)
  • ユニクロで服が買える(6L→XL)


そして、この(比較的)健康体と引き換えに失ったのが、最初に触れた技術系のアウトプットという事になります。当然と言えば当然で、例えば今週ですと…仕事の後は月・火・木・金とジムに行きマシンで筋トレ+有酸素、行って帰って大体2時間という。キーボード叩く時間はどこに。

2019年は運動時間を少しずつ減らし技術話また増やしたいなと考えているんですが、困ったことに運動に時間使うの嫌いでは無いんですよね。楽しい。運動より楽しい技術ネタを見つけるのが先かもしれないです。



2018年6月8日金曜日

F10 Recent updates - June 2018 / F10 最近の更新

(Updated - 20 Jun, 2018)
Updated version of Image bbs browser F10 available. Updates are deployed automatically, or you can install it from the Microsoft Store.

  • F10 v1.4.430
  • F10 v1.5.430
  • F10 v1.6.430

F10 Image bbs browser
https://www.microsoft.com/store/apps/9nblggh1ntrd

This post summarize the recent updates.

Some 4chan and futaba boards are no longer listed on the favorites menu


Due of the store policy 11.7, we can't show several NSFW boards on favorites candidate list. If you want to browse these boards, please type the name of board manually to add as favorites.
Due of this change, NSFW switch also not available.


To add the boards that not listed, you can type the name of board manually.


Store policy 11.7 Adult Content
https://docs.microsoft.com/en-us/legal/windows/agreements/store-policies#117-adult-content

Workaround:

If you already added the boards as favorite, or already changed the setting to show the NSFW boards, you can see the boards yet.
But once if you unfav the boards or uninstall/reinstall the F10, the boards no longer listed.


Former versions of Windows 10 no longer supported


We removed the following versions from the store. As of the result, You can not install the F10 to Windows 10 1507, 1511 or 1607.


  • F10 v1.1 - Win10 TH1 / 1507 / Build 10240
  • F10 v1.2 - Win10 TH2 / 1511 / Build 10586
  • F10 v1.3 - Win10 RS1 / 1607 / Build 14393


Currently, v1.4, 1.5 and 1.6 are available.


  • F10 v1.4 - Win10 RS2 / 1703 / Build 15063  (Latest for Windows 10 Mobile - 15xxx)
  • F10 v1.5 - Win10 RS3 / 1709 / Build 16299
  • F10 v1.6 - Win10 RS4 / 1803 / Build 17134 or later


Workaround:

You can still continue to use the v1.1 - v1.3, but once if you uninstall it, you can't reinstall it.
Or, please consider to update your Windows 10.


Futaba - support mp4 upload


Recently, futaba supported the upload of MP4 video. F10 already support the MP4 playing, and we support the MP4 uploading from this new build.


Bug fix 

Recent build had an issue that if you click the quote link at the response, it makes app termination. We fixed this issue.



4chan・ふたば の幾つかのボードがお気に入り候補に表示されなくなりました


ストア ポリシー 11.3 により、幾つかのボードはF10 のお気に入り候補に表示されません。そういった板を追加するには、板の名前を入力してください。
この変更に伴い、NSFW スイッチも廃止としました。


リストに無い板を追加するには、板の名前を入力します。


ストア ポリシー 11.7 アダルト コンテンツ
https://docs.microsoft.com/ja-jp/legal/windows/agreements/store-policies#117-adult-content


回避策

これらのボードが既にお気に入りに追加済みの場合、又はNSFW スイッチが既にONになっている場合は候補リストに表示されます。ただし、一度お気に入りから外す・又はF10 を再インストールすると、それ以降これらの板は候補リストに表示されません。


旧バージョンのWindows 10 へのF10の提供を終了しました


F10の過去バージョンをストアから削除しました。結果として、以下の古いWindows 10 バージョンに対してF10 を新規にインストールすることはできません。

  • F10 v1.1 - Win10 TH1 / 1507 / Build 10240
  • F10 v1.2 - Win10 TH2 / 1511 / Build 10586
  • F10 v1.3 - Win10 RS1 / 1607 / Build 14393
現在、以下のv1.4, 1.5, 1.6 が利用可能です。
  • F10 v1.4 - Win10 RS2 / 1703 / Build 15063  (Windows 10 Mobile 向けはこちらが最新)
  • F10 v1.5 - Win10 RS3 / 1709 / Build 16299
  • F10 v1.6 - Win10 RS4 / 1803 / Build 17134 又はそれ以降

回避策

上記の古いWindows 10 にF10 が既にインストールされている場合、そのまま使い続ける事は可能です。しかし一度アンインストールすると再びインストールすることはできません。
Windows 10 の更新をご検討下さい。


MP4 サポート

最近、ふたばでMP4 動画がサポートされました。
F10では MP4 動画の再生はこれまでもサポートしていましたが、今回MP4 動画のアップロードをサポートしました。


不具合修正

レス内の引用リンクをクリックするとアプリが終了する問題を修正しました。


2018年5月24日木曜日

UWP App の Multi Instance サポート その1

Windows 10 April 2018 Update (1803, RS4)からUWP App がMulti Instance、いわゆるアプリの複数起動をサポートするようになりました。実は今迄使えなかったんですね。

(This post is part 1 of the series - UWP Multi Instance Support.)
UWP Multi Instance support - Part 2, sample app and source
https://ddlgjp.blogspot.com/2019/03/uwp-app-multi-instance-2.html


まずは実際動かして試してみましょう。拙作のUWP App Wheel World Clockが既にMulti Instance に対応しています。


UWP App を複数起動している様子


Microsoft からダウンロード
Wheel World Clock ダウンロードはこちらからどうぞ

タスクマネージャーを見ると、実際にインスタンスが複数作成されているのがわかります。またこのアプリはちょっと仕込みが入っていて、文字盤の画像貼り換えを行うと他インスタンスに設定変更が通知されるようになっています。





ただ…Windows、Desktop上でAppを普通に使っている身からすると、

  • 「アプリが同時起動」って当たり前なのでは?
  • 今迄なんでできなかったの?
  • 2018年になって今更?

という疑問が湧くのは当然…という気がします。そこで、Multi Instance をキーにしてApp Model発展の経緯を俯瞰し、なんとなく分かった気になってみようというのが今回の記事です。


  • その1 UWP App Model の経緯と今回のMulti Instance対応、今後の展望 (この記事)
  • その2 Multi Instance 実際の対応作業と注意点


という予定です。

StoreApp / UWP App Model の変遷


Win8 - Single Instance, Single View (2012)


現在のUWP App の源流となるWin8 StoreApp、またそれの元となったWindows Phone環境は別名「Immersive UI」、没入型UI等と言われていました。タブレットやPCの画面「全体」をアプリが占有するイメージです。この環境では所謂デスクトップそのものが存在せず、あるアプリが同時に起動できるのは一つだけになっていました。
また、Immersive UIではこの当時から画面分割、Splitをサポートしていましたが、Win8の頃は「別アプリ同士」で画面を分割する形でした。


Win8/8.1 用 StoreApp 拙作のfuta8 です。
配布は終了しています。



Win8.1 - Single Instance, Multi View (2014)


"Multi View"がサポートされました。同時起動できるアプリのInstance
は引き続き一つだけですが、そこから複数の「View*1」を別スレッドで持つことが出来るというものです。画面分割に対し、一つのアプリが複数のViewを同時に表示できるようになりました。ただこの頃はStore AppでMulti Viewをサポートしたものは少なかったように記憶しています。


Win10 - Single Instance, Multi Window (2015)


「Immersive」の看板はそっと後ろに下げられ、Win10 UWP Appはデスクトップ上「でも」普通に使えるものとして再定義され、これまでの「View」が「Window」としてデスクトップ上に表示されるようになりました。Tablet / Phoneに軸足を置いたApp Modelから、デスクトップ / Win32 App と一緒に使える方向に大きく舵を切り直したのが Win10 UWP Appと言えると思います。

ただ、Win8.1 のSingle Instance なモデルは維持されました。プロセス自体の仕組みはそのままで、所謂Multi Window な動作を実現するためにはMulti Viewが引き続き使われていました。


Win10 UWP App F10 Image bbs browser
右がスレ・カタログを扱うメインウインドウ、
左の二つがスレ画像を表示する画像ウィンドウ、のMulti Viewを使っています。


MultiView を採用している、おそらく一番馴染みのあるUWP App は…Win10標準の「電卓」だろうと思います。一見複数起動しているように見えるのですが、実はプロセスとしては一つだけです。なお、電卓はRS4でもこの仕組みのままです。*2


UWP App「電卓」のMulti View動作
一見沢山起動しているように見えるけどInstanceは一つだけ
「起動」の度に一つのInstanceのOnLaunchedが呼ばれ、その都度Window(View)を作成しています。



このように、対応すればそれなりに色々な事が出来るMulti Viewですが…過剰というかオーバーキルというか、マルチスレッドの実装が大袈裟過ぎるという弱点があります。
上の例のF10 image bbs browser のような、Window一枚がドキュメント一つに対応しているSDI / MDI的なアプリならば頑張る価値はあるのですが、

  • 電卓のように、単に複数起動したい → 素直にMulti Instanceでいいのでは?
  • メインウィンドウの脇にサブウィンドウを表示したい → 同一スレッドでポンとWindow出したい…マルチスレッドにするほどでも無い…

という具合で、実際 Win10 UWP App でもMulti View を使っているアプリは少ないです。*3


また、Win10 UWPでは「ContentDialog」が追加になりました。Desktop+Window化に伴い、「簡単に使える」Win32のモーダルダイアログ的な物を狙ったのかもしれません。しかし、これはこれでアプリ画面の真ん中に固定で表示されるだけでした。帯にも襷にも短すぎた感じです。


アプリ情報をContent Dialog で表示している様子
表示位置はアプリ表示領域の中心固定です。
Win32 Appで良くある、入力用サブウィンドウやツールウィンドウをポンと自由な位置に出すというのが
実はUWP Appでは結構面倒なんですね。


このように、「一応」Desktop 上でWin32 App っぽく動く最初の一歩は踏み出したものの、Win32 Appで普通にやっていたようなMainWindow + ToolWindowものを気軽に書けるには至りませんでした。*4


こういうサブウィンドウをぽこぽこ出すスタイルが、
今…RS4までのUWP Appでは書くのが大変


Win10 RS4 - Multi Instance, Multi Window (2018)


前のセクションで上げたうちの前者、「単に複数起動したい」…電卓系を叶えるのがRS4 で導入された Multi Instance、と考えると理解しやすいです。Opt-In 形式になっており、MultiInstance を使う!とAppxManifest で宣言したアプリのみがMulti Instanceになります。
実際の対応作業や注意点等詳しい所は次の記事にまとめる予定ですが、Multi Instance 対応が期待されるUWP Appを考えると…以下のような使い方に向いているかなと思います。


  • 電卓系、シンプルアプリ
  • 他のWin32 Appから起動して使うもの … 起動=新インスタンス生成、タスク終了でインスタンスも消える、でないとWin32ものと仲良くしづらい所があります。そしてこれはMultiViewで救える話でもありません。
  • Sets … Sets で複数タブ表示を行いたい場合、Multi Instance 対応が必要です。



Win10 RS5 以降



今後どうしていくつもりなのか、2018年5月の開発者会議 Build2018でチラ見せがありました。上の例で挙げた後者、「メインウィンドウの脇にサブウィンドウを表示したい」系のMultiWindow AppをMulti View無しで簡単に記述できるようになるのだそうです。





こういう、サブウィンドウをメインウィンドウの外に出して
自由に配置可能なもの

MultiViewでは無くこういう形で簡単に書ける

ただ、Win32のDesktop Window Modelをそのまま再発明しても仕方ないので
WindowingEnvironment でDevice Familyでの差を吸収する
今だと、Hololens / Windows MRが特にWindowingとして
普通のDesktopとは異なる扱いが必要になりそうです。

それそれのDeviceにあった形のWindowing
"That new thing" … さて…

左が「2018年夏」予定のアイテム
予定は予定

予定通りなら、左の「2018 Summer」がおそらくRS5でしょう。ただしあくまでも予定です。Buildでの発表後にスケジュール変わった例はこれまでも多いです。


次の記事では、Multi Instance 対応 を実際の作業に即して書いてみます。



*1) 元がImmersive UI だった経緯もあり、WinRT APIでは「Window」という単語はあまり使われないです。
*2) このあたり、Multi Viewの解説とサンプルコードを以前Stack Overflow に載せた事があるので興味があればどうぞ。…今回の記事は、この2015年当時の回答を現状に即して書き直したような所があります。

Multiple instances of a Windows Universal App (Windows 10)
https://stackoverflow.com/questions/32807090/multiple-instances-of-a-windows-universal-app-windows-10/

*3) なおUWP Appとして扱われる事の多いEdge Browser ですが、アプリケーションとしての成り立ちは他のUWP Appとは全く異なっており、タブ毎に独立したプロセスが走っています。現在我々開発者が使う事の出来るUWP AppModelでこういうものを作る事はできません。出来るのは現在の所Microsoft だけです。また、Edge の仕組みをUWP App Genericに使えるように仕立て直したのが「Sets」と呼べるかもしれません。
*4) Win10の当初、2015年末まではWindows 10 Mobile がまだ…まだ生きていたため、そういう意味ではImmersive Deviceへの軸足を残していた…のかもしれないですね。その後2016年になるとWindows 10 Mobile への投資はパタリと途絶え、緩慢な死へと向かっていったのはご存知の通りです。

DDLG: Windows 10 Mobile について 
https://ddlgjp.blogspot.jp/2017/04/windows-10-mobile.html


2018年4月23日月曜日

WinGo-Maps の紹介

イランのお兄ちゃん達が作っているGoogle Map のUWP Client です。

https://www.microsoft.com/store/productId/9NMJ42V775GT
https://github.com/MahStudio/WinGo-Maps

Reddit の/r/Windows Apps で紹介されていたので知ったのですが、
https://www.reddit.com/r/windowsapps/comments/8b0hrz/wingo_maps_is_an_unofficial_google_map_open/
楽しげだったので日本語リソースの追加で協力しました。


日本語化した画面
与野が中心なのは、たまたま埼玉県の中心だからです


PC・HoloLens 等各Win10 Device Family で使えますが、主なターゲットはWindows 10 Mobile であるようです。
特にオフラインで使う場合、このアプリのマップDL機能がかなり便利と思われます。予め必要になりそうな領域を選択してマップの保存・またバックアップとリストアが可能です。イラン、中東はオフライン運用対応へのデマンドが多いのかも。


マップのダウンロード画面




一方、PC で使う場合はStreet View や3D表示が不可能、検索が微妙等、Webブラウザでの表示に比べると劣る部分が目立ってしまう所はあります。PCで普段使いするかと言われると…うーんそれは無いかな…という。
現時点ではまだ粗が多いのですが、実装の体力は備えている人達に見えるので…その内何とかしてしまうのではと思います。


※「このアプリをイランで購入するには」ですが、カードが使えない場合このページから購入手続きを行うと、開発者からプロモーションコード…ストアで特定のアプリ支払いに使えるクーポン、が届くという仕組みのようです。珍しい使い方。ストアの規約的にはびみょいかもしれない。


2018年3月24日土曜日

Twitter が採用したHosted Web Apps とは

2018年3月、Twitter社が Win10 IP RS4向けに新しいバージョンのTwitter Appをリリースしました。順次自動更新されているのですが、それが今までのUWP Appではなく、Hosted Web App だったことで少し話題になっています。

最初はRichard Hay さんのTwitterで知りました。その後記事にされています。

Official Twitter App for Windows 10 Finally Updated
https://www.windowsobserver.com/2018/03/23/official-twitter-app-for-windows-10-finally-updated/


どれどれ、とインストールしてアプリのフォルダを見ると…


既定だと、Program Files\WindowsApps 以下にインストールされます。
管理者権限付きのConsoleで探すのが楽です。


おお、まさにHosted Web Apps でした。

Hosted Web Apps って何?


HostされたWebアプリ
https://developer.microsoft.com/ja-jp/windows/bridges/hosted-web-apps

所謂UWP App …C#/VB/JS/C++ で動かすNative App とは根本的に世界が違います。

Hosted Web Appを構成する要素に、いわゆるソースコードとなるものは実はローカルには存在しません。AppxManifest.xml によるアプリの定義があるだけです。

AppxManifest の一部 
全部見たい人はAppをインストールするとアプリのフォルダに入ってます。


ここに書いてある mobile.twitter.com をそのまま表示する 100%Webブラウザの窓、というのが正しいです。Twitter のAppをインストールするとわかりますが、表示されるのは100%、mobile.twitter.com そのままです。これに何かUIをXAMLで追加する、ローカルのコードビハインドで処理をする、等の世界では無いわけです。

「TwitterのHosted Web App」の画面。
mobile.twitter.comそのままです。

なお、ストアに乗せるにはマイクロソフトのテストを通す必要があり、他のUWP Appとまったく同様に掲載されます。特に何か差がつけられるという事はありません。


それって…ただのブックマークでは?


いや、それは明らかに違います。上のAppxManifestで定義したサイト内のHTMLから、ローカルのWinRT APIを直で使うことが可能だからです。

今回のTwitter Appでは、この機能を使ってRTやいいねがされた場合に通知トーストを送信しています。

(Chrome等ブラウザでも許可すれば似たような事出来るじゃん、というのはありますが)

「普通のWeb」ではもちろん、ローカルのAPIを叩くなど絶対許されないのですが、Hosted Web Appでは良いよ!という事になっています。
「普通のWeb」とは異なり、
  • ストアに出す時点で製作者の身元が明らかになっている
  • Microsoft によるコンプライアンス テストが行われる(※1)
  • ユーザーがインストールする時点で同意している
等々…でOK…なのかしら。
ただ、※1には抜け穴があります。後述します。

ソースは全部Webの上


上で説明したように、ローカルにインストールされるのは定義ファイルと、タイルのアイコンに使うビットマップくらいです。他…WebViewで表示されるHTML、その中で使うリソース…画像、CSS、その他色々、そしてJavaScript、全てWeb上のものがそのままロードされ、使われます。 「Hosted Web App」、Webでホストされたアプリという…MS先生にしては珍しく、名が正しく体を表しているネーミングです。 なおキャッシュなどの仕組みは特にないため、ネットから切れていると動きません。こちらについてはProgressive Web Apps のService Worker で使えるようになる…はず。


UWP App に対するアドバンテージ


UWP App の場合、ストアに乗せているアプリを変更する際は、原則、マイクロソフトの人力、人の目によるコンプライアンス チェックが行われます。変更の多少にかかわらずチェックはアプリ全ての部分で行われ、人力の場合2、3日かかります。このタイムラグがUWP App 稼業の大変つらいところです。そしてたまに意味の分からないいちゃもんをつけられたり。消耗すること甚だしいです。

(原則、というのは、場合によっては自動化テストのみ、数十分で通過する場合があるからです。アプリによります。ちなみにF10は毎回100%人力テストです。なんで…)



ですが、Hosted Web Appsの場合、上で説明したようにソースは全てWebであり、MSのストアに載っている訳ではありません。
つまり、アプリの改変がマイクロソフトのチェックを通さずにやりたい放題という事になっています。これは別に開発者が見つけた抜け穴ではなく、MS自身がアドバンテージとしてアピールしています。それでいいの?という気はちょっとしますが…
それと、さすがにあまり無茶するとお取りつぶしなどは当然あると思います。教育アプリがある日突然ふたばのJun君を表示するとかそういう。


Progressive Web Apps とは違うの?


基本的にはネーミングの話かなと思います。Hosted Web Apps の進化系がProgressive Web Apps (以下PWA)と言うのが正しいはずですが、ただ他のメディアの紹介を見ているとTwitterはPWA だ!という所もありました。どちらもそれはそれで正しい気がします。

また、PWA 自体、別にMSの持ち物という訳ではなく…AndroidにはAndroid のPWA があります。おそらく、これに大体そろえる感じで各機能入れるんだろうなと思います。Service Workerが入り、オフラインで使用可能なもっと「ちゃんとした」アプリになる…のだと思います。 ちなみに、WindowsでのPWA の情報自体まだ出きっていないのが実情です。おそらくは2018年5月のBuild 2018 でお披露目・・かな?と思います。今のところは以下、2018年2月のBlogの情報が詳しいです。


Welcoming Progressive Web Apps to Microsoft Edge and Windows 10
https://blogs.windows.com/msedgedev/2018/02/06/welcoming-progressive-web-apps-edge-windows-10/



私はいいと思う




Progressive Web Apps 、前身のHosted Web Appsも含めてなんつうかこう…Windows 開発者の間ではあんまり人気が無い、気がします。理由はなんとなくわかります。ただWeb表示してるだけじゃん?アプリじゃねえじゃん、という。ある程度正しいと思います。

また、Win10 のUWP、Win8.1のStore App でもそうでしたが…ストアを埋め尽くす低品質アプリの代表格が、アプリのメインウィンドウにWebViewを張り付けてWebのコンテンツを表示するだけの「アプリ」でした。こういう嫌な経験も影響しているのだろうと思います。私も何度DLして起動して脱力したことか…あ、WebViewアプリ様だ……


ただ、だがしかし。私はPWA、いいと思っています。
「アプリ」の主戦場がローカルからWebに移行して随分経ちました。個人的にも、GMail、Google Maps, あすけん(カロリーチェックのWebです), Slack, Twitter, OneDrive, Office Web Apps, ふたば, etc, etc... 一日を過ごすPC体験の殆どはWebです。そのうち一部…ふたばはF10を使っていますが、あれもWebのコンテンツを再解釈してXAMLで表示しているアプリであり、本質的にはWebアプリのVariationと思っています。
このようにWeb側の表現力、機能が十分に進化している場合、それをAPIを使って再解釈して「ローカルアプリ」として仕立てるのって…本当に要るのかな?という疑問は常にあるわけです。

もちろん、今回のHosted Web Apps のTwitterを見ればわかるように、今のレベルではローカルアプリと同じとは言いづらいです。ですが、今後のPWA、そしてまた進化していくであろう次のバージョンを考えると…「PWAでいいよね」となるエリアは今後拡大していくんだろうな、と思います。

※追記 2018/04/02 ... 常用に挑戦してみたけど…結構キツいですねこれ。まずリロードのやり方が良く分からないょぅ…通知等他のタブに一旦切り替えて戻るしか無くない? Twitter PWA, 思った以上に将来性の塊(マイルド表現)でした。これRS4向けに本当に一般公開するんだろうか…



2018年3月17日土曜日

MVP Global Summit 2018 に参加してきました

この記事は

  • 前半 MVP Global Summit 行ってきたーうわーーーたーのーーしーーーいーーーーーー
  • 後半 MVP制度って何なんだろねという考察

の二段構成です。お好きな順でどうぞ。


※MVP?  Microsoft MVPって何?という話は以前の記事をどうぞ。
Microsoft MVP for Windows Development を受賞しました
http://ddlgjp.blogspot.jp/2017/06/microsoft-mvp-for-windows-development.html

(2018年5月追記)Summit 2018 の様子が判る動画がMicrosoft MVP Siteに上がっていました。何時まで見られるかは分かりませんが。特にストリーミングでは無くただMP4 が置いてあるだけなので、一旦ダウンロードしてからどうぞ。

Microsoft MVP Global Summit
https://mvp.microsoft.com/en-us/Summit



MVP Global Summit は、約2000人のMicrosoft MVPが世界中から集まるイベントです。日程は三日間+α…大体皆参加するのが日曜の登録+月火水の四日間で、私もこのスケジュールでした。

会場はワシントン州レドモンドにあるMicrosoft 本社と、その近郊の都市 ベルビューです。
シアトルの中心部、ダウンタウンから車で30分程の所にあるベルビューは、ショッピングモールやオフィスビル、ホテルが集積したそこそこの都会です。今回MVP Summit に参加する人達は、皆このベルビューエリアのホテル数軒に分かれて宿泊します。参加登録、また多人数のパーティ等はこのホテルの中の一つ、Hyatt Regency Bellevueで開かれます。私はこのHyattに泊まりました。


Bellevue Downtown Park から中心部を望む




妙にカモが偉そうな公園でした

そして、毎朝ホテルからシャトルバスで20~30分かけてMicrosoft 本社に移動します。セッションは朝8時から。このためホテルの朝食は朝6時から。余談ですが、今回に限らずUS開催のIT系のイベントって大体朝が早いですよね。


Hyatt の朝食会場。朝一番乗りだった日です(お腹減ってたので)。




朝食 野菜が足りない フルーツはあるんだけど



早朝からバスに揺られて移動


Microsoft 本社はほぼ街です。10年程前に一度出張で来た事があるのですが、その頃と比べても三倍くらい大きくなってる気がします。当時は520号の西側はもっと狭く、Nintendo America HQの北側に位置するキャンパスも無かったはずです(※1)。集積度…建物の密度、階数等が全然違うので日本と比較しにくいのですが、敢えて言うと…緑地帯の間に低層の研究施設が点在する筑波研究学園都市・筑波大学に似た雰囲気です。







Lake Bill
木立ちでは猫くらい大きいリスが走り回っていました


※1…この件検索すると、Seattle Timesに2006年当時、520号の両側をこれから開発していこうという記事が残っていました。この結果として、現在西側にはThe Commons, Visitor Center等が建っています。Nintendo Americaの北側は元はSafecoだったんですね。

2006年当時の将来計画図
http://old.seattletimes.com/html/microsoft/2002796093_microsoft10.html

そして2018年からまた大規模な再開発が始まり、Redmond Campusの中では一番古いエリア(例の十字型のビル群…Visual C++のアイコンで使ってましたよねこれ)を全て建て直すようです。



車道と駐車場は全部地下に入れて地上の道は全て歩行者+自転車用、そして520号の東と西+建設中のLink Light Rail 鉄道駅を専用の歩道橋で繋げるとの事。豪気な話ですなぁ。
寄り道でした。

セッションの多くはBuilding 33, Microsoft Conference Centerで行われます。







昼ごはんはケータリングが来ます。



お昼は野菜あり。嬉しい。
そのほかセッションの合間合間にはおやつが来ます。全体に食事は良かったです。


移動を終えるとGlobal Summit の本体、セッションが始まるのですが…この内容は全てNDA、秘密です。漏らすとバターサンドにされると言われています。この記事でも内容には一切触れられません。
一日のセッションを終えると、また送迎バスでホテルに戻ります。このルーチンを三日間続けます。


NDAを破った者の末路


現地での移動には、何度かUBER・Lyftを使いました。ホテルに帰るのにも一度。
スマホのアプリで目的地を入力して連れてって、と登録すると、GPSの位置情報で今待っている所に数分で車が来ます。目的地はドライバーのスマホに転送されるので車に乗ってから特に会話が要らないのが、床屋ですぐに会話に詰まり石のように沈黙するタイプ(僕)には最高です。タクシーと違って、普通の人が普段使いで乗ってる車に同乗できるのが車好きには楽しいです。プリウス多いですけどね。








ホテルに戻った後はそれぞれ晩御飯にするなり、パーリーがあったりします。MVP同士のネットワークを広げましょう!コミュニティ!!的なのが求められている訳ですが、そういうのいいよ…一人がいい…独り飯さいこう…という僕のような人には、Hyattから西に数分歩いた所にあるスーパー、QFCが便利です。24時間営業+セルフレジ完備なので西武線沿線住民の僕にしてみればほぼ西友です。セルフレジが良いのは、カード通すだけでお買い物できるので会話の必要が無いところ。ただ24時間と言っても夜に歩いていくのはちょっと怖いです。




レインボーロールセット 次の日お腹壊しました。生もの注意。


最終日の夜は全出席者合同の一大パーリーです。出席者の年齢層(おじさん)に合わせているのか、80年代・90年代ポップスがDJブースからどんがどんがと鳴り響きます。洋画でよく見る奴。






個人的にふおおおお!となったのはこれ。昔のアーケードゲームやピンボールが賑やかしに並んでいるのですが、その中にあの!ベクタースキャンのアタリ・スターウォーズがありました!キャーーーーー////  80年代、岩見沢の金市館でやりこんだ思い出の一品です。





ただ…私は日本だろうとUSだろうとパーティーには馴染めないおじさんなので、夕飯の分を頂いた後はホテルのフィットネスセンターでトレッドミルを漕いでいました。たのちい。日月火水、毎日きっかり一時間歩いてしまった。何しに行ったのか。


Fitness Centerは宿泊客無料
Cascade Towerの2F, Cedar Ballroom近くに隠し扉みたいな入り口があります



🍙🍙🍙



以下はMVP Programって何なんだろうと今回すこし考えた事です。


個人的には、MVP Summit に出られるのは超嬉しいのですが、その仕組みには少し違和感がありました。
何がかと言うと…MVP というのは基本的にコミュニティへの貢献が評価されて受賞するものです。イベントを開く、講演する、本を書く、等。他の人に何かを伝える活動をする人、という自己定義です。
ですが、MVP Global Summit のSession内容は全てNDAです。他のどこにも出せませんし、MVP同士で揉むことも出来ません。このため、この内容を持って帰ってコミュニティにフィードバックする…例)「今度のバージョンでこんな機能追加されるらしいよ!」という道は最初から無い訳です。
この、「Summitで得られた知識をコミュニティ側に還元できない」…言い換えると、MVP受賞理由とSummitで得られる便益が繋がっていない所に何かホワワワーンと釈然としない所を持ったまま会場に向かいました。

🍜🍜🍜


そこで目にしたのは、MVP、開発者を全力で「もてなす」Microsoft の様子でした。まじか。大変驚き、正直少し退きました。いや、君普段はそんなじゃないじゃん!という。どうしちゃったの・・・
この驚きを理解して頂くには少し説明が必要かもしれません。

🐡🐡🐡


Microsoft と ユーザー、または開発者の関係はもちろん対等ではありません。圧倒的に非対称な関係です。
分かりやすい例がWindows 10 のフィードバックHubでしょう。何を入れても何を言ってもなしのつぶて、自動応答の「受け取りました」マークが立つだけです。内部で色々ご苦労があるのだろうとは推察しますが、外形的には賽の河原です。他のコミュニティ…MSDN ForumやUservoice等でもそれほど変わりません。エグいバグが報告されたとしてもMicrosoft のエンジニアが出てきて何か言うことは少なく、協力会社スタッフのモデレーション担当が出てきて担当部署に繋げますと言ってくれれば良い方で、FollowUpが入ることも少ないです。サポートに連絡しても木で鼻を括る対応、と額に入れて飾りたい場合が多いです。そういう「関係」でやっているわけです。

※一応言っておくと、Platform商売している所はだいたいこんな感じです。特にMicrosoft が意地悪!という事では無いと思います。

そういう頭でこの十数年やってきた僕にとって、MVP Global Summit の光景はいやいやいや…というものでした。Session以外での歓待の様子は、この記事上半分で伝えられたかと思います。Session については前掲の通り一切触れられません。


🍛🍛🍛


Microsoft MVPは現時点で世界で4000人程度、今回のSummitに参加したのは2000人弱×(宿泊費4泊+飯+シャトルバス+各種パーティ)、どの会場もスタッフ完備で人手の足りなさを感じさせる事は無かったです。そして手ぶらで返す訳でもありません。また、三日間+αの期間、各プロダクトグループの主要メンバーが出てくると。結構なコストが掛かってますよね。

そして、このイベントは今年で25回目、四半世紀続けてこられたという事はこのスキームに自信があり、またコストに見合うだけのリターンをMicrosoft 側が得られているという事なのでしょう。

そのリターンとは何だろうか。そしてこのある意味特別待遇を「世界で4000人」に区切る理由って何なんだろうか。…ここまで考えたところで今回はギブアップです。
足りない頭を使い過ぎました。