2017年4月17日月曜日

Windows 10 Mobile について


基本的に、MSさんが自分で技術やプラットフォームの終了を宣言する事は少ないです。Silverlight も VB6 も一応まだ生きてはいます。HTML + JSもまだUWP App の一部ではあります。Lightswitch 、覚えておられるでしょうか。

では上に挙げたような技術に資源が投入され、活発に開発が続けられているかというと、もちろんそんな事は無いのは私もあなたも良く知っている所です。Silverlight はもうEdgeではサポートされていませんし、WinJS の改良も望めません。HTML+JS App、Build 2011の頃は今後 StoreAppのPrimary Language になるくらいの勢いがありましたが、Build 2016では遂に一つのセッションもありませんでした。

個人的な見解ですが、こういう場合、エンジニアは自分で見切りをつける必要があるように思われます。

Windows 10 Mobile も、残念ながらこのコースに入っているなというのが私の感想です。2015年一杯はまだ活動が続いていたように見えました(覚えておられるでしょうか?Lumia 950/XLが出たのは2015年10月、Win10M RTMとして更新が始まったのは12月です)。しかし、2016年以降の現状は…


  • 2016年2月 のLumia 650 が最後のHardware投入となりました。Lumia 750・850 はキャンセルされました。
  • 2016年4月 のBuild 2016 ではWin10M のセッションはほぼ有りませんでした。
  • 2016年以降、いくつかの開発系の新技術が紹介されましたがWin10M は未対応・後日対応となる場合がほとんどでした(Mobile Center 等)
  • 2016年以降、Office等のMS製アプリがiOS・Androidにリリースされましたが、Win10Mにはされていません。
  • Win10 は2016年夏のAU・2017年春のCU と2回大きな更新がありましたが、Win10Mについて目立った新規機能の追加はありませんでした(Coreの更新に伴う変更はありましたが)
  • 2016年7月 Edgeの機能拡張サポートからMobile が外れている事がわかりました。
  • 2016年9月 のIgnite では Continuum for Phone の機能拡張(Multi Window Support)が紹介されましたが、CU に載ることはありませんでした。
  • 2017年2月 のCreators Update Developers Day でWin10M についての言及はありませんでした。


新規投資・開発はほぼ止まっているように見えます。

例えば今後(Surface Phoneのような)新機種が出る、RS3 に向けて新機能が載る、という話は…もう無いのだろうなというのが以上を踏まえての私の感想です。
ただ最初に書いたように、即停止する事は無く、RS3 に向けた更新は続くのだろうとも思います(Build Numberからすると、Coreから外してBranch切ったようにも見えますが…)。Elite x3のような機種もある以上、せめてContinuum for Phone の拡張くらいはやってほしいなとは思いますが。People は…どうでしょうか。


🍙🍙🍙


MSさん側で止めていても、こちらがApp を作り続けるのは勝手ではあります。例えば、別に今Sliverlight で何か書いても咎められることは無いわけです。使ってくれる人の数を脇に置けば。
脇に置けない場合、作り続けるのが困難であるのもまた自明であろうと思われます。
…個人的には2016年半ばくらいまではまだ作る気あったのですが…上に挙げたような外的な状況、加えてWin10M 自体の機能、実装等、またリリース済みアプリの使用状況・ユーザー数も含めて考えると、なかなか難しいかな…というのが現在の所です。





2017年3月19日日曜日

自分のUWP App の広告を AdDuplex に出してみた話

UWP App で使える広告プロバイダ「AdDuplex」 をご存知でしょうか。
普通の広告プロバイダは
  • 「広告を出したい企業等から使用料を貰い、広告を表示する 表示したアプリはその一部を頂く」
形式ですが、こちらは
  • 「AdDuplex を使っているアプリ『の』広告をお互いのアプリに表示する」
というサービスです。基本無料ですが、お金を払って広告の表示枠を買うこともできます。

※ AdDuplex については以前このBlogでも記事にしていますのでご参照下さい。
AdDuplex とは何か
http://ddlgjp.blogspot.jp/2013/09/adduplex.html

今回、AdDuplex で100USD分の広告表示権を頂いたので、画像掲示板ブラウザ F10 の広告に使ってみた!という記事です。

※ 以前 Microsoft が運営していた技術学習支援サイト TechRewards で頂いたものです。
TechRewards で糊口を凌ぐ
http://ddlgjp.blogspot.jp/2016/01/techrewards.html


広告の作成


AdDuplex Dashboard でアカウントを作ります。アカウント作成にはお金はかかりません。

AdDuplex
https://www.adduplex.com/

AdDuplex 管理画面に入ったら、画面上部の「Buy Ads」から広告作成画面に移ります。
以下の項目を入力し、広告を作成します。

  • ストア上のURL
  • 広告画像 または文字列
  • 広告を表示する国と地域
  • 広告を表示するアプリカテゴリ

今回の広告では、以下のような自作のバナー画像を使っています。
文字列の場合、4種類の文字列が順に表示されます。また、言語別に設定することも可能です(画像の場合は言語に関わらず一種類のみ)。

F10 の広告バナー
768x128

広告表示に使うお金も設定する必要があります。
広告表示期間と、1日に使うお金を設定します。料金はクレジットカード払いか、今回使っているようなクーポンを使うことができます。


いざ広告表示…その結果


必要な項目を全て入力し作成を完了すると、広告の審査フェーズに入ります。おかしなものを表示していないかどうか確認しているようです。
2,3日経つと審査が終わり、広告の表示が始まります。

以下は、「1日10USD設定で三日間広告を出した」場合のAdDuplex 側の統計です。


AdDuplex 上の統計

ざっくり平均を出すと、
1日10USDで70,000Impression, 200Click
くらいでしょうか。
ただこの「Click」が曲者というか…意味が分からないです。詳しくは以下に。

次に、これを受けた Microsoft Dashboard 側の統計を見てみます。
今回のような広告キャンペーンを張った場合、DashboardではAnalysis→Channels & Conversions から、
  • 各広告から発生したストアのPV数
  • アプリのダウンロード数(「Conversions」)
を確認できます。

なお、以下Dashboard 側のデータは二日間分のみ表示されています(集計に時間がかかる)。





…アルェー AdDuplex 側の「Click」とはずいぶん違いますね。平均7PV / day 。
そして、ここからどれくらいアプリDLまで到達したかというと…






二日間で4件!と。つまり、結果的には10USDでDL数を2件買った計算になります。

2017年3月19日現在、10USD = 1127円です。1000円ちょいでDL2件…割に合わん!というのが正直な感想になります。赤字だよぅ…

勿論、この結果は「このアプリ(F10)」の広告での話なので、同じPVでもアプリや広告が魅力的ならばDLごんごん増える場合もあるでしょう。
あくまでも「このアプリの場合の」目安と受け取っていただければと思います。

それにしても…こういう広告、しかも広告を出す側となると全く素人なので、うまくいってるのか行ってないのか判断がつきかねます。



※広告データの開示ですが、実はMicrosoft Ad の場合は公開しちゃダメよという規則があるのであまり具体的な話はできません。
AdDuplex は、Terms of service に特に記述がないのでこのような記事にしています。
https://www.adduplex.com/terms-of-service
怒られたら勿論引っ込めます :)


2017年2月27日月曜日

F10 Recent updates / F10 最近の変更 - NSFW Switch, Pull to refresh

F10 image bbs browser, 最近の変更 サマリーです。
現時点での最新版は 2月27日リリースの ver 1.3.360 になります。
追記: 3月6日リリース ver 1.3.364 (ふたばもNSFWスイッチサポート)の記述を追加しました。

F10 image bbs browser


画像表示ウィンドウ・モバイル表示 でのボタン配置変更

(Ver 1.3.364)
フィードバックで要望のあった、画像表示ウィンドウ・モバイル表示でのボタン配置を変更しました。



新しい配置
保存ボタンが一番右に来ます。


画像表示ウィンドウのクローズに失敗していた件修正

(Ver 1.3.364)
1.3.360 で仕込んでしまったバグなのですが、画像表示ウィンドウを閉じる際、内部でリソースを開放していないままになる問題がありました。
  • 画像ウィンドウ側のスレ更新が効かない
  • 長時間放置しているとF10が反応しない
等の症状がありました。Ver 364で修正しました。




引っ張って更新 / Pull to refresh




(Ver1.3.360)
  • スレ画面 … スレ下端で上に引っ張るとスレ更新
  • カタログ画面 … カタログ上端で下に引っ張るとカタログ更新

です。

Pull To Refresh についてはこちらの実装を使っています。

PullToRefreshXaml
https://github.com/JustinXinLiu/PullToRefreshUWP_WindowsComposition


NSFW スイッチ

(Ver1.3.360, 364)
4chan・ふたば の板追加UIを以下のように変更しました。


NSFW オンの場合
ここでは例えば"Random"がNSFWに当たります

初期状態では、SFW…Suitable for work なタイプの板が選択可能です。
右上の「NSFW表示」トグルスイッチをオンにすると、確認画面の後でNSFW...Not suitable for work  なタイプの板も含めて全て選択可能になります。

* SFW / NSFW - (Not) Suitable for Work, 仕事中に見ても大丈夫・大丈夫じゃない板
4chan では各板にSFW/NSFWのフラグが設定されており、それを参照しています。
ふたばについては、独断で決めています。

    これまでは板名を手動入力(SFWは入力補完あり、NSFWは補完無し)だったものです。

    前身のfuta8 の頃は、4chanは既定の板を登録していると(Food & Cooking 等比較的大人しい所でも)審査に通らなかったのですが、最近は同種のブラウザアプリでこのような既定で登録済みスタイルでストアに載っている物が増えてきていたため、後追いした形です。理由は想像しか出来ないのですが、IARC の導入でレーティングが明確になったからかもしれません。

    なお、ふたばの板追加については変更ありません。これまで通り、
    • 既定はねこと甘味のみ表示
    • それ以外は板名を手入力(補完あり)
    • 全板表示したい場合は"All"と入れる
    です。



    2017年2月17日金曜日

    F10 is removed from the store.(Update: Recovered!!) / F10 はストアから削除されています。(回復しました)

    現在、F10 はストアから削除されています。
    理由はコンテンツポリシー11.7(アダルトコンテンツ)に関連しているようですが、まだ理由の詳細はわかりません。
    このような状況のため、アプリを再公開できる日時はわかりません。
    注 - 現在のところ、アプリケーションの使用は継続できますが、再インストールは利用できません。


    更新 2月22日:17日、削除された理由について問い合わせるメールを出していたのですが、今日 Microsoft から連絡が来ました。「間違って削除していた 24時間以内にストアに再表示される」 …💢。今のところまだ表示はされていないようです。
    更新情報がある場合は、お知らせします。

    更新 2月23日: F10 image bbs browser は ストアからダウンロードできるようになりました。
    https://www.microsoft.com/store/apps/9nblggh1ntrd


    Currently F10 is removed from the store.
    It seems that the reason is related to the content policy 11.7(Adult content), but I can't know the detail of reason yet.
    Because of this situation, I can't tell you the date when the app can be republished.
    Note - Currently you can continue to use the App, but re-installation is not available.

    Update Feb 22: In Feb 17, I've sent a mail to Microsoft that query the reason of removal. Today I got a response: "It looks like the app may have been failed in error." In error? huh? ... anyway, "The app should reappear within 24 hours.".  But I can't find it yet.
    If I have the update info, I'll let you know.

    Update Feb 23: F10 image bbs browser is back to the Windows Store. You can download and install it.
    https://www.microsoft.com/store/apps/9nblggh1ntrd


    2017年2月13日月曜日

    Windows Developers Day–Creators Update メモ

    2017年2月9日に行われたオンライン開発者イベント Windows Developers Day - Creators Update を見て気の付いたところ、気になった所のメモです。
    基本自分用備忘録なので…読み物の体裁にはあまりなっていません(特に後半のセッション視聴メモ)。

    Telerik UI for UWP


    UWP App Devとしては今回一番大きいニュースでした。Fiddler 等でお馴染みの .NET 系 開発ツールベンダ Telerik が、自身のUWP 用 UI Component製品をOpen source化 & 無料化しました。

    Telerikの発表
    http://www.telerik.com/blogs/telerik-ui-for-uwp-now-open-source
    GitHub
    https://github.com/telerik/UI-For-UWP
    NuGet
    https://www.nuget.org/packages/Telerik.UI.for.UniversalWindowsPlatform/

    22個のComponent の中では、特にGrid  とChart  が嬉しい人は多いのではないでしょうか。業務系のものを作るには必須ですが、UWP App では中々苦労する部分でした。

    他には…WP7?テイストのTime Pickerのような今更使い道あるの?な物まで色々詰まっています。
    加えて、

    等、XAML UI Control が急に賑やかになった感じです。


    Doc形式更新


    UWP App 系の文書が、doc.microsoft.com 形式に変更になりました。多少見やすくなります。また突っ込み用フォーム等も追加になっています。
    こちらのWindows 10 更新一覧もこの形式になりました。

    https://docs.microsoft.com/en-us/windows/uwp/whats-new/windows-10-creators-preview

    ちなみに Windows 10 の場合、TH1/2, RS1 とこれまでの更新でのAPI的な…開発者が知るべき変更は全部ここのページでまとめられるスタイルになっています。超便利。

    Creators Update = RS2 については、現状まだ全部ここに載っていません。例えば、15031から乗っているCompact Overlay等が未記述です。Creators Update のリリースタイミングあたりで更新されるのではないかなと予想します。


    Windows bug and feature backlog 公開


    個人的にはビックリ度一番大きかったのがこれです。このBlogでは別記事に書きました。

    今後追加されそうなXAML UI Control をFeature List から探す
    http://ddlgjp.blogspot.jp/2017/02/xaml-ui-control-feature-list.html


    Project Rome supports Android (Preview)


    Win10 AUから入っているProject Rome …デバイスを跨いだアプリ間通信の仕組みがAndroid→Windows で使えるようになります。Previewです。 

    Romeではざっくり二つの機能…
    1. Remote App Launch  名前を指定してリモートデバイスのアプリを起動する
    2. Remote App Service  リモートのApp Serviceをコールしてデータの送受信を行う
    があるのですが、Android SDKは現状1)のみです。2)は今後追加。
    また、AndroidはClientのみで、接続を受け付けるHost側にはなれないようです。

    このRome、地味だけど個人的には一番夢があると思っています。Win10 環境さえあれば何処でも動くUWP Appですが、唯一…Mobile Platformについて困難を抱えているのはご存知の通りです。PC、Xbox、HoloLens等で動くUWP Appと、Android / iOSなMobile の世界を繋ぐ唯一の橋、のような所がRomeにはあります。

    例えば ふたばブラウザで考えてみると… 外出中に使っているAndroid上のブラウザから、Win10 PC 上のブラウザのApp Service に今読んでいるスレの情報を送り、帰宅後PCで同じスレを読み続ける…という動作をさせることが可能になります(これは今F10がRome を使って出来ていることですが、Andoridでも出来るようになる)。


    UI.Composition


    現在売り出し中の、UI効果の新しい仕組み
    XAMLのFrameworkとDWM Layerの間で色々やる
    ここで作ってOSに投げたAnimationは以降OS持ちで動くので、App側(UIThread側)のCPU時間を全く使わないのが特徴 ぬるぬる動く

    この辺り、中の人Blog がMSDN Docでは言い切れない気持ち的な所を色々書いてるのでおすすめです。
    http://blog.robmikh.com/


    UWP Games on Xbox One 


    • Game mode - 各種報道でもう御馴染みのやつ
    • UWP on Xbox - 例のUWPゲーム話
    後者、詳細はGDCでないと分からないようです。この件、「XboxでUWP Gameが遊べるようになる!」という報道もあるようで、大筋そうだとは思うんですが…懸案の、ID@Xbox についてはまだよくわからんというのが正確な所ではないかと思います。Windows Centralのこの記事が現状を良く説明できているように思われます。

    Microsoft is NOT opening Xbox One to all UWP games ... but should it?
    http://www.windowscentral.com/microsoft-isnt-opening-xbox-one-to-all-uwp-games

    (この記事が載った数日後に、記事中で触れられているSteam Greenlightの終了が発表されています。)


    🍙🍙🍙


    ここから、Developers Day でのセッションの視聴メモです。
    見たのをそのままメモ書きにしているのでかなり雑です。また、個人的な感想は(カッコ)に括っています。


    Build Beautiful, Engaging UX


    Harneet Sidhana
    https://channel9.msdn.com/Events/Windows/Windows-Developer-Day-Creators-Update/Building-personal-and-productive-apps-with-Composition-and-XAML-updates

    XAML  Layer

    Creators Update (CU) でのXAML系変更
    • SVG support - Image controlのSource として直で.svgを指定できる アイコン等に使える
    • Keytips/mnemonics
    • Strikethrough - 取り消し線
    • MenuにIcon追加  MenuItem でアイコン指定が可能になる 実は今までなかった
    • Connected Animation
    Anniversary Update (AU) でUI.Composition ベースで追加になったやつ ページ遷移の間で、ビデオ窓のようなUI Controlを等をリサイズしつつぐにょっと繋げて表示するやつ(伝わる?)
    1. ConnectedAnimationService.GetForCurrentView()で取得AnimationServiceを取得し、
    2. アニメ対象のアイテムDurationを設定する このページはここまで
    3. んで遷移
    4. 飛び先のPageのOnNavigatedTo でまたConnectedAnimationService.GetForCurrentView().GetAnimationでさっきの奴を持ってきて、TryStart(CanvasControl)
    • Effects/Lighting XAML
    このあたりはAUではVisualLayer用のコードを自分で書かないといけなかったやつ CUではXAML上で書けば済む VisualLayerを使うBrushをLocalで定義してxamlで使う等
    • Image Loading service for use with Visual layer
    GridViewのItemContainerStyleの中で、ContentPresenterのVisualStateManagerの中でCommonStates・PointerOver、でSetterでLocalのSpotlightのPropertyを操作してる キモ面白い
    • Implicit Show/Hide Animation - F10のAU時代のUI.Compositionではいちいち書いてたやつ

    Visual Layer


    (感想・CUではだいぶXAMLで触れるようなので、こちらに降りなくても済む場合が増えるかもしれない)

    Input & Interactions

    • Pen, Dial(感想・InkもDialもSurface以外は正直関係無いのであんまり興味が無い…)
      InkToolBar enhancements
      Dial - integrated with inkToolbar
      色々良くなるらしいですな
    • Making easy the default
    • ScrollbarのAutohide, smooth windows resize
    • Semantic animations
    (感想・うーn 低調? Visual Layerは楽しいし便利なんだけど 言っちゃ悪いが所詮エフェクトでもあるので これでアプリのUsabilityを大きく改善できるとかそういう類のでは無いからね… 噂のNeon話も特に無かった 背景画像のみ … この辺り大きい話はbuild2017でしょうね )
    (小さい声でConcernをもう一つ言うと、Visual Layerは完全にUWP…Win10だけの世界の話であり、
    Xamarin等Cross Platformな要素は全く無いのがつらい所 )
    拙作F10ではGridViewのアイテムぐりぐり回すのに使っています

    Improving user engagement with Windows and Cortana Skills

    Thomas Fennel
    https://channel9.msdn.com/Events/Windows/Windows-Developer-Day-Creators-Update/Improving-user-engagement-with-Windows-and-Cortana-Skills

    Desktop bridge


    Support - Font Install, COM server registering, MAPI
    (感想:トランプじゃないけど、DACの話だけ90年代・00年代に戻ったみたいな空気があるんだよな…COMだのMAPIだの)

    AppX


    さらに強まるAppX
    • Streaming Install - 全部DLする前に、始められるところでゲーム開始しちゃう 残りは裏でDL
      (このあたりはAUでも話があった 今のAppXは凄くて、ファイルはChunkに分けて更新分だけ転送する なので、ファイル更新するときは末尾だけにすると転送量が減るぜ!!という冗談みたいなアドバイスがある)
    March 21 2017 追記:この辺りを説明するBlog記事が始まりました。

    UWP Streaming App Installation


    • Streaming Installのデモ
      AppXのManifestの中でAdditionalなものを指定する ContentGroupMap/Automatic/ContentGroup
      そうするとAppXInstall途中に本当にAppが起動する これは笑う 凄い 8分あたり
      (しかし最近の巨大ゲームではこれ普通に必要なんだろうね Steamとかもうやってるのかな?)
    • 差分Installデモ

     

    Action Center

    • Pin the primary tile
    • Toast with progress bar
    • Grouping
    • Custom timestamp
    このあたり、MSのTiles and Toasts Blogで既に詳しく説明されているので省略
    このBlogが一番情報早いです(というかMSDN Docだけ見てるとよくわからない)
    https://blogs.msdn.microsoft.com/tiles_and_toasts/

    Project Rome

    (Romeは別に書きます)

    Apps for Websites (AFW)


    所謂AppUriHandler話
    サイトへのリンクをアプリの起動でOverrideするやつ
    サイトのルートにJson置くのは相変わらず
    CUではEdgeでリンク踏むと効くようになった(AUでは効かなかった ただこれ、EdgeがMS製品だから出来るので…ChromeやFirefoxでは無理な話)
    デモ
    AFWを使うページ 18分頃 笑い
    http://winformtowers.azurewebsites.net/

    Cortana Skills Kit



    Windows Store


    https://channel9.msdn.com/Events/Windows/Windows-Developer-Day-Creators-Update/Using-the-Windows-Store-to-enhance-your-app

    (感想・2016年のBuild以降、Dashboardの進化は目を見張るものがある )

    現状説明は略 自分は毎日使ってるので今更
    おーーー Store ListingをExcelにExportしてくれる機能 これはいい
    Excelで作ってImportも出来る
    細かいPricing あのApp持ってる人には特別にこのお値段で!みたいな
    この辺りもBuild2016で言ってた話


    この記事では省略

    • Desktop Bridge – Win32 から UWP API を呼ぶためのNuGet Packageの整備が進んでいます。またDAC そのものにも更新があり… MAPI サポート Out-processなCOMサーバの登録サポート等が追加になるようです。
    • Hololens - 私には高価すぎます どこかに30万落ちてませんかね
    • Cortana Skills Kit  略

    Compact Overlay - a.k.a. "PinP"

    Developers Day では落ちていたけどCreators Updateに乗る大事な機能
    ApplicationViewModeにそういうモード作ってやったから、あとは各自Multi View作って頑張りなさいというストロングスタイル
    Mobileには現状乗ってないそうです :(
    https://blogs.msdn.microsoft.com/universal-windows-app-model/2017/02/11/compactoverlay-mode-aka-picture-in-picture/
    https://github.com/clarkezone/UWPCompositionDemos/tree/master/MediaPlaybackViews


    総評


    Buildと違って Session最後にエグい質疑応答が無いのは寂しいですね。
    機能の担当者が直で、自分の反応速度で答えるあの時間は一番大事なのかもしれません。


    F10 - XboxOne: crashing on startup (Feb 15 : Fixed!!)

    2月9日頃より、F10 をXbox One 上で起動できない現象が発生しているようです。
    多くのUWP App がXbox One上で似た問題に直面しており、Microsoft 広告サービスが原因であるようです。
    現在、回避策を検討中です。更新情報がありましたらここでお伝えします。

    2月15日追記: Microsoft 広告サービスを取り外した バージョン 1.3.354 を審査に出しました。上手く行けば数日でダウンロード可能になります。
    2月15日追記2: バージョン 1.3.354 がストアに載りました。ストアから更新・ダウンロードが可能です。また、自動的に更新されます。

    It seems that there are some issues occurred from 9 Feb 2017. This issue prevent the app startup of F10.
    Many of UWP apps on Xbox One faces the similar issue. Maybe this is caused by Microsoft Advertisement services.

    I'm now considering the workaround. I'll let you know here if update available.

    Added Feb 15 2017: I've upload the modified version 1.3.354 to the Store. Microsoft Ads are disabled temporary on this version. It'll be available within a few days.
    Added Feb 15 2017 (2): Version 1.3.354 available on the Store. You can download and install by "Update" from the store. or, it will be updated automatically.


    [UWP][Xbox]UWP App on Xbox crashing on startup in retail mode only
    https://social.msdn.microsoft.com/Forums/windowsapps/en-US/d812d5a3-33f2-41d0-88f0-4b39982a241f/uwpxboxuwp-app-on-xbox-crashing-on-startup-in-retail-mode-only




    2017年2月11日土曜日

    ダッシュボードからUWP App のユーザーに通知を送る

    Microsoft のUWP App 開発者Webサイト「ダッシュボード」 からUWP App のユーザーに、トーストやタイルによる通知を送信するサービスがあります。
    2016年中頃から始まっているもので、種々のお知らせやプロモーション等に使うことができます。


    最近 F10 ユーザー様宛に送信した通知トースト(日本語)
    このトーストをクリックするとストアの当該アプリページ、の
    アプリ評価ウィンドウが直で開きます。


    開始当初は単純な文字トースト通知のみでしたが、現在はWindows の通知プラットフォームで扱えるものならタイル、トースト上の画像、音、ボタン等を使ったインタラクティブ トースト等大体行ける強まったサービスに成長しました。MS氏がんばった。

    仕組み自体は、以前からある Windows Notification Service (WNS) を使ったものです。 AzureのMobileなんたらサービス等を使ったことがあればすっと判る感じです。

    最近このサービスを使う機会がありました。
    使用方法は…以下で丁寧に説明されているので、その通りに上から下まで流せば大体大丈夫です。

    アプリの顧客にターゲット プッシュ通知を送信する
    https://msdn.microsoft.com/en-us/windows/uwp/publish/send-push-notifications-to-your-apps-customers

    ただ幾つか気の付いた所もあったので、記録に残しておこうという趣旨の記事です。

    UWP App 側の準備


    通知を行う場合、その対象となるUWP App にStore Services SDK を追加し、API RegisterNotificationChannelAsync を「起動の度に」Callする (これでWNSに登録される)必要があります。
    このCall、割と時間がかかる(数秒レベル)ので、雑に初期化で呼ぶと起動がもったり遅くなる原因となる場合があります。特にUI Threadでやる必要は無いタスクでもあり、どこで呼んでも良いので適宜逃がしましょう。


    送信対象の設定


    本番の通知では、クエリで定義されるセグメントを作成します。
    ですがテスト・実験用には、「フライトグループ」に対して通知を送信することも可能です。

    基本的に大人数グループのセグメントと異なり、フライトグループはマイクロソフト アカウントのメールアドレスベースで作られる小規模なグループです。自分一人だけのグループもアリです。フライト グループの作成は以下を参照してください。

    パッケージ フライト
    https://docs.microsoft.com/ja-jp/windows/uwp/publish/package-flights

    なお、セグメントと異なり、フライトグループはアプリに紐づいていません。メールアドレスが一致していて、UWP AppによりWNS への登録が行われていれば通知は届きます。


    送信するコンテンツの作成


    ダッシュボード上のトースト・タイル作成フォームに逐次入力して作成します。

    ここで一つ気を付ける事がありまして…これおそらくバグなのですが(2017年2月現在)、
    トーストの内容を複数言語で送信する場合、
    作成フォームの一番下にある「Convert this notification to XML」、これをクリックしてXMLに変換してしまうと、既定の言語「以外」の翻訳したコンテンツが送信されなくなります。
    翻訳を使いたい場合、ここはクリックせずに作成フォームのみで作成する必要があります。

    2017/3/14追記: この件、ダッシュボードのFeedbackから問題報告していたのですが、今日になって「バグとしてトラックします」旨の通知がありました。その内直るかもしれません。





    「この通知をXMLに変換」

    送信!


    準備が諸々終わればいよいよ送信です。
    送信では、時間を指定できます。対象となるユーザーさんが日本国内だけに居るとも限りませんので、ユーザーのローカルタイムに合わせて送信する機能を使うと便利です。


    Use customer's local time zone instead of UTC をチェック


    送信したトーストは、受信状況を統計ページで確認することができます。
    参考になるかは分かりませんが、私が最近送信したもの(アプリ評価してねトースト)では…

    • トーストが届いたユーザーの内、トーストをクリックしてアプリを評価してくれたのは 4%
    でした。
    実際の所、突然届いた不躾な通知に答えてくれた方々には感謝しかないです。有難うございました。


    🍙🍙🍙


    通知の仕組みはこのように便利に使えるようになったのですが、では「頻繁に」使えるかというと…なかなか難しいかなという気もしています。
    このあたり同意してもらえるかあまり自信が無いのですが…ユーザーのデスクトップに問答無用で通知を「送り付ける」、つまりユーザーの操作、意図とは全く無関係に画面の一部を占有し何かを表示する、というのは、中々に無遠慮な行為な気がするわけです。
    トースト送っておいて何言ってんのという話ですが。

    また、今回はF10 を使っていただいてるユーザーさんに通知が届いたわけですが、仮に…インストールしている全てのUWP App がそれぞれに「評価してね☆」通知を送ってきたらどうでしょう?かなり鬱陶しい事になるのは容易に想像がつきます。

    こう考えると、手段は整備されたものの…上手に、ユーザーに通知をオフられない程度に使うには色々考える事が多いのでは、というのが使ってみての感想です。





    2017年2月10日金曜日

    今後追加されそうなXAML UI Control をFeature List から探す

    29日のMS主催オンライン開発者イベント Windows Developers Day - Creators Update にてWindows Platform features」のサービスインが発表されました。

    Windows Platform features

    https://developer.microsoft.com/en-us/windows/platform/features/






    所謂Backlog Items Windows の機能の内、現在開発中・開発検討中・完了…等のステータスを表示する、というものです。
    大雑把な機能ベースのリストはこれまでもありましたが(*1)、こういった開発アイテムベースのリスト公開はこれまでに無かった事と思われます。

    ほうほうこういうのを今作ってるのか…と大変興味深いのですが、見ていて一つ気が付いたのは、
    状態が "In Development", 説明文 "High quality implementation of this common interaction pattern." となっているXAML UI Control の一群があることです。




    気になる一群
    ちなみに、色のついてないものは全てDevelopers Daysその他で紹介済みのアイテムです

    抜き出すと…

    • Color Picker Control
    • Navigation View (hamburger)
    • Pull to Refresh Control
    • Ratings Control
    • Swipe Control
    • Tree View Control

    これらのコントロールが現在開発中であると。おおーーー。素晴らしい。
    Pull to refresh Hamburger Tree View等は特に皆欲しい所ではないでしょうか。僕も欲しいです。
    一部はMSがGitHubに置いているUWP App Sample codeや、有志のUWP Community Toolkit で実現されているものもあるのですが、痒い所に手が届かない感じでした。
    特にPull to refresh … OS側の対応が無い+でも皆欲しい、ので色々な実装が出ているのですが、これ!!という決定打は…まだかなぁ、という所がありました。

    ですがこれらのコントロール、
    • 2月9日の Developer Day では全く言及が無かったこと
    • Feature Freeze が発表されたこと(もうCreators Update には新機能追加しないよ宣言)
    • これまで配布されてきたCreators Update Insider Preview ではAPIにその気配が無い(*2)こと 特に、15025 → 15031では全く変化が無かったこと

    これらの状況を鑑みるに、OSに載るのはCreators Update では無く次のRS3以降かなぁと個人的には予想しています。
    楽しみです。


    🍙🍙🍙


    *1) 「Windows Roadmap for business」という物で、こちらはもっと括りの大きい機能ベースで開発中・検討中等が判るようになっています(ここに載っていたMobile EdgeのExtensionサポートが去年そっと消えて少し話題になりましたね)。

    Windows 10 Roadmap for business
    https://www.microsoft.com/en-us/WindowsForBusiness/windows-roadmap

    *2) Insider Preview で新しいビルドが出るたびにAPIの差分を比較してMethodやEventの追加見て喜ぶおじさん達がいます :)


    2017年1月31日火曜日

    F10 WebM再生・リモート同期機能の追加

    画像掲示板ブラウザ F10 に、WebM 再生機能と、履歴のリモート同期機能を追加しました。
    Windows Store からダウンロードして頂けます。

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

    これら機能は、ここ一週間の間テストグループ向けにリリースしてテストをしていたものです。ご協力有難うございます。


    WebM 再生


    ふたば・4chan に貼られている WebM の再生が可能になります。再生は画像表示ウィンドウ上で行います。


    右のスレ表示画面でサムネイルをクリックすると
    左の画像ウィンドウが開き、動画が再生されます。

    リピート・連続再生


    動画はリピート・またはスレッド中の動画を連続して再生できます。切り替えは、画像ウィンドウ右上のボタンで行います。


    右上の再生モードで「連続再生」を選択し、再生


    フルスクリーン再生


    動画領域の右下の矢印アイコンをクリックします。
    連続再生はフルスクリーン状態でも可能です。
    また、フルスクリーン再生時はシステムの画面・スリープタイマー等がオフになります。これはPC・Mobile 共通です。
    Mobile で動画を再生しっぱなしにしたい場合は連続再生・フルスクリーンが便利です。
    ただし、この場合バッテリも通信量も使い尽くす可能性があるのでご注意下さい。AC+WiFi推奨です。


    矢印アイコンでフルスクリーン再生になります。


    履歴のリモート同期機能


    F10 のスレ既読履歴を、デバイス間で同期することができます。
    例えば…出先でWindows 10 Mobile で読んでいたスレを、家のPCと同期することでそのまま読み続けることが可能になります。


    スレッドカタログ上部に表示される既読スレが同期されます。

    同期機能を使うには、設定 → Remote をクリックします。


    設定 → Remote



    履歴のリモート同期ダイアログ
    デバイスをタップすると同期がすぐに始まります。

    …が、残念な事に…この同期機能はまだかなり不安定で、しばしば同期に失敗します。
    この機能、Windows 10 Anniversary Updateから入っている所謂"Project Rome"を使っているのですが、出たばかりという事もあり…この先有望といった所です。





    F10 WebM, Remote History Sync support

    We added WebM and Remote History Sync support to our F10 Image bbs browser.
    You can download it from Windows Store.

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

    We had a test period with our contributors. Thank you for your cooperation.


    Playing WebM


    You can play the 4chan, futaba WebM movie. To start the movie, tap the thumbnail on the thread view window. Image View will open and start playing.


    Image View and Thread View

    Repeat and Continuous Playing



    Support 'Repeat' and 'Continuous' playing. You can play the all clips that contain in the thread.
    To switch it, click the button on right-top of the window.


    Select 'Continuous Play'

    Full screen


    To switch to full screen mode, click the arrow icon on the movie area.
    Continuous mode available also full screen mode.
    And, during full screen mode, screen dim timer and system sleep timer are turned off. This is common for PC and Mobile. It's useful for viewing movies with mobile phone. But, this mode will drain the battery and packets...be careful to use it! AC power + WiFi recommended.






    Remote History Sync


    You can sync the read history of threads with remote devices that use your Microsoft Accounts.


    History Sync

    To use the remote sync feature, click Settings > Remote.


    Settings > Remote


    Remote Sync Dialog
    To start sync, tap the device.

    But...unfortunately... this feature is unstable yet. You may experience the sync error, api error, etc.
    This feature use the 'Project Rome' - new function from Windows 10 Anniversary Update.






    2017年1月28日土曜日

    F10 フライトパッケージ: WebM サポートの追加 (ふたば、4chan)

    2017/01/31 追記: これらの機能は1.3.340 としてリリースされました。
    http://ddlgjp.blogspot.jp/2017/01/f10-webm.html

    F10 image bbs browser で 機能追加を行っています。
    現在、ある程度動く版を F10 テストグループ向けに配布中です。

    お試し頂ける場合、 tickets アットマーク ddlg.uservoice.com まで、お使いのマイクロソフト アカウントのメールアドレスをお伝えください。 グループに登録します。

    グループに登録されている場合、以下の機能を持つバージョン 1.3.334 がダウンロードされます。

    ストアへのリンク(テストグループに入っていない場合は一般向けバージョンがダウンロードされます)
    https://www.microsoft.com/store/apps/9nblggh1ntrd

    問題の報告・提案等ありましたら、フィードバック Hub からお伝えください。F10 の設定 → About ページからフィードバック内のカテゴリ「F10」を直接開くことが出来ます。


    WebM サポート


    ふたば・4chan のWebM 動画をアプリ上で再生できます。再生にはFFmpegInterop ライブラリを使用しています。

    https://github.com/Microsoft/FFmpegInterop

    PC・Mobileでの動作は確認済みです。XboxOne / Hololens は動くはず・・ですが未確認です。


    PCでの再生



    Win10 Mobile

    既知の問題


    Win10 Mobile: 再生開始時、エラーである・このフォーマットをサポートしていない旨の警告が表示される事があります。数秒待つと大抵は再生できます。


    スレ履歴の同期


    デバイスを指定した履歴の同期が可能になります。
    カタログペインの設定⚙️→リモート で以下の画面が開きます。
    デバイスをタップすると、履歴を同期します。




    この機能は、Windows 10の機能、所謂 Project Rome と呼ばれる技術を使用しています。

    Cross-device experiences with Project Rome
    https://blogs.windows.com/buildingapps/2016/10/11/cross-device-experience-with-project-rome/


    既知の問題

    正直な所、Rome はまだ不安定な所があり、接続に失敗する・デバイスが見つからない等が頻繁に発生します。

    既に分かっている所では以下の問題があります。
    • RS1(Anniversary Update, 1607)  から RS2(Creators Update, Insider preview)  への接続に失敗する
    • RS2  から RS1  への接続時、Pull のみ成功し、Syncに失敗する

    F10 - Flight Package: WebM Support for 4chan & futaba

    Edit 31/Jan/2017 - 1.3.340 was released to public.
    http://ddlgjp.blogspot.jp/2017/01/f10-webm-remote-history-sync-support.html

    We're now testing the new features of our F10 image bbs browser.
    It's a UWP application for browsing the image bbs - 4chan and futaba-channel.

    To involve with our test group, inform me your Microsoft Account address to our support mail ' tickets - atmark - ddlg dot uservoice dot com '. I'll add you to our test group. Then, you can download the beta version 1.3.334.

    Link for store (If you have not participated in the test group, you can download the released version, not beta)
    https://www.microsoft.com/store/apps/9nblggh1ntrd

    If you have suggestions or issues, please let me know via Feedback Hub. You can launch the category 'F10' in the hub from F10 > Settings > About.


    WebM support


    F10 now support WebM movie with FFmpegInterop.

    https://github.com/Microsoft/FFmpegInterop

    It works on Windows 10 PC and Mobile ( and, maybe xboxone or hololens - could you test it? I don't have it. )


    Playing WebM


    Win10 Mobile

    Known issue


    Mobile: You may see the error or warning message if you open the .webm video. But the movie will start after the several seconds.

    Remote history sync





    You can sync the browsing history of F10 browser with remote devices that use your Microsoft Account.
    This function use the 'Project Rome' - new feature of Win10 Anniversary Update.

    To open the remote sync dialog, Open thread catalog > Settings > Remote.


    Cross-device experiences with Project Rome
    https://blogs.windows.com/buildingapps/2016/10/11/cross-device-experience-with-project-rome/


    Known issue

    In fact, the Rome is not stable yet. You may experience the connection error, api error, or not responding frequently. :(

    In our cases,

    • Fail to connect from RS1 system to RS2 system
    • Fail to connect from RS2 to RS1, with 'Sync' switch enabled.









    2017年1月26日木曜日

    F10 - Flight Package: ふたば動画、明示的な履歴の同期

    2017年1月29日追記:フライトパッケージは version 1.3.334 に移行しています
    http://ddlgjp.blogspot.jp/2017/01/f10-webm-4chan.html


    F10 image bbs browser で 機能追加を行っています。
    現在、ある程度動く版を F10 テストグループ向けに配布中です。
    試しに使わせて!という場合は、tickets アットマーク ddlg.uservoice.com までメールでご連絡下さい。

    グループに登録されている場合、以下の機能を持つ バージョン 1.3.330 がダウンロードされます。


    ふたば 動画対応


    ふたば掲示板上でWebM 動画が貼られている場合、同一鯖上のMP4 動画をF10 の画像表示ウィンドウ内で再生します。



    Win10 PC での再生


    Win10 Mobile での再生(横位置)
    プレイヤー側の全画面ボタンを押すと全画面になります



    この機能が使えるのは上の場合のみで、それ以外…
    • しおから
    • 4chan
    • その他リンク
    では動作しません。


    明示的なスレ履歴の同期


    デバイスを指定した履歴の同期が可能になります。
    カタログペインの設定⚙️→リモート で以下の画面が開きます。
    デバイスをタップすると、履歴を同期します。
    上のトグルスイッチは、
    • Pull Only - 接続先デバイスから履歴を取得します。
    • Sync - 接続先デバイスとの間で履歴を同期します。





    使用条件


    • 今回のバージョン 1.3.330 以上のF10 がインストールされていること
    • 電源が入っていること
    • 同じマイクロソフト アカウントでログインしていること
    • インターネットに接続していること

    判明している不具合


    現在の所以下の不具合が判明しています。おそらくPreview上の問題と思われます。

    • RS1(Anniversary Update, 1607)  から RS2(Creators Update, Insider preview)  への接続に失敗する
    • RS2  から RS1  への接続時、Pull のみ成功し、Syncに失敗する

    使用にあたってのコツ


    • 「Available」と出ていても本当に繋がるかどうかは実際繋げてみないとわかりません(この表示やめるかも)
    • Cloud 接続の場合、同期に少し時間がかかります(十数秒程度)
    • Proximalで十秒、Cloudで十数秒待っても何も始まらない場合、それは何かトラブっています。それ以上待っても無駄なので、キャンセルで終了して頂いて構いません(この処理も後で変えるかもしれません)。

    背景


    この機能は所謂 Project Rome と呼ばれる、Windows 10 Anniversary Updateから入っている機能を利用しています。

    Cross-device experiences with Project Rome
    https://blogs.windows.com/buildingapps/2016/10/11/cross-device-experience-with-project-rome/

    このため、Cloud経由でも同期が効きます。例えば…外で電話回線に繋げているWin10 Mobile から、自宅内LAN のWin10 PC に繋げに行くことが可能です。
    ただし、上にも書いたように両方ログオンしている事が必要になります。

    これまでも履歴の同期は Roaming Folderを使って対応していたのですが、このRoaming Folder は

    • 同期のタイミングがわかりにくい
    • たまに同期が止る
    等の使いづらい所があったため、今回Rome を使った明示的な同期を追加した形になります。
    (Roaming Folderを使った同期も機能としては生きています)


    2017年1月17日火曜日

    futa8, ごみ出しカレンダーの公開を終了しました

    首記の通り、画像掲示板ブラウザ futa8, ごみ出しカレンダー の公開を終了しました。

    futa8 については既に後継のF10 image bbs browser がある事、
    ごみ出しカレンダー については利用者数が減っている事が終了の主たる理由になります。

    これまでのご利用有難うございました。