2014年1月25日土曜日

futa8 Release 19

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


http://apps.microsoft.com/windows/app/futa8/17a26f04-9d9d-4614-ae0f-f807f4938ee9
クリックでストアに移動

 インストールに成功すると、futa8 のバージョンは 1.1.0.127 になります( チャーム→ 設定→アクセス許可、で確認できます)。

変更点

 広告除去オプションの追加

アプリ内販売で、広告除去オプションを追加しました。「1年間、1000円(日本のストア価格)です。

  • お支払頂く事で、futa8 で表示している広告が1年間表示されなくなります。
  • この購入については自動更新・継続の機能はありません。購入後1年経つと、特にお知らせ等無くまた広告が表示されます。
  • お使いのMicrosoft アカウント で設定している決済通貨が日本円以外の場合は、Windows ストアで使用している通貨レートでの金額となります。
  • 購入の権利はMicrosoft アカウントに紐づいています。一つのMicrosoft アカウントで複数のPC・タブレットをお使いの場合、合計81台まで使用可能です。


なお、この価格「年間1000円」ですが、

【 (年間の広告収益 /  ユーザー数)-払って頂いて有難うございます値引き 】

…という計算でざっくり弾いたお値段になっております(広告収入は変動が激しいため、先にまとめてお支払頂けるのはとても有難いのです…)。

実際の購入の様子のスクリーンキャプチャをこの記事の最後に載せました。


Changes - futa8 Release 19

futa8 release 19 is available at Windows Store.

In-App Purchase feature is added - "Removal of Ads - for 1 year"

  • By purchasing this in-App item, application ads are removed for 1 year.
  • There are no automatic payment update. It will expire after 1 year.
  • The actual price depends on your country/region of Windows Store.
  • This item is applicable for up to 81 devices associated with your Microsoft Account.

購入は設定チャーム→「広告の除去(1年間)」のTap/Clickで開始します。
説明が表示されます。先に進むにはOKをTap/Clickします。
ここからストア上の処理に移ります。画面上の説明を良く
お読み頂いた上で、購入して頂ける場合は「購入」をTap/Clickします。
 Microsoft Account の確認が行われます(お使いのアカウント・支払方法によってはこの先のプロセスは異なる場合があります)。
 処理中...
プロセス完了。有難うございました。
 購入による広告除去は直ちに有効になります。
 が、画像のようにスレ表示中の場合は一度カタログに戻ってから再読み込みが必要です。



2014年1月23日木曜日

futa8 Release 18

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

http://apps.microsoft.com/windows/app/futa8/17a26f04-9d9d-4614-ae0f-f807f4938ee9
クリックでストアに移動

 インストールに成功すると、futa8 のバージョンは 1.1.0.126 になります( チャーム→ 設定→アクセス許可、で確認できます)。
 
Release 18 は、Release 17 で発生させてしまったバグのみを修正したものです。
Release 17の変更点(多いです!)については futa8 Release 17 を参照下さい。

修正点


板画面 で 横位置・縦位置・スナップ を切り替えると、アプリケーションが終了する場合がある不具合の修正


 板画面(起動直後の画面)は、
  1. 横位置用 Semantic Zoom内にGridView二つ(ZoomIn/Out),
  2. 縦位置用 ListView
  3. スナップ用 ListView
の3画面を、幅のサイズ変更に従ってVisualState変更で切り替える形になっているのですが、Win 8.1の場合、1と2・3の切り替え中にXaml.dll内で落ちてしまう場合が有ることがわかりました(落ちない場合もあります)。
今回のRelease では、縦・スナップ用のListViewもSemantic Zoom内に持ち、Semantic Zoom自体の切り替えをさせないことで問題を回避しています。


Changes - futa8 Release 18

futa8 release 18 is available at Windows Store.

1) Fix - In some cases, app crash when you switch the default view from/to portrait or minimal view on boards page.

2014年1月19日日曜日

futa8 Release 17

futa8 Release 17 がWindows ストア からDL出来るようになりました。

22/01/2014 追記:
Release 17 に 板画面(起動時の画面)でアプリの縦・横・Snapを切り替えるとアプリケーションが終了する場合がある不具合が有ることがわかりました。
問題を修正したRelease 18 をストアに提出済みで、現在審査中です。
ご迷惑をお掛けして申し訳無いです。


 インストールに成功すると、futa8 のバージョンは
  • Win8.1 - 1.1.0.125
  • Win8 - 1.0.0.132
になります。


変更点 

Win8.1 への移行

これまでWin8 用 futa8 を Win8, Win8.1 両方 に配布していたのですが、
今回のRelease 17以降は、以下のようになります。

  • Win8.1 - Win8.1 用 futa8。新機能の追加はWin8.1 用でのみ行います。
  • Win8 - Win8 用 futa8。新機能の追加は今後ありません。

以下の変更項目もWin8.1用にのみ適用されます。

アプリ領域の可変サイズに対応

Win8.1 の可変アプリ領域に対応しました。
futa8 に割り当てられる領域に合わせて表示形式が三段階に切り替わります。

  1. 既定 default 既定の横位置。二次元グリッド/一次元リスト表示を随時切り替え可能です。
  2. 縦長 Portrait - 領域が縦長の場合。一次元リスト固定。タブレットの縦位置でも使われます。
  3. 最少 Minimal - 領域幅が700px以下の場合。一次元リスト固定。Win8でのSnapにあたり、表示するボタン・UIを減らします。
実際の動作例がこの記事一番下のスクリーンキャプチャです。
(左側に表示されているのは最近評判のTwitter Client Tweetium

スレッド表示速度の改善

futa8 では GridView/ListView コントロール をスレッド表示に使用しているのですが、このコントロールの動作速度がWin8.1 で改善されました。このため、futa8 のスレッド表示速度が大幅に改善されました。

ListView and GridView performance improvements
http://msdn.microsoft.com/en-us/library/windows/apps/dn263110.aspx#listview_and_gridview_performance_improvements

また、これまで、速度低下を避けるために「100レス以上のスレを開く場合、自動でListViewに切り替える」という動作を入れていましたが、今回の速度改善で必要性が薄れたため当該動作を外しています。

Microsoft Application Insights サービス の追加

アプリの使用状況を取得するサービスです。アプリの起動回数、アプリ内の各ページの表示回数等が個人を特定出来ない形で送信されます。
既定ではオンになっています。
送信を停止するには、設定チャーム→futa8 設定→「Microsoft Application Insights の使用」をオフにして下さい。


Changes - futa8 Release 17

futa8 release 17 is available at Windows Store.

Added 22/01/2014
Release 17 have an issue about default/portrait/snap switching at boards page.
I've submit the fixed version - Release 18 - to the store.
Sorry for your inconvenience.

  1. Development target is changed to Win8.1. futa8 for Win8 is in maintenance phase.
  2. Support Win8.1 Resizable App Style
  3. List/GridView performance improvements
  4. Adding Microsoft Application Insights


Default Mode


他アプリ+Defalt Mode のfuta8


Default Mode では、いつでもAppBarからListViewに切り替えが可能


Portrait Mode futa8領域の高さ>幅*1.5でPortraitに切り替え
タブの縦位置でもPortraitが使われます


Minimal Mode 幅が700以下の場合 ボタン等のUIを極力減らしたModeです


Minimal Modeで最も狭い320px Win8のSnapに当たります



2014年1月17日金曜日

futa8 Release 17 に向けて

現在 futa8 Release 17 の準備中です。

Release 17 では、大きな変更「Win8.1/RT8.1 専用アプリ への移行」を予定しています。


OSTodayEnd of Jan 2014future
Win8/RTRelease 16 for Win8Release 17 for Win8(no update)
Win8.1/RT8.1Release 16 for Win8Release 17 for Win8.1Release 18, 19, ... for Win8.1


移行の理由は2つあります。

  1. Win8.1/RT8.1 専用アプリへ移行する事により、Win8.1 の改善されたコントロール・機能を使うことが可能となり、futa8 の動作改善が見込めること
  2. Win8.1用 と Win8用 両方をメンテナンスする余力が無い事
1. について、
現在Win8.1用のトライアル版を作成しているのですが、Win8.1 でのGrid/ListView(スレの表示に使っているコントロール)のパフォーマンス改善が、元々Grid/ListViewを過剰に酷使しているfuta8 においては恩恵が極めて大きい事がわかりました。
これは是非とも使いたいと思っており、また早くお届けしたい、というのが一番の理由です。


2. について、
一人で開発・メンテしているため、2バージョンを維持するのは正直辛いという理由です。

ただ、現状Win8 / Win8.1, futa8 ユーザーの比率がどれくらいになっているのかのデータを持っている訳では無いため、何らかの理由で8.1に移行できないWin8 ユーザーに迷惑を掛けてしまうリスクもあるのですが…ここは1, 動作改善を優先する方針です。

Release 17、もう少し形になってきたら又お知らせしたいと考えております。
現在のターゲットは上の表にもある通り、2014年1月末です。

2014年1月14日火曜日

Microsoft Application Insights を ストアアプリで使う (その2)

※2016年4月追記 StoreApp / UWP App用のApplication Insights 新規受け付けは2016年4月15日で終了しています。既存ユーザーはHockeyAppへ移行するようにというアナウンスが出ています。

Transitioning Mobile Apps from Application Insights to HockeyApp
https://azure.microsoft.com/ja-jp/blog/transitioning-mobile-apps-from-application-insights-to-hockeyapp/

※2015年2月追記 Application Insights は現在Azure ベースのサービスに移行しており、本記事でお話しているVisual Studio Online 版は提供が終了するようです。このため本記事は現在のApplication Insights にはあまり当てはまるところがありません。
Azure版については以下の記事も御参照下さい。

うまく行かない人用の Application Insights ガイド(2015/02)
http://ddlgjp.blogspot.jp/2015/02/application-insights.html 


------

 

データの取得と評価

ここでは、具体例として ストアアプリ WiFiSD8 でどのようなデータ収集を行っているかを紹介し、又取得したデータがDashboard 上でどう見えるのか、その評価について簡単に説明します。

前記事
Microsoft Application Insights を ストアアプリで使う(その1)

本項でのデータ取得の目的


「App を起動したユーザーの内、どれくらいがWiFiSD8 の初期設定を終えて次のPage までたどり着いたかを知りたい」

今回サンプルとしているWiFiSD8 は

  1. 起動
  2. ユーザーが自分でWiFi 接続をFlashAir のSSID に切り替え
  3. 写真のブラウズ

というパスで動作します。FlashAir を使いなれている方ならば2 は判る…はずですが、全く初めて使う方には???な所でもあります。

現状、WiFiSD8 上では特に接続に当たってのチュートリアル等を表示していないため、写真のブラウズが本当に出来ているだろうか?という心配がありました。
これを、AIを使って確認してみます。

ページ遷移のデータ取得と評価


WiFiSD8 のページ遷移を示したのが下図です。

ユーザーが接続に成功した場合、TopPageのその先への遷移が発生するはずです。
また、失敗した場合、TopPageから動く事ができません。

この遷移が実際にはどう行われているのかのデータを取得します。

WiFiSD8 のページ遷移図

Code上の作業はとても簡単で、Page 毎のCode Behind のLoadState に以下の様に一行追加するだけです。


 
      protected override void LoadState(Object navigationParameter, pageState)
        {
            ClientAnalyticsChannel.Default.LogPageView("TopPage");

            wds = App.WSDDataView.wsdDataSource;
            wdc = App.WSDDataView.wsdCardSource;
            wdl = App.WSDDataView.wsdDownload;

...

※Parameterに文字列のDictionaryが入るとSyntaxHighlighterの動作が妙になるので削っています。
※WiFiSD8 は元々Win8 用に作成したSolutionを使っているので「LoadState」になっています。Win8.1 のTemplateで作ると又違ったはずです。

首尾良くデータ取得に成功すると、アプリを操作して15分程度で直ぐにAI Dashboardに反映されます。この異常なレスポンスの良さはAIの長所でしょう。

さて、上のようなCodeを入れたアプリをストアに公開し、ある程度データが溜まってきたとします。
AIでは、取得したデータを大きく分けて三種類、で表示します。順に見てみましょう。

  1. Features  アプリ内のPage View, Event から見た統計
  2. Users ユーザーの増減に主眼を置いた統計
  3. Devices デバイス種別毎の統計


1. Features


Dashboard上では、Features→Usage→Feature. と辿ると「Features」事に整理されたデータが表示されます。


(※ この項以降も同様ですが、なるべく「ざっくり」なデータを選んで紹介しています。実際のDashboardではもう少し細かいデータが出てきます。)

この円グラフで出ているのは、ある期間中の各Page表示回数を全部足したものを分母とし、それぞれの回数を割合として出したもの、になります。

ただ、このPage Viewでは総和になっているため…今回の目的、Top Page を表示したユーザーの何パーセントがWiFiSD8 の初期設定を終えて次のPage までたどり着いたか?までは見えてきません。

2. Users


ユーザー毎の動向は、Usage/Users から見る事ができます。


一日あたりのUnique Userが10人、という数字に心が折れそうなのですが、そこは今回の主眼ではありません。
この「Users」Viewでは、他にも

  • 1日のユニークユーザー数の内、新規ユーザーと継続ユーザーの割合
  • 継続ユーザーが何日開けて又アプリを使ったか

等が取得可能です。

ポイントは、一番右、Activities per Session です。Page View 発生回数、が「Activities」になります。これをSession、アプリ起動回数で割ると平均値は約4であると。

WiFiSD8 での動作例から考えてみると、


  • 起動後、FlashAir カードの検索から先に進めなかったユーザーの場合 1セッションでTop Page を1度表示しただけで終わるため、Activities per sessionは「1」以上にはならない(検索を終えない限りWiFiSD8は他ページに遷移できない)
  • 起動後、FlashAir カードへの接続に成功すると他ページへの遷移が可能となるため、Activities per session の数字は1以上。一般的なUsageを考えると…接続→グループ表示→全画面表示→グループに戻る、あたりか?この場合Activities per session は4,5程度と予想される

であると。つまり、

  • 平均値が1だと100%だれも使えていない
  • 1を越えると、そこそこ・・・・使えて頂いている・・かな?

辺りでしょうか。ぼんやりした話で恐縮ですが、それでも明らかに使えてもらえていると判るのは開発側としては小躍りするくらい嬉しいです。

3. Devices




ここでは、デバイス種別毎の統計が表示されます。
黒で隠している所はデバイス名…「Surface 2」「Surface with Windows8」「VivoTabRT」等が表示されています。

今回隠したのは、下の方のSession 1回のデバイスの場合…使っている人には「あ、これ俺のだ」とすぐ分かるので…そこの回数等のデータが出るのはダメだろう、という判断です。

このデータで注意すべきなのは、あくまでも「デバイス種別毎の」統計で、「ユーザー毎」では無い、ところでしょう。
例を挙げると、一行目のデバイスAではSession 73, Activities/Session 2.92, と、かなり頻繁に使っている様子が判ります。
が、これは「デバイスA」を使っている人が73人居る、事を示しているのかもしれません。
又は、一人でデバイスAを激しく使っているのかも、しれません。
このデータからどちらかは判りません。

※Active Userの統計から考えると73人は無いはずですが…種別毎の人数割り振りはできませんね。

さて、本項でのデータ取得と評価の目的に立ち返ると…
この表の下半分のデバイスでは、アプリを起動したものの結局何をすれば良いかわからず諦めてしまった、ケースが多いことが判ります。その総セッション数に対する割合は14%程度。

うーん。低いとみるか高いとみるか。個人的には、何か対策を打たないとまずいなという気がしています。



ここまで読んで頂いて、どう思われたでしょうか。使いやすそうで実は結構使いづらいデータが多いなと個人的には思っているのですが。
AIの「個人を特定しない形でのデータ収集」という看板は伊達では無いのだなという感想です。

※ デバイス種別名、見ていると、おそらくSMBIOSのType1、ModelNameあたりを取得しているようです。

以上、簡単ですがPageViewのデータ取得と評価の実例をお見せしました。
長くなってしまったので、Numeric Eventの取得等については又章を分けたいと思います。

2014年1月11日土曜日

AdDuplex 最近の実績と、ストアアプリ広告差し替えについて

Windows ストアアプリの広告を互いに出しあう広告プロバイダ「AdDuplex」について、以前このBlogで記事にしたのですが、最近twitter で反応があって嬉しかったのと、酢酸氏に広告差し替えについても触れると良いのでは?とのSuggestionも頂いたので、改めて記事にしてみました。

また、現状AdDuplex を使っている 「日本の」アプリは極めて少ない…(自分のfuta8 以外に見たことが無いです。今後は上で触れた酢酸さんのアプリも表示されるはずですが!)ので、どうにか使うアプリが増えれば、自分のアプリ広告(futa8/WiFiSD8)が日本のアプリ上に表示されるのに…という自分本位な理由も記事追加の原動力です。

過去記事
AdDuplex とは何か (1/3)
AdDuplex (2/3) アプリへの埋め込み
AdDuplex (3/3) 自アプリの広告作成


最近の実績


私が作っているストアアプリ「futa8」では、2013年6月からAdDuplex を使用しています。
直近1か月…12月10日~1月10日、のResultは


  • Served 11370回 (futa8 上に 他アプリの広告を表示した回数)
  • Received 8621回 (他アプリ 上に futa8 の広告を表示した回数)

でした。大体「Served * 0.8 = Received」 になっているのが判ります。
1日あたり4~800回、下のような futa8 の広告が他のストアアプリ上に表示されている事になります。



例) 他のアプリ上に表示されるfuta8 の広告

広告のクリック回数は、


  • Served 13回  (futa8 上の 他アプリ広告をユーザーがクリックした回数)
  • Received 30回  (他アプリ 上の futa8 広告をユーザーがクリックした回数)

でした。受け取ったクリック数の方が多くて超ラッキーな感じですが、これの理由には思い当たる所があります。後で触れます。

(※Microsoft Advertisement と違って、数字を丸出しにしちゃダメという規約が特に無いようなので丸出しにしています。怒られたら謝る方向で)


広告効果の評価


…これが実は難しいです。
数値化できない部分…何度もアプリ名が目に触れることで認知度が上がる、後で検索してくれる…は評価が困難なのでさて置くとして、
AdDuplex の広告は、Clickされると(Webブラウザを介さず)直で「ストア」の当該アプリ ページが開きます。
アプリ ページの参照元は ストアのダッシュボードで確認できるのですが、

直近1ヶ月のfuta8 のデータです

・・・?このパイ図自体謎で、


  • 青 Google (検索でapps.microsoft.com, Web上のアプリページに飛んできた?)
  • 橙 direct traffic (ストア上で検索した場合?)
  • 紫 apps.microsoft.com (MSのappsサイト上で検索した場合?)
  • 緑 nijibox.ohflip.com (ふたば避難所なんですが…それほど活発に使われてはいない所なので、ここから飛んでくるのも謎です)
  • 赤 windows.microsoft.com (上のappsとの違いが良くわからない)
  • 灰 Other

と、どれがAdDuplex からの参照なのか良くわからないのでした。
多分…橙か灰色のどっちか、の一部、だとは思うのですが。

別のアプリ広告への差し替え


以上のような状態で現在 他のストアアプリ上に futa8 の広告 が表示されているのですが、
この futa8 の広告は、別のストアアプリの広告に差し替えることができます。

これも自分の例で説明しますと、
2013年12月にストアアプリ「WiFiSD8」をリリースしました。
このアプリ、使用条件が少し特殊(※)で、オンライン広告が使用できません。

WiFiSD8

※ WiFi アクセスポイント 機能を内蔵するSDカード ( 東芝 FlashAir等 )に接続した状態で、そのSDカード上の画像をブラウズ・ダウンロードする、アプリです。
多くの場合、このSDカードの先がインターネットに繋がっている訳では無いので、所謂オンライン広告を使用することができません。

このためAdDuplex も使用できないのですが…リリース直後でもあるので、どうにかアプリの存在を知ってほしい、広告したい、という動機がありました。

そこで役に立つのが、 AdDuplex 広告の差し替えです。
既定では AdDuplex を使っているアプリの広告が表示されるのですが、

AdDuplex ClientArea → Details → App Details の Edit package family nameをクリックして

ここで、広告がクリックされた際の飛び先を別アプリに変更可能
以上のようにPackage Family Name を変更することで、広告がクリックされた際のストアへのリンク先を別のアプリ(今回はWiFiSD8)に変更することができます。

勿論、リンク先を変更した場合、広告の内容も変更する必要があります。

広告の内容をWiFiSD8 用に変更

…以上の変更で、「futa8 で稼いだ AdDuplex の広告枠を使って、WiFiSD8 の広告を表示する」ことが可能になりました。
現在既に変更済みで、1日辺り数百回、何処かの誰かのストアアプリ上に WiFiSD8 の広告が表示されているはずです。

なお上で触れた「クリック数が多い」件ですが…使っていると判るのですが、AdDuplex 広告枠 上に表示される広告、それほど代わり映えがしないというか…同じものが多いです。なので、新しいものが表示されると珍しさで少しクリック数が上がってるのでは無いかな?というのが自分の予想です。

以上、簡単ですが AdDuplex 実際の使用例と、アプリ広告差し替えについて説明しました。

2014年1月5日日曜日

WiFiSD8 Release 4

ストアアプリ版 FlashAir Client WiFiSD8 Release 4 を公開しました。Windows ストア からダウンロードできます。
既にインストール済みの場合、順次自動的に更新されます。

Click で ダウンロード
インストール・更新が成功した場合、設定→アクセス許可 に表示されるバージョン が「1.1.0.22」になります。

バージョン表示 設定チャーム→アクセス許可 で表示されます


変更点


  • 英語版リソースの追加
  • EXIFの撮影日時から時差情報を削除
  • 全画面表示モードで共有を行う際、タイミングによっては「共有が出来ない」旨のメッセージが表示されていた問題の修正


2014年1月3日金曜日

Microsoft Application Insights を ストアアプリで使う (その1)

※2016年4月追記 StoreApp / UWP App用のApplication Insights 新規受け付けは2016年4月15日で終了しています。既存ユーザーはHockeyAppへ移行するようにというアナウンスが出ています。

Transitioning Mobile Apps from Application Insights to HockeyApp
https://azure.microsoft.com/ja-jp/blog/transitioning-mobile-apps-from-application-insights-to-hockeyapp/

※2015年2月追記 Application Insights は現在Azure ベースのサービスに移行しており、本記事でお話しているVisual Studio Online 版は提供が終了するようです。このため本記事は現在のApplication Insights にはあまり当てはまるところがありません。
Azure版については以下の記事も御参照下さい。

うまく行かない人用の Application Insights ガイド(2015/02)
http://ddlgjp.blogspot.jp/2015/02/application-insights.html


------


今回、ストアアプリ WiFiSD8 に Microsoft Application Insights を組み込む機会がありました。未だ試用版ではありますが、アプリの使用状況を把握するにはかなり有用なサービスであるなぁ、という印象です。簡単ですが紹介・使い方記事を書いてみました。



概要

Application Insights とは

Application Insights (以下「AI」と略」) は、Webサイト・Azure・Windows ストアアプリ・Windows Phone アプリ・.NET アプリ の使用状況を収集・分析するためのMicrosoft のサービスです。Visual Studio Online の中で提供されています。

昨年10月、Visual Studio Online と同時にアナウンスされましたが、その時はAzure等のWebサービス向けでした。昨年12月に ストアアプリ版のPreliminary SDKがリリースされました(このため、全体にどちらかというとサーバー向けのデザインというか・・・アプリから見ると??な所、サーバーのみで使える機能、が多いです)。

AI Dashboard の例 (MSDNより借用)


AI SDK をストアアプリに組み込むだけで、基本的な情報…

  • 一日あたりのユニークユーザー数・新規ユーザー数
  • ユーザー辺りのセッション(アプリケーションの起動・終了)数
  • アプリのバージョン割合
  • ユーザーの使用環境(モニタサイズ、OSバージョン等)

は Coding 無しで取得されます。特にユニークユーザー数は Windows Store のDashboard では判らない情報で、PubCenter等の広告の運用や、アプリ販売・アプリ内販売の値段決定等を考える際には大変に有用な情報だろうと思われます(AdDuplexでも取得できますが)。

それ以上の細かい情報… Appの各ページが何回表示されたか、ある処理に掛かった時間、数値・文字列等…を取得するには、簡単なCode をアプリ内に「イベント」として埋め込みます。

例を挙げると、実際のアプリ内のページ遷移を集計することで、ユーザーが実際にどうやってアプリを使っているかを追跡する事ができます。あるアクションについて二つのパス…アプリ上に常に表示するボタンと、アプリ バー内に置いたボタン…がある場合、

  • 実際どれくらいの割合で二つのパスが使われているのか?
  • 片方のパスがほぼ0だったらそれは要らないのでは?
  • 意図せざる使われ方をしていたら、何かデザイン変更・チュートリアル追加等が必要なのでは?

等、UI改善に役立てる事が出来るでしょう。

他にも、以下のような様々な使い方があるのではと思います。
  • GridView上に表示するアイテムの平均・最大最少を見て、データの見せ方を考える(少なければリッチな見せ方に重点を置く、多ければVirtualization が効くようにする、グルーピング機能を検討する等)
  • あるアクションに掛かる時間の平均・最大最少を取得する

一方、使用者が特定できない形とはいえ、ユーザー情報を収集するサービスですので、使用には一定の注意が必要です。興味本位でデータを集める、無断で公開する等でユーザーからの信用を失っては元も子もありません。Baidu での一連のFrameUp は記憶に新しい所ですし。


Availability

現在(2014年1月)の所、AIは Preview Release であり、無料で使用することができます。Visual Studio Online 内でTesterを募集しており、そこのフォームにMail Addressを入力してしばらくするとActivation Code が送られてきます。

Visual Studio Online のトップページに案内が表示されている(はず)
Activation Code を入力してログインすると、AI で使う アプリケーションのGUID を取得することができます。この ID を アプリケーション起動時にパラメータとして AI SDKに渡すことで、一意なデータ集計が行われます。
初期化コードは以下のような感じです(App.xaml.cs)。

        protected override async void OnLaunched(LaunchActivatedEventArgs args)
        {
            Frame rootFrame = Window.Current.Content as Frame;

            Microsoft.ApplicationInsights.Telemetry.WindowsStore.ClientAnalyticsSession.Default.Start("XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX");            

            if (rootFrame == null)
            {
            ... 



アプリへの埋め込み


実際の作業は、MSDNのチュートリアル(とても判り易いです)を参照しながら進めていく事になりますが、自分が引っ掛かった2,3点について少し説明します。

Analyze Windows Store App Usage
http://msdn.microsoft.com/en-us/library/dn509554.aspx


AI SDK の インストール

Tutorial に従って NuGet からInstallするのですが、「リリース前のパッケージを含める」を選択する必要があります(しないと検索しても見つかりません)。

ソリューション エクスプローラ→右クリック→NuGet パッケージの管理

C# - Any CPU でビルドしているアプリに AI を導入する場合


AI SDKは x86 / x64 / ARM, CPU 別のComponentとして提供されています。このため、ストアアプリをC# - Any CPU でビルド・パッケージングしている場合、Native CPU別のパッケージに変更する必要があります。

ビルドについては、Visual Studio の構成マネージャーで x86, x64, ARM をそれぞれ設定します。

VSのメニュー ビルド → 構成マネージャ
実際の開発中は x64 / ARM だとXAML デザイナが動かない(x64マシン上でも)ため、多くは x86で回すことになります。Debug Targetに合わせて適宜変更します。

なお、Any CPU から CPU Native に変更した場合、既にAny CPU のPackageがインストールされているシステムに対して Visual Studio から配置を行うと、配置がエラーになる・配置エラー出ないけれども実際動かすとSplash Screenで止まる、等が起こる場合があります。

この場合、Any CPU でBuild したパッケージを一度ターゲット マシンからアンインストールし、その後でVisual Studio から配置を行うことで正常にDebugできます。

なお、Visual Studio からではなく、ストアからアプリをインストール・更新する場合(エンドユーザーの場合)は特に問題ありません。例えばRelease 1 がAny CPU Package、Release 2 がCPU Native の Package だった場合、アプリの更新はRelease 1 → Release 2 で問題無く行われ、アンインストールが必要、アプリ情報が消える、等という事はありません。

パッケージングについては、パッケージ作成の際にNeutral を外し、各CPU のチェックを入れます。
作成が完了すると.appxupload ファイルがCPU毎に3つ作成されるので、それら3つをDashboardにUploadします。
※ Package 3つになったとしても、共通のAppIdを持つのでストア上では一個のアプリになります。

また、言語別のリソースを持つ場合、VS2013の既定のバンドル設定『必要に応じて』では複数のCPUパッケージ+言語リソースは一個のバンドル パッケージにまとめられます。この辺りはお好みでどうぞ。上で述べたように、ユーザーから見ると特に変わるところはありません。


VSのメニュー ストア→アプリ パッケージの作成 



...長くなってしまったので、アプリ内へのイベントの埋め込み、プライバシー等については章を分けてまた書きたいと思います。




2014年1月2日木曜日

WiFiSD8 Release 3

ストアアプリ版 FlashAir Client WiFiSD8 Release 3 を公開しました。Windows ストア からダウンロードできます。
既にインストール済みの場合、順次自動的に更新されます。

Click で ダウンロード
インストール・更新が成功した場合、設定→アクセス許可 に表示されるバージョン が「1.1.0.20」になります。
バージョン表示 設定チャーム→アクセス許可 で表示されます


変更点

2014年に撮影した写真が「2015年」にグループ分けされてしまう問題の修正

年が明けて初詣の写真を転送していて気が付きました。大変お恥ずかしい…
なおRelease 2 でも、写真そのもののExif、日付等には影響ありません。

一括転送で.jpgと同じ名前のファイルも転送するオプションの追加


一括転送において、画像ファイル名と同じ名前・別の拡張子のファイルがある場合そのファイルも同時に転送するオプションを追加しました。設定チャーム→WiFiSD8 設定から設定できます。
実質、RAW ファイル転送用です。RAW ファイルの拡張子はカメラ・メーカーにより異なるため、このような実装になっています。

その他細かい修正

・グループ表示画面から「更新」(FlashAirからのファイルリスト再読み込み)が出来るようになりました。

2014年1月1日水曜日

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


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

昨年は futa8 と WiFiSD8、アプリ二つを公開する事ができました。
お使い頂いている方、ありがとうございます。

これまで Windows Desktop App 開発の仕事は長かったのですが、自前で一からデザインしたアプリをストアに載せるというのは初めての経験でした。足りない部分多くはありますが、自分が良いと思うものを両手で実装していくのは大変に楽しいものでした。
今年も、なんとか良い物を形にしていきたいと考えています。
宜しくお願い致します。

なお WiFiSD8、不具合等を修正したRelease 2 を既にストアに提出済みなのですが…未だ審査が始まっていないという困った状況です。
ご迷惑をお掛けしています。
1/1朝 審査通過しました!Windows ストアからDLできます!

写真は昨年10月、東京拘置所一般公開での一枚です。