SUGARSPOT

Androidアプリ、WEBサービス開発の SUGARSPOT  |Androidブログ「Androidのことなんだけど」もやってます

2013年5月25日土曜日

Google I/O 2013 報告会に参加してきました!

2013/05/25にDevFest Japan 〜 Google I/O 2013 報告会(中国会場)に参加してきました

東京、信州、名古屋、京都、中国、四国、九州をハングオンで接続してオンライン報告会!

アジェンダ

 13:00 ~ 13:30 ごあいさつ & 各会場の紹介
 13:30 ~ 14:20 Android セッション
 14:30 ~ 15:20 Chrome/HTML5 セッション
 15:30 ~ 16:20 Cloud セッション
 16:30 ~ 17:20 Social&Geoセッション
 17:30 ~ 18:00 まとめ


内容



興味のあったところだけ書きなぐった事を以下に記載しておきます
話しを聞きながら書いてたので、すごい意訳で書いてるところもあります。そのあたりご了承ください

また、最後にスライドのURLを記載しているので、スライドを見た方が早いですよ!と最初に言っておきます!

さいしょに

Google I/OのKyenote裏話を特別ゲスト「Chris Yerga」が(東京会場)登場
何度も何度も何度もリハーサル
ステージでも何度もリハーサル

1つだけ、みんなが聞くらしい「何のTシャツ?」と・・・
Tシャツをデザインして、TシャツプリンターでTシャツを印刷

そしてKeynoteの当日

当日も勿論リハーサル
メークさんもいる
そしてショーの開始

ごあいさつ & 各会場の紹介

会場に525台もの手作りのセンサーで温度や湿度やホコリやら・・を計測していたらしい
今年はお土産はChromebook pixel

Android

全体紹介(名古屋会場 江川さん)

関係セッション・・・大量(35 Session)

Development Tools

  • Android Studioが発表された。ソースコードビューからリソースが参照できる
  • Gradle(グレードル)ビルドシステム


Google Play

  • Translation(リソースから多言語に翻訳してもらうサービス)現在はパイロット
  • Revenue/Staged rollouts


Google Play Services

  • GoogleWallet(Playでデジタル以外の物が販売できる)
  • Location APIs(Fused location provider,Active Recognition,Geofencing)


Application Design

  • Structure in Android App Designというセッション


UI/UX

  • セッションは沢山あった


Game

Performances

Others
GoogleTVは韓国ですごく使われてる。もうすぐ4.xベースのを出す!

Performances(京都会場 足立さん(あだむろっかーさん))

なぜ性能なの?
 Time is Moneyみたいな話しをされました

  • 100ms - 300ms 早い
  • 300ms-1000ms
  • 1s+ 他のことを考えはじめる


ネットワーク

  • リダイレクトはやめよう(ネットワークコストがかかる)
  • バッテリーはコストがかかる画面の次に多い
  • 通信モジュールを休ませろ(待ってる間も消費する)
  • ビーコン(ハートビート?)は危険
  • 測定ツールで計測できる
  • LTEは結構いい
  • BestPractics
  1.   データを最初に多くとる。
  2.  ポーリングはしない。するにしても一度に多くとる
  3.  通信回数を減らす!


通信の高速化

  • Volley - ネット接続ライブラリ
  • 課題:順番が指定できない。キャッシュされない。互換性(HttpClient、HttpConnection?)
  • Volleyを使うと簡単にできるし、キャッシュも使いやすい


  1.    NetworkImageViewを使うと内部で勝手に画像を取ってきてくれる


  • Debugg&Trace
  • どうやってはじめる?


  1.  コードを取得してきて使う


グラフィックの最適化

  • Frameworkは頑張ってる。
  • 我々にできること→無駄な描画をしない!
  • 背景色はテーマで定義すると早くなる
  • 9patchに透明を使う。透明な所はレンダリングされないので高速化される
  • 他のテクニックは資料を参照!


Play Games Services & GCM(東京会場 安生さん)


  • Google Play Game(iOSでいうGame Center)
  • Cloud save/Achievements(実績)/Leaderboards(ランキング)/Multiplayer(多人数プレイ)
  • Androidだけでなく、WebやiOSでも使える
  • ユーザーが使うにはGoogle+にSininして使ってもらう
  • iOS開発サイクルとしてはカスタムライブラリのアップデート毎にビルドして提出
  • Adroidライブラリは非常にコンパクト。GooglePlay
  • 実績の表示位置は指定可能
  • Cloud Saveはゲーム途中の情報を保存できる(ゲーム以外の情報も保存できる)


  1.  大容量のデータを保存する場合はGoogleDriveの利用を検討


  • 注意点


  1.  ヒープを散らかさない(メッセージをやりとりするbyte arrayは使いまわそう・使う時は入れ物から出してコピーして?使う。入れ物は次のデータのやりとりに使いまわすから)


GCM XMPP Endpoint

  • 自前サーバーとGCMをXMPPでつないだ状態を維持→反応が早くなる
  • 4kb/message
  • アプリ側からGCMにメッセージを送れる


QA

Q Androidでは最近カードレイアウトが良く使われてるが、最近だとこういうUIがいいよという話しはありましたか?
A 江川さん>あまりUI系のセッションは見ていないので・・・。色々とあるので使い分けをしましょう。

Q Android OSやAndroid端末について話しはなかった?
A 江川さん>Galaxyの話しがでていて、Nexusシリーズに位置づけるとkyenoteで話しがあった。

Q Androidの新しいバージョンが発表がなかったが、現場にいった感じで今後のAndroidについてどのような感じを受けましたか?
A 足立さん>OSのバージョンアップは噂のとおり無かったが、実際に行ってみるとAndroidの周りを固めるようなものが沢山あったので、すごく濃い内容でした。

Q Cloud saveに関する事ですが、通常のアプリでゲーム以外の端末での利用はOK?
A 安生さん>ゲーム以外で使ってOKです

Q Android Studioはversion0.1だが、本格的に使えそうになるのはいつ?

A 江川さん>いま頑張っているので、みんなコントリビュートしようという話しがあった
Eclipse,Android Studioのどっちをつかえばいいの?という質問があった
Android StudioはβなのでAndroid Studioに一本化できないのであればEclipseを使うといいよ。Android Studioを使う方を推奨

Q Valleyについて質問。キャッシングにつかいたいが、動的なデータをキャッシュするにはどうすればいいか?また、メモリが多くなった場合はどうすればいい?
A 足立さん>必要に応じてクリアができるし、サイズ指定も可能。

Q GooglePlay ServicesのFused Location Serviceが出たが、これまでのLocation Providerとくらべて、どちらを使えばいいの?
A 江川さん>今後はFused Location Serviceを使うのが良い。Google Play Serviceが処理してくれるので、電池の持ちなどを考えてFused Location Serviceを使うとよい

Chrome/HTML5

WebM

  • Vide CodecがVP8からVP9に(H264よりキレイでサイズが50%off)
  • VP9はもう使える。(フラグをONにする)

Cloud

App Engine PHP

  • Limited Preview
  • PHP 5.4
  • Wordpressが動く
  • Datastore APIがまだない


  1.  Cloud SQLは使える
  2.  Cloud DatastoreのJSON APIを使えばよい


  • 制約


  1.  mbstringが入っていない
  2.  ファイルシステムに書き込みできない(Cloud Strageを使いましょう)
  3.  一部関数が使えない(exec,tmpfileなど)
  4.  C拡張は使えない


Google App Script

  • Form + GAS


  1.  FormをGASで作れる
  2.  Formの質問もつくれる。GASで制御できる
  3.  デザイナを拡張できるようになった
  4.  FormのSubmitをハンドルできる


  • Docs + GAS


  1. dialogs and slidebars
  2.  sidebarの中身はHTMLでかける
  3. 書くアプリでGASのメリット
  4.  トリガーの充実(onChange)
  5.  Doc,Formにスクリプトが付随



  • GAS + DriveSDK


  1.  GASだけで簡単にDriveの中が変更可能になった
  2.  Folder、Fileの(Ownerや共有)が変更なのう
  3.  Folderの中のファイル情報が取得可能
  4.  Folder,Fileの検索が可能


Social&Geoセッション

Youtube

  • Youtube Live範囲拡大


  1.  個人パートナーも使えるようになった(1000人以上の購読者がいる。著作権違反がない)
  • Youtube Live APIも拡大


g+

  • セッション増えた!
  • Google+ Sign inの情報ばかりだった
  • ボタンの置き方をデバイス毎に説明しているセッションが多かった
  • Sign inボタンを押して使ってね。ということでボタンを置きましょう


Maps

  • 新しいデザイン
  • アイコンや見やすさが変更
  • マーカーの影がなくなる
  • 情報ウィンドウが変更(情報ウィンドウも影がなくなる)
  • コントロールのデザインも変更
  • http://goo.gl/BAfv9


Google Maps Tracks API

  • 車両などの追跡用API
  • 位置の記録とGeoFenceが主な昨日
  • 通常ユーザも利用できるようになった



スライドの場所

https://sites.google.com/site/devfestjapan2013/document


こうやって書いたものをみると、Androidのところばかり聞いてたなー
という印象ですね


会場では、こんな物を頂きました

Googleビーサン。前に黒も貰ったので2足目です

GDGのクリアファイルとシール。かっこええわー



時間とお金とチケットを確保できる運があれば、いつかGoogle I/Oに行ってみたいなー!!

2013年5月22日水曜日

広島ウェブシステム勉強会に参加してきた

今回(2013/05/21)は、数週間前に開催されたAmazon Web Service(AWS)ハンズオンの復習をしてきました

勉強会は14:00~18:00の5時間なのですが、3時間くらいはビジネスの話しなどをしており、WEBシステムの勉強と少し離れた事をしていたので、AWSは2時間くらいしか触っていません

AWSハンズオンは指示されるがままに作業を行い、よく理解できていない所がありましたが、順をおって復習する事で、少しだけですが理解が深まりました


構築および運用、そして費用を考えると小規模で運用するには色々と難しいな。という印象です
そのため、顧客提案の1案として「何ができ」「どこにデメリットがあるか」を把握しておいて、実際の作業はネットワーク屋さんに任せた方がいいね。
と、いう結論に達しました


AWSの復習をしている傍ら、Hさんはbackbone.jsの勉強をされていました
backbone.jsはまだ触った事がないので、ツールとしてbackbone.jsはいかがなものか?というのはHさんの技術系ブログにまとめが載ることを期待しております



2013年5月16日木曜日

[Android]Android Studioのレイアウトエディターで遊んでみる(ほんのお触りていど)



既に多くの方がAndroid Studioをインストールしたよ。といった記事を書いているようなので、ここでは、レイアウトエディターを使ってみた様子を書いてみます

使い方は?


基本的には、これまでのEclipseと同じような操作方法で使えますが、これまでよりも少しだけカユイ所に手が届いています

パレット


画面を構成する部品は、これまでと同じようにPaletteからドラッグ&ドロップで配置できます


RelativeLayoutになっているので、細かな位置を指定して配置できますし、現在の位置をガイド線と数値で表示してくれる所も変わりありません



Eclipse版よりもすごくスムーズに配置できます


Resourceとの連携


部品を配置すると、電球のマークが表示されます



電球のマークをクリックするか、Alt+Enter(Windowsの場合)で次のような表示になります

これを選択するとResourceとの連携が簡単にできます



ただし、1回目だけで、1度設定すると編集する場合には部品をダブルクリックする必要があります


でも、ここで指定できるのはResouce(@string)のkeyだけでvalueは指定できません
さらに変更もできません
変更したい場合は、画面下にあるNew Resourceで新たにkeyとvalueを作成すると、自動で新たに作成したResouce(@string)が適用されます

ただし、使っていない物が増えていくのでイマイチですね

ここが便利


一度、ボタンとして配置した部品をToggleButtonとかImageButtonに変更したい!
と、いった事ありますよね
そんな時は右クリックして[Morphing]を選ぶと簡単に変更することができます


ソースコードとの連携

残念ながら、ボタンとアクションは連携していません
試しにボタンにandroid:onClickを指定して該当する処理をActivityに追加してみましたが、LayoutファイルからActivityもActivityからLayoutファイルへの移動する方法が見つかりませんでした

こういう所はiOSやWindows phoneの開発環境にまだまだ追いつきませんね





他にも色々とあると思いますが、今日はここまで。



最後にひとこと。新規プロジェクトを作るのが遅いのは、なんとかして欲しいなー


2013年5月13日月曜日

アナログなタスク管理

今日から新しいプロジェクトに入った

今回はタスクが多いので、タスク管理を「みえる化」しながら進めていきます


よくある、TODO,DOING,DONEでタスクを消化していくやつです
世の中には、様々なタスク管理ツールやシステムがありますが「みえる化」しておくとモチベーションが高くなるのが、これまでの経験で分かっているので、今回はこの方法で!

まず、タスクカードを作りました

上下2分割で、上にタイトルと作業量
下に簡単な作業の説明を書いています


 今度は、そのカードを壁に貼っていきます

まだ作業開始前なので、全てが「TODO」に配置してあります

作業量を見ながら、「その日」もしくは「その週」に行う作業を「DOING」に移動して、作業が完了したら「DONE」へ移動します

これらの作業を行う過程で発生したタスクは新たにタスクカードにして「TODO」に追加していきます

「TODO」にタスクを貼る際は、上から優先順位が高くするとか、同じような作業をまとめておくとかすると作業効率があがります

他の案件が来たら、色の違うカードを作ってもいいですね


さて、ひとつずつ消化していきますか!