海外向け公開は難しい?センサーとサウンドを使った新しいアプリ

2012年5月7日(月)
PROJECT KySS

開発上の課題

機能が固まったところで、実装段階で生じそうな課題をリストアップして、先に解決策を考えておきます。

加速度センサーの処理

・加速度センサー非対応の端末への対応

前回までの「一日一句」アプリでは、ネットワーク接続を前提とするMicrosoft Translatorを用いた翻訳機能を、ネットワーク接続の設定をオフに変更している端末で使った時、技術認定の要件のページにある、「5.1 アプリケーションの信頼性 > 5.1.2 アプリケーションを閉じる」の「ユーザーにわかりやすいエラーメッセージを提供」することが、ひとつの課題でした。ただ、この接続オフの状況は、IS12Tの設定を変更すれば再現できました。

ところが今回は、加速度センサー非対応の端末について考慮する必要があります。しかし、IS12Tに加速度センサーが標準で搭載されているため、テストできません。そこで、MSDNにあるとおり、加速度センサーがロードされた時に、デバイスが加速度センサーをサポートしていない場合、メッセージ表示するコードを追加することにします。
→参照:方法: Windows Phone の加速度センサーからデータを取得する

サウンドファイルの扱い

・サウンドの扱い

サウンドの再生処理を実装するにあたって、サウンドに関する認定条件も確認しておきます。
特定のアプリケーションの種類についての追加の要件」の中の、「6.4 Music + Videos ハブのアプリケーション」「6.5 メディアを再生する Music + Videos ハブ以外のアプリケーション」がサウンドに関わる条件です。
このアプリでは、Music + Videos ハブは使いませんし、SilverlightからXna.Framework.Audio 名前空間のSoundEffectクラスを使って単純に再生させるだけですので、抵触することはなさそうです。SilverlightからXna.Framework.Audioを利用する方法については、MSDNコードレシピを参照してください。
→参照:[XAML/VB] Xna.Framework.Audio を用いて Windows Phone で複数のサウンドを再生する

・サウンドとxapファイルのサイズ

前述のとおり、このアプリには、複数のサウンドファイルを含めることになります。
そのため、アプリのダウンロードサイズが大きくなります。マーケットプレイスでは、アプリの説明ページの左下にダウンロードサイズが表示されますが、確認しないユーザーもいるかもしれませんので、アプリの説明の中にも、サイズを明記することにします。

・ファイル名の付け方とフォルダ分け

サウンドのテーマは3種類ですが、いずれについても、左上に傾き過ぎた時は左チャンネルからの高い音を再生し、右下に傾き過ぎた時は右チャンネルから低い音を再生する、というように、どのような時にどのタイプのサウンドを再生するかという点は共通です。そこで、サウンドファイルには共通のファイル名を付け、テーマ別にフォルダを分けて区別することにします。再生するサウンドのファイル名を指定するコードを共用できるからです(図6)。

 図6:サウンドのフォルダの構成とファイル名(クリックで拡大)

・サウンドのデフォルトのボリューム

アプリを実行した途端に、突然大きな音が出力されてユーザーが耳を痛めてはいけないので、ボリュームを制御するスライダーのデフォルトは「3」にしています。ただし、どの程度にしておくのがよいかは、利用時の環境や、実機およびヘッドホンのボリューム設定などによって異なります。PC上のエミュレーターで確認する場合と、実機で確認する場合でも異なります。こういった個人では判断しかねる問題については、開発に時間的余裕があるなら、事前に友人知人にテスターを依頼した方がよいでしょう。

英語化

・画面上のテキスト

今回のアプリは複数言語対応のローカライズではなく、英語版のみで、作り分けはしません。そのため、どの国の人が見ても分かるように、また、英語の苦手な人が見ても使えるように、画面上のテキストは「START」と「OK」のみとします。

複数言語対応のローカライズについては、3月7日の「UX-TV」で「多言語化」についての解説があります。
→参照:UX-TV: 3/7放送分

・ヘルプとアプリの説明のテキスト

英語版アプリでは、ヘルプと申請時のアプリの説明のテキストは、どちらも英語で書く必要があります。ヘルプは数行で済ませたとしても、アプリの説明はある程度の行数を書きたいものです。これは、開発者自身がネイティブでない限り、できる範囲で作成するしかありません。
ただ、機能を表す言葉さえ散りばめていれば意図は伝わりますから、神経質になる必要はありません。今回のアプリのテキストは、筆者が中学高校で習っただけの英語で書いていますが、リジェクトなく認定されています。
1から書くのが億劫な場合は、日本語で書いて機械翻訳を使っても問題ないようです。実際、機械翻訳を使って認定されているケースをいくつも見聞きしています。アプリのアイデアがあるにもかかわらず、正確な英語でなければならないという考えに縛られて一歩を踏み出せないのだとしたら、それはもったいないことではないでしょうか。

・申請時の「テストのメモまたは指示」

APP Hubで申請する際の「テストのメモまたは指示」(第2回の図45参照)は英語で書く必要はないため、日本語で書いたものでかまいません。

  • 「Sound Clinometer Ver.0.8」デザインや部品のExpression Designファイル

四国のSOHO。薬師寺国安(VBプログラマ)と、薬師寺聖(デザイナ、エンジニア)によるコラボレーション・ユニット。1997年6月、Dynamic HTMLとDirectAnimationの普及を目的として結成。共同開発やユニット名義での執筆活動を行う。XMLおよび.NETに関する著書や連載多数。最新刊は「Silverlight実践プログラミング」両名とも、Microsoft MVP for Development Platforms - Client App Dev (Oct 2003-Sep 2012)。http://www.PROJECTKySS.NET/

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています