2017年3月17日

仲間が見つからなかったポエム

日本という国で、保持されているEEZがどれだけ国に利益をあげているのか全く理解できてないけど数百億円かけられたことだけは知っています。そんな沖ノ鳥島ですが、「もしかして俺、なんか消えそうな沖ノ鳥島なの?」という気持ちになりそうなことがありましたようてんです。カウントダウンはそれなりに身を削りつつ順調です。

「あまりにインターネットと仲良くしようとしてない会社環境が限界」

というのが統括的な理由なのですが、もう少し噛み砕いて「仲間がまわりにいなさすぎて」という表現をすると、「増やしていけばいいじゃん」とか「ちゃんと増やす取り組みできてないだけでしょ?(さっさと昇格したら?)」とか「みんな仲間になりたいとは思ってるでしょ?」ってこのタイミングに限らず、めっちゃ言われ続けてきた気がするな、と。


新人研修の最中だったか、最初に配属された課の飲み会ぐらいの非常に大昔の話なんですが。

「家に帰ったら最初にパソコンとテレビの電源どっち先に入れる?」

って話になりまして、もちろん「パソコン」ってこたえたら「ようてんはそうだよねーw」って感じのコメントいただいたんですよ。
# 今現在、そもそもパソコンの電源を落としたりはしないし、スマホが代わってるし、僕は地デジがうつるテレビを持ってない、みたいな展開があるんですが。

これが一番最初に「あっ、もしかして僕みたいな種族この村に住んじゃいけなかったかな」って思ったタイミングでした。

それから長らく「パソコンやプログラミングはとくいだけど基本的には問題児のフレンズ」として暮らしていたわけですが、2005年以降あたりから、「たまたまのLinux」が来て、「モバイルがインターネット」になって「Androidとかでドーン」みたいな波に乗って、顔の広さを手に入れたんです。

それなりに必死に仲間を探しました。
賛同者は結構見つかりました。
「でっかい組織に必要な多様性という観点ではめっちゃ貴重」という感じの評価をしてくださる人も居ました。

GitHubアカウント持ってて、なんでもいいからコードを書いてますな人いないかな・・・ひとり辞めちゃった人が思い当たります。
休みの日もAndroidアプリを書いてて、Playとかで公開したりする人いないかな・・・むしろそれがトリガで同期が一人やめた覚えがあります。
勉強会とか発表とかコミュニティ運営とかがんばってる人いないかな・・・5人ぐらいはカウントできるかな、最近やってないっぽい人になっちゃったのもいるけど・・・他にもいらっしゃるかな。

blogとか、Qiitaとか、社内のWikiとか、どこか業務外でノウハウ残しながら、ドヤ顔しながら暮らしてる人いないかな・・・
若者「やれと言われればやりますけど・・・」
俺「ぐぬぬ」
これについては、今現在はカウントが0です。どなたかやってらっしゃるなら、がんばってください。

GCPやさくらのVPSをちょっと触ったぐらいでHerokuもAWS名前は知ってるだけ、ぐらいだったので、さすがに仕事でさわるのにこりゃまずい、とAWSにも手を出しました。
「タッチパネルと液晶とバッテリついてるAndroidつーLinuxがあるじゃないか」論により、RasPiだいっきらいマンだったのでかたくなに拒んできましたが、Arduinoは手を出してみたら楽しかったです。
VRは・・・お話には聞きますがせいぜい360度動画ぐらいですね。Unityは・・・3回ぐらいかすりました。エディタを起動する必要がある仕事はしたことがないです。

ソフトウェアでお仕事してて、隣のソフトウェアを試してみたくなったりしませんかね・・・?
流行りものが○○でできてるって聞いたら、気になりませんか・・・?
そうですか・・・なりませんか・・・。

まぁ、教え方、誘い方がよかったとは思えません。「俺ぐらいできないと話にならないけどな」と最初っから首を撥ねてしまったのかもしれません。誰かに何かを勧めて始めてもらった経験、あんまりありません。
gitだけはがんばった気がします。世間の必要性が勝手に後押ししてくれたとは思いますが。


ふむ、実は、「勝手に仲間の範囲をせばめてるだけ」な気もしてきました。
3ヶ月一緒にコード書いたら仲良くなれそうかも、何人かは同じ種族に変身してくれるかも、期待は持てそうです。
チャンスさえあれば・・・!

・・・ちゃんす・・・あったっけ?

3人が同じソースコードをレビューできるチームすらつくれる機会がありませんでした。
見積もりだけ、一人プロジェクト、サンプルだけ作ってサポート、二人プロジェクト、見積もりだけ、見積もりだけ、一人プロジェクト、兼務リーダだけ・・・
機会をつくれていない僕のリーダ力やマネジメント力、少ない機会を活かせない僕のヒューマンスキル()が圧倒的に不足している気配です。

そういえば、DroidKaigiのはぐれ2次会でシャープハッカソンの話とか久しぶりにしました。
へっぽこだったので早々に9patch編集するだけの人になりましたが、あれは食べてはいけない果実だった気がしますね。
同じ目的意識、価値観の人とチームを組む機会があれば、チームワークはそれなりに高速に出来上がるという経験でした。

んー、なるほど。なんとなく整理がついてきました。
「俺の仲間になれよ」がものすごく心理的に苦手っぽいです。
最初っから同じ言葉が喋れていれば、「あー、俺ら同類かも・・・」ってシンパシーいけそうです。

それでも、仲間が欲しいのであれば、他の種族の言語を勉強して話かけるしかありませんよね。
よし、じゃあ俺が種族を変えよう、と「あなたの言葉がんばって勉強しました、仲間にしてください!」
と、今の会社の他の方々に言いたい気持ちになるか・・・いやー・・・全くなりませんね。

まぁそもそも僕がそういう気持ちになったとしても、仲間に入れてもらえるのでしょうか。
年寄りですから、そういう機会、少しはあった気もします。

「そっちの方面の才能はようてんさんないでしょー」
「そうじゃないんじゃない?」
「んー、君にそれはどうかな」

思い返してみると、むしろ「お前仲間じゃねーし」ってめっちゃ言われてきた気がしてきましたね。


「両生類ぐらいにはなれると思ったけどやっぱ無理www呼吸できないし魚類は海に還りますwwwバイバーイwww」

これでいい気がしてました・・・ホント?

2017年3月11日

#DroidKaigi 2017感想

DroidKaigi2017に参加しました。
最近のAndroidはよくしらないのでわからないことばっかりだったのですが、まぁわかんなくてもわからんことを気づくこと自体も楽しかったですよ、うん。

○わからない度合い

・知らない:ReactNative
・知ってるだけ:Kotlin, DDD, Chrome Custom Tabs, LayoutManager
・Hello Worldはしたことがある:Orma, Firebase(Realtime DB)
・どんなものかおさえるため少し試したことがある、採用していない:RxJava/RxAndroid, React, Realm
・試作案件で導入した・経験がある:Data Binding, ActiveAndroid, target23
・商用案件で導入した・経験がある:PubSub(EventBus/Otto), OkHttp, system app, BLE
・MV*については「ViewとModelがちゃんと分かれてば他はだいたいどうにかなるんだよ!どうでもいいよ!」サボり派

○聞いたセッション一覧と感想

【1日目】
・マッチョActivityを改善した話
「どうController/Presenterの肥大化を抑えるか」という話かなと思ったのですが、「とにかくでかいActivityをMVPありきでModelを分離してDI可能なようにstatic排除した」staticおじさんへの呪詛が多く「いいものはいいんだよ!わかるだろ!」がわかりませんでした。

・Android Security 最前線!!
ロックと暗号化つらかったのDirect Bootでどうにかなったのね。まぁロックつらいようなアプリは安易にロックスクリーンしがちですが。「いいからデバイス証明書にこれインポートしろ!」しないで済むNetwork Security Config便利そう。

・Androidリアルタイム通信アプリ作成Tips
OkHttpでWebSocket使えるようになったのですね。ただWebSocketはWeb側ですでに・・・とかじゃないと採用しない気がします。FirebaseとかRealm Mobile Platformの話は中身がコードばっかりすぎて密度高くてきつかったですね。
僕は機能なんかより「OSS度」「ロックイン度」「公式度」からRealmをとくにオススメしないマンだったのですが、Realm Mobile Platformはむしろエンプラでクローズドなプロダクトで便利そう。

・Data Bindingで開発を気持ちよくしよう
初心者向けに優しいところから順番セッションでした。「つらいとこでは使いません」がはっきりしてて良い質疑応答だったなと思います。さらばFindViewByIdとかさらばif(isVisible)ぐらいのあたりまでが一番導入コスパフォ高くていいと思ってます。

・実践アニメーション
アニメGIFらしき実例のフレームレートが足りなかったかな・・・。

・オフラインファーストなアプリケーション開発
かなりあとのほうまで聞いて、「マスタがインターネットにあってローカルがキャッシュという話とは逆で、ローカルDBに対するアプリとして作っても、Realm Mobile Platformを使えば+αいけるよ、オフラインファーストの方がよさそうなアプリでは使ってね」というトータルの言いたいことがわかりました。
ざきさん知ってれば予想はついたとは思いますが、Realm Mobile Platformの単語出さずにこれはちょっとRealm前提すぎて騙し討ちだったような・・・

・React Nativeはクロスプラットフォームモバイルアプリ開発の夢を見るか
発表材料をでっかく作った上で丁寧に取捨選択・圧縮してある印象で面白かったです。紹介・導入・評価・実例、オチまで30分枠につめた圧縮手法すごい。

・Android Bikeを作ろう
ようこそBLEへ。

【2日目】
・Android ORMの選び方
丁寧だったけど読み物すぎて書籍で読みたかった感じ。Ormaでマイグレしたことがない(カラム追加以外のまともなマイグレが必要になったことがない)ので今度試しますごめんなさい。

・個人で11個のアプリを公開した結果
参考になるかはさておいて、あるある話満載で楽しかったです。みんな作りたいから作ったしような。

・いまからはじめるAndroid 6.0対応 〜Android 7.0から8.xを見つめて〜
あんまり7,8を見つめてなかった感が・・・「去年採択されなかったのを出したら通っちゃいました」、えーと。

・Systemアプリ開発入門
「AOSPビルドしたことがある人」ぐらいじゃないと話にならなかったと思うのですが、まぁセッション参加者も猛者ばっかりで問題なかった気がします。
どちらかというとマルチユーザ対応さらに需要ないと思うんでおまけのAndroid Studio/debug話の方が聞きたかった感がありました。

・Chrome Custom Tabsをさらに使いこなそう
サンプルアプリとスライド事前公開ありがたい、「WebViewはちょっと武器庫すぎたから遊ぶのはこの砂場で我慢してくれよな」がよくわかりました。

・Fireside Chat
あったまった

・LayoutManagerをつくろう
「もう少しいうこときかせられるつもりでとりかかったけど強かった」セッションになってました。質疑応答の「お前はこう、俺はこう」がよかったです。

○KPTのT

Try
・見知らぬ人に突然押し付けるためのコンテンツを用意しよう
・直前にAndroidについてつらい気持ちにならないように業務や人生をコントロールしよう

○その他感想

・VRとかAndroid Thingsとかなくて多様性についてはもう少し欲しかったな、と感じましたがまぁでも「みんなが(=3割ぐらいの人が)聞きたいコードの出てくる話かと考えた際にそんなに需要はないか」とも思ったので、「セッションで話すべき」ではなくて、スポンサーブースとかゲリラデモとかAfter partyとかセッション外でも場がないわけではない気がしてきました。
・ただ、ReactNative/XamarinあたりのAndroidの多様性というプールでキャッキャ遊んでる盛り上がりと比較すると、Rx, MV*満載で「コードはこうあるべきだ」理想追求はちと抽象化されすぎで、「実際の問題についてコードでどう殴るか」まで落ちてないセッションを引いてしまった印象でぐぬぬでした。
・「どう理想の世界をつくるか」よりは「どうなんとか(スキルがつらい、客がつらい、同僚・上司がつらい)やっていくのか」が必要だと思うんですが、みんななんとかなってるんですかね。
・after partyで全然見知らぬ人としゃべらなかったししゃべるネタあんまりもってなかったの反省。個人として退職芸人中のステータスが悪いといえばそうなのですが:)

いろいろ最善とはいえないコンディションだったけどそれでも楽しかったです。

2017年3月 8日

iOSユーザとAndroidユーザを戦わせなくてもいいじゃないか

【デザイナー向け】これからAndroidのデザインをする人へ
http://qiita.com/AAkira@github/items/02814f337f4eb2d30f2e

なんとなく思うことがあったので。

○全般

【デザイナー向け】という枕詞をつけるのであれば、Android用語をもう少し一般的な表現に直した方が良いかな、と思いました。「Androidに詳しい人へ向けたAndroidのデザインに関する愚痴」のテイストが少し強すぎという印象です。

○個別

・見出しが「Android用語」と「デザイン用語」と「(はじめに、や一番いいたいこと、など)文章を構成する一般的な見出し」が混在していて読みづらいと思いました。

・僕の経験則で言うと、すぐれたデザイナーはiOSのデザインコンセプトがきちんと別の体系に翻訳されていますので、単にAndroidを使っているだけではなかなかそのMaterial Designの全容を体系だって体得するには至らないと思います。そのため、「いいから2台もちしろよ」みたいな乱暴で(コストの高い)提案ではなくて、貸してあげるとか、タブレットにでもどうだい、とか、このアプリは比較して30分使ってみるとAndroidについてよくわかるよ、とか、そのぐらいがイイトコロじゃないでしょうか。

>「Android暗黒時代と呼ばれる2系の端末を所持していた経験があり、Androidに嫌悪感を抱いています。」
あんまり暗黒時代と呼ばれてない気がしますし、真にヤバかったのってIS○3とかIS○4とかではないですかね・・・「葬式UI」ではありましたけど2.3は(とくに2.3.3以降)ほどほどだったと思いますし、Honeycombなら暗黒時代と呼ぶのはわかるんですが、「2系は暗黒時代とよばれていた」みたいな表現はちょっと乱暴に感じます。

あと、俺は詳しいんだアッピルするなら「2系」とか「5系」とか小数点以下ふっ飛ばさないでほしいのです、「4.4系(通称 KitKat)」ももう一息丁寧に

>一旦5系以上の端末(日本, 中国製, 低価格帯は除く)を使用してから言って下さい。
これも「中国」といわゆる「中華端末」が区別されてない印象を受けます。例を挙げるとHuawei、Nexus6Pとか、ね?

>dp(dip), sp
>dp
「密度非依存ピクセル」という説明の前にいきなり「○○は大事である」って入ってて思考ジャンプが強いです。
その割には「pxという言葉は忘れてください」ってこれも乱暴ですし、忘れないでもいいじゃないですか。
さすがに5インチWQHDはアレかなー、って思いますが、6インチFHDぐらいならピクセルパーフェクトは結構狙って価値があると思いますよ?

>dpがない場合はこのように表示されます
>dpがあると同じ様なサイズで表示されます
この表現はなんだかよくわからないです。

>sp
>AndroidではiPhoneとは異なり そもそも複数画面サイズがある前提なので、
「iOSとAndroidのシステムフォント設定サイズへの追従度」について、とくに手持ち情報があるわけではないのですが、iPhoneもSEから6P/7Pまで結構サイズ違っちゃってるじゃないですか。
フォントサイズ設定に耐えられるUIの柔軟性設計は(そもそも他言語の方が鬼ではありますが)どちらでもそれぞれ大切だ、ぐらいの方があってるのではないでしょうか。

>4の倍数
さっき「pxという言葉は忘れてください」って言ったじゃないですかー。

https://material.io/guidelines/layout/metrics-keylines.html
"All components align to an 8dp square baseline grid for mobile, tablet, and desktop. Iconography in toolbars align to a 4dp square baseline grid."
Material Designのテンポがそうだから「8dp(4dp)のグリッドに・・・」でいんじゃないですかね。

>戻るという概念
こんにゃろめ、"Up"という単語を使わずに説明しようとしてわかりづらくするなんてハッハッハ

>下タブ
下タブそのものが悪だったのかはよくわかりません。ガイドライン違反はアレだと思いますが。

>WebView
Chrome Custom Tabで概ね勝利なのですが、「iOSはintentという概念が無いので、よく使われます。」というのも少し首をかしげます。
back to appでcustom URL scheme組み合わせるやつとかiOS9からそれなりにいい感じですよね?

>基本構成
IDEのファイル構成を説明するのは本当にデザイナー向けなんですか・・・?なんのための説明・・・?

>アンチパターン
>プルリクエスト
このあたりクライマックスしてて、(気持ちはわかるんですが)「iOSユーザの気持ち」にも「デザイナーの気持ち」にも寄ろうとせずに「Android開発側の流儀ぐらいちゃんと把握しろよ!」テイストを強く感じました。

iOSとAndroidバトらせるんじゃなくて(いやそれはそれで楽しいのですが)、素直にデザインとUIとプログラミングの良い関係を目指していきたいものです。

P.S.
ドラムロールだけはさっさと滅べ>iOS

2017年3月 6日

良書という概念が理解できた時点で勝ち

books.jpg

「○○に読んで欲しい良書N選」みたいな話が定期的に世の中には流れてきますが、そもそも「良書」というものがどういう概念なのか、そのメリットを体得していないとそういうN選情報って有効に使えないな、って思います。

絵本でも、マンガでも、ラノベでも、音楽でも、アニメでも、「良いメディアを人に紹介される/人に紹介する」経験を積んで、良コンテンツとして認識する練習をしておく必要があって、「良書とは、良書というものがどういう概念なのか理解できるようになるスキル習得率が高い書物」みたいな再帰的なものを感じます。

さて、載せた写真は「もうそろそろ家に持ち帰り始めないとまずいやつ一式」ですが、色々な本を持ってきたり貸したりした感想を3つほど。


1. 積極的に貸しても、メリットは薄い


主体的/受動的、貸す/借りるという2要素の組み合わせのうち、「価値があったな」と感じる順に並べると、不等号は以下の様なイメージです。

「主体的に借りる」>「受動的に借りる」>>>「主体的に貸す」>「受動的に貸す」


以前書いた情報共有の話と似ているんですが、積極的に情報を収集するアンテナが育っていないと砂漠に水をやるようなもので、「新聞くらい読んでおけ」が概ねのシーンで役に立たないのも同じ話だと思います。

反対に、人が良書だと評価したものを借りる・後で買うのはかなり価値が高いです。自分で良書を探すのではなくて、積極的に人から良書を紹介してもらいましょう。アニメやゲームを紹介されて人生が豊かになるやつです。


2. 本がずらっと並んでいると、本人の価値観だけが増幅されて、他の人との認識の差が大きくなる

このずらっと並んでいる写真を見ると、僕本人はそれなりにテンションが上がるんですが、自分の中で既に積んでいる良書体験を思い出して幸福感が生まれる回路が働いてしまうだけで、この本棚を見たほかの人の評価が連鎖して上がるわけでは決してないということです。

あまり気にしないようにしてきましたが、これに対して「うわっ」「全部ようてんさんのですか」みたいな感想が多かったですね。もっと酷い人は「私物のゴミを会社に保管するなよ」みたいな感じのコメントをしてきます。


3. それでも、効率アップには貢献してくれたと思っている

それでも、「顔をつきあわせて2時間×10回」みたいな話をある程度代替できるのが書籍の備蓄・貸与のいいところだと思っています。

特にノンデザイナーズデザインブック、リーダブルコード、yanzm本3冊セットは「あまり本を読みなれていない人にも押し付けてメリットが発生しやすい」運用コストの低い良書だと思っています。僕が本を押し付けた何人かの人が、「良書」の概念を理解するきっかけになっていればいいのですが。

2017年3月 1日

SAO劇場版オーディナル・スケールの感想脳内垂れ流し(※ネタバレ注意)

以下、ネタバレ

続きを読む "SAO劇場版オーディナル・スケールの感想脳内垂れ流し(※ネタバレ注意)"