【第21回】potatotips(iOS/Android開発Tips共有会) まとめ

* [【第21回】potatotips(iOS/Android開発Tips共有会)](http://connpass.com/event/18732/)に「ブログまとめ枠」で参加しました
* まとめはQiitaでもOKとのことなので投稿します
* 発表を聞きながらメモったことをふんわりまとめてあります
* 発表者の発言そのものではない点、ご注意ください
* お気づきの点がありましたらお気軽にコメントおねがいします!

## 会場
* [リクルートマーケティングパートナーズ](http://voyagegroup.com/)　さんのオープンスペースで開催されました。

## 発表一覧
https://github.com/potatotips/potatotips/wiki/potatotips-21

# 発表内容
## @_mpon	  [Swift compile time is so slow](https://speakerdeck.com/mpon/swift-compile-time-is-so-slow)
* **トップバッターにして一番盛り上がったトーク**
* 自プロジェクト(Swift)のコンパイル時間6分55秒
* 300個の.swiftファイルを1ファイルにしてみた
* **cat *.swift > God.swift** 👼
* コンパイル時間48秒(ただしエディタは死ぬ)
* だれかコンパイル時間を短くする良い方法おしえてください

## @kgmyshin	framework code reading
<iframe src="//www.slideshare.net/slideshow/embed_code/key/Ay2qfwjelVPQx" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/shinnosukekugimiya/framework-code-reading" title="Framework code reading" target="_blank">Framework code reading</a> </strong> from <strong><a href="//www.slideshare.net/shinnosukekugimiya" target="_blank">shinnosuke kugimiya</a></strong> </div>

* Frameworkのコード読んでますか?
* Androidソースコード検索サービス [{OpenGrok](http://opengrok.github.io/OpenGrok/)が便利

## @shoby	[Apple Watch Tips](https://speakerdeck.com/shoby/apple-watch-tips)
* 作りました　→　[フリル](https://itunes.apple.com/jp/app/fril/id523497998)のAppleWatch対応
* Apple Watchの体感速度向上Tips
* 最初に見える部分だけを優先して描画
* 画像のロードQueueには1つずつ詰める →　なぜこういう動きをするのかはわからないが、1つずつ詰めると1つ目の画像表示が速くなる(全体としては遅くなるが)
* iPhoneサイズの画像を使いまわさない(Watchに最適化した画像を作成する)
* 画像をひたすらcache! cache! cache! 

##　@amyu_san	To learn Interpolator
<iframe src="//www.slideshare.net/slideshow/embed_code/key/Dr6t7rxwMEsAV4" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/mimayuki7/to-learn-interpolator" title="To learn Interpolator" target="_blank">To learn Interpolator</a> </strong> from <strong><a href="//www.slideshare.net/mimayuki7" target="_blank">Mima Yuki</a></strong> </div>

* Interpolatorを学べばアニメーションが劇的に良くなる(｀・ω・´)
* Bounceアニメーションのデモ(Twitterのファボボタンのアニメーションを例に、標準とカスタムのBounceアニメーションをデモ。スライドがわかりやすい)
* Macの人は[Grapher](http://guides.macrumors.com/Grapher)というアプリケーションがデフォルトで入っているので、それを使うと簡単にカスタムアニメーションつくれる
* カスタムの方がアニメーションが気持ちいい
* 高2までの数学でカバーできる
* コツは、動きのパターン(Bounceアニメーションならズームインする部分、ズームアウトする部分)ごとに**xを区切って、区間ごとにアニメーションの数式を設定すること**。区間ごとに区切って数式を考えると意外と簡単に作れる


## @TachibanaKaoru	3D Touch on iPhone
<iframe src="//www.slideshare.net/slideshow/embed_code/key/4YvSUYs1kauGqL" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/toyship/3d-touch-for-ios" title="3D touch for iOS" target="_blank">3D touch for iOS</a> </strong> from <strong><a href="//www.slideshare.net/toyship" target="_blank">toyship</a></strong> </div>
* つくってます → [朝時間.jp](https://itunes.apple.com/jp/app/chao-shi-jian.jp-chaogohanreshipiya/id400435286?mt=8)
* シミュレーターや実機でまだ試せないので、ドキュメントから想像してます
* タッチした場所だけでなく、圧力も分かる
* ホーム画面のアプリアイコンを押すとメニューが出せる
* Peek and Pop　は、軽く押すとチラ見ができるMacのQuickLookのイメージ。
* MacのQuickLook : ファイルを開かなくてもプレビューが見れる
* Peek and Pop : 画面遷移しなくても、Peek画面が表示できる
* Universal Linkの設定できてますか?　できてる方こえかけてください

## @tarotaro4	Recently Google Play Developer Console
<iframe src="//www.slideshare.net/slideshow/embed_code/key/1NCOua767BWtbm" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/tkawashita/20150916-potatotips-21public" title="20150916 potatotips 21_public" target="_blank">20150916 potatotips 21_public</a> </strong> from <strong><a href="//www.slideshare.net/tkawashita" target="_blank">tkawashita </a></strong> </div>

* HDMIに疎外感を感じますね(´・ω・｀)
* **普段 Android Ware や AppleWatch を手首に着けている方は、手首ではなく腕(腕章とか巻く位置)につけると邪魔にならずにキータイプできるのでおすすめです(｀・ω・´)**
* 組み込みエンジニアです。普段は画面がない。趣味でアプリ出してます
* Google Play Developer Consoleにいろいろ機能が追加されているようなのでさわってみた
* Googleが公式ドキュメント Optimization Tips を出している
* Google公式からはタブレット対応をしてくださいというメッセージを出している
* Googleはタブレット対応しないとGooglePlayでフューチャードしないと言っている
* Store Listing(Experiments) ストア内でABテストが出来るらしい

## @cocominap	UIKit Sound
<iframe src="//www.slideshare.net/slideshow/embed_code/key/4bjlUN4jzPUy4C" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/cocominap/uikit-sound" title="UIKit Sound" target="_blank">UIKit Sound</a> </strong> from <strong><a href="//www.slideshare.net/cocominap" target="_blank">cocominap</a></strong> </div>

* アプリUIの音によるフィードバックについてデモしつつ見なおしてみる
* 音によるフィードバックはオプション扱いされることが多いが、いろいろ試してみるとおもしろい
* 最近Twitterに音によるフィードバックが追加されて、「おっ」と思った
* ユーザのアクションに対するフィードバックに音を使う
* **特に、ユーザのアクションに対し少し遅れて処理が完了するUIでは、音によるフィードバックが有効かも(Siriなど好例)**


## @petitviolet	[ReactNative for Android](https://speakerdeck.com/petitviolet/reactnative-for-android)
* 昨日出たReactNativeを使ってみました
* React書くのは初めてなので暖かく見守ってください
* セットアップは7コマンド程度で完了!
* 起動すると真っ赤なエラー画面が。壊れたかと思った。適当に直す
* 実機を振るとJSのリロードができます! 1回投げました(´・ω・｀)
* **感想:まだ早い**
* ```<Button>```すらない
* 良い点:少ないコードさくっと書ける
* CustomViewかんたん
* StackTraceが情報少なすぎてつらい。デバッグしづらい

## @naoyashiga [ショボいPull　Requestを積み重ねて、自分の中でOSS活動の敷居を下げる](https://speakerdeck.com/naoyashiga/siyoboipull-requestwo-ji-mizhong-nete-zi-fen-falsezhong-de-osshuo-dong-falsefu-ju-woxia-geru)
* Githubプロフィールを豪華にしたい。スターを集めたい
* でもスターが多いリポジトリは難しそう。。→しょぼいプルリクしよう(varをletに変える、使ってない変数を削除)
* 感謝された。「前から直そうと思ってたけど忘れてた。サンキュー」
* リポジトリの探し方1)　Search Githubで自分が詳しいコードを探す。自分が知っているコードと似たようなコードが触りやすい
* リポジトリの探し方2)　Trending Repositoryから探す。トレンドに乗っているコードは、作者がフィードバックを待っているので、結構な割合ですぐ返ってくる
* コミットメッセージはPlease Reviewでおk
* **外人のドヤ顔プロフィール画像(実写)にビビらない**
* 虚栄心から始めたけどプルリク敷居が下がった
* どんなにショボいコミットでも感謝される。満たされる
* 人のコードを見るきっかけになる
* **この内容をブログに書いたら、Rubyのパパからリツイートされてテンション上がった(｀・ω・´)**

## @konifar	[Nearby Message 触ってみた](https://speakerdeck.com/konifar/nearby-messageshong-tutemita)
* Google Play Service 7.8~
* Ultrasound(超音波)機能つかってみた
* Network環境がなくても通信可能! iOSとも通信できる!(という触れ込み)
* よくあるPubSubメッセージングモデル
* **パーミッションに超音波使用許可確認が出る。なんかすごい。**
* すごい虫が飛んでるみたいな音してこわい!→嫁は速攻アンインストールした
* わりと簡単に試せる
* けど、ちゃんと作ろうとすると結構たいへん。バッテリー、cacheとの整合性など。
* ネットワークがないとsubscribeエラーが出て動かなかった(自分の実装のせいかも?)
* 余談ですが、最近Rxをプロダクションにつっこんだので、Rxを愛してる人お話しましょう

## @izumin5210	[Promisified BLE Client](https://speakerdeck.com/izumin5210/promisified-ble-client)
* つくりました　→ [Bletia](https://github.com/izumin5210/Bletia)
* うさみみ。Wantedlyでバイトしてます
* Q.BLEつらくないですか
* A.つらいです
* ファットなメソッドができてしまう危険性
* そこでライブラリつくりました　→ [Bletia](https://github.com/izumin5210/Bletia)


##　@grgr56	絵の描けないエンジニア/コードの書けないデザイナー
* プロトタイピングツールを使ってエンジニア/デザイナーもハッピーになろうという話
* 金曜の変えるときにいいアイディア思いつく → 土日で作る → 月曜に没!! → なんてことを繰り返してたら　→ 倒れる → **病院の請求書29万**
* Facebookのデザインチームが作ったツールキット [Origami](https://facebook.github.io/origami/) を自PJで使ってみた
* デザインの壁
* 絵がダサいと全体がダサくなる → かっこいい絵の壁
* コード書いたほうが速い!
* プログラムの壁
* Facebookのようにデザイナーにまかせてみた → プログラムの壁
* 29万の請求書とお別れするにはデザイナーと協調して作業を進めよう

## @tomzoh TestFlightみたいなのを自作する

<iframe src="//www.slideshare.net/slideshow/embed_code/key/GArGOVOXcw5wY6" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/hasegawatomoki/testflight-52816734" title="TestFlightみたいなのを自作する" target="_blank">TestFlightみたいなのを自作する</a> </strong> from <strong><a href="//www.slideshare.net/hasegawatomoki" target="_blank">Tomoki Hasegawa</a></strong> </div>

* スマホアプリ受託開発やってます
* みなさん受託開発やってますか?
* バイナリ配布→お客様による手触り感の確認→修正後また配布…のサイクルが多い
* iOSアプリ配布の歴史
* 1.メールで配布
* 2.TestFlight
* 3.InHouse配布
* HTMLにplistのリンクを埋め込み。plistにはipaのリンクを埋め込む
* iOS7以降でhttps必須
* InHouse配布を使うと、TestFlightみたいなのを簡単につくれます

## @teshi04	[Create Layouts with the Wearable UI Library](https://speakerdeck.com/teshi04/create-layouts-with-the-wearable-ui-library)

* つくってます → [Twitwear](https://play.google.com/store/apps/details?id=jp.tsur.twitwear&hl=ja), [腹筋カウントくん](https://play.google.com/store/apps/details?id=jp.tsur.situpcount&hl=ja), [心拍数ツイート](https://play.google.com/store/apps/details?id=jp.tsur.twitwearheartrate&hl=ja)
* Android WearのUIをいろいろ紹介
* Android Wearは丸型と四角型があるので、丸型デバイスでよく見切れる
* Wearアプリ作っていきましょう!

## @daisuke0131	バグのことは嫌いになってもXcodeのことは嫌いにならないでください。
<iframe src="//www.slideshare.net/slideshow/embed_code/key/s3t9kpzwSz9Gq" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen> </iframe> <div style="margin-bottom:5px"> <strong> <a href="//www.slideshare.net/daisukeyamashita180/21-potatotips-yamashita" title="バグのことは嫌いになってもXcodeのことは嫌いにならないでください。" target="_blank">バグのことは嫌いになってもXcodeのことは嫌いにならないでください。</a> </strong> from <strong><a href="//www.slideshare.net/daisukeyamashita180" target="_blank">Daisuke Yamashita</a></strong> </div>

* つくってます　→　[BizReach（ビズリーチ）](https://itunes.apple.com/jp/app/haikurasu-ren-cainokyaria/id972002786?mt=8)
* 出オチです
* Xcodeを嫌いになる前に最低限知っておきたいこと
* **Xcode糞じゃないよ(´・ω・｀)**
* いつもクラッシュした時の画面はAppDaelagate
* 例外発生時にブレイクポイントを仕込もう
* +ボタン>Add Exception Breakpoint > po $arg1
* Move Breakpoint To > User を選ぶと、プロジェクトごとに設定しなくてもよくなる!便利!
* Autolayoutでの制約エラーが分かりにくい
* Autolayoutでちゃんとエラーが表示されるようにする。Add Symbolic Breackpoint... > UIViewAlertForUnsatisfiableConstraints
* "expr -l objc++ -O -- [[UIWindow keyWindow] _autolayoutTrace]]"このおまじないで、レイアウトのツリー構造を出すことができて超便利

## @KeithYokoma	[Popup view on Mortar](https://speakerdeck.com/keithyokoma/popup-view-on-mortar)
* 誰得情報です
* MortarでPopup viewを出すコード

# 感想
* 音によるフィードバックいいなぁ。イヤホンや音アリでアプリをさわってる人の割合ってどれくらいなんでしょう。アプリにもよるか…
* 新技術さわってみた系は**結論:まだ早い**になることが多いですが、自分もさわった気になれるのでLTで聞くとたのしい
* Swiftのコンパイル速度にはみんな苦労している模様
* **「外人のドヤ顔プロフィール画像(実写)にビビらない」という知見を得た**
* XcodeかわいいよXcode
* 私情で投稿まで時間が開いてしまいましたが、やっぱり鮮度が大事なのでその日中にポストできるよう調整します