iOS Creators' Meetup vol.2 参加してきた #oi_study

iOS Creators' Meetup vol.2 に ブログ or Quitaまとめ枠 として参加してきました。
ブログまとめ枠は初めての挑戦です。 (トーク毎に内容の厚みが違うのはご容赦ください。)

oi-study.connpass.com

前回は登壇枠だったんですが、多くの方が登壇、聴講枠に殺到されていたので、抽選前日に聴講枠 -> ブログ枠に枠変えしました。
結果、3/3ピッタリで、平和な枠でした。前回、登壇しといてよかった。

なぜかこの人来てたけど

Oisix様の社員の方々がconnpassのアイコン入り名札を作ってくれていて、非常によかったです。

ということで、以下発表まとめ

LT1. @akatsuki174 「AutoLayoutのデバッグを試みる」

speakerdeck.com 詳しいまとめ -> Qiita

テーマ: AutoLayoutで困った時の対処法を身につける

  1. がんばってログを見る?
  2. 辛い
  3. SymbolicBreakpoint使おう!!!!

自分もログ見て、わからんと expr コマンド使ったりするので、みんな困ってるんだなとわかってよかったです。

本当はこれすべきだと思ってるんですけどね...

LT2. @grachro(kobayashi_hiroaki)さん 「オブジェクト指向の人がRxSwiftやってみた」

RxSwiftがしっくりきた理由

理由1: Observerパターンを踏襲していて、観察対象がobserverへ流れてくる設計
理由2: メソッドチェーンで書ける

10年以上前に流行った「流れるようなインタフェース」そのもので、関数型プログラミングの敷居が低くなる。 ※ RxSwift固有ではない

理由2: マーブル図でタイムラインがわかりやすい

実際のシチュエーションを想定して使ってみた

github.com

感想
  • シンプルに書ける
  • エラー処理が課題
  • ライブラリ全体像の把握に時間がかかった、サンプル以上のことをやるの大変

自分も最近Rx勉強し始めて、設計の難しさに苦戦しています...

(ちょっと早くてついていけなくなったので、スライド上がったら修正します。)

LT3. @kurikazuさん 「アプリ開発ディレクターが考えていること」

www.slideshare.net

"Storyboard120枚" のエンジニア女子は隣の席

組み合わせれば、何でもできそう -> 作って終わり? -> 否
プロダクトを世に出す -> みんなに喜んでもらう

ディレクターの仕事

様々な人達とのコミュニケーション 開発に集中できる環境できる 売れるものを、売れるタイミングで 何かあったらごめんなさいする

日々直面する問題

1. 「全機能作って」問題

他社アプリにあるからやる -> 解決したい問題から離れないようにする

2. 「Webと同じで」問題

Webと同じ施策を行うことは多い -> そもそもアプリに必要な機能なのか? -> アプリは1回出したら引っ込めづらい

3. 「アプリって必要?」問題

利用者割合WEB : アプリ = 7 : 3 -> 作らないという選択肢はあり

4.「 開発者 (チーム) と幾何のゴールが違う」問題

達成すべき数値は同じなはず -> 開発者は新しいことを取り入れたい -> 場合によってはコスト
Q.どうやって解決するのか -> A. (社内で) 偉い人になる -> 信頼の積み重ね

懇親会でお話したのですが、新しいことを導入するにはやはり社内で偉くなるのが1番の近道な気がしますね...

LT4. @kinyoKouさん 「Realm Mobile Platformをさわってみた」

www.slideshare.net

Realm Object Serverは自分で立てる アプリがバックグラウンドでも動く

三原則

  • Deleteは常に最優先
  • 同じプロパティのUpdateは後勝ち
  • Insertは時系列順 (<-これはあんまり興味なかったらしい)

検証してみた

  • EC2で立てた
  • サンプルアプリは9ステップでお手軽に作れる -> Realm Mobile Platform用のconfig追加するだけ
  • Updateは後勝ち -> 先が勝つこともあった
  • プロパティ毎にUpdateが発生する -> データとして不整合が起きる可能性がある -> 設定で変えられるかも?

LT5. @とし(平田敏之)さん 「iOSアプリにおけるリリースフローとCI環境」

アデノウイルスの人 普段は開発者の環境基盤を整える人

後でスライド上げられるらしい

  • リリースフローの1サイクルに時間がかかってませんか?
  • CI環境どれくらい導入できてますか?

開発 -> 検証 -> iTunes ConnectへのバイナリUploadを如何に素早く回せるか
開発者はコードに集中
コンテキストスイッチを如何に減らせるか -> コンテキストスイッチが発生するのは、自分が仕事をしなければならない時

平田さんとはiOSDCRCで知り合って、10/25のAKIBA.swiftでもお世話になることになっています。
個人的にCIやfastlaneにかなり興味があって、手を出してみたいのですが、実際に運用されている方の話を聞けるのは、本当にありがたいです。

懇親会でBitriseを教えてもらったので、さっそく登録しました。

LT6. @jollyjoesterさん 「iOS10からのプッシュ通知再入門」

Push通知でできることが多くなっている。

  • title, subtitle, bodyを分ける
  • カスタム通知音を使う
  • バッジを付ける
    • バッジは6桁以上になると、「123456789」が [12..89] とかになることに気づいた
  • カスタムアクションを設定する <- iOS8~
  • さらにリッチな通知 <- iOS10~
    • カスタマイズしたView
    • 各種メディア
      • 画像
      • 動画
      • 音声

表でまとまっててわかりやすかったです。久しぶりに@jollyjoesterがLTしてるの聞きました。

ゲストTalk. @3mp(三瓶亮)さん 「コンテキストを意識したアプリデザイン」

speakerdeck.com

  • UXという言葉は大嫌いだった
  • イケてるアプリ作りたい -> 奇抜なデザイン
  • 馴染みのないこと = 認知的負荷 (cognitive load)

テーマ

プライドを捨てて、パクるべし (但し、正しく)

意識すべきコンテキスト

ライフスタイルにおけるコンテキスト -> 一般的にUI/UXと言われているもの マーケットにおけるコンテキスト -> マーケットのトレンドに乗っかる ≒ 無駄なチュートリアルをなくせる

UX MILKについて

  • アプリの必要はなかった: サブプロジェクト
  • UX MILKアプリのUIはSketchで3時間くらいで作ったもの -> なぜか評価されてる

既存のアプリをいい感じにパクる ≒ Paku-respect

  1. ユーザーは自然に使えるものが「使いやすい」
    • 考えさせないことが1番いいデザイン
  2. 制作の意思疎通が明確
  3. エンジニアがUIデザインを進められる

まとめ

  1. 変なこだわりは捨てて、まずはトレンドに従う
  2. その上で、オリジナリティを盛り込む (メインのユーザー体験を損なわない程度に)

かなり参考になりました。 自分も「Twitterみたいな〜〜〜〜、Facebookみたな〜〜〜〜」って言われること多くて、思考停止じゃない?って思うことがあったのですが、意思疎通が明確という点で確かにと納得できました。 (逆にすでにあるものを参考にしないと、アニメーション系はプロトタイプ作り込まないといけなくなりますしね)

懇親会

今回もピザ、ビールに加えて、Oisix様の取扱商品であるお野菜や果物も振る舞われました!!!!
にも関わらず... 次回はちゃんと食べるんだ...

ブログ枠結構しんどかったです...