2013-05-27

DevFest / Google I/O 2013 報告会に参加しました

2013-05-25 (土曜日) に、 DevFest (Google I/O 2013 報告会) に参加してきました。東京、六本木会場です。去年は、 Google I/O 自体に行けたこともあり、おうちで YouTube の Hangout on Air を観てましたが、今回は (I/O に行けなかったし) 会場参加です。

今回、スペシャルゲストとして、日本ではタミヤドロイド T シャツの人としても知られている(?) Chris Yerga が参加されていました。いやぁ、ちょっと前にイケベでくまモンとかリラックマとかキティちゃんのギターピック買ったよ、ってなポストを Google+ で見てはいたのですが、居らはるとは思いもしませんでした。

で、信州会場との謎ツーショット (スリーショット?) 写真

Chris からは、本邦というか全世界的に初公開的な Google I/O Keynote の舞台裏的な話をしていただきました。 Hangout on Air では公開されて、動画も YouTube に残ってますのでどうぞ (前半の最初の方)。懇親会にも参加されて集合写真にも入ってくれてます。写真は Google+ のイベントページで見れるはず。 Chris は Google Play Music All Access の発表等担当していたので、日本でのサービスは、とか聞こうかとも思ったのですが、時期不明か鋭意努力中かノーコメントか、なんにせよ有意な答はもらえなさそうなので聞かずじまいに。

報告会自体は、三日間のセッションのエッセンスを実質四時間にまとめてという事で、非常に濃いものになっています。この報告会のスライドを手掛かりに、 YouTube で公開されているセッションのビデオを観るのもオススメかも。気分、 Google+ 周りがあっさりしていたのがちょっと残念。

名古屋会場をはじめとして中継している各会場のテンションもちょっと変なくらいに高くて、まだお祭り気分かよってな感じでもあったりなかったりw。

来年は I/O 本体に参加できると良いなぁ

当日の様子は YouTube で公開されています。 (前半 後半)

2013-05-25

plusone.js あれこれ

Google I/O 2013 も (行けなかったけど) 終了して、早一週間。セッションのビデオも一通り公開されたのかな。字幕はまだ自動認識のものが多いようですが、そのうちすべて人の手による字幕が付くでしょう。セッション資料はまだ上がっていないようですが、こちらもそのうち公開されるはず。

三日目に行われた CodeLab は、ビデオは存在せず、また公式には資料も公開されません。しかし、一部の CodeLab の資料は入手可能になっています。 ⇒ Google I/O 2013 CodeLab materials summary #io13

資料が公開された CodeLab の一つに "From Zero to Hero: Integrating Google+ Sign-In on Android and Web in Less Than Three Hours" があります。この資料を見ていたところ以下のような記述を見つけました。

<script>
// Async load Google API scripts
(function() {
  var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
  po.src = 'https://apis.google.com/js/auth:plusone.js?onload=startApp';
  var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
})();
</script>

定番の記述ですが、 "auth:plusone.js" というのは見たことがない。 Google+ Platform の JavaScript API を見ても "pluson.js" と "client:plusone.js" というのはあるけど、 "auth:plusone.js" というのはない。先生にお伺いを立てても、 Google+ Platform の PhotoHunt sample app しか引っかからない。

というわけで、 Google+ で質問してみました。結果、 "client:plusone.js" は Google+ Platform の JavaScript API に加えてフルセットの Google APIs Client Library for JavaScript がロードされ、一方 "auth:plusone.js" は Google+ Platform の JavaScript API に加えて The standalone auth client のみがロードされるということだそうです。

まとめると、 "https://apis.google.com/js/" 以下に指定する js とロードされるものは以下の通り。

指定する JSロードされるもの
plusone.jsGoogle+ Platform JS API
client.jsGoogle APIs Client Library
auth.jsStandalone Auth Client
client:plusone.jsGoogle+ Platform JS API と Google APIs Client Library
auth:plusone.jsGoogle+ Platform JS API と Standalone Auth Client

また、 "plusone:client.js" は "client:plusone.js" と同じで、 "auth:plusone.js" は "plusone:auth.js" と同じです。つまり "foo:bar.js" の foo と bar の順序に意味はないということです。ついでに、 "client:auth.js" とか "client:auth:plusone.js" とかやってもエラーは出ませんが、 auth は client の subset なので特に意味はありません。

具体的には、 client を指定すると gapi.client 、 gapi.auth がロードされ、 auth を指定すると gapi.auth がロードされます。 plusone を指定すると gapi.signin 、 gapi.plusone 、 gapi.plus 、はたまた gapi.savetodrive 等々がロードされます。そしてそれらを ":" で区切って (https://apis.google.com/js/client:plusone.js のように) 指定すると、指定したものに対応するものが併せてロードされることになります。

というわけなのですが、実のところ "plusone.js" だけの指定でも gapi.auth や gapi.client がロードされたりもします。たとえば、 Google+ Sign-In ボタンを使用すると (class="g-signin" の要素を作るとか gapi.signin.render() するとかした場合) 、 gapi.client および gapi.auth が自動的にロードされます。自分の場合、この振る舞いに惑わされて、 "client:plusone.js" 、 "auth:plusone.js" 、 "plusone.js" の差異がわからないでいました。わかってしまえば何ということもないことでした。

2013-05-18

Android Studio をインストールし、 color scheme を変更してみる

Google I/O 2013 で発表された Android の新しい開発環境 Android Studio を入れてみました。ということで、ちょっとだけメモ書き。

入手は Get the Android SDK に "Android Studio Early Access Preview" というのがあるので、そちらから。

JDK が見つからないとインストールできないらしい。というわけで、環境変数 JAVA_HOME を設定しておいた方が吉かと。

Android Studio は Android SDK Tools の rev. 22 を必要とします。ですが、現行開発環境 (Eclipse ADT とかの) SDK Tools を rev. 22 にあげると、まだいろいろと問題が有るようなので、そちらには手を付けずに置いた方が無難かもしれません。 Android Studio に Android SDK が同梱されているのでそちらを使っていれば良いかと。

Android Studio で Android SDK が設定されていない (あるいは rev. 21 の物が設定されている) 場合に、 "New Project..." しようとするとエラーが出ることがあります。

Your Android SDK is out of date or is missing templates. Please ensure you are using SDK version 22 or later.

その場合は、 Configure → Project Defaults → Project Structure → SDKs の Android SDK (無かったら + で追加) を、 Android Studio 同梱の物に設定してやれば okay です。 Windows の場合は "C:\Users\hoge\AppData\Local\Android\android-studio\sdk" とか "C:\Program Files (x86)\Android\android-studio\sdk" 辺りに居ます。

あと、自分は目があまり良くないので、見た目を少し変更してみました。

デフォルトのテーマは "IDEA (4.5 default)" というものになっていましたが、ちょっと文字が小さいかなと思い他のものに変更。テーマによっては、使われているフォントの関係で日本語が化けることがあります。その場合は、 "Override default fonts by:" で適当なフォントを設定します。

Android Studio は IntelliJ ベースなので、エディターのカラースキームに関しては Solarized Colors の IntelliJ に関するファイルが使えます。というわけで、さくっとインストールして設定。

この比較画像の左は Android Studio のデフォルトで、右は (IntelliJ だったりしますが) カラースキームやフォントを変更したものです。