どくぴーの備忘録

真面目なことを書こうとするクソメガネのブログ。いつ投げ捨てられるのかは不明

potatotips #21 に参加してきました

昨日まで株式会社ウォンテッドリーでインターン生をしてました.どくぴーです.

ところで

ということで,一度行ってみたかったpotatotipsに参加してきました.偶然奇跡的に応募当時空きがあったブログまとめ枠での参加です.

connpass.com

初めて参加したpotatotipsの感想ですが,超がっさりいうと

  • 寿司
  • ビール
  • 唐揚げ
  • 知見
  • 知見
  • 知見

って感じでした.最高.

Side iOS

まとめるために頑張って話を聞いていましたが,当方Androidしか触ったことがなく,完全に勘違いしている可能性がありますので,その場合はご容赦を…

Slack compile time is too slow(_mpon さん)

speakerdeck.com

はじめにさらっとDDDの知見(スライド参照)を話していましたが,本題は6分55秒もかかるコンパイル時間を何とかしようってお話でした.直訳すると「速い」ってはずのswiftなのにコンパイルが遅いのは何事だ!という…

  • 特に怪しいたくさんのSwiftファイルを $ cat *.swift > God.swift して神を降臨させたらコンパイル時間がなんと48秒になった.ただしXcodeは死ぬ
  • 次に怪しいたくさんのExtensionを神のお導きにしたがって手動で13個にまとめたらコンパイル時間が1分55秒に
  • 2つの神をまとめるとコンパイル時間が39秒に!これはswift!!
  • デバッグとかエラー追っかけたりとかすごい大変そう…(感想)

Apple Watch Tips(shoby さん)

speakerdeck.com

FRILのApple Watch対応で用いた体感速度向上のためのTipsと困ったことの紹介

体感速度向上のために…

  • 最初に見える部分は高速に描画
    • 通信なしで画面遷移したり
    • ユーザが読んでる間にロードできるように画面の上にテキストを持ってきたり
    • 画像や追加ロードが必要なものは下に移動したり
  • 何故か画像のロードQueueには1枚ずつ詰めたほうが1枚目のロードが早く終わる.すごい不思議.最適化されてる?
  • 画像ロードが一番ストレスになるし画面に合わせたサイズの画像を配信するようにしよう
  • 画像をひたすらキャッシュして通信を出来るだけ少なくしよう

困ったこと…

  • 何故かWatchConnectivityがDebugビルドじゃ動かないのでAdHocつかおう
  • Bundleにいれる画像の場所を確認しよう
  • アプリアイコンにアルファチャンネルがあると提出できないみたい

体感速度向上のためのTipsはiOS/Watch OSじゃなくて,Androidでも十分適用できるなーって思いました.

3D Touch on iPhone(TachibanaKaoru さん)

www.slideshare.net

もうすぐ発売のiPhone6s/6s Plusに搭載される3D Touchに関するお話.

  • Pressure Sensitivity
    • 指かスタイラスかなんて判定もできるらしい,更には入力角度も…?
  • Quick Actions
    • なんかホーム画面でコンテキストメニュー的なのが表示できるように
    • 実装にはいろいろお作法があって大変そうだな…と思いました(iOSわからない並感)
  • Peek and Pop
    • 軽く押す(Peek)とPeek画面が表示されて,そこから強く押す(Pop)とPeek画面が大きくなって,目的の画面に遷移
    • PeekとPop,直感的ですごい良いねって誰かが言ってた
    • どうやらPeek画面のブラー具合も設定できたりするらしい

一応シミュレータでもできるって触れ込みらしいけど,どうやらうまくいかないらしく,まだAppleのドキュメントでしか情報が確認できないらしいので,続報待たれる!って感じでした

UIKit Sound(cocominap さん)

普段ほとんど音を使わないiOSのUIに音を付けてみようというお話.

  • 非常に楽しそう
  • いろんな音を試していく中で思わぬ気付きがあるかも…?
  • インパクトのある音は毎日聞くと疲れるので,その辺の使い分けとかできたらすごい楽しそう

ショボいPull Requestを積み重ねて、自分の中でOSS活動の敷居を下げる(naoyashiga さん)

speakerdeck.com

代理発表,ということで,以前ブログに書いたら反響が大きかった記事のお話でした.

  • GitHubプロフィール豪華にしたいけどそんなライブラリとか思いつかない!じゃあしょぼいプルリクしよう!
  • 割とショボくても出してみたら感謝される.プルリクをもらうことが嬉しいってのもあるみたい
  • 大体どこも英語だけど英語力がない…→コミットメッセージは「Please Review」でおk!
  • ショボいプルリクでも大丈夫だからOSS活動してスキルアップを目指そう!

iOSに限らず,いろんな分野の人にすごいためになる発表だなぁ…って思いました.

絵の描けないエンジニア/コードの書けないデザイナー(grgr56 さん)

  • 金→アイディア湧く 土日→実装 月→ボツに,とってもつらい
  • 結局かっこいい絵がかけないとプロトタイプにはなれない
  • エンジニアにはかっこいい絵の壁があるように,デザイナにはプログラムの壁がある
  • 絵を書く→ゴリゴリ実装,みたいな流れがorigamiのようなツールによって何かが変わるかも…?

naoyashigaさんの話に続いて,iOSに限らず,いろんな人にとってためになるお話でした.

TestFlishtみたいなのを自作する(tomzoh さん)

www.slideshare.net

  • 受託でのバイナリ作る→動作確認→修正→バイナリ作る→・・・ のループつらい
  • iOSにはTestFlightがあるけど,英語だし担当さんにはつらいところが
  • InHouse経由で独自のTestFlightっぽいのをつくったらいいじゃん

君だけの最強のなんとかgate/なんとかFlightをつくろう!

バグのことは嫌いになってもXcodeのことは嫌いにならないでください(daisuke0131 さん)

www.slideshare.net

Xcodeはクソ?いやいやちょっと待って下さいよってお話.

  • 例外発生箇所がいつもAppDelegateでつらい…→Exception Breakpointを使おう!
  • AutoLayoutの制約矛盾もSymbolic Breakpointで対応できる
  • XcodeもちゃんとBreakpointのオプション活用したらデキる子になって幸せになれる

Side Android

framework code reading(kgmyshin さん)

AndroidのFrameworkのコード,結構ためになるからみんな読もう!というお話.

  • 起動シーケンスや割とjava層で書かれているパターンロック/パスワードロック,TelephonyやPermission周りのコードが最近のおすすめだそう
  • すごい人を憑依させるためにお茶と龍角散,チョコレートを用意しましょう(??)
  • 深く深くまで潜り込むから集中できる環境で
  • ちょっとバージョンが古いけど検索できたりメソッドジャンプができるOpenGrokがおすすめ
  • 使わないエミュレータのイメージがあったらこまめに消しましょう.一気に45GBくらい消せたり…(以前そんな話題を記事にしたなぁ)

To learn Interpolator(amyu_san さん)

www.slideshare.net

Androidで数式からアニメーションを作り出すInterpolatorに関するお話

  • 縦軸Value(0%~100%),横軸Time(0~1)で考える
  • radius × Interpolatorの値で拡大縮小をコントールする
  • MacのGrapherを使えばいい感じにイメージしやすくなる.複数の数式の交点でxを分けて考えると良い
  • ぼいんぼいんバウンドするアニメーションだとAnimetionSetでゴリゴリやるからネストがすごいことになったりするけどInterpolatorを使えば幸せになれる

ああ,すばらしきかなInterpolator(引用)

Recently Google Play Developer Console(tarotaro4 さん)

最近のGoogle Play Developer Consoleの解説をしてくれました.ちょくちょくいろいろな部分が変わっていますよね

  • 【朗報】Android Wearがパームレストにあたってつらい!?二の腕に巻けばパームレストに当たらないし時計は見れるし一石二鳥だよ!!
  • アプリのページを表示した回数とそこからどれくらいダウンロードまでしたのかわかるように
  • レーティング,レビューがいろんなスパンで見れるように
  • レビューに対して返信ができるように.そこからレーティングをアップデートしてもらえるとバッジがつく
  • Crash and ANRとかいう超つかえない機能
  • Optimization Tips,アプリがより使われるためのTips教えてくれるけど大体「タブレット対応しような」.でも一応dismissもできる
  • Cloud Test Lab,Early Accessまだですか
  • 外部APIから画像を取ってくるようなアプリはその画像に依存することになるので年齢的なレーティングが高くなる(某Pixivクライアントさんが弾かれたのはそれかな)
  • 意識して改善を続けると自ずと評価がついてくるから頑張ろうな

ReactNative for Android(petitviolet さん)

speakerdeck.com

突如当初の予定を投げ捨て(?)最近出てきたReactNative for Androidを試してみたお話.

  • JSがロードできないとVistaのようなレッドスクリーンが出る.こわい.F2(AVD),F10(GM),シェイク(実機)で呼びだそう
  • Rract強いなら多少楽に書けるはず
  • auto reloadめっちゃいいよね(JRebel for android…,ウッ)
  • CustomViewが非常に楽に作れるみたい
  • StackTraceが貧弱すぎてデバッグができないのつらそう
  • まだ早い.CordovaでReactするのとは何が変わるの?ってツイートも見たような

Nearby Messages 触ってみた(konifar さん)

speakerdeck.com

近距離通信ができるNearby Messages APIのお話

  • BluetoothWi-Fi,Ultrasoundを使ったPublish⇔Subscribeメッセージングモデル.超音波すごいかっこいい
  • 超音波利用時にpermissionが出てくる
  • 虫が跳んでるみたいな音がする
  • iOSとも通信できる(らしい)
  • 割と簡単に試せるけどまじめに実装と思ったら注意が必要
  • 超音波ってあるからネットワークいらないのではって思うけど結局必要

Promisified BLE Client(izumin5210 さん)

speakerdeck.com

konashi-android-sdkを作る上で味わったつらみをごまかすライブラリ「Bletia」のお話

  • izumin5210/Bletia · GitHub
  • PromisifiedなのでThennableに書ける.コールバック地獄からの脱出だ
  • Saiko no Experience with Promise

Create Layouts with the Wearable UI Library(teshi04 さん)

speakerdeck.com

Android Support Wearable Libraby 1.3.0のandroid.suppoer.wearable.viewパッケージのお話

  • Wearデバイス用のListViewとか
  • 円形のImageViewとか
  • 水平・垂直方向に移動できるViewPagerとか
  • 最大行数とViewの幅から最大文字サイズを計算して,表示する特殊なTexiViewとか
  • Wearの丸型,角形のディスプレイに対応いたLayoutとか

Wear向けのView,って言うことだけど,Phone側にもほしいなーって思うものもいっぱいあった

Popup view on Mortar(KeithYokoma さん)

speakerdeck.com

Fragmentへの反対声明で有名な超企業,SquareのFragmentに対する代替?Mortarに関するお話

  • Fragment/ListFragmentはView & Screen.Presenterで代用できる
  • Dialogはどこにも書いてないけどPopuo & Screen.PopupPresenterで代用できる
  • ユーザの選択はonPopupResultでハンドリングできる
  • 表示するデータは必ずPercelableのextendsで,equalsとhashCodeが実装されてないとダメとか,制約に気をつけよう

以上,全発表のアウトラインでした.スライドがアップロードされている発表は全部網羅したので,そちらも見てください.

当日の様子はこちらから

togetter.com