読者です 読者をやめる 読者になる 読者になる

Celeste Engineer

Androidとか自転車とか

DroidKaigi 2017 に登壇、運営、参加してきた

運営についてのブログ記事はDroidKaigi 運営における Twitter 運用のあれこれ - Celeste Engineerにまとめましたので、この記事では主に登壇者としての立場の話をしようと思います。

登壇

30分枠にして内容てんこ盛りのゼロから始める黒魔術の入門から実運用までという話です。お陰さまで黒魔術師横幕こと黒幕という栄えある称号をいただきました😁。

speakerdeck.com

開始5分前くらいはシーンとしていて、写真を撮ったり撮られたりしていました。

運営スタッフとしては初回から関わっていますが、登壇者としては今回が初でした。はー完全に作りすぎました。途中、記述の間違いから話す内容が混乱してしまいました😞。

少しトークの内容に触れておくと、

このようにやろうと思えば数行のコードで邪悪なアプリが作れてしまうAPIです。用法用量を守って楽しくお使い下さい。

もう少しユースケースについて言及したほうが良かったかもしれませんが、アプリ内で起きている様々な目に見えない事象(モデルの状態変化、アナリティクスイベントの発火など)を Logcat に出していると、リリースビルドでログが見えなくなったときの動作確認が困難になってしまうため、リリースビルドの設定画面でスイッチ一発でそういう目に見えない情報をみえるようにしたい、という動機でこのオーバーレイの機能を作りました。DroidKaigi アプリでは使っていませんが、DeployGate と組み合わせると、Google Play で配信しているアプリでは見えない、DeployGate で配信しているアプリでのみ使える特殊機能というのが実現できるので、これと組み合わせて社内用リリースビルドで使える機能を作れます。これと合わせて使うとかなり効力がでてきます。

非公開 API を使って遊ぶと言う内容の話をこれまでにしてきた自分にとっては、公開 API だけを使って遊ぶと言う内容の話は自分としても珍しかったのですが、うまく伝えられていたようでうれしいです。

オフィスアワー

オフィスアワーやるよって言って実際質問が来るのかどうかドキドキしていましたが、質問に来てくれた人がいて嬉しかったです。

このほか「Android Auto エキスパートに話があるってよ」ということで、Android Auto について教えて欲しい!という話を、Android Auto とは何なのかと言うところからアツく語らせていただきました。Android Auto エキスパートというのは完全に自称ですが、Android Auto がどのような技術で成り立っているかなどソースコードレベルで熟読しました。実を言うと今回の DroidKaigi 2017 でもプロポーザル自体は出していたのですが、採択されずじまいでした。次こそは、もっと Android Auto のことを知られるべき!!という熱量でもってトークをしたいと思います。

さいごに

運営スタッフとの二足のわらじは聞いていたとおり大変で、同時並行に別のことを進める必要があるので、それなりに体力や根性みたいなものも必要です。一方で、お金を払ってきてくれた人たちがいる、ということに変に気負いすぎるのもよくないので、自分の知っているイカした技術を紹介するぜ!というスタンスでいると、程よい緊張状態で前に立てるのではと思いました。もちろん、有料イベントであることを忘れていいということではないのですが。 運営スタッフとしては Twitter を眺めるお仕事をしていましたが、会期中も会期後も興奮冷めやらぬツイートがたくさんあって、また今回は山口県や北海道など遠方からの参加者も多数いて、何かしら持って帰ってもらえたものがあったようで本当に嬉しい限りです。なかには、DroidKaigi 2017 に ポッサロから参加した 感想文 - Google スライドのような参加者自身の知見も出てきたりしていて、カンファレンス自体の圧倒的成長を感じました。

みなさま、お疲れ様でした。また次回お会いしましょう。

DroidKaigi 運営における Twitter 運用のあれこれ

3/9と3/10の2日間にわたって DroidKaigi 2017 が開催されました。おこしいただいた皆様、ありがとうございました。

自分はカメラを構えて写真を撮ったり、Twitter でお知らせを流したりしていました。当日は #DroidKaigi が非常に盛り上がっていて、数分でTLがどんどん流れていく状況でした。 @ken5scal さんの助力もあって、カンファレンス中の様子を Tiwtter を通して伝えられたと思います。

さて当日 Twitter 担当の @ken5scal さんと私がなにをしていたかというと、写真を取ってつぶやく以外にも以下の様なことをしていました。

スパム対応

同じハッシュタグのついたつぶやきが増えてくると、そのハッシュタグがトレンドとして扱われます。いわゆるトレンド入りというやつです。そうすると、トレンド入りしたハッシュタグをつぶやきに含めて人目を引き始める謎の bot が、1時間に1回のペースで #DroidKaigi を含めた無関係のツイートを流し始めます。日にもよりますが、DroidKaigi の場合は毎時0分ごろにそのようなつぶやきが増える傾向にありました。

無関係のつぶやきにトレンドのハッシュタグをいれられてしまうと、後々検索をするうえで邪魔になってしまいます。そこで、そういったつぶやきは都度見つけ次第、一つ一つ心を込めてスパム報告します。報告の数が上がるほど効力を発揮するため、当日は他のメンバーにも報告を手伝っていただきました。

しかしこれ、対応する数が多くなるにつれ、また時間が進むに連れてだんだんと心が失われていきます。初日には謎の「#全自動おぎゃり機」というハッシュタグもトレンド入りをしており、数多くの bot が「#全自動おぎゃり機」と「#DroidKaigi」を並べてつぶやいており、気分的には完全に「駆逐してやる…」という感じでした。おかげさまで二日目にはスパムツイートがほぼ皆無だったので、初日にがっつり対応した成果が出たようです。

おそらく他のイベントでも同じような対応をしていることと思いますが、スパム対応は規模の大きなイベントの運営ではほぼ必須の工数だと思います。

お問い合わせ対応

当日は Tweetdeck などのツールで「DroidKaigi」のエゴサ結果を常にみていたので、メンションのあるないに関わらず、スタッフに伝達して対応できそうなものを順次連絡していました。特に部屋の空調やマイクの調子などはその場でなんとかできそうな内容だったので、各部屋のスタッフに逐一伝えて対応をしてもらっていました。

もうちょっとしっかりできるとよかったなと思う点は、スタッフへの伝達後に、お問い合わせ(やそれに近い内容のつぶやき)にもメンションをとばすことがあまりできなかったことです。初日の夕方頃に振り返って気付き、少しずつですが対応をしてみたところ、ポジティブなリプライをいただくこともあったので、このあたりは折を見て積極的にやっていけるとよいなということがわかりました。Twitter を通したコミュニケーションではありますが、最終的には人が運用しているので、心地よくコミュニケーションが取れると、運営で疲れていても「がんばるぞ😊」という気持ちになって次につなげていくことができます。

自分はあまりできていなかったところですが、会場から沸き起こる参加者のツイートに「わかる」等の引用リツイートをしたり、ゆるふわなかんじで「フ〜」とツイートしたりして、楽しげな感じを出すのも大いに重要だということがわかりました。このあたりは @ken5scal さんに助けられました。

今後

DroidKaigi 2017 自体は終了しましたが、実は Twitter 担当のお仕事は会期後にもあります。発表者資料のリンクがまとまったら告知したり、セッションの動画を告知したりといったお仕事があります。動画は前回同様 YouTube にアップロードする予定ですが、YouTube 上で、動画のアップロードの完了と Twitter での告知を自動で連携することができます。この連携、今現在はどうかわかりませんが、前回の場合はつぶやきに URL が含まれないケースが数件ありました。これは人力で対応するしかない(たいてい短縮 URL を入れる余地は残っている)部分です。

さいごに

アフターパーティーで初めて知ったのですが、地方の、それもかなり遠いところから新幹線で参加している高校生の方がいらっしゃったことにはとても驚きました。個人的には学生枠というと、大学生がくるものと思っていたので、もっと若い層の人たちが、お金と時間をつぎ込んででも参加したいと思っていただけるイベントになったんだなと思いました。

DroidKaigi 2017 で "Building my own debugging tool on overlay" と題して登壇します

タイトルの通り、3月9日〜3月10日にかけて開催される DroidKaigi の2日目、Room 2 で 11:50 から “Building my own debugging tool on overlay” という題目で登壇します。 Android で開発者向けに提供されているオプションのなかでもオーバレイで各種情報を表示している部分を、自分たちのアプリにも組み込んでみようというテーマです。

当日はスタッフとして写真をパシャパシャ撮ったり告知を流したりもします。内容的に時間内で質疑応答ができるかどうかという感じですが、セッション後にかぎらず気軽に話しかけてもらえればと思います。

28 になりまして

誕生日の日付に変わるタイミングを渋谷で迎えたのは初めてではないでしょうか。TGIF してたらそんな時間になりました。 今年も DroidKaigi を運営メンバーとしてやっていくので、さらなる Android パワーをつけていくつもりなのですが、このところは久々にインフラまわりをいじったり、これまで苦手意識から避けてきた JavaScript にほんのちょっと手を出してみたりと、Android だけじゃないんだぞ感も強めて行きたさがあります。JavaScript スゴイマンの弟子になりたい。

今年は初めて自転車のイベントに参加します。去年はツールド東北にエントリーしようとして落選してしまいましたが、今年はまず富士ヒルクライムの参加を確定しました。去年落としたはずの体重を戻してしまったので、初夏までにはシュッと研ぎ澄ました筋肉を身に着けしなやかな体に仕上げたいと思います。

最後に、例の干し芋のリストを晒してしめようと思います。

http://www.amazon.co.jp/registry/wishlist/2Y880HXG49I0M

potatotips #37 行ってきた

わーい!potatotips #37 の Android まとめブログだよ。たーのしー!

potatotips #37 (iOS/Android開発Tips共有会) - connpass

発表内容

1. kaelaela - greenDAO2ObjectBox

ObjextBox という、greenrobot 製の新たな ORM かと思いきや、データベースエンジンも SQLite などとは別物のライブラリについてでした。まだベータ版ですが、POJO を放り込んで取り出すことを念頭に置いて作られているようです。GreenDAO からの移行もライブラリでサポートしているのはアツいですね!

speakerdeck.com

2. takahirom - Android Transition

マテリアルデザインにおける Transition の使い方・作り方でした。サポートライブラリでの対応もあり、Plaid など参考になるアプリも多いので、マテリアルデザイン登場当初より格段に作りやすさが増していますね!マテリアルデザインのガイドラインに沿ったパターンでの成功・失敗事例も見てみたいところ。

speakerdeck.com

3. fgfgtkm - Crashlyticsの Non-Fatalに救われた話

Crashlytics でのログ収集は本当に大事です。何はなくともまず最初に整備しておくべきところと言っても過言ではないくらい。そのくらいアプリの運用に影響を与えています。

speakerdeck.com

4. wasabeef - Lottie for You

アニメーションが Json などの形式に直列化でき、かつそれを復元して再生までしてくれる Lottie。Json にできるので、アニメーションがサーバから配信できるようになるというのは新たな可能性を感じます。

speakerdeck.com

5. kengoScal - Android Custom lintを初めて作った

カスタム Lint は一度作ってしまえば要領を得られるのですが、最初に覚えるのがとにかくとっつきづらいですね。公式にも特に何か書いてあるわけではないので、とりあえずネットで調べて基礎的な作り方までは分かるので、そこからの応用例がたくさん出てくると良いかも。

6. duane0728 - コードで
事前条件を表明する

事前条件はできる限り早い段階で分かるようになっているといいですよね。最近は Lint 用のアノテーションもありますが、結局実行時にも事前条件の確認が必要なことには変わりないので、そのあたりのコードの書き方や例外の扱い方は Square が丁寧かつ優しい事例になっています。またその事前条件のチェックもやりすぎるとメンテに支障がでてしまうので、どこでどんなチェックをするかを明確化するのも大事です。

speakerdeck.com

7. shaunkawano - Eliminate RecyclerView Boilerplates

人間が switch 文を書く時代はアノテーションプロセッシングによるコードの自動生成によって終わろうとしているんではないでしょうか。ディスパッチテーブルに対応するメソッドを作ってあげることは今後も各所で用いられるパターンのように思います。

まとめ

来月は DroidKaigi パークで Android が得意なフレンズとあそぼう!

droidkaigi.github.io

ヤフーのロッジもたくさんフレンズが集まるよ!たーのしー!

LODGE -Yahoo! JAPANのオフィス内に誕生した日本最大級のコワーキングスペース-

あけましておめでとうございます

本年もよろしくお願いします f:id:KeithYokoma:20170101070245j:plain

2016 Year Review

年の瀬ギリギリですが振り返りエントリを書いておこうと思います。

2016年もあっという間でした。年始にはアメリカにいたのですが、その間に体調を崩し、治らぬまま帰国したところ初雪が降る早朝の寒さに叩きのめされ風邪をひきました。幸先悪いなぁとは思っていましたが、個人的にはとくに悪い知らせがある一年ではなかったように思います。

今年はじめての体験としては、技術系同人誌に記事を書いたり、コミケに参戦(夏と冬)したりといった感じです。技術系同人誌については、TechBoosterの皆さんに優しく丁寧にレビューしていただいて、ひたすら尊い😇体験でした。ありがてぇ…コミケは一人では絶対回れる自身がないので、強さがほしいぞと思いました。 原稿駆動で Android Auto の仕組みにかなり詳しくなりました。

体重が増えすぎて肌荒れがひどくなったのを期にダイエットもしました。筋肉がつきつつだったので体重の落ち方は緩やかでしたが、自転車でロングライドをしつつ楽しく減量できてよかったです。ただ、秋以降気を抜いてしまい見事に戻ってしまいましたが… 自転車といえば、はじめてグループで出かけることもしました。年内最後のパレサイ最高かよ。

今年の後半、とくに11月ごろからは Kotlin にも手を出してみて、来年もやっていくぞ!という気持ちを高めました。

2017年も引き続きよろしくお願いします。