「レベル13以上のIngress エージェントをサポートするアプリ、作ります!」YAPC::Asiaトークに応募した重田に話を聞きました

ogp_ingress.jpg

こんにちは、ことぶきです。

Six Apartがコーヒースポンサーとして協力予定の、8/20-22に開催されるギークの祭典YAPC::Asiaですが、現在193本ものトーク応募が集まっているそうです。この多数の応募の中から、厳選された数十本が採択され、当日会場にて熱いトークが繰り広げられるとのこと。

弊社の開発部シニアマネージャーの重田もトーク応募したというので、話を聞いてみました!

shigeta01.JPG

電車内でのエクストリーム・プログラミングスタイルが一部で有名な重田については、こちらの記事も合わせてどうぞ。

ーー早速ですが、どんな内容のトークになるのでしょうか?

僕が話す予定の「Agent たちをサポートせよ! YAPC-Driven Development」は、Ingress Agent(Googleの社内スタートアップ「ナイアンティックラボ」が開発・運営する、スマートフォン向けの拡張現実技術を利用したオンラインゲーム・位置情報ゲーム Ingress のプレイヤーのこと)のためのアプリ開発の話になります。やってる人しかわからないかもしれないのですが、Agent ステータスのスクショを毎日送ると、グラフ化してくれるアプリがあるんです。アプリなのですが中身はWebViewで、サーバーサイドで作られているようです。このアプリを見ると、稼いだAP(RPGでいう経験値的なもの)や、歩いた距離、Hackした数などがグラフで表示され、この調子で行くと次のメダル(ゲーム内の様々な行動を達成するともらえる)がいつ頃取れそうかなどがわかるんです。

ただこれがですね、動作が重かったり、グラフを重ねるとすごく見にくかったりするんです。なので、もっと見やすい使いやすいサービスを作りたいと思っています。

ーートーク概要にあった「レベル13超えると大変になる」というのは、どういうところでしょう?

レベル8まではAP貯めていけばすぐ到達できるんですよ。そして、レベル8から13くらいまでは、メダル獲得すればレベルアップという、わかりやすい行動目標があるんですね。

レベル14くらいになってくると、もうメダルは持っていて、ひたすらAPを稼ぐだけになってくるんです。そこからは作業っぽくなってしまい、モチベーションが落ちがちなんですよね。RPGで言うと、レベル99まであげていく過程の最後の方の「ラスボスもすぐ倒せるし、アイテムもコンプしていて、あとは経験値だけ貯めなきゃ」の時のしんどさ。ここのやる気を維持すべく、APのゴールを見える化するためのアプリにしたいです。

今使ってるアプリでは一日データを送り忘れるとグラフが飛んでしまったりするんですよね。僕が作るアプリは、データ送り忘れ防止のためのPUSH通知も入れたいと思っています。

僕はいまレベル14で、平日は毎日ルーチンワークとして昼・夜にオフィス周りを一周してAPを稼いでいます。先ほどのアプリのグラフを見ると、このままの調子で行けばあと10日ほどで次のレベルに達する予定です。

ーーなるほど。Ingress Agent ならではのニーズですね。トークタイトルに有るYAPC-driven開発、ってどういうことでしょう?

テスト駆動開発ってありますよね。テストをまず書いて、それをパスするようなコードを書けばOKという、これがテストドリブンな開発手法です。

一方、YAPC-drivenというのはYAPC駆動開発ということで、8月にYAPCがあるぞと、だからYAPCのためにアウトプットつくろう、ということなんです。

今回は、Webサービスとアプリのセットで作ろうと思っています。いまどきの技術を使っての、アプリ開発のノウハウをご紹介したいと思っています。サーバサイドはもちろん、Perlで作ります。アプリ開発は敷居が高く思われているようですが、その辺りの開発のTIPSも紹介します。

というわけで、技術の話ですので、Ingress Agent以外の人にも聞いてもらいたいですね。

ちなみに、これから作ります!

ーーありがとうございます。他の方のトークで聞きたいものはありますか?

ゲストスピーカーのBrad Fitzpatrickはぜひ聞きたいですね。彼は、元LiveJournalの開発者・創業者であり、元Six Apartのチーフアーキテクトで、現在Googleにいます。memcachedやMogileFSを作った人としても有名ですね。彼は、Perlのコミュニティを広げてくれた人の一人ですし、日本に与えた影響も大きいです。

MogileFSをバックエンドとしたPrivate S3の作り方
Bradがらみで、MogileFSを使った30days Albumのkurodaさんのトークは気になってます。

実例から学ぶWeb/スマホアプリケーションの脆弱性
もう一つは、malaさんの脆弱性のレポートも見どころだと思います。セキュリティがらみは、エンジニア視点だと気づきそうで気づけないところもあるので、ぜひ勉強のためにも見ておきたいですね。

HTTP/2 & クラウド時代のウェブアプリケーション実行基盤
それと、次世代のプロトコルになるhttp2の話。全体的にYAPC::Asiaでのトークは、運営中のサービスの裏側についてや、dockerのデプロイなど、今ある問題の解決の話が多いんですが、kazuhoさんの話は次世代の技術についての話なんですよね。彼のトークはほぼ授業、大学の講義を聞きに来たみたいなスタイルなのですが、それが僕にはしっくりきます。

ーー今回でYAPCという形のイベントは最後とのことですが、ずっと参加してきた立場から思うところはありますか?

今回が最後ということからか、200近くもトーク応募がきたのを見て「みんな話したいんだ」と思いましたね。そして、その理由がもっと知りたいです。エンジニアが千人規模で集まる場所だからなのか、それともYAPCというブランドでやりたいのか?それともとにかく話したいのか?など。

YAPCという場の特殊性もあって、Perlという言語にもトークの内容も幅広く受け入れてきたからこそ、ここまでの大きさに育ったのだと思います。エンジニアのお祭りは他にもいくつかあるけれど、YAPCのような場がなくなっちゃうと寂しいなと思いますし、他の方も思っていてコミュニティベースで派生したイベント等があるようならばそちらにも関わっていければなと思っています。


以上、重田の話をおとどけしました!

ちなみに、トークの選考は各トークページのシェア数も参考にしているそうです。というわけで、重田の「Agent たちをサポートせよ! YAPC-Driven Development」トークや、YAPC::Asia公式ページのトーク一覧から、気になるトークをシェアで応援をお待ちしています。

Six Apart をフォローしませんか?

次の記事へ

仕事を自分事に!Google アナリティクスを、自分のサイトに入れて勉強しています

前の記事へ

「半年でPVを10倍に伸ばしたけど、全然満足していない」ってどういうこと?ビットエーブログに聞きました【突撃!隣のオウンドメディア】