UWP で MapControl の任意の場所を適切にズームしたい
よくある「ある地点からある地点までを指し示した地図」を出したいとき、ZoomLevel をどの値にすれば良いかわからなくなるときがありますが、UWP の MapControl でも同じようなことができました。
使うのは GeoboundingBox というクラスです。これに位置情報を BasicGeoposition の列挙として渡すと、自動で北東・南西・中心の位置を計算してくれます。
さらに、これを MapControl の TrySetViewBoundsAsync メソッドに渡すことで、適切な位置に、適切にズームしてくれるようになります。
以下は使用しているコードです。わかりやすいように始点・終点と線を描くようにしています。
gist.github.com
上記のように書くと、こんな表示になります。
TrySetViewBoundsAsync は、マップのロードが終わったタイミングで呼び出さないと失敗します。それだけはご注意を。
あけましておめでとうございます
今週のお題「2018年の抱負」
2018年になりました。あけましておめでとうございます。
結局の所、2017年は音楽やったりプログラミングに精進したいという目標は掲げたものの、仕事の忙しさから、音楽についてはほぼできず、プログラミングは Windows 10 IoT を使った位置情報垂れ流し組み込みシステムを作ったくらいで終わってしまいました。
今年も、音楽については目標10曲~6曲くらい作りたいところ。プログラミングも Xamarin や、今話題の Kotolin などにも触れたいところ。忙しくなければなんとかなる…気がする?
今年こそ頑張る。
ぜひよろしくお願いします。
UWP で Binding がうまくいかなかった
ちょっとしたメモ。
UWP にて、ReactiveProperty を使って、ViewModel にゴリゴリと Binding を書きまくってるんですが、一部がうまく動かない。
どうしたかなあと、バインド数に制限でもあるのか?とか、PC では動くのに、Mobile では動かないぞ?と思って数週間悩んでいましたが、PC でもバインドされないことがあって、もしかしてと思ったら、
await している処理の後に書いてたのが原因だったようです。割と盲点。
なんとなく、ゲームループを思い出しました。
歴戦を共にした携帯型 Windows デバイスたち
この記事はWindows 10 Mobile Advent Calendar 2017の 5 日目の記事です。
adventar.org
今回は、これまで一緒に生活を共にしてきた、携帯型の Windows デバイスを振り返ってみようと思い立ちまして、
早速ですが、だらだらと書いていきます。
WILLCOM 03
Windows Mobile 6.x のデバイスですが、高校生の僕が初めて手にしたスマートフォンでした。
当時は IRC にはまっていて、外でもどこでも IRC ができたらいいなと思って手に入れたのがこれです。
いわゆる「ガラケー」と呼ばれていた携帯電話は持ってましたが、野良 iアプリは外への通信が制限されていたため、自由に使えるデバイスとしてこれを選びました。
EbIRC を使ったり、ちょっと改造したやつ作ってみたり、いろいろカスタマイズしてみたり…と遊んでいた記憶があります。
このあたりで「スマートフォン勉強会」なるコミュニティ勉強会のスタッフとしてもいろいろやってたりしてました。
HYBRID W-ZERO3
こんなのも持ってました。
発売前の体験会なんかにも参加したりしてました。
ガラケーと 2 台持ちをしていたので、ガラケーで培った文字入力の速さを、このデバイスでも発揮してバリバリ使いこなしていた記憶があります。
このあたりで id:tmyt が作っていた「Azurea」で、このテンキーに特化された入力方法も用意されていたこともあって、いまも PC で Azurea を使うときは、そのときのキーバインドで RT したり、いいねしたりしてます。
HTC Trophy
Windows Phone 7.0 を初めて触ったときのデバイスです。
初めて海外から自分で取り寄せた*1デバイスで、英語しか使えない*2、電波も発せない*3デバイスでしたが、
Windows Phone の未来を感じる面白いデバイスだったなあと記憶しています。
IS12T
日本で初めて発売された Windows Phone 7.1 (7.5) デバイスです。
このデバイスは IS12T 発表イベントで配布*4されて手にしました。
2 台持ってるのは、そのあとおこなわれた開発イベントの賞品です。
このデバイスで通信するために、IS06 を契約し、ここで初めて Android に触れることにもなります。当時はあんまり使わなかったけど。
この間に Lumia 925 とか、 Lumia 630 とか、Lumia 830 を持っていましたが、ちょっと見つからなかったので割愛します…。
WP7.5 が出た後、WP8 が日本で展開されるまでの長い間に海外から取り寄せた端末でした。
MADOSMA Q501
日本で初めての Windows Phone 8 デバイスとして登場した Q501。発売日に買いました。
IS12T のころに 1 回だけやった「草薙会」というなんとなく宴会っぽい集まりをして、それの第二回をなぜか静岡県の草薙ではなく東京都内でやったりしましたが、
そのとき参加者が作ったステッカーは、いまでも貼ってます。
Lumia 950
ひょんなことで買った海外端末でした。
いいデバイスなんですけどね。
Lumia 925 ではかなり気になるレベルにもなった、有機 EL の特性である画面焼けにかなり気を遣った作りになっているようで、割と長い間同じ画面を描画していても画面焼けしてるようには見えませんでした。
VAIO Phone Biz
いまのメイン端末です。
2016 年の突然の端末ラッシュのさなかに登場したデバイスです。今でも当時のことを思い返すと正直ビビるんですが…。
Anniversary Update までは快適だったんですが、Creators Update から通信まわりでちょっと不具合が多発している悲しいデバイスとなりました…。
MADOSMA Q601
これも現在のメイン端末ですが、6 型の大型ディスプレイの特徴を利用して、持ち歩き用ではなく車載用、つまりは Mikaboshi 用に使っています。
soft.udonge.net
出来のいい端末です。大きくてもよいのなら、今ならこのデバイスを他人に勧めるつもりです。
ぼくがまだ Windows 10 Mobile を使い続けている理由
この記事は、Windows 10 Mobile Advent Calendar 2017 の 1 日目の記事です
adventar.org
今年は残念ながら、Windows 10 Mobile の悪いニュースが明らかになるなどもあり、ネガティブ思考になりがちで、ポジティブなことも書きづらい形での Advent Calendar となりました。
とはいえ直ちに使えなくなるわけでもないので、使えなくなるまでは使い続けようと思っています。
Windows 10 Mobile を使い続けている理由
Windows PC と Mobile の組み合わせは、Microsoft が Android / 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 の二台持ちで運用しています。あまり頭でプラットフォームが違うことを意識せず使えているので、かなりストレスフリーな感じはあります。
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 の系譜がここで途絶えてしまうことに。
iPhone や Android が出た当初、それまで Microsoft の独壇場だった PDA 市場にあぐらをかいていたあの頃から、もう運命は決まっていたのかもしれません…。
あれよあれよと追い抜かれていき、iPhone は日本では圧倒的なシェアを誇り、Android は出た当初と大きく変わってかなり快適な操作性を得るまでに至りました。
僕個人としては、もうちょっと Windows 10 Mobile と遊んでいたい気持ち。
Windows on ARM の状況も気になりますしね。「電話としての Windows」が復活するのか、それとも…。
2017/10/10 追記
割と反響ありすぎて心が痛いんですが…。
電話としての Windows は今後新機能開発に注力しないというだけで、今すぐ終わるわけでもないということは付け加えておきます。
今後も僕は Windows 向けアプリ開発は続けていきますし、UWP から手を放すつもりはないです。なんだかんだで作りやすいプラットフォームですからね。
あやふやだった方向性が、Joe 氏によって明確化されたことで、今後のアプリ開発をどうしていくかは割とわかってきた気がしてます。
同日追記・修正
つらいのでまだ書きます。
Joe 氏がこのタイミングでアナウンスした真意はわかりません。Windows on ARM あるいは Windows Core OS が今後控えているから、Win32 系アプリを実行できない Mobile はフェードアウトさせたいのか、そもそも電話としての Windows からガツっと撤退するなのか、今後の状況を見ないことにはわかりかねる話かと思います。
今更ですが誤訳に気づいたので修正しておきます。"As an individual end-user," の前置きを無視してたので思いっきり違う意味にとらえていました。お詫びして修正します。
(2/2) As an individual end-user, I switched platforms for the app/hw diversity. We will support those users too! Choose what's best 4 u. https://t.co/LKQBL3w7gA
— Joe Belfiore (@joebelfiore) 2017年10月8日