2013年12月14日土曜日

ListViewにItemを幅一杯にみつしり表示させるには

WiFiSD8 の作業中に気付いた話。
Win8.1でアプリの幅が可変になりました。
それで、狭幅用の1次元なListViewを持とう、とXAMLを弄っていて、あれ?と。



左中のアプリがそれです。幅一杯にアイテムを広げて表示したかったのですが、モノによっては短く表示されてしまう。???

なんでかなーとパソコンに向かって呟いていたら(twitter)、超イカすTwitterClient App "Mevy"を作っておられる雪猫氏に「ListView/ListViewItemのHorizontalContentAlignmentをStretchにすればいいのでは?」という情報を頂き、さっそく試してみたのだけれども…結果は同じでした。
無念。

んんんnーー何故ーと上の画面を見ていて気づくのは、日付の下の数字が「1」のアイテムだけ幅の変化が出来てないと。

このDataTemplate、中にはFlipViewが入っていまして、


 こんなのです。
「1」というのは、アイテムが内包する写真の数が1、つまりFlipViewに載っているアイテムの数が1、という意味です。

 今回の様に可変長域にみつしり詰めたいとき、「これだけ幅が欲しい」と親のコンテナに要求を出せるElementが必要です。
例えば上のTemplateで、もし一番幅が大きいのが幅300のStackPanelだったとしたら、このTemplateがはまるListViewの幅がなんぼ大きくても別に広がったりはしないと。

上の場合、そういう要求を出す原動力になっているのはFlipViewの中のImage"FlipViewItemOriginalImage"だけです。ここでStretchが「UniformToFill」になっているが故に、親に「くれるだけ幅をくれ!幅を!」という要求が通り、みつしり表示されると。

で、今回の場合・・・どうも、FlipViewの中のアイテムが1個だけの場合、意図したようなRequestが飛んでいかないがために、一番上の画像のような事になっているのかな、と。
何故?というのは今回わからなかったです。すみません。

回避策として・・・カッコ悪いのですが、FlipViewの代わりに親に幅を寄越せとRequestできるアイテムを一個置くことにしました。上のDataTemplateでコメントアウトされているRectangleです。Color#00000000のため見えないですが、Stretch=UniformToFillな為親に「幅をくれるだけ寄越せ!!」と要求します。

このWorkaroundで、意図した動作をさせることが出来ました。


2013年12月12日木曜日

WiFiSD8 動作の様子(動画)

WiFiSD8 動作の様子を動画で撮影してみました。
FlashAir Card が動作に必須なアプリのため中々動作を伝えづらい、というのが理由です。



撮影方法は、

  1. Giffing Tool でスクリーンキャプチャ撮影・Gifアニメ化 を行う 50-60MB程度のアニメGIFファイルが出来上がる
  2. gfycat.com にアップロード gfycat はGIFアニメをHTML5 VideoにEncodeして公開してくれるWebサービス
  3. アップロードすると外部リンク用のiframe linkが出てくるので、それをBloggerのHTML編集モードで貼り付ける
GIFアニメの割には結構良い感じに撮れていて、ストアアプリの紹介・チュートリアル等に使えるなと思うのですが、どうでしょうか。


Giffing Tool (シェアウェア、支払料金は任意)
http://www.giffingtool.com/

gfycat
http://gfycat.com/

2013年12月8日日曜日

WiFiSD8: 一括転送が始まらない不具合について

WiFiSD8には複数画像を一括で転送する機能があるのですが、場合によっては転送が始まらない不具合が有ることが判りました。

確認できた再現条件

「FlashAir Class10 モデルで、リダイレクトモードを「On」にしている場合」

リダイレクトモードがOnの場合、FlashAir にWiFi接続すると自動的にFlashAirのWebページが開きます。
又は、FlashAir Tool で確認できます。

なお、Class10 モデルでFW2.00.02(インターネット同時接続をサポートするVersion)にアップデートしている場合、既定値は「リダイレクトモードOn」です。

FlashAir Tool 「ネットワーク設定」画面


確認できた現象


WiFiSD8の一括ダウンロードにファイルを追加し、「Start」ボタンを押すと、ダウンロードが始まるはずの最初のアイテムが「中断」表示のまま状態が進行しない。

問題が発生する場合、囲み部分が「中断」のままになります



回避方法

FlashAirの「リダイレクトモード」 をOff にして使用する。

Offにした場合、接続時にWebブラウザが自動的に開かなくなります。
また、この場合でもインターネット同時接続機能はお使い頂けます。

または、

WiFiSD8 の一括ダウンロード機能を使わない。
画像表示によるファイル保存は正常にお使い頂けます。

原因

WiFiSD8 は、一括ダウンロード時に WinRT API 「BackgroundTransfer」を使用しています。このAPI を使うとダウンロードはOSにより行われ、アプリケーション(WiFiSD8)がOSによりApp Suspendされている間も、ダウンロードが継続します。
ですが、このダウンロードは「インターネットからシステムが切断された」とOSが判断すると転送を中断します。
リダイレクトモードOn はOSに「インターネットからシステムが切断された」と判断され、以上のような現象になっているようです。
(OSが何を持って「切断された」と判断しているのか不明のため、最後の歯切れが悪く申し訳無いですが…)

なお、画像の画面表示でダウンロードを行う場合、BackgroundTransfer では無く、WiFiSD8 が自分でHttpClient API を使って行っているため、この問題は発生しません。

その他

手持ちのカードで確認した限りでは、FlashAir Class6 ではこの問題は発生しないようです(そもそもClass6にはリダイレクトモードが無いためと思われます)。

2013年12月7日土曜日

WiFiSD8 をリリースしました

WiFiSD8 TopPage
 
 
WiFiSD8 は、WiFi機能付きSDカード内の写真を閲覧・保存するための Windows 8.1 / Windows 8.1 RT 向け Store Applicationです。
東芝 FlashAir に対応しています。

Windows Store からインストールできます。
http://apps.microsoft.com/windows/ja-jp/app/wifisd8/1f490d0d-4c05-4417-ac24-f51c24e29c2b


WiFiSD8 を使う利点

 
 今回対応したFlashAir はWeb ブラウザ UIを内蔵しており、アプリ無しでも写真を閲覧することができるのですが、
 WiFiSD8 は専用のWindows StoreAppとして、

  • StoreApp の作法に沿った、タッチ・マウス共に使いやすいUI  … Gridで表示する大きなサムネイル、フルスクリーン表示で左右にスワイプして画像切り替え等
  • 保存の簡略化  元画像を表示後自動でユーザーの指定したフォルダに日付毎に保存
  • 複数画像を一括で転送・保存
  • リサイズ・共有をDesktopに降りずにアプリ上で実行
等、Webブラウザ では得られない機能・使い勝手を提供できていると考えています。

 


…以下、「WiFi機能付きSDカードって何?」という背景話を簡単にまとめました。

......

 

WiFi機能付きSDカード とは?


WiFi アクセスポイント と、Webサーバを内蔵したSDカードです。
カメラに挿して使うと、カメラからは一般のSDカード同様に写真を記録できます。
同時にアクセスポイントとWebサーバが動作しており、タブレット・PC・スマートフォン等よりアクセスポイントにWiFiで接続すると、Webサーバが写真を見せてくれる、という動作をします。

(画像はFlashAir Developersより拝借)

基本的に、どんなカメラでもSDカードさえ使えればWiFi対応カメラに化けさせることができるのがポイントです。

今回対応した東芝 FlashAir は、
  • HTML Interface
  • CGI Interface
の二通りのInterfaceがあり、両者とも仕様が公開されています。

FlashAir Developers
https://www.flashair-developers.com/ja/

WiFiSD8 は後者を使ってファイルリストを取得し、画像を表示します。
 
※カメラによってはノイズの影響で通信が不安定になることもあります。対応カメラかどうかを確認するのが大事です。

FlashAir™ Class6 動作確認機器一覧
http://www.toshiba.co.jp/p-media/compati/flashair_c6_list.htm

FlashAir™ W-02 Class10 動作確認機器一覧
http://www.toshiba.co.jp/p-media/compati/flashair_list.htm

 

現状


この種のデバイスが登場したきっかけの一つは、おそらく、iOS系デバイスやスマートフォン・タブレットにカメラを接続するのが中々めんどくさい、事があります。SDカードを挿すには変換アダプタが要りますし、USBも直接は刺さりません。
今までPCでやっていた作業の多くがスマートフォン・タブレットに移行している中、カメラが置いて行かれている所がありました。

また、上とも重複する話ではあるのですが、「写真の使われ方」が変化しているという部分もあります。
出先で写真を撮ったらすぐツイート・共有する、という近年の「写真の使われ方」は専ら携帯電話・スマートフォン内蔵カメラでのユーザー体験であり、一々PCに繋げて転送して…という「単体カメラ」はこのシナリオから置いて行かれている感がありました。

他方、携帯のカメラでなく、良いレンズを持った「単体カメラ」で撮った写真を出先からツイート・共有したい、というニーズもあります。

それらを橋渡しするデバイスとして、WiFi機能内蔵 SDカードが使われるようになってきている、又WiFi機能内蔵カメラが増えている、というのが現状であろうと考えています。



2013年11月30日土曜日

futa8 Release 16

futa8 Release 16 が Windows ストア からインストール出来るようになりました。

Click でWindows ストアに移動します
Note - English description available at the bottom of this post.

既にfuta8をお使いの場合、Windows ストア を開くと右上に「更新プログラム」が表示され、ここをクリックすると更新ページに移動します。


インストールに成功すると、futa8のバージョン情報が v1.0.0.122 になります。確認するには、チャーム→設定→アクセス許可 を開きます。

futa8 Release 16
30 November 2013


修正


4chan の閲覧が不可能になっていた問題の修正

4chan API のホストが boards.4chan.org から a.4cdn.org に移行したため、接続できなくなっていました。
今迄に追加済みのboards.4chan.org の板は、このRelease 16 で自動的にa.4cdn.org にブックマークを修正します。
新規に板を追加する場合、a.4cdn.org/a の様に入力してください( boards.4chan.org/a と入力して頂いてもOKです。futa8 側で4cdnに書き換えます。)
サービス一括追加も同様です。

Changes - futa8 Release 16


futa8 Release 16 available at Windows Store:
http://apps.microsoft.com/windows/app/futa8/17a26f04-9d9d-4614-ae0f-f807f4938ee9


Bug fix - Can't browse 4chan service

4chan API host is changed from boards.4chan.org to a.4cdn.org. As of this, futa8 couldn't browse 4chan contents.
By using this release, 4chan bookmarks are replaced with 'a.4cdn.org' automatically.



2013年11月8日金曜日

futa8 Release 15

futa8 Release 15 が Windows ストア からインストール出来るようになりました。
http://apps.microsoft.com/windows/app/futa8/17a26f04-9d9d-4614-ae0f-f807f4938ee9


Note - English description available at the bottom of this post.

既にfuta8をお使いの場合、Windows ストア を開くと右上に「更新プログラム」が表示され、ここをクリックすると更新ページに移動します。


インストールに成功すると、futa8のバージョン情報が v1.0.0.121 になります。確認するには、チャーム→設定→アクセス許可 を開きます。

futa8 Release 15
08 November 2013


修正


スレッドを開くたびに全画面モードでの画像アイテムが増えていく問題の修正


変更 

リスト ビューで表示する広告のサイズを728x90から250x250に変更


Win8.1での表示の様子


これまでは、リスト表示…縦位置・Fill (他アプリをSnap表示している状態) で主に使われる1次元のリストでスレッドを表示するモードでは幅728x縦90 の広告を表示していましたが、Release 15からは250x250 の広告が表示されます。

変更理由は、

1) 728x90 サイズの広告配信がとても少ない事。 

2) Win8.1の画面分割により、(配信されたとしても) アプリの横幅上 728x90 サイズ の広告を表示できない場合が増えている事。

になります。

正直今までより場所を食うサイズなのですが、ご容赦頂ければと平に願う次第です。




Changes - futa8 Release 15


futa8 Release 15 available at Windows Store:
http://apps.microsoft.com/windows/app/futa8/17a26f04-9d9d-4614-ae0f-f807f4938ee9


Changes - Ad unit size for listview is changed from  728x90 to 250x250.

Bug fix - Full screen mode issue

2013年11月2日土曜日

futa8 Release 14

futa8 Release 14 が Windows ストア からインストール出来るようになりました。
http://apps.microsoft.com/windows/app/futa8/17a26f04-9d9d-4614-ae0f-f807f4938ee9


Note - English description available at the bottom of this post.

既にfuta8をお使いの場合、Windows ストア を開くと右上に「更新プログラム」が表示され、ここをクリックすると更新ページに移動します。


インストールに成功すると、futa8のバージョン情報が v1.0.0.119 になります。確認するには、チャーム→設定→アクセス許可 を開きます。

futa8 Release 14
02 November 2013

変更


全画面モードで、既定で画像の全部分が表示される倍率に調整するよう変更


全画面モード
また、ピンチイン・アウトで倍率変更後、画像のダブルタップで既定の倍率に戻ります。

スレッドのリスト表示でID・IP 表示を行うよう変更

この件についてはストアのレビューでご指摘頂きました。有難うございます。


修正


Alt+左右キーでページ遷移を行う際、アプリケーションが終了する場合があった問題の修正

この件についてはこのblogのコメントでご報告頂きました。有難うございます。

全画面モードで、1MBを越えるファイルサイズを表示していなかった問題の修正

割り算を3桁間違えていたという…



------


Changes - futa8 Release 14


futa8 Release 14 available at Windows Store:
http://apps.microsoft.com/windows/app/futa8/17a26f04-9d9d-4614-ae0f-f807f4938ee9



Full Screen Mode: Default Zoom ratio is changed to fill the screen with image


Bug fix - Alt+Left/Right navigation cause app crash