古事連記帖

趣味のこと、技術的なこと、適当につらつら書きます。

UWP で MapControl の任意の場所を適切にズームしたい

よくある「ある地点からある地点までを指し示した地図」を出したいとき、ZoomLevel をどの値にすれば良いかわからなくなるときがありますが、UWP の MapControl でも同じようなことができました。


使うのは GeoboundingBox というクラスです。これに位置情報を BasicGeoposition の列挙として渡すと、自動で北東・南西・中心の位置を計算してくれます。
さらに、これを MapControl の TrySetViewBoundsAsync メソッドに渡すことで、適切な位置に、適切にズームしてくれるようになります。

以下は使用しているコードです。わかりやすいように始点・終点と線を描くようにしています。
gist.github.com

上記のように書くと、こんな表示になります。
f:id:ChiiAyano:20180305231626p:plain

TrySetViewBoundsAsync は、マップのロードが終わったタイミングで呼び出さないと失敗します。それだけはご注意を。


あけましておめでとうございます

今週のお題「2018年の抱負」

2018年になりました。あけましておめでとうございます。
結局の所、2017年は音楽やったりプログラミングに精進したいという目標は掲げたものの、仕事の忙しさから、音楽についてはほぼできず、プログラミングは Windows 10 IoT を使った位置情報垂れ流し組み込みシステムを作ったくらいで終わってしまいました。
今年も、音楽については目標10曲~6曲くらい作りたいところ。プログラミングも Xamarin や、今話題の Kotolin などにも触れたいところ。忙しくなければなんとかなる…気がする?

今年こそ頑張る。
ぜひよろしくお願いします。

f:id:ChiiAyano:20180101185403p:plain

UWP で Binding がうまくいかなかった

ちょっとしたメモ。

UWP にて、ReactiveProperty を使って、ViewModel にゴリゴリと Binding を書きまくってるんですが、一部がうまく動かない。
どうしたかなあと、バインド数に制限でもあるのか?とか、PC では動くのに、Mobile では動かないぞ?と思って数週間悩んでいましたが、PC でもバインドされないことがあって、もしかしてと思ったら、
await している処理の後に書いてたのが原因だったようです。割と盲点。

なんとなく、ゲームループを思い出しました。

歴戦を共にした携帯型 Windows デバイスたち

この記事はWindows 10 Mobile Advent Calendar 2017の 5 日目の記事です。
adventar.org

今回は、これまで一緒に生活を共にしてきた、携帯型の Windowsバイスを振り返ってみようと思い立ちまして、
早速ですが、だらだらと書いていきます。

WILLCOM 03

www.sharp.co.jp
f:id:ChiiAyano:20171203211609j:plain

Windows Mobile 6.x のデバイスですが、高校生の僕が初めて手にしたスマートフォンでした。
当時は IRC にはまっていて、外でもどこでも IRC ができたらいいなと思って手に入れたのがこれです。
いわゆる「ガラケー」と呼ばれていた携帯電話は持ってましたが、野良 iアプリは外への通信が制限されていたため、自由に使えるデバイスとしてこれを選びました。
EbIRC を使ったり、ちょっと改造したやつ作ってみたり、いろいろカスタマイズしてみたり…と遊んでいた記憶があります。
このあたりで「スマートフォン勉強会」なるコミュニティ勉強会のスタッフとしてもいろいろやってたりしてました。

HYBRID W-ZERO3

www.sharp.co.jp
f:id:ChiiAyano:20171203211635j:plain

こんなのも持ってました。
発売前の体験会なんかにも参加したりしてました。
ガラケーと 2 台持ちをしていたので、ガラケーで培った文字入力の速さを、このデバイスでも発揮してバリバリ使いこなしていた記憶があります。
このあたりで id:tmyt が作っていた「Azurea」で、このテンキーに特化された入力方法も用意されていたこともあって、いまも PC で Azurea を使うときは、そのときのキーバインドで RT したり、いいねしたりしてます。

HTC Trophy

www.htc.com
f:id:ChiiAyano:20171203211656j:plain

Windows Phone 7.0 を初めて触ったときのデバイスです。
初めて海外から自分で取り寄せた*1バイスで、英語しか使えない*2、電波も発せない*3バイスでしたが、
Windows Phone の未来を感じる面白いデバイスだったなあと記憶しています。

IS12T

www.fmworld.net
f:id:ChiiAyano:20171203211716j:plain

日本で初めて発売された Windows Phone 7.1 (7.5) デバイスです。
このデバイスは IS12T 発表イベントで配布*4されて手にしました。
2 台持ってるのは、そのあとおこなわれた開発イベントの賞品です。

このデバイスで通信するために、IS06 を契約し、ここで初めて Android に触れることにもなります。当時はあんまり使わなかったけど。


この間に Lumia 925 とか、 Lumia 630 とか、Lumia 830 を持っていましたが、ちょっと見つからなかったので割愛します…。
WP7.5 が出た後、WP8 が日本で展開されるまでの長い間に海外から取り寄せた端末でした。

MADOSMA Q501

www.mouse-jp.co.jp
f:id:ChiiAyano:20171203211828j:plain

日本で初めての Windows Phone 8バイスとして登場した Q501。発売日に買いました。
IS12T のころに 1 回だけやった「草薙会」というなんとなく宴会っぽい集まりをして、それの第二回をなぜか静岡県の草薙ではなく東京都内でやったりしましたが、
そのとき参加者が作ったステッカーは、いまでも貼ってます。

Lumia 950

www.microsoft.com
f:id:ChiiAyano:20171203211844j:plain

ひょんなことで買った海外端末でした。
いいデバイスなんですけどね。
Lumia 925 ではかなり気になるレベルにもなった、有機 EL の特性である画面焼けにかなり気を遣った作りになっているようで、割と長い間同じ画面を描画していても画面焼けしてるようには見えませんでした。

VAIO Phone Biz

vaio.com
f:id:ChiiAyano:20171203211857j:plain

いまのメイン端末です。
2016 年の突然の端末ラッシュのさなかに登場したデバイスです。今でも当時のことを思い返すと正直ビビるんですが…。
Anniversary Update までは快適だったんですが、Creators Update から通信まわりでちょっと不具合が多発している悲しいデバイスとなりました…。

MADOSMA Q601

www.mouse-jp.co.jp
f:id:ChiiAyano:20171203211909j:plain

これも現在のメイン端末ですが、6 型の大型ディスプレイの特徴を利用して、持ち歩き用ではなく車載用、つまりは Mikaboshi 用に使っています。
soft.udonge.net
出来のいい端末です。大きくてもよいのなら、今ならこのデバイスを他人に勧めるつもりです。

ということで

高校生のときから約 10 年は生活を共にしていた数々の Windowsバイスたちでした。
ずっと前に「Windows Phone とは運命を共にして生きていく」というのを誰かに言ったような気がしましたが、それがまさか本当にきてしまうとは思ってませんでしたね…。



さて、残念ながら 6 日目を担当してくれる方がいないのです…。

*1:海外から知り合いづてで取り寄せたのは「Zune HD」でした

*2:当時は 7.0 だけ野良アプリでレジストリにアクセスできて、特定のレジストリキーに日本語ロケールを追加した状態で 7.1 にアップデートすることで、日本語化ができました

*3:技適的な意味で

*4:後日郵送でしたが

ぼくがまだ Windows 10 Mobile を使い続けている理由

この記事は、Windows 10 Mobile Advent Calendar 2017 の 1 日目の記事です
adventar.org


今年は残念ながら、Windows 10 Mobile の悪いニュースが明らかになるなどもあり、ネガティブ思考になりがちで、ポジティブなことも書きづらい形での Advent Calendar となりました。
とはいえ直ちに使えなくなるわけでもないので、使えなくなるまでは使い続けようと思っています。

Windows 10 Mobile を使い続けている理由

Windows PC と Mobile の組み合わせは、MicrosoftAndroid / iOS にモバイル分野をシフトしても変わらず強いものと感じる部分はあります。

例えば「アプリ設定のローミング」。UWP アプリは設定を Microsoft アカウントに紐づけて、ほかのデバイスでも同じ設定で使えるようにするという仕組みがありますが、これは当然 Mobile でも使えます。この点は現時点で最強のメリットだと感じています。Mobile がなくなった後は、UWP は PC と Xbox, HoloLens でしか動かないものになるため、設定のローミングは薄くなってしまうなぁとちょっと寂しいです。
これに関連して、ストアで購入したアプリは Xbox, HoloLens も含め、Mobile も PC もアプリが利用可能であれば、どのデバイスでも購入情報が共有されるので、PC と Mobile でそれぞれアプリを買わなくてもいいという利点がありました。

まだまだ使うために アプリの紹介

Slack

www.microsoft.com
ご存じコミュニケーションツール Slack のクライアントです。月に 1 回アップデートが入っていて、しっかりメンテされている雰囲気もあります。
日本語表示はもちろんのこと、メッセージを見る、スレッドを見る、ファイルを送信するなどの基本的な機能は問題なくできていますが、ファイルのコメントは見ることができず、誰がリアクションしたのかも見ることができないなどの機能制限はあります。BOT からのメッセージについて、設定している情報が反映されていない箇所があったり、日本語化されたことによって、フォントが NotoSans の常用漢字レベルまで引き抜いた版が使われるようになり、割り当てのない漢字が Yu Gothic UI に代用されるため、混ざると非常に不自然な表示になるなどがあり、この辺はぜひとも改善してほしいところ。

ライブカレンダー

www.microsoft.com
スタート画面のタイルにカレンダーを表示してくれるアプリです。WP7 のころからある老舗アプリです。
ワイドタイルにしておけば、端末で持っているカレンダー情報も表示してくれるので、なかなか便利です。

Analog Clock Tile

www.microsoft.com
スタート画面のタイルにアナログ時計を表示してくれるアプリです。
様々なスキンが用意されているため、好きなのをいつでも切り替えて表示できます。

fitbit

www.microsoft.com
活動計アプリの定番アプリ。Windows 10 Mobile 版もちゃんとあります。
できることはたくさんあり、fitbit デバイスとの接続ももちろん、ソーシャル機能も問題なく使えます。
タイルでも歩数をはじめとして、様々な情報が表示されるのがとても便利。

sanka

www.microsoft.com
2 5 ちゃんねるビューアーです。
API 対応のため安心して使える点、先述の設定ローミングによって、Mobile で見たりお気に入りに入れたスレを PC でもそのまま見ることができるので、rep2 のような Web で動くマルチプラットフォームビューアーと同じ使い勝手なのが魅力。
Mobile だとアプリとは別に 5 ちゃんねるにお金を払っていないと、画面にでかでかと広告が鎮座するので、そこは割り切って広告と付き合うか、5 ちゃんねるにお金を払うなどで広告を消すなどする必要はあります。
見たレスの位置、お気に入りスレの情報はローミングしてくれますが、NG ワードなどの設定はどうやらローミングしてくれないようなので、そこだけ改善されるといいなぁと思っています。

そんなわけで

Mobile もまだ頑張れるぞっていうことを伝えたかったんですが、どうでしたでしょうか。
12 月 2 日は id:kazuakix かずあきさんです。

僕が考える、Windows 10 Mobile からの移動先について

今朝書いた記事が思いのほか伸びてて、割と恐縮というか、「ああなんか、終わりに郷愁を抱く日本人らしい反応だな…」とか思いつつ見ているわけですが
ayano.hateblo.jp


じゃあ僕が思う、Windows 10 Mobile が正式にサポートを終了した後、どのプラットフォームに移るといいのか?というところをちらちらと書いてみます。

同じ操作感を求めるなら Android 系を選ぶべし

もはや僕自身の中での答えはこっちです。W10M ユーザーに相談されたら間違いなく Android 系がオススメと答えます。
実は Windows 10 Mobile の操作感はほぼ Android 系のそれと似ています。
W10M でいうアクションセンターは Android も同等に画面上から下へスライドすればよく、その先の通知の一覧はもちろんのこと、各種センサー類・ネットワークを操作するクイックアクションも Android でもほぼ同じフィーリングで操作ができます。
また、カーブフリックに慣れてる方にとっては、他のフリック入力が煩雑でつらいなどあると思いますが、つい先日「アルテ on Mozc」が『カーブフリック準拠』のキーボードを搭載してリリースされました。
play.google.com
所々で本場カーブフリックとは違う挙動、例えば、左下フリックで「あ段」の確定はできず、英字入力は「先に大文字小文字切り替えをしてから文字を入力」ではなく「文字を入力してから大文字小文字を切り替える」などがありますが、それ以外については変わりはありません。
ちょっと挙動が違うと言えば、タスク切り替えは Android 端末によって変わりますが、専用のナビゲーションボタンが存在します。それをタップすることで切替ビューに遷移します。
前によく言われたのは「Androidマルウェアに弱い」ことでしたが、最近は割とどうにかなっているようで、怪しそうなアプリを入れないなどすればどうってこともなく、変な"セキュリティソフト"を入る必要もないように感じてます。

僕自身も W10M と Android の二台持ちで運用しています。あまり頭でプラットフォームが違うことを意識せず使えているので、かなりストレスフリーな感じはあります。

iOS 系はどうか?

我が道を行く iOS 系は W10M とはかなり操作感が違う上、バージョンアップするたびに操作が変わっていく*1ので、順応力が高くないとしんどいイメージがあります*2
利用面では W10M をずっと使っていた人からすればつらいですが、実行環境などは W10M の思想と割と似ている部分もあるので、前述の通りとはいえ、やっぱり Android はセキュリティが…という気持ちであれば、iOS 系でもいいんじゃないでしょうか?
Android とは違ってデバイスが決まってるので、デバイスによって UX に差が無い…と思ったんですが、最近はそうでもないのがしんどいところ…。

Android 系デバイスだと何が良いんだ

その辺のガジェクラに聞いて下さい…。 僕は Xperia ですけど

*1:あわせて発表される新端末にあわせた UX になるイメージ

*2:職場で触ることがありますが、意識してないとイライラが募ります…

Microsoft の中の人が Windows 10 Mobile の事実上の終了を宣言した話

ついにこのときがきてしまったのか っていう気持ちですが…

windowscentral.com
www.onmsft.com


Windows Phone ではイケメンぶりを発揮してた Joe Belfiore さんが、自身の Twitter で明らかにしたことで、
Windows 10 Mobile はバグ修正、セキュリティパッチなどのメンテナンスはするが、新機能などはもうしない。個人利用者は iOS 端末や Android 端末に切り替えてほしい。 個人的には、Windows 10 Mobile 端末から別の端末に切り替えた。 (太字部分は 10 月 10 日更新)」
という、事実上の「終了宣言」「敗北宣言」が出てしまいました。
これで、 PDA から始まる Windows CE, Windows Mobile, Windows Phone といった、パームトップ・電話としての Windows の系譜がここで途絶えてしまうことに。


iPhoneAndroid が出た当初、それまで Microsoft の独壇場だった PDA 市場にあぐらをかいていたあの頃から、もう運命は決まっていたのかもしれません…。
あれよあれよと追い抜かれていき、iPhone は日本では圧倒的なシェアを誇り、Android は出た当初と大きく変わってかなり快適な操作性を得るまでに至りました。



僕個人としては、もうちょっと Windows 10 Mobile と遊んでいたい気持ち。
Windows on ARM の状況も気になりますしね。「電話としての Windows」が復活するのか、それとも…。

www.itmedia.co.jp


2017/10/10 追記
割と反響ありすぎて心が痛いんですが…。
電話としての Windows は今後新機能開発に注力しないというだけで、今すぐ終わるわけでもないということは付け加えておきます。


今後も僕は Windows 向けアプリ開発は続けていきますし、UWP から手を放すつもりはないです。なんだかんだで作りやすいプラットフォームですからね。
あやふやだった方向性が、Joe 氏によって明確化されたことで、今後のアプリ開発をどうしていくかは割とわかってきた気がしてます。

同日追記・修正
つらいのでまだ書きます。
Joe 氏がこのタイミングでアナウンスした真意はわかりません。Windows on ARM あるいは Windows Core OS が今後控えているから、Win32 系アプリを実行できない Mobile はフェードアウトさせたいのか、そもそも電話としての Windows からガツっと撤退するなのか、今後の状況を見ないことにはわかりかねる話かと思います。

今更ですが誤訳に気づいたので修正しておきます。"As an individual end-user," の前置きを無視してたので思いっきり違う意味にとらえていました。お詫びして修正します。