bekkou68 の日記

Gogengo! や IT 技術など。

tiTokyo に参加しました #titokyo

きっかけ

日本初の Titanium カンファレンスと聞いて行って参りました。イベントページはこちら。当日のお話のメモや感想をつらつら書いていきます。

Jeff Haynie さん

メモ
  • acceptracotr の会社の方針・大事にしていること
  • Titanium のコミュニティの成長。開発者は40万人。世界中で使われ始めている
  • 生産性を高めより簡単にアプリをつくれるようなサポートをしていきたい
  • v3.0
  • v3.1 は今年の後半あたりにリリース予定
    • コードを書いたらすぐに実機に反映できる「Live Editing 機能」
    • TableView を代替する ListView が導入される。多くのデータ・ダイナミックなデータを扱えるようになる
  • Titanium のロードマップとして Blackberry, Tizen, Windows Phone へのサポートも行われていく
  • 注目すべきコミュニティプロジェクトは Ti Package Manager, TiShadow, Foundry22
  • Alloy でよりかんたんな Ti 開発へ
  • ACS(Appcelerator Cloud Services)。クラウド。1ヶ月500万回まで無料でAPI呼び出しできる
  • 無料・オープンソースは Titanium と呼ぶブランディングをしていく予定。企業向けのブランドとしては appcelerator。それぞれのブランドを調和させたビジネスを展開していく
  • Appcelerator Platform では開発からテスト、運用までをサポートする
感想

Appcelerator がどのようなことを考えてこれからを展開していくかがかいま見られてよかったです。Live Editing 機能が待ち遠しすぎます! デザインとロジックが分離されててコードがライブで反映される次世代Titanium が楽しみです^^

Tom Lounibos さん

メモ
  • 継続したテストをして質の高いアプリをつくろう
  • モバイルテスト自動化サービス TouchTest を Appcelerator と共に統合していく
  • SOASTA はカリフォルニアにある会社で従業員募集中。受賞したり特許をとったテクノロジー
  • ビルド => テスト => デプロイ => モニター の流れをサイクリックにしていこう
  • SOASTA Platform
    • TouchTest(ビルド): Continius testing: ファンクショナルテストの自動化
    • CloudTest(テスト): スケーリングされたテスト。ハイパフォーマンスなテスト
    • mPluse(モニタリング): ユーザのアクションのモニタリング
  • London 2012 Olympic のときに SOASTA のプロダクトが使われた
  • いま、アプリのうち80%が手作業でテストされている
  • OS やデバイスの多様化。ゲーム用のフレキシブルなディスプレイやカーナビもある。それを吸収するような自動テストを開発
  • TouchTest のデモ
    • 大まかな仕組み: GitHub にソースを check-in して、Jenkins で check-out して実機に流して、TouchTest でテストを実行する
    • チェスゲームでジェスチャーを入力してそれを再生したテストの自動化のデモ。Selenium みたいな感じ
    • アプリ内にテストの仕組みを埋め込むことで、高い精度で脱獄せずにテストを自動化できるようになった
    • 同時に8つくらいの別のOS, デバイスで同時テストのデモ。すごい!
  • 新しい Titanium Platform は、Titanium(ビルド)・TouchTest(テスト)・crittercism(モニタリング)となっていく予定
  • mPluse のデモ。地球のどこでアプリが使われているのかがわかったり、他にも6つぐらいグラフが表示されてた
感想

Titanium のアプリを仕事や個人でつくっていますが、クライアントのテストは手作業でやっています。シンプルな遷移だけでもテストが自動化できれば質をよりキープした開発になりそうです。クライアントテストが CI できるようになっていくことを期待!

ランチ

お昼は幕の内弁当と飲み物をいただきました。無料のカンファレンスでこのクオリティ。すごい! 食後はデンソーさんのブースをのぞいて来ました。NaviCon や車API のコンテストの話を聞いたりデモを見ました。車とアプリ、アイデアの幅が広がります。

武智 俊英さん

メモ
  • デンソーの紹介。QAコードもつくった。世界初のデジタル地図のカーナビ。環境・安全・快適・利便
  • 熱・電気・パワトレイン・電子・情報安全機器などの紹介
  • ECU: 車のコンピュータ。2013年の高級車に100個搭載されていることも
  • 2015年には1億行を超えるソースコードが搭載されるのではという予想
  • 年間130万人が交通事故で亡くなっている。色々な取り組みで死者は減ってきている
  • 交通事故の原因の半分は「発見おくれ」
  • 認知・判断・操作をサポートする仕組みづくりをして事故を減らす
    • ナイトビジョン: 暗い景色もよく見える
    • ドライバモニタリング: ドライバが眠ってたらアラートを出すとかが可能に
  • 車がつながる時代: 携帯電話網・電力線通信(ex. 緊急時の電力供給)・無線LANex. ETC)
  • HMI、制御部(センサ・カメラ)、通信(ETC・NFCセルラー回線)が連携する
  • 2G, 3G, LTE とネットワークが高速になるにつれ、連続で大量のデータを送れるようになってきた
  • ライフサイクルの違う車とスマホ
  • 欧米では車両情報がオープンに
  • 課題
    • 物理的な互換性(コネクタの変化)
    • OSの互換性
    • 手持ち操作が法律的に禁止
  • NaviCon: スマホからカーナビへの位置情報のハブ MarketPlace で NaviBridge Module で検索
    • ナビを操作するリモコンとしてスマホを使える
    • スマホのバーガーマップで見つけた店の位置をナビで表示できる
  • Arpeggio の紹介
  • 車をもっと楽しめるようなアプリを!
感想

色々な分野でオープン化がどんどん進んでいるなあと思いました。いま現在車についてどのような取り組みがなされているかなど、車の今が聞けてよかったです。ヒヤリハットという言葉をはじめて聞きました。

Ricardo Alcocer さん

メモ
  • Ti のプロジェクトをつくるときは Ti Classic とか選べる
  • Ti の MVC
    • View: xml tss
    • Controller: js
    • Model
  • フォルダ構成
    • controllers: app logic
    • styles: styling
    • views: UI definition
  • Facebook みたいなスライドするメニューの実装デモ
  • theme: フォルダの中身を変えることでテーマを変えられる。tss や画像も可
  • widget という機能でコードを再利用できる。小さなアプリみたいなようなもの。Ti のバージョンも書かれてる
  • Alloy から Backbone.js にアクセスしてモデルをつくる仕組み
  • 設定ファイルにテーブル名・カラム・タイプを書いておくと DBをつくってくれる
  • xml と DB とを連携できる。Rails の form_for(:model) みたいなイメージ
  • tss はプラットフォームごとにプロパティを指定することもできる
  • migration、Underscore.js の機能も取り込まれている、CLIACS
  • Alloy 1.0 は "今日" リリース済み! Ti SDK 3.0 以上で使える
  • Alloy の今後
感想

実践的な内容で今風の Titanium x Alloy のやり方がよくわかりました。今までの Titanium はロジックにデザインが混ざっているのでそれが分離されるのはいいなあ! View は xml で書くらしいのですが、Haml で書けるようになると嬉しいなあと思いました(こういう要望はどこに投げるといいのでしたっけ)。

井口 恒太 氏

メモ
  • Lanica がどのようなきっかけで創業したか。半分くらい Adobe だった社員。Pixer の人もいる
  • Innovation Fund: 有望なプロジェクトに Appcelerator が投資する
  • Platino
    • OpenGL ES 2.0 を搭載している Ti のためのゲームエンジン
    • 2.5DBox2D(パラッパラッパみたいなやつ。Box2D)
    • Sprite Sheets(スプライトシート:画像を短い時間で切り替えてアニメーションを実現している)
    • Particle(パーティクル:火とか煙がどのように表示されるかをリアルタイムで計算して表示する)
    • Isometric Engine(アイソメトリックエンジン:シムシティみたいなやつが実現されている)
    • Physics(フィジックス:物理演算。ex. アングリーバード)
  • デモ。Titanium x Platino のシューティング
    • 機体の爆発は Particle。機体は 2.5D
  • いままで細かい画像を ImageView でがんばって動かそうとしてもまず動かなかった。それを実現するのか Platino、Open GL
  • platino の使い方。 Particle Designer で pexファイルをつくれる。TexturePacker で Sprite Sheets のファイルを作れる
  • これからの流れ
  • Platino はまだ使用段階ではない。ベータプログラムがあってフィードバックなど募集中
  • Platino はフリーと有償版の 2つ出る予定。有償版は Shaders などの追加機能がある
  • マルチタッチの実装は iOSAndroid でタイミングや戻り値が違うので実装が難しい
  • サウンドiPhone では OpenALAndroid では OpenSL を使っている。Ti のサウンドコンポーネントは音を連続で流すとおかしくなるので使っていない
  • Platino と Ti のコンポーネントは共存して使える。ただ、混ぜる時はパフォーマンスに影響が出やすいので注意
  • iPhoneAndroid で機能はほぼ同じものが提供される。ディスプレイのどこに表示させるかという話が多いのでプラットフォームごと
  • Alloy とも組み合わせて動くはず
感想

JavaScript でゲームをつくれるのはワクワクするなあ。Alloy との組み合わせもおそらく大丈夫とのことなのでいいことづくめですね。スプライトシートなどゲームで使われる用語を知らず、今回いろいろ学べてとても嬉しかったです。

Q&A

事前に集めた質問を開発者に聞いた後、ライブ質疑応答がありました。いくつか書きます。

  • Windows8 対応はどのように進めていきますか?
    • Windows8 独自のタイルをサポートしていく。
  • Alloy はいつ 1.0 に?
    • 今日!
  • Alloy は Appcelerator として推奨している?
    • Alloy は選択肢の一つ。だがベストプラクティスとして Acceplator はオススメしている
  • Alloyユーザとウィジェットをつなぐようなマーケットプレイスができる予定は?
    • あります。
  • SlideShare に今日のスライドはあがりますか?
    • あがります。
  • Alloy でオートインクリメントとかはどう書くの? DBのカラムタイプは指定できるけど
    • できる。あとで懇親会で見せます
  • Titanium Desktop はなくなる?
  • Appcelerator のプロジェクトがフリーになっていっているけど全部?
    • GitHub にあがってるやつはフリーになっていきます
  • Android のとあるプラットフォームをつかうときに Activity を継承しないといけない。Ti.Activity がすでに使われていて実質 SDK が使えなくて困っている
    • フィードバックを送りましょう。もしくは生成されたコードを書き換えたり、コンパイル前のクラスを書き換えたり(?)しないといけないでしょう。

その他質問が 5つほどありました。書ききれなかったのでした><

懇親会

建物内の別のお部屋に移動して懇親会へ。ここでも料理とビールが無料。すごすぎます!
2分くらいの LT大会をやっていました。事前に申し込んではいなかったのですが、みなさんのお話を聞いていたらウズウズしてきたので飛び入りで LT してきましたw "アジャイルサムライを書いた人がイグニスという会社にいて、Gogengo! というのを開発してて、今度 Titanium + Alloy でアプリをリリースします" というテーマでお話してきました。実はまだ Titanium 2系でできているので勉強がてら書き直しますw
LT 後、偶然にもアジャイルサムライを持っていた方がいたのでサインさせていただきました。アジャイルサムライすごい! Gogengo! も「いいアイデアだね!」と言っていただきとても嬉しいかったです。イグニスも「あ、あの会社か!」という反応をいただいてよかったです^^ 勇気出してよかったε-(´∀`*)ホッ

おわりに

Titanium のネックだったロジックとデザインが分離できるのはとても嬉しいニュースでした。さらにコードのライブ反映がこれから(おそらく今年の後半)に向けて開発中とのことを聞き、とても楽しみです! クライアント側のテストを自動化できるといいなあと思っていました。実現が楽しみです^^ 様々な問題領域があるのだなあと車の話を聞いて思いました。同時通訳されていた方がすごすぎて憧れました。沢山の人とお会いできてよかったです!
ハイクオリティなイベントを開催してくださりありがとうございました。とても楽しい場でした!
(とても走り書きで書いたので間違いなどありましたら教えてください><)