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の追加見て喜ぶおじさん達がいます :)