Konifar's ZATSU

私はのび太の味方じゃないわ、悪の敵よ

Androidの設計と取捨選択

楽に開発するためにAndroid全体の設計をしたいという思いは、わりとどの開発者も持っている気持ちだと思う。

設計というのは昔から色々揉まれてきて、今はMVPだMVVMだ、DDDだと盛り上がっている。

そもそも、Androidというフレームワークに限定された環境で、わりとよくある実装が多い中で、未だにこれだけたくさんの人が困っているという状態がおかしい。おかしすぎる。そろそろAndroidでこういうの作りたいならこう作るでしょ、みたいなベストプラクティスが確立しているべきじゃないのかという気がする。

あくまで個人的にはだけれども、DataBindingが主流になるのであれば双方向バインディングを使ったMVVMが一番しっくり来る。ただ、MVVMだとViewModelが太ってきてどうすんのみたいなことになるかもしれない。また、通信やキャッシュ部分は別のクラスにわけようとかそういう指針はどちらにしろ必要になる。そのへんまでよくある設計に沿って実装したくなった時にDDDを知ると、なんかDomainの概念とかUsecaseとかRepositoryよさそうと思ってのめり込んでいくかもしれない。

DDDはもちろん悪くない。一般化された役割のクラスに分けておけば、新しく入った人もキャッチアップしやすいし、自分も昔のコードを追いやすい。だけど、DDDというのはいわばめちゃくちゃ複雑なソフトウェアに対する解を体系化したもので、もう色んなケースを想定して作られている。そのため、DDDを実際に適用しはじめてもやっと感じがちなのが「こんな簡単なことやるのにこんなにめんどいことやらないかんの?」ということだ。

これはごもっともな感情で、もういっそActivityに全部書いちゃえばええやろと思うような画面もあったりする。要は、様々なケースを想定した設計を適用しようとした時、その設計が本来Too muchな場所に対してどう判断するのか、という話。例えばそれを例外と捉えてざっと書くというのも1つ。だが、その場合どういう時は設計に準じてどういう時は外れてOKなのかという指針がないと、実装時に考えることが増えてしまう。

設計自体を緩めて、複雑な画面をイレギュラーとして扱うというのも1つ。ただし、その場合も同じようにイレギュラーとはどういうものかという指針が必要になる。

設計を適用するメリットは、将来考えることを減らすことにある。どう作るかの指針が明確で、例外なく全てがそれに準じているのが理想だ。例外が出てきたとしても、例外となる条件が明確になっていれば、新しい機能を作る時に迷う必要がない。迷わなければ実装も速くなるし、ミスも減る。レビューもしやすくいいことづくめである。

Android開発では、できることがたくさんある。そのぶん、設計に組み込む想定を広げておく必要がある。想定を広げれば、Too muchな設計に感じる箇所も増えてくる。それは当たり前のことだ。

個人的には、これは複雑すぎると思った部分は一度削って突き進んで見るといいと思う。例えばDDDで言えば、UsecaseいらんやろRepository直接いじればいいじゃんみたいな時。やってみると、どういうケースを想定して作られた概念だったかわかるときが来る。わからなければ、本当に必要なかったのかもしれない。

いまAndroidの設計の話はネット上にあふれている。けれども、どんな設計でも非同期、キャッシュ、状態管理あたりの指針が決まってればそんなに大変なことにはならないし、実装スピードもそんなに変わらないよなぁと思っている。要は肝心なところだけ指針が揃えてあったらなんでもいい。もちろんこれはAndroidに関して言えば、だけれども。MVVMとかMVPとかいったん忘れてフレームワークのめんどくささに対抗するために工夫してみたら、いつの間にかあれ?これってつまりViewModelでMVVMじゃね?みたいな形に落ち着くと思うし、きっとそれが一番そのプロジェクトに合っているのだと思う。

設計に沿ってクラスたくさん作ることでメモリ食ったりインスタンス生成するコストかかるのが嫌だという人もいると思う。それはそのとおりで、メンテナンスコストとのトレードオフなので難しい。設計を選択する難しさは、アプリの種類やチームの状態によって、様々なこういうジャッジにあるのかもしれない。

色々がーっと吐き出してきたが、バシッと設計がうまくハマった時は最高に気持ちがいいし、ハマる人がハマる気持ちはわかる。ただ設計はもうなんというか、ある程度解のパターンがある中の取捨選択の話であって、パターン自体はGitHubにたくさん上がっているし、わりとお腹いっぱい感ある。取捨選択自体は結局ポリシーの話だからみんな違ってみんないい話だし。

既存のプロジェクトをある設計に揃えることに決めた時にどうしたかという辛そうな話ききたい。作り直すというジャッジだったのかとかパッケージを切って少しずつ移動させていった、とか、途中で例外ケースが出てきた時にどう判断してどうしたかとか、ドキュメントは最初にそろえたかとか、メンバーにアサインするときの進め方とか、初期のレビューのつらみとか、そういう話をね、涙を流しながら聞いてさ、みんなで最高だね最高だねって言って最大限の誠意と感謝を持って労いたい。

ということで、どなたかDroidKaigiでよろしくおねがいします

droidkaigi.github.io

君の名は。何度か見てきた

最高だった。あんまり考察とかしすぎるのは野暮なので好きじゃないんだけど、 なんというか、どこかに吐き出さないと辛いみたいなよくわからん感情があるので雑に書いておくことにする。

四葉最高

一番好きなのは四葉かもしれない。何が好きかはわからないけど「(口噛み酒)きっと売れるわ」とか「はよ来ない!」とか「いよいよヤバいわ…」とかなんだか心地よい音程の声なんだよな。 自分は結構声からキャラを好きになることが多い気がする。

あと、高校生になった四葉は完全に正義だった。

フェティシズム

言の葉の庭でいう足みたいなシーンの描写が何箇所か入っていた。さすがわかっているという感じだった。

三葉の口噛み酒のシーン、奥寺先輩の浴衣がはだけた時の黒ブラチラ見えシーン、瀧くん三葉のノーブラバスケシーン、いろいろぐっとくるものがあった。

わからないのは、瀧くん三葉が自転車立ちこぎしてる時のパンチラと、ラストで役場に向かって走る三葉のパンチラ。これは監督のフェティシズムとは思えない。川村さんと話して入れることに決めたのだろうか。

司の恋

帰り道、嫁氏に「司、奥寺先輩好きだよね?司はクールぶってるけどたぶん心中穏やかじゃないよ」という話をしたら 「えー司のアレは友情でしょ。そうあってほしい」的なことを言われた。

いや、自分もそう思ってたんだけど、奥寺先輩が「好きだったんだ…」って言ったあとの司の顔ちゃんと見た?あんな顔するのは恋以外ないぞという激論を交わした結果、 司は瀧くんが好きだったんじゃねえ?という沼オチで幕を閉じた。

奥寺先輩の口紅

奥寺先輩、あの絵で口紅つけてるの地味にすごい。何かで読んだけど、口紅をアニメキャラにつけるというのは口まわりをちゃんと立体として捉える必要が出てくるので 難易度が上がる。ちょっとしたバランスでケバくなったり唇お化けになったりする。 口紅をつけたキャラをあんなにバランスよく描けるのは、やはり安藤さんのすごさなのだろうか。

奥寺先輩と瀧くん

奥寺先輩と瀧くん、5年の間に何があったんだよ。親戚のおばちゃんじゃないんだし、何もないのに社会人になって突然会いに来たりしないでしょ。 俺なんて大学卒業してから後輩に会ったの2、3回しかねえよ。

このへんは小説で語られるかなぁと思ったけど何もなかった。小説では明示的に結婚の話が語られた程度だった。 小説ではanother sideでも特に触れられていなかった。

あんまり妄想するのは不毛だけど、「君もちゃんと幸せになりなさい」って何があったんだよ君たちという気持ちが宙ぶらりんになってしまって辛い。 まぁこの辛さは秒速5センチメートルの10000分の1くらいなので放置しておくことにする。

奥寺先輩の理不尽さ

奥寺先輩で思い出したんだけど、先輩のデート時の対応、あれはひどすぎるぞ。「なんだか別人みたいね」って、それ言う?!デート中に?! 高校生の時にあんなこと言われたらマジでトラウマになりかねんぞ。合コンでつまんない男が出てきた時の戦略じゃないんだぞ。デートだぞ。完全につらかった。

テッシー最高

一番好きなのは四葉だけど、テッシーが一番感情移入しやすかった。 爆発とか思い切りよすぎだろとか思ってたんだけど、another sideを読むと心境がわかってテッシーの表情の1つ1つに目が離せなくなったよね。

そういや嫁氏はテッシーは三葉に片思いしてたと言ってたんだけど、俺はそれは違うと思いたい。

好意は抱いているけど、それは恋心というよりも、あの町に根を張った親を持つ者同士のしがらみに対する「わかる」という親近感の方が強いのではなかろうか。 恋というよりは仲間意識に近い。とはいえ、たしかに「知るか!それはお前が始めたことや!」のあたりを見ると恋心に見えなくもないので何とも言えないところだけど。

テッシーと三葉の関係もそうだけど、瀧くんと司たちも「俺たち親友!ズッ友!」みたいな関係じゃなくて、本当に仲のいいほどよい距離感がうまいこと表現されてる感じがあって最高だった。

悠木碧の安定感

悠木碧の安定感パない。今まどかと同じ声と言っても信じない人多いと思う。

特に放送の声がヤバい。声が緊張で微妙に震えてる感じが出てて、ウワァとなった。

ユキちゃん先生

ユキちゃんせんせえええええええええええええええええ!!!!!

息づかいと間

総じて息づかいで鳥肌たつことが多かった。RADWINPSの歌も、最初の夢灯籠の始まりもブレスから入っている。 あれは監督の指示で「洋二郎さんのブレスから始めたい」という話があったらしい。最高かよ。

新海誠監督の作品はいつも独特の息づかいと間を持っていて、それは神木隆之介さんも意識していたらしい。さすが秒速を30回以上見て練習していた人だ。 例えば、飛騨に向かう電車の中で「コイツ出会い系で〜」と司に茶化された時に瀧くんが「ちげーよ!」と大きな声を出すシーンがある。 このシーンは「ちげーよ!」なのか「ちっげーよ!」なのか監督と話して決めたらしい。

間といえば、かたわれ時で2人が出会った直後、瀧くんが瀧くんとして話す直前に完全に映像が止まるシーンが1秒弱あるんだけど、ネットで動画見てる時に止まることに慣れてしまったせいか「あれ?」と戸惑うことが多かった。

扉を閉じる表現

窓や障子、電車のドアの閉じる表現が多かった。 こういうシーンがあることで場面の区切りがわかりやすくテンポもよかった気がする。

糸守の湖が映るシーンでは鳶の鳴き声がよく響いていた。最初は綺麗な自然とあいまって美しさが際立ったのだけど、 瀧くんが糸守に着いた時に凄惨な現場で鳴く鳶の声は寂しさを増幅している感じがした。

同じ鳴き声でも風景が違うだけで全然感じ方が違うのだなと思った。

人生の基本でしょう?!

三葉の「人生の基本でしょう?!」が好きすぎる。なんというか、あの裏返りそうな泣き出しそうな絶妙な声が最高。 「男子の視線!スカート注意!人生の基本でしょう?!」の最強の三点拍子は無限に聞いていたい。

コードレビューなんかで積極的に使っていきたいフレーズである。

予告映像とのギャップが少ない

予告映像と本編のギャップがこんなに少ない作品は珍しいと思う。 だいたい予告映像がよすぎて本編は勢いがなくなったように見えることが多いんだけど、 君の名は。はそんなことはなく、むしろ入れ替わりのシーンでは勢いが増している感じだった。

これは絵コンテ中に音楽を作り、音楽に合わせて絵コンテを修正するというフローによる効果だったのかもしれない。

予告映像で編集が神がかっていたのは「忘れたくなかった人!」「忘れちゃダメな人!」あたりの掛け合い。あそこは最高すぎてウワァとなる。

入れ替わりの起源

入れ替わりの起源はまだよくわかってない。 宮水家の血を受け継ぐ三葉が入れ替わりをするというのはまぁわかる。another sideでは四葉も入れ替わりしてるし。 けどなぜ相手が瀧くんなのかは謎である。卵が先か鶏が先かみたいな話になるけれど、逆説的に言えば三年前に瀧くんに会いに行ったからということになるのだろうか。

このへんな答えは出なくてもいいから色んな考察聞いてみたい。

まゆごろうの大火

200年前にまゆごろうの大火で書物とか何もかもが燃えて1000年の宮水の伝統の理由やご神体のルーツがわからなくなったという話があった。 しかしこれをなぜ映画の中であんなにちゃんと説明したのかわからない。一回目は組紐やりながら一葉が説明してくれるんだけど、二回目にご神体に向かう時にもっかい出てくるじゃん。 「あれ?これこんなに重要な話なのか?おれは何かとんでもない見落とししてる?」と思ったんだけど、小説読んでも理由はよくわからなかった。

監督が理由なく無駄なシーンを入れるはずがない。1時間40分に収めるために色々なシーンを泣く泣く削ってきたはずで、上映されているシーンはどれもその中で生き残ってきた精鋭なのだ。 なぜまゆごろうの大火の話が生き残ったのか、いろいろ読んで理解したい。

オーバーラップ

同じシーンをオーバーラップさせるみたいな効果が最高だった。 例えば最初のドアが閉まるシーンは最後にも出てくるし、入れ替わりのテンポのよい映像も音楽がバックで無音の映像と声が入った映像で同じのが流れる。

まったく同じではないけれど、三葉瀧くんが坂を走るシーンとデートに遅れそうな瀧くんが走るシーンが同じ場所なのはすごくぐっと来る。

方言監修

方言監修が岐阜県出身の声優さんだった。たぶんテッシーのお母さん?あれが本場なのかと思うと、次はテッシーのお母さんに集中して見ないとなという気持ちになった。


次は飲みながら雑に話した後に締めで見たい。漫喫で雑誌と映像見まくる ⇒ 松亭で雑飲み ⇒ 映画館で見て締めという最高コンボきめたい。

君の名は。見てきた

君の名は。見てきた。最高だった。この気持ちを話せる人がいなくて辛いのでここに雑に書く。もう何も気にせず思ったことを書くので壮絶なネタバレになるだろうし、まだ見てない人はそっと閉じることをオススメする。

とにかく最高だった。個人的には言の葉の庭の方が好きだったけど、映像も音楽も声優もストーリーも何もかもがよかった。

雪野先生が出てきた時はうおおおおお雪野せんせええええええと心の中で叫んだよね。正確にはユキちゃん先生だけど。2013年は雪野先生は東京にいるはずだしパラレルワールドなんだけど、こういう演出はにくい。最高だった。ただはなざーさんは演技がうまくなりすぎてもはや雪野先生を超越していた。

神木隆之介さんもものすごくよかった。三葉の時の声は女子以上に女子だったしなんかへんな気分にすらなりそうだった。もともと新海誠監督の熱烈なファンで、秒速は30回以上見て、高校時代は歩きながら貴樹くんの声の練習をしていたらしい。

映像もすごく綺麗だった。おばあさんが話しながらもみじが落ちる描写とかもうドツボだった。田舎が綺麗すぎて田舎に帰りたくなってしまった。リモートで働きたい欲高まっている。

最後、スレ違いがあるたびにドキドキしてしまった。秒速みたいにならないでくれ…!!!!と思ったのは俺だけじゃないはず。これは監督自身もそういう裏切りを演出するたびに何度もすれ違わせたと言っていたので、まんまと罠にハマったというワケだ。ちくしょう。

それにしても200人以上のスタッフやRadwimps、声優さんなどなどをまとめてあんなの作るなんて化物かよと思った。デザイナーさんとのやりとりで大変とか言ってる場合じゃねえぞ。甘えてないでやっていこうなという気持ちになった。

開始から伏線もたくさんあったしあと2〜3回は余裕で楽しめそう。とりあえず明日また行ってくるぞ。

松亭での会話を雑にまとめてみる #2

松亭定例飲みやってきたのでまた雑にまとめてみる。ちなみに今日は人事のトイレ5個氏が一緒だったので非常に新鮮だった。

アウトプット

「ブログとか登壇とかよくやってるじゃないですか」
「そうですね」
「発信すると何か嬉しいことあるんですか?」
「転職しやすい」
「お金が入る」
「イベントとかでぼっちになる確率も減りますね」
「へえー面白い」
「あとブログ書くと人に優しくなれます」
「わかる」

おっさん

「なんかTwitterですごく絡んでくれる人がいるんですよね」
「あ、それたぶんおっさんですよ」
「うーん、たぶん女性の方だと思うんですけど。『私』って言ってるし」
「おっさんも『私』って言いますよ」
「えーけどハートとか使ってますし」
「おっさんもハート使いますよ」
「そんなにおっさんにしたいんですか?」

ブロードキャストデストロイ

「不特定多数を不安にさせるツイートあるじゃないですか」
「はい」
「僕あれのこと『ブロードキャストデストロイ』って呼んでるんですけど」
「かっこいい」

Milkcocoa

「Milkcocoaのミートアップがこの前あったじゃないですか」
「あーあの美人さんがいっぱいいたやつですね?」
「あれ何なんですかね?意味がわからない」
「名前が可愛いからでは?」
「名前重要」

新宿御苑

「新宿御苑にピカチュウ出るらしいですよね」
「御苑にあんなに人いるの初めて見ました」
「御苑といえば、12月にあそこでリモートしたの寒かったなぁ」
「あの場所に人が溢れてると思うと感慨深い」

トイレ5個邸

「マジで実家にトイレ5個あるんですか?」
「トイレ5個で、部屋も5個ってわけじゃないですよね?」
「いやいや、一戸建てです。6階建ての」
「ヤバイ」

料理

「引っ越してから結構料理してる」
「いいじゃないですか」
「レシピなくても作れるんだよね。俺天才なのかな」
「雑では」

新居

「今最高の家住んでる。トイレ1個しかないけど」
「トイレ5個だと大変ですよ。掃除とか」
「掃除する人いないんですか?」
「あー昔はいましたけど、今はいないです」
「昔はいたんですね」

やる気

「俺前の家じゃやる気吸われてたんじゃないかなってくらいやる気出る」
「いいじゃないですか」
「環境があればこんなに自炊できる男だったんだっていうか」
「前の家、目の前に廃墟があったからかな」
「たぶんそれのせいですよ」

可愛い後輩

「たまに可愛い後輩が〜みたいなツイートしてるの、あれ@red_fat_darumaですか?」
「あ、@red_fat_darumaくんのこともありますけど、後ろに可愛い後輩がいるんですよ」
「全部@red_fat_darumaで再生されてた」

設計の話

「設計の資料で、設計の話を聞く心構えのページ作ってる」
「よさそう」
「設計の話は、アイドルの推しメンの話と同じくらいのテンションで聞くのがちょうどいいんですよ」
「そういう前提のスライド1枚あるだけでだいぶ違いますよね」
「もう3枚くらい使って説明してる」
「すごそう」

Androidオールスターズ

「オールスターズって名前つらい」
「オールスターズって言葉のイメージ重いですよね」
「オールスターズサンシャインにすればよかったんだけど、今は@yanzmさんが登壇者にいるからそれもできない」

Rxの使いどころ

「Rxどこで使ってます?」
「自分は非同期まわりだけに決めてますね」
「ポリシーあるといいですよね。単純なリスト操作に使うのは遅いしあんまり」
「自分のとこはレイヤーアーキテクチャで、あんまり使う必要もないんですよね」
「Repositoryの中でzipWithとか使ったりするの便利じゃないですか?」
「APIの構成上あんまりそういうの要らないんですよ」
「なるほど。APIにもよりますよねぇ」
「JSON-RPCのAPIとかだとレスポンスいじる必要あるからRxよさそう」

NEW GAME!

「え、ひふみん推しわかんないですか?」
「うーん、僕は青葉ちゃんですねぇ」
「自分も」
「マジですか」

甘々と稲妻

「甘々と稲妻は見てて辛い」
「つむぎちゃんがいい子すぎてそんなに我慢しなくていいんだよって気持ちになる」
「わかる」
「自分はむしろこんないい子がいるはずがないみたいな感じであんまり感情移入できない」

ヤンデレ

「アニメのLTイベントやりたい」
「やっていきましょう」
「僕もまた『ヤンデレのすすめ』話そうかな」
「あれよかったですよね。前やった時は終わったあとの空気すごかったですけど」
「もしかしてみんな聞いてなかったのかな?と思うくらい反応なかった」

秒速5センチメートル

「秒速あんまり好きじゃないんですよねぇ」
「あぁー電車遅れたりしてすごい不安になりますよね」
「いや僕ああいう想定足りない奴があんまり好きじゃないので」
「そこですか」

想定内

「冬に新宿御苑でリモートして寒かったのは、想定足りてないんじゃないですか?」
「あれは想定はしていたから違います」

ハンターハンター

「ハンターハンターで好きなセリフあります?」
「僕は『無駄な努力ご苦労様♠』が好きですねぇ」
「あれは汎用性高い」
「あと『君の敗因はメモリのムダ遣い♥』もいいですね」
「無駄つながり」

SHIROBAKOで一番好きなシーン

「セリフないシーンで、SHIROBAKOで一番好きなシーンどこです?」
「やはり絵麻のマスクシーンですか?」
「あのシーンみんな好きだと思ってた。gif作ってる人いたからたぶん同じこと考えてる人いるはず」

姉とTwitter

「お姉ちゃんにTwitterフォローされて、やばいと思って速攻ブロックした」
「あのアカウント名でなんでバレたんですかね」
「うちトイレ5個あるしコイツだって思ったんじゃないですか?」

チャットモンチー

「昔チャットモンチーのドラムとすれ違ったことあるんですよ」
「すげえ。よく気づきましたね」
「自分は林家ペーパーと2、3回すれ違ったけど、それでもこれ本物かな?って思った」
「それは疑いようがないのでは」

芸能人

「東京住んでても芸能人あんまり会わないですよね」
「そうですねー」
「僕は常に下見て生きてきたんで、会っても気づいてないだけかもしれない」
「さすがにそんなことないでしょ」

ポケモン

「ポケモンGo、一番強いモンジャラ以外全員博士に送った」
「マジですか」
「え、だってどうせ送りません?」
「いやそうですけど、全部送るのは勢いありすぎません?」
「合理主義なんで」

カラカラ

「カラカラいました?」
「まだ見てないですね」
「カラカラ墓場の近くにいたよ」
「ドンピシャ」


今日の松亭では横に座ったシニアなおじさまに話しかけられて、結婚に関する知見を色々と共有されたのだけど、自分は結婚して3年経つことをなかなか言い出せなかった。また、最初は「結婚はいいぞ。君らも既婚者の家に行って家庭の温かさを知るといい」みたいないい話をしていたのに、いつの間にか「定年を迎えると女性はひどいぞ。事実婚がいいんじゃないかな」という辛い話になってきて自分もどう反応していいかわからなくてオロオロとしていた際、おじさまの話し相手を1人で引き受けてくれた@shanonim氏にはありったけの感謝を送りたい。

現場からは以上です。

Google for Mobile雑感

Google for Mobileに行ってきたので思ったことをつらつらと雑にまとめてみる。間違ってたら指摘ほしい。

Firebaseのクラッシュレポート

Firebaseの話は同僚ががっつり聞いてそうだったので興味があるやつ1つしか聞かなかった。と言ってもFirebaseの力の入れようは半端ない感じで、他のセッションでもチラホラ話が出ていた。印象に残ったのは「クラッシュレポートを送ってくれたユーザーに、修正後にFirebaseのPushでお知らせできる」という話だった。

FirebaseはAnalyticsやPush、RemoteConfigなどおよそグロースに必要なものは全部揃っているという感じで、その機能一つ一つは独立しているが色々な場面で連携すると非常に強力だなぁと思った。今はCrashlyticsでもええやんと思われるかもしれないが、そのうちFirebaseの方がユーザーと対話できるし良いみたいな流れになりそう。

ストアレビューを良くするTips

いいアプリを作ろうみたいなそりゃそうだよねという話なのかなと思ったら、ストアの新しい機能を使うといいよという話で最高だった。レビューに返信をするとユーザーが評価を変えてくれるというのは前に実践して実感もあったんだけど、数字でどのくらい改善しているかを見れたのはとてもよかった。

また、レビューを取得するAPIができていたのいうのは今日一番の収穫だったかもしれない。zendeskとも連携できる。レビュー返信のPOSTもAPIになってるのか気になるところ。

テストラボ

テストラボ、あんまりキャッチアップしてなくて、テストシナリオを用意する必要があるんだと思っていたらただapkをアップロードしたら自動でモンキーテストをしまくってくれるとのことだった。ログイン画面がある場合でも、何かやり方があるらしい。導入コストが低そうでよかった。

また、GooglePlayDeveloperConsole上でリリース前にテストレポートを出してくれる機能がついたらしい。apkをアップロードするだけで20機種くらいでテストしてどの機種でクラッシュしたとか出してくれる。スクショもコンソール上から見れるらしくて至れり尽くせりという感じだった。値段を聞いておけばよかったが、まぁ見たらすぐ書いてあるだろうしいいかという感じ。もし無料だとしたら震えるしかない。

ConstraintLayout

Google I/Oの時よりattributesがすっきりしてた。GUIで作ったxmlをコードレビューする時に大変そう問題は、今後の改善に期待とのこと。ぜひなんとかしてほしい。とは言っても、今のところ自分はRelativeLayoutでいいじゃんという気持ちが拭えない。一度ConstraintLayout縛りで何か作ってみたら考えが変わるかもしれない。

FlexboxLayout

超すごいLinearLayout。デモを見てもとにかく最高という感じだった。軽量なのもよい。たぶん実践投入すると思う。

Mobile Vision API

顔認識とかバーコード認識とか文字認識とかのやつ。オフラインでも動くの知らなかった。ただし最初の一回目はファイルをダウンロードする必要があるらしい。どのくらいのサイズなのかはわからないけどあまり大きくはないとのこと。visionSamples/googly-eyesというのを見れば、だいたいの実装方法はわかるらしい。文字認識が一番気になるので何か試してみたい。余談だけど、最近サンプルで何かを試すというのはすごく不毛な気がしているのでアイデア考えてちゃんとしたアプリを作って試したいところである。

Material Motion

マテリアルデザインのモーションについての話。理論的になぜそうしてるかみたいな話もあって面白かった。欲を言うなら、どう実装するかのコードの話も聞きたかった。モーションについては少し実装してみたことがあるのだけど、いくつかはInterpolatorの指定で何とかなる。ただし、Viewをドラッグしたときの抵抗というか、View同士が関連するような動きは自前で実装しないといけない。いきいきとしたアニメーション素敵だなぁと思う一方で、実装を考えるだけで吐きそうになった。全然関係ないけど、Material Spec更新されたら何らかの方法で知りたい。

雑感

  • 朝早かったのと移動も長かったこともあってわりと疲れてしまって、休憩して仕事してた。体力をつけなければいけないなと思った。
  • もう少しコードがある発表があれば最高だなと思った。まぁそのへんは自分自身で試してアウトプットしていくべきなのだろう。
  • Office Hourをもう少し活用すればよかった。自分自身の予習がたりなかったっぽい。Office Hourがあるなら色々試してハマってから全部聞いて解決する場として使えばよかった。次は気をつけたい。
  • 2年前に一緒に働いてたアイルランド人のエンジニアに会ったり、まだ自分がプログラミングをしてない時にバイトで一緒だった友だちに遭遇したりして、非常に感慨深いものがあった。

松亭での会話を雑にまとめてみる

松亭という居酒屋で月一くらいで飲んでるんだけど、なんかいい話してるからまとめとかないともったいないと感じることがあった。まぁくだらない話がほとんどな気もするけどとりあえず雑にまとめてみた。

基本的に会話の内容雑だしまとまりがないし、飲みの場の会話というのは言葉にするものではないなという学びはあった。もし面白かったという人がいたらまた書くかもしれないし書かないかもしれない。

君の名は。

「君の名は。の先行上映落ちましたね」
「つらい」
「8月の試写会でリベンジしましょう」

Realm

「Production導入してるRealmちょっとつらいんですよね」
「何がつらいんです?」
「バージョンが0.8.2くらいで、マイグレーションとかのドキュメントも古いの探さなきゃいけなくて、もともとやってた人はいなくて、バージョンアップできる状態でもなくて」
「つらい」

コミュニケーション

「結局問題になるのはコミュニケーション」
「設計の話なんかしてる場合じゃないですよ」
「クリーン・コミュニケーション・アーキテクチャだ」

メルカリアッテ

「そういやメルカリアッテのベッド、ドタキャンされたんですよね?」
「そうなんですよ、取引はなしで、みたいな軽い感じで。でもその後同じベッドが同じ値段で出品されてて」
「民度がやばい」
「これどうやって対策すればいいんでしょうね」
「メルカリはすごい」

近所の話

「目の前の家が廃墟ってことに気づいたんですよね」
「え、廃墟っぽくない感じなんですか?」
「いや、廃墟っぽい感じです」
「なるほど?」
「で、その玄関を見ないと家に入れないっていう」
「つらそう」
「まぁ今週引っ越すのでもう大丈夫なんですけど、徒歩5分のところに引っ越すからまだ見に行くこともできる」
「見に行かないほうがいいんじゃ」

SHIROBAKOアドベントカレンダー

「一年半分終わりましたねぇ。まずい。そろそろアドベントカレンダー練らなきゃ」
「SHIROBAKOアドベントカレンダー今年もやりますか」
「今年は3人かもしれない」
「やっていきましょう」

@keiji_ariyamaさん

@keiji_ariyamaさんの奥さんは眼鏡かけてるらしい」
「マジですか」
「本当によかった。危なく有山さんのことを信じられなくなるところだった」

Kotlin

「ProductionでKotlinつらい」
「ビルドの時間が長いんですよね」
「気持ちよくかけるんだけど、気持ちよくない時間の方がトータルで見ると多い」
「適当にビルドしてるんじゃないかってくらいちゃんと動かないこと多い」
「KotlinもDataBindingも生成されるJavaコードはstaticメソッドで愚直な感じだったりしますよね」
「やっぱりJavaでいいんじゃ」

ヒロアカ

「ヒロアカよかった。最高だった」
「見せ場がうまい。ワクワクする」
「オールマイト最高」

松亭

「そういえば、ちょうど松亭来て一年ですね」
「なんだかんだ20回くらい来ましたね」
「一年前はあのライブラリ作ったくらいかぁ」
「自分は初めてのAndroidライブラリ作ったところだったかも」
「当時のチャット見返してみたら、1回目の二週間後にもう一度松亭来てますね」
「ハイペースだ」

魔女化

「この二年で2回魔女化しましたね」
「今は有象無象に戻りました」
「けど現在地の設定は『佳境』になったままですね」
「更新忘れてた」

メンヘラツイート

@red_fat_darumaがメンヘラツイートすると、全部僕に言ってるのかなって気持ちになってちょっと不安になる」
「なるほど」

Test Recorder

「EspressoのTest Recorder使ってみましたって記事出てきてますね」
「逆にTest Recorder作ってみましたみたいな記事よさそう」
「『Googleから発表されましたね、便利そうですね、自分も作ってみましたバーン』的な」
「ARuFaさんみたいなノリで書いてほしい」

社内ブログ

あのTechブログ記事ぶっとんでましたね」
「ちゃんとアニプレックスに許可取ってるところがよかった」
「しかもあれLuaでしょ?Luaとかマイクラで正方形にすげえ掘るやつしか作ったことない」
「あのブログ採用になってるんですか?」
「あーたまにブログ見てたって人来ますよ」
「Techブログは全部真面目じゃなくてもいいってことか」
「いくつかの真面目なワードで上位取れたら、あとはぶっ飛んだ感じの好きなこと書く感じでもいいのかも」

チーム開発

「チーム開発とか言ってるくせに1万行のプルリク出してしまった」
「感謝の1万行プルリク」

Androidとデザイナーさん

「Androidは特殊ですよねぇ」
「基本的にアンドロイドが悪い。デザイナーさんは悪くない」
「正しい」

R社

「老害が残らない」
「いい」
「営業がすごい」
「いい」

海外のネタ

「日本でウケる小ネタ、海外メンバーには伝わらない」
「むずかしそう」
「海外の鉄板ネタは現地の言語を話すことですよ。Tsuraiとか」

破壊

「既存の仕組み壊したい時ある」
「コミュニケーションむずい」
「いっそ社訓に破壊を楽しめとかあったら楽そう」

ハンターハンター

「ハンターハンター止まっちゃいましたね」
「せめて暗黒大陸にはたどり着いてほしかった」
「まさかコルトピが0コマで死ぬとは」
「ヒソカ、何気に能力普通だし努力家なのでは」
「団長もクラピカもチートすぎるんですよ」
「セーラームーンになってもいいから続けてほしい」
「タキシード仮面が首だけになるの見たい」

ラブライブ

「ラブライブサンシャインよかった」
「圧倒的な金を感じましたね」
「無印ラブライブより全然CGもよかった」
「無印ラブライブって言葉があるのか」
「穂乃果のせいで嫁の機嫌が悪くなるからラブライブ見れない」
「やはりこにふぁーさんの嫁と僕は感覚が似ている」
「穂乃果がスタートアップ企業立ち上げる話ならよかった」

銀魂実写化

「銀魂実写化しますね」
「あー小栗旬ですよね」
「監督誰です?」
「勇者ヨシヒコの人ですね」
「よさそう」
「けどアレは山田孝之だからよかったのかな」
「山田孝之は最高」

小説

「石田衣良、ふと気がついたんですけどほとんど官能小説ですよね」
「うつくしいこどもの帯は衝撃だった」
「乙一は無駄な文が一行もない」
「乙一の失われる物語は僕の人生で最高の小説。けど二度と読みたくない」
「重松清のとんび、1日で一気に読んでボロ泣きしました」

雑談の価値

「人の飲み会の話垣間見てみたい」
「Podcastで聞きたい」
「雑談も聞く人によっては価値を感じてくれる人はいそうですよね」
「アニメ制作現場の雑談とかめっちゃ聞きたい」
「特定の人に価値があることってありますよね」
「黒川さんも、岡野さんがミスドでぱないのーとTweetするのを楽しみにしてたりしますもんね」
「あれに価値を感じる人がいたのツボだった」

インフラ

「最近インフラやってる。今日プルリク送った」
「うらやましい」
「インフラは個人の運用規模じゃなかなか経験しづらいですからね」

Androidの知識

「知ってるか知らないかだけの違いみたいな感じはありますよね」
「それも本当にAndroidの癖だけの話というか」
「勉強会もワークアラウンド集的な感じになりがちですね」

Androidのリソース

「Androidのリソースがintなの本当につらい」
「型だったらよかった」
「なぜenumを使わないのか」

つらい時の拠り所

「一時期つらい時にARuFaさんのダンス見てた」
「つらい時見るもの持ってるといいですよね」
「自分はデュララジですかね」

SAO

「見たくなってきた」
「ガンゲイルの藍井エイル最高だった」
「エクスカリバー編が平和で好きなんですよねぇ」
「朝田さん!朝田さん!じゃないんですね」
「アリシゼーション編どうするんでしょうね?」
「だいぶ削るんじゃないですかね」
「あれもつらい話だからなぁ。キリトずっと出ないし」
「きっと愛のある感じに仕上げてくれる予感はある」

5分アニメ

「5分アニメだと、Blu-ray全一巻なんですよね」
「全一巻いいね。そういう人生送りたい」

デプロイゲートTシャツ

「デプロイゲートTシャツ可愛い」
「あ、これ自分で作った」
「マジですか」
「嘘です」
「雑すぎでは」

無駄な議論を減らすために使ってる言葉

雑にまとめるので何かあったら直接言ってほしい。⇒ @konifar

チームで仕事をしていると、なんかあんまり意味のないことで議論している事態に陥ることがある。こういうのは議論の中心にいるとわかりにくいが、少し引いて眺めてみると「それそんなに重要なんだっけ?俺たちはこんなに時間使って何を決めようとしてるんだっけ?」という状態になってることも多い。

例えばAとBどっちがいいですかね?という意見の時、正直どちらでもいいと皆が思ってるのにAとBのそれぞれのいいところや懸念点なんかを皆で話しこんでしまっているみたいな。こういう時に難しいのは、単に「それどっちでもよくないですか?」みたいな言い方をすると場が凍って空気が悪くなるという点である。もちろんそういう本質的なことを言ってくれる人はありがたい存在なんだけど、言うタイミングが少し遅くなると「俺たちはなぜこんな無駄な時間を…」みたいな感じになることがある。かと言って指摘しないと時間の無駄だしチーム全体としてもよくない。

大事なのは、なんかこの議論無駄じゃない?と思った時に柔らかく指摘する言葉の引き出しを持っておくことだと思う。自分がわりとよく使う言葉をまとめておこうと思う。

  • 「絶対にこっちがいいみたいなこだわりある人います?いなければとりあえずAでいいんじゃないですかね」
  • 「目的は◯◯ですよね?今話してることは目的からちょっと遠そうな気がするんで、次いきませんか?」
  • 「それぞれやってみたらどのくらいかかるんですか?1日くらいなら両方やっちゃえばいいんじゃないですか?」
  • 「正直やってみないとわからないのでやってみましょう」
  • 「すみません、問題はなんでしたっけ?」
  • 「どっちの結論になったとしても、やること変わらなくないですか?今すぐやっていくぞ」
  • 「自分は絶対こっちがいいです。強い反対意見のある人いますか?」
  • 「これ情報少なくて今決めにくそうなので、この会議では決定するために必要な情報は何かだけ認識合わせましょう」
  • 「これ今全員で話す必要ありますか?もしなければこのあと何人かで話した方がよさそう」
  • 「時間かからなそうだし、やってみて怒られたら戻せばいいんじゃないですか?」
  • 「2~3時間くらいでできると思うし、PullRequest出しとくんで動いてる物見ながら話しましょう」

小さなチームだととにかく行動した方がいいことも多い。実は議論する時間に作業したら終わるくらいのボリュームのこともある。もちろん組織の風土によって変わるだろうけど、無駄な議論は減らしていきたいというのは共通の問題意識だと思う。それぞれの雰囲気に合わせてやんわりと「俺たちが今話してることはみんなそんなに大事に思ってるのか?議論した結果行動が変わるのか?とにかく行動した方が早いんじゃないのか?」ということを指摘しあえれば最高の環境になるんじゃないかと思う。

ちなみにこれは個人の意見だけども、逆に凍りつきやすい言葉は「そもそも」で、言われた方はわりとイラッとすることが多い印象。使うときは代替案の提示が必須だと思う。