強火で進め

このブログではプログラム関連の記事を中心に書いてます。

iOS 4.2以降ではちょっとした裏技を使えばWebGLが使えるみたい

こちらのブログ内に引用されているツイートによればiAdであればiOS 4.2からWebGLが使えていたようです。

Enabling & Using WebGL on iOS - Nathan de Vries
http://atnan.com/blog/2011/11/03/enabling-and-using-webgl-on-ios/

また、iAd以外にもUIWebViewにちょっとした裏技を使えばWebGLが使えるみたいです(Safariアプリ上で実行する方法は今のところ無いみたいです)。
具体的にはこんな感じ、とっても分り易いですねw

[webView setWebGLEnabled:YES];

実際にこれを使用したサンプルがこちらのGitHubにて公開されています。

このプロジェクトをビルドすれば実際に3Dモデルが表示されます。

373行辺りの以下の記述を

              // Front face
               0.0,  1.0,  0.0,
              -1.0, -1.0,  1.0,
               1.0, -1.0,  1.0,

              // Right face
               0.0,  1.0,  0.0,
               1.0, -1.0,  1.0,
               1.0, -1.0, -1.0,

              // Back face
               0.0,  1.0,  0.0,
               1.0, -1.0, -1.0,
              -1.0, -1.0, -1.0,

              // Left face
               0.0,  1.0,  0.0,
              -1.0, -1.0, -1.0,
              -1.0, -1.0,  1.0

以下様に変更する(Y座標を減らす)とちゃんと形が変わります。これによりOpenGLで描画しているのでは無く、ちゃんとHTMLファイルに書かれた内容を反映して動作している事が確認できます。

              // Front face
               0.0,  0.5,  0.0,
              -1.0, -0.5,  1.0,
               1.0, -0.5,  1.0,

              // Right face
               0.0,  0.5,  0.0,
               1.0, -0.5,  1.0,
               1.0, -0.5, -1.0,

              // Back face
               0.0,  0.5,  0.0,
               1.0, -0.5, -1.0,
              -1.0, -0.5, -1.0,

              // Left face
               0.0,  0.5,  0.0,
              -1.0, -0.5, -1.0,
              -1.0, -0.5,  1.0

まぁ、この方法でプログラムを作成してもAppStoreの申請ではリジェクトされる可能性があるかと思いますので実際にはiAdを使う時以外はWebGLを使わない方が良いかと思います。

Android デベロッパー向けの Google TV 情報

Google Developer Day 2011に参加しました。

参加したセッションのメモを書いときます。

Googleは何故、Google TVを作ったのか

  • アメリカでは平均2.5人に2.86台TVが有る
  • アメリカ人は1日に平均5時間以上TVを見ている
  • 2010年には全てのテレビの20%にインターネットが機能が付いているものが販売されました
  • 2014年までに、スマートテレビの販売は123万に達すると予想されています

Google TVについての紹介

  • Integrated Search。複数のリソースに対して横断的に検索が可能
  • この様なコントローラが付属

  • 上下左右に移動可能なD-pad
  • メディアの再生や早送りなどが可能なメディアキー

  • リモコンのAndroidアプリも有る


UIデザインのTips
  • あなたのインターフェースの重要な部分を特定し、それらが適切に配置されていることを確認
  • 本質的でない情報とUIは非表示に
  • 柔軟性の有るレイアウトや拡張性の高いデータを使用(9-patch images)
  • UIデザイナを雇うことを検討
UIデザイン
  • 背景色は暗い色
  • ボールドのフォント
  • 行間をしっかり取る
  • テキストは短かく
ゾーン分けされたスクリーン画面

  • 実際にテレビに表示するとこんな感じ


選択とフォーカス

  • フォーカスの移動方法を考えてデザインする

  • グリッドデザインを活用すると良い

  • フォーカスされる順番の制御

ダメなデザイン例

この様なデザインだと中央の部分では全ての項目を移動した後でないと一番下のゾーンに移動出来ない

良いデザインの例

このデザインであれば簡単に左右へ移動可能

サイズ、解像度、density(ピクセル密度)

伸縮するレイアウトにする

オーバースキャン

オーバースキャンに注意。オーバースキャンについては以下のブログなどを参照。

オーバースキャン
http://d4.princess.ne.jp/multimedia/ntsc/overscan.html

フルHDのTVを買ったら 最低限ヤルべき事 [ホームシアター] All About
http://allabout.co.jp/gm/gc/51222/

チャンネルリストと変更方法

リモコン

左側のナビゲーションバー

オープンソースにて公開

ユーザの位置情報
LocationManager lm = (LocationManager)
  this.getSystemServer(Context.LOCATION_SERVICE);
Location loc = lm.getLastKnownLocation("static");
  • 位置情報の精度は粗い。郵便番号くらいの範囲でしか取得出来ない
開発に使うデバイス
  • Androidタブレット+Bluetoothキーボード→レイアウトの確認とナビゲーションのフォーカス移動をD-padの代わり矢印キーで確認が可能
  • Linux上で動作するエミュレータGoogle TV Add-on→レイアウト、スクリーンサイズ、メモリー、オーバースキャンの確認が可能
  • 物理デバイス(Google TVの事?)→オーバースキャン、パフォーマンス、ビデオ再生
心に留めておいて
  • NDKは無い
    • SurfaceView,RenderScript,OpenGLで頑張る
  • WebView vs Chrome & Flash
  • Wi-Fi & インサーネット
TVはソーシャルデバイス
  • 多くの場合、複数人が同時に使用する
  • ユーザのプライバシーデータの保護を考えて
  • 複数のアカウントおよびアカウントの切り替えの実装を検討して
利用可能な機能
機能の指定
  • タッチスクリーン機能の指定
<uses-feature
  android:name="android.hardware.touchscreen"
  android:required="false" />


|

  • ランタイムのチェック
getPackageManager().hasSystemFeature("com.google.android.tv");
マニフェストファイルの検証
  • "AAPT" SDKツールを使って検証する
$ aapt dump badging MyApplication.apk

このコマンドを実行して結果に以下の文字列が含まれているのを確認。

uses-feature-not-required:'android.hardware.touchscreen'
  • "android.hardware.camera"機能を確認して下さい

android.permission.CAMERA を削除するか「必要なし」と指定する

テレビでのテスト
  • テレビの表示モード(標準、ビビット、シネマ、ゲームなど)
  • コントラストとブライトネスのレベル
  • スクリーンサイズ(720と1080)
  • オーバースキャン(無補正で確認)
性能をテスト
  • アプリケーションの起動
  • アクティブティの切替時
  • Assetのロード時間(ネットワーク)
  • アニメーション
  • ビデオ再生
  • ナビゲーションとタイピングのレスポンス
  • ANRs?!(Application Not Respondingの事かな?)
マーケットにアップロード
  • 16:9のスクリーンショットを追加
  • 高解像度のアプリケーションアイコンを含める
  • 特徴を表したグラフィックを追加
  • 私たちに教えて下さい
お問い合わせはこちら!

http://code.google.com/tv

  • Stack Overflow:

[google-tv],[android]

@googletvdev,#googletv

http://profile.google.com/saxman

  • Contact form:

http://goo.gl/tVw4i

Google Developer Day 2011に参加して来ました

Google Developer Day 2011に参加して来ました。

東京 - Google Developer Day 2011
http://www.google.com/intl/ja/events/developerday/2011/tokyo/

参加者全員に色々とGoogleグッツが配られましたが自分が一番良いなと思ったはコレ。Googleアニバーサリーロゴ(Doodle)の中でも一番インパクトの有った、パックマンのロゴをシールにしたものです。前回のDev Quizのおかげでパックマンを見るたびにDev Quizを思い出す様になりましたw

会場にはこんなリアルGoogleマップのピンが有ったりしました。

これは左奥にあるマイクに音声で検索出来る事が可能で、検索結果はNFC経由でAndroidに転送出来るみたいです(Android持ってきて無かったので実際には試せませんでした)。

セッション会場の入り口では金太郎飴な感じのChromeアメが配られてました。

参加したセッションについて書いた自分のブログの記事

デベロッパーツールのティップス・アンド・トリックス - 強火で進め
http://d.hatena.ne.jp/nakamura001/20111101/1320165852

今までにないサイトを作る:HTML5 による最新ウェブアプリ - 強火で進め
http://d.hatena.ne.jp/nakamura001/20111103/1320322692

HTML5 のオフライン機能 - 強火で進め
http://d.hatena.ne.jp/nakamura001/20111103/1320327036

Android デベロッパー向けの Google TV 情報 - 強火で進め
http://d.hatena.ne.jp/nakamura001/20111104/1320425901

セッションに使われたスライドが公開されているもの

クラウド上でイケてるゲームを構築しよう

ニュースサイトの記事

Google Developer DayGoogleが期待する“日本の熱意”/開発者が注目すべきAndroid 4.0の新機能 (1/2) - ITmedia +D モバイル
http://plusd.itmedia.co.jp/mobile/articles/1111/02/news030.html

ASCII.jp:「Google Developer Day 2011」基調講演 開発者の奮起を促す
http://ascii.jp/elem/000/000/646/646322/

Google Developer Day 2011】今後のカギはAndroidHTML5ソーシャルグラフ活用(1/2):CodeZine
http://codezine.jp/article/detail/6260

他のGDD参加者の書かれたブログ記事

Google Developer Day 2011に行って来ました。 - from scratch
http://d.hatena.ne.jp/yosuke_furukawa/20111101/1320168343

天使やカイザーと呼ばれて » Google Developer Day 2011 Tokyoで僕的に印象に残った名言
http://www.eisbahn.jp/yoichiro/2011/11/google-developer-day-2011-tokyo.html

忘れたらググればいい: Google Developer Day 2011 の入口にあったやつ
http://fukubaya.blogspot.com/2011/11/google-developer-day-2011_04.html

GDD 2011 Japanの会場の様子 - akanuma's blog - s21g
http://blog.s21g.com/articles/2014

[GDD2011JP] AndroidのICS対応に関してのメモ(1) — Toroとトロは電子機械の夢を見るか
http://switch.dip.jp/toro/blog/?p=385

Google Developer Day 2011東京の基調講演におけるChrome/HTML5部分の補足 - Nothing ventured, nothing gained.
http://d.hatena.ne.jp/takoratta/20111105/1320495402

akaiho.st.: Google Developer Day 2011のこと
http://blog.akaiho.com/2011/11/google-developer-day-2011.html

isis re-direct 2 hard: Google Developer Day 2011 ADK Open Callに出展しました
http://isisredirect2hard.blogspot.com/2011/11/google-developer-day-2011-adk-open-call.html?m=1