imthinker::net

ふらふらうぇぶろぐ

エッセンシャル tiTokyo 2013

f:id:RyuGoo:20130217124536j:plain

Titanium Mobile ユーザ会地雷踏み担当の ryugoo_ です。 Titanium Mobile を開発する Appcelerator 社初の海外カンファレンス、 tiTokyo 2013 が 2013/02/16 に開催されました。私はスタッフとして参加していまして、主に写真を撮っていました。

今回は tiTokyo 2013 を振り返るために、各セッションのエッセンスを抽出し、まとめたいと思います。また、既に素晴らしいまとめを執筆してくださった方もいらっしゃいますので、そちらもご覧ください。


キーノート : Appc CEO, Jeff Haynie

Appc CEO Jeff Haynie 氏の tiTokyo 基調講演より、実際の開発に関連しそうなところをピックアップします。 Titanium 3.1 に注目です。

Titanium 3.0.2 Service Pack

  • 10 の機能追加と 100 のバグ修正を行った。
  • iOS ではロケール毎のスプラッシュスクリーンに対応する
  • Android には SearchView Widget を提供する

Titanium 3.1

  • Q2 2013 にリリース予定
  • Alloy のアシスト機能やデバッグ
  • コードアナライザ (Titanium Code Processor ?)
  • シミュレータを起動したままのコード編集 / 反映ができる「ライブエディット」
  • 動的なデータの取扱に対して TableView よりも適した ListView API
  • より良いパフォーマンス / 新しいビルドシステム

オープンソースモジュールの提供

ロードマップ

  • Blackberry 10 のサポート
  • Tizen のサポート
  • Windows 8 / Windows Phone 8 のサポート

ブランド

  • Titanium ブランドはオープンソース、無償のプロジェクトを指すようになる
    • Appcelerator Cloud Services の無償版は Titanium Cloud になる ?
  • Appcelerator ブランドは商用ブランドとして取り扱う

Titanium 3.1 ではコードの編集と確認がより簡単になるライブエディットや、 TableView API の代替品になるという ListView API が楽しみです。

最後のブランドの部分に関してはさらりと話していましたが、ブランド戦略が明確になりました。 Titanium ブランドは OSS / 無償のものとして、商用に関しては Appcelerator ブランドに統一していくようです。


SOASTA CEO, Tom Lounibos

アプリケーションテスト環境を提供する SOASTA CEO Tom Lounibos 氏のセッション「継続的なテストで高いユーザエクスペリエンスを提供する方法」をピックアップします。

SOASTA 社

  • SOASTA 社はアプリの自動テストを得意とする
  • オフィスは各国にあり、2013年は日本にも作りたい
    • 人員募集 ?
  • 500 を超える企業を顧客に持ち、 15,000 もの開発者・試験者が TouchTest を使っている

SOASTA モバイルテストプラットフォーム

  • モバイルアプリのサービスの質を高める必要がある
  • 「ビルド」→「テスト」→「デプロイ」→「モニタリング」のサイクルを回していく
  • ビルドからテストの段階は「TouchTest」を使って、継続的なテストを行う
  • テストからデプロイの段階は「CloudTest」を使って、パフォーマンスのテストを行う
  • デプロイからモニタリングの段階は「mPluse」を使って、ユーザのモニタリングを行う

ユーザエクスペリエンスに注目する

  • ユーザは満足できていない
  • 将来的に Google Glass のような小さなデバイスも登場する
  • 車のダッシュボード端末もそうだろう

テスト

  • モバイル開発者はテストを自動化する必要がある
    • 機能テスト、ユーザパターンテスト、デバイス、 OS 、キャリア ………
  • Titanium / TouchTest の組み合わせでライフサイクルを作る

継続的インテグレーション

  • 開発する
  • GitHub などのリポジトリにプッシュする
  • Jenkins がチェックアウトしてきてリアルなデバイスに送り実行する
  • TouchTest がテストを走らせる
  • Jenkins がテスト結果を受け取り、合格ならばアプリケーションをパブリッシュする

TouchTest デモ

  • チェスゲームアプリを例にデモをする
  • TouchTest はクラウド上でテストケースを書く事ができる
  • TouchTest アプリケーション上に開発しているアプリの画面が表示される
    • 脱獄する必要なんて無いよ! と何度も言っていた
  • この画面上で行った動作はテストケースとして TouchTest に記録される
  • 記録されたテストケースはあとで簡単にプレイバックすることができる
  • テストケースは複数のデバイスで同時に走らせる事ができる
    • デモでは10台以上のデバイスで同時に走らせているビデオが流れた

Titanium の高速な開発サイクル

  • Titanium を使った継続的インテグレーション
  • TouchTest を使った継続的テスト
  • Crittercism を使ったクラッシュモニタリング
  • これらを使って高速な開発サイクルを維持する

mPulse の紹介

  • mPulse はリアルタイムなアプリモニタリングツール
  • 世界中のどこで、どれぐらいのユーザが使っているのかを可視化することを可能にした
    • デモ画面ではいくつかのグラフと中央に地球が表示されており、使用地点がハイライトする
    • 超かっこよかった

モバイルアプリのテストはコードレベルのユニットテストを Jasmine で行うなどのアプローチがありましたが、回遊テストをクラウドで簡単に実行できるプラットフォームとして、 SOASTA の TouchTest はとても魅力的に思えました。開発から運用までを継続的に行っていくことで質の高い UX を提供することが求められていくでしょう。


DENSO, 武智 俊英

tiTokyo スポンサーである DENSO 社の武智様のプレゼンテーション「つながるクルマの世界」からピックアップします。

DENSO の紹介

  • DENSO は車の部品を作っている
  • ハードウェアだけではなく、自動車専用の IC も作っている
  • QR コードや世界初のカーナビも DENSO が作った

注力点

  • DENSO は「環境」「安全」「快適」「利便」を注力分野としている
    • CO2 排出量の削減
    • 事故ゼロ社会を目指した安全性向上
    • 情報サービスによる快適・利便性の向上
  • 自動車に載せるコンピュータの量は増えている
    • とある高級車では100個ものコンピュータが載っている
  • 予測では 2015 年には車のためのソースコードの行数が1億行を超える勢い
  • ハイブリット車ではエレクトロニクス製品の需要が拡大している
  • DENSO の技術開発方針「いつもの安心、もしもの安全」
    • カラーナイトビジョンによる暗所運転の安全性向上
    • 大画面のヘッドアップディスプレイ
    • ドライバの状況をモニタリングする技術

つながる時代

  • 通信速度が向上することによるエンタメ系サービスの拡大
  • 車に対するスマートフォン技術の応用による新しいサービスの誕生
  • 途切れない通信による安全系の品質向上
  • 車両メーカーは車両情報の公開を行う動きを見せている
  • スマートフォンとの連携が期待される
    • スマートフォンのハードウェア的な仕様変更による接続不可能化
    • スマートフォンのソフトウェア的な仕様変更による使用不可能化
    • これらは問題だ

NaviCon

  • スマートフォンとカーナビをつなぐハブアプリケーション
  • Titanium 用のスマートフォンモジュールは OMM で配布中
  • デモとして iPhone で検索した店の情報などをカーナビに送り込むなどのが行われた
  • iPhone 上の地図をピンチイン / ピンチアウトを行い、カーナビの地図が拡縮される

車におけるスマートフォン連携

  • 運転中でも使いやすいアプリ
  • 移動中の通信環境でも安定して動作する
  • 車で長く使える
  • 簡単な接続動作
  • 車で使いたくなるアプリの提供
    • これらがポイント
  • 車のセンサ情報を使うことで様々なアプリケーションが考えられる

「いつもの安心、もしもの安全」が個人的にツボです。車の情報を使った新しい何か …… を開発者は期待されています。


Appc Platform Evangelist, Ricardo Alcocer

Appcelerator Platform Evangelist の Ricardo Alcocer 氏による Alloy の紹介プレゼンテーション。非常に説明しづらいですが、ピックアップします。

Alloy

  • Alloy は公式の MVC フレームワーク
  • XML と JavaScript で構築していく

テーマ

  • テーマという簡単にUIのデザインを切り替える機能がある
  • themes ディレクトリの中にテーマ名のディレクトリを作り、 TSS を置く
  • config.json 内で使用するテーマ名を記述し、簡単にスタイリングを切り替えられる

ウィジェット

  • ウィジェットはミニアプリケーションのようなもの
  • いろいろなアプリで共通するようなビューや処理をウィジェット化できる
  • ウィジェットは XML 中では Require タグで読み込ませられる
    • これまでの CommonJS モジュールの発展版と考えれば分かりやすい

データバインディング

  • モデルを UI にバインドすることができる
  • モデル は Backbone.js ベース
  • Titanium Studio からモデルを定義することができる
  • モデルの定義ファイルが自動的に DB なども作ってくれるので SQL は書かなくて良い
  • XML 中からモデルへの参照を表す Collectioin タグを書く
  • モデルを定義したときのフィールド名を XML 中に {} 付きで書くとモデルを参照できる

Alloy 1.0 リリースだ!

  • Titanium 3.0 以降でのみ動く
  • SQL アダプタを新しい物にした
  • Titanium Studio のナイトリービルドと組み合わせるとアシスト機能が使える

Alloy の今後は

  • Titanium Studio 3.1.0 で Alloy アプリのデバッグに対応
  • テーマファイルを動的に切り替えできるようにする
    • オンラインからテーマを取得して切り替えもできるようになるらしい
  • モデルの Sync アダプタを書くためのフレームワークを提供
  • ウィジェットでモデルとテーマを使えるように
  • Model - View バインディングの実装を完了させる (現時点ではまだ不十分)

Alloy も 1.0 になりましたが、さらなる追加機能が予定されていて楽しみです。特にオンラインからのテーマ取得と、動的な切り替えは新しい見た目を一部ユーザにテスト配布するときなどに役立つのではないでしょうか。先のテスト話と併せて、迅速な開発と運用をサポートするかもしれませんね。


Lanica Co-Founder, 井口 恒太

Titanium 向けのゲームエンジンである Platino を開発中の Lanica 社共同設立者である 井口 恒太 氏のプレゼンテーション。 Platino エンジンの現状をピックアップします。

Platino エンジン

  • Titanium の上で動く OpenGL ES エンジン
  • 2D / 2.5D ゲームのためのエンジンである
  • イメージスプライト、パーティクル、シェーダー、アイソメトリックエンジン ……
  • Titanium のモジュールとして提供される
  • 今まで通り require 関数で読み込んで GameView というものを作って動かす
  • GameView は独自にマルチタッチに対応している
  • 既存の Titanium View と組み合わせる場合はパフォーマンスに注意が必要だろう
    • "どうしてもチェックボックスを打ち落としたいとか考えない限りは …… "
  • サウンドに関しても独自実装
    • iPhone は OpenAL
    • Android は OpenSL
  • Alloy は使っていないが、モジュールなので読み込ませれば使えるだろう

ブラウザからネイティブの時代

  • 日本のソーシャルゲームはブラウザゲーからネイティブに移行している
  • よりリッチな表現などが求められている

Palatino の価格

  • 無償版と有償版を提供予定
  • 無償版からはシェーダーなどの「明らかにプロ向け」機能をオミットする
  • 有償版は Unity Pro ぐらいの価格で見ておいてもらえれば …… とのこと

Platino は無償版も提供されるということで、今まで通りの Titanium 開発にモジュールを加えるだけでリッチなゲームにも対応するプラットフォームとしてかなりの注目を集めるのではないでしょうか。もしかすると Alloy が上手にプラットフォーム依存を吸収し、 Platino を使うことでマルチプラットフォーム対応のリッチなゲームが簡単に配布できるようになるかもしれません。要注目です。


Titanium Mobile ユーザ会 Q&A

Windows 8 / Windows Phone 8 対応をどうしていくのか

  • Windows 8 プラットフォームはタイルやチャームなどの独自機能がある
  • これらへの対応に注力する必要がある

Alloy と Titanium Classic 、どちらを Appc は推し進めていくのか

  • Alloy はオプション扱いだ
  • Appc 的なベストプラクティスではあるが ……

Alloy Widget や Sync アダプタの公式リポジトリは作らないのか

  • 作る

Alloy の仕様変更が急すぎて辛い

  • Alloy はベータ版だぜ
    • tiTokyo で 1.0 リリースしたけど
  • Backbone.Events は処理コストが高くて取りやめた

Alloy モデル定義時に SQL アダプタ使ってオートインクリメントできる?

  • できる

GREE プラットフォームとか使いたいんだけど、 Ti の仕様上できない

  • Activity 継承するの? それは良くないデザインだな ……
  • 出力されたコードを自分で修正したり、空のクラスを作って対応する必要があるかも

Alloy はオプション (ベストプラクティス) …… つまり、どういうことだってばよ。


懇親会と LT

懇親会では LT や Appc や DENSO からの素敵なプレゼント抽選会がありました。

LT

すいません。数多くて把握し切れていません。私も HERE を発表してきましたが、皆様ゲームやツールを思い思いに作っていて、それを Appc CEO の前で発表できるという素晴らしい機会だったのは間違いありません。個人的には「オコシテ」というサービスが面白かったです。ソウルスクリーム。

抽選会

Appc からは iPad mini 4台! DENSO からはプラズマクラスター発生装置 (発売したて) 3台という太っ腹な抽選会。当選された皆様、誠におめでとうございます。羨ましいです。


終わりに

今回、 tiTokyo にはスタッフとして参加することができました。まずは来場された皆様に厚く、御礼申し上げます。そして今回のイベントをスポンサードしてくださった DENSO スタッフの皆様、コーディネート・準備・撤収を引き受けてくださったユーザ会メンバーの方にも感謝いたします。最後に、このような会の原点となる Titanium Mobile という素晴らしい製品を作ってくださった Appcelerator に感謝いたします。

f:id:RyuGoo:20130217124729j:plain

CODESTRONG!