とりあえずやってみればいいじゃん

とりあえずやってみればいいじゃん

エンジニア関連のことについてつらつら書くブログ

6/28 iOS Creators' Meetup vol.1を開催しました

oi-study.connpass.com

私初主催のイベントをなんとか無事終えることができたので書こうと思います!

この勉強会について

  • 勉強会を開いた理由
    • iOS」という括りの勉強会を開きたかった
    • 勉強会後も繋がりを持てるようにしたかった
  • この勉強会
    • iOSのことなら何でもOK。エンジニア以外も大歓迎
    • slackで勉強会後も繋がりを保つ
  • 心得
    • 友達作って帰りましょう

つまりiOSに関わっている全ての人が参加して楽しめる勉強会です。実際に参加者の中にはエンジニア以外の方もいらっしゃいましたし、発表内容も普段参加しているような勉強会ではなかなか聞けないような面白い話も聞けました。

LT

プッシュ通知におけるUXと開発 @akatsuki174

私の発表ですね。

  • ユーザのプッシュ通知ON/OFFの判断って?
    • 「◯◯系のアプリだからこんなプッシュ送ってくるんだろうな」
  • もしユーザの想定外の有益なプッシュを送っていたら…?
    • 例)プッシュの頻度、時間帯を調整できる
    • →ユーザ、開発者の両方が幸せになれない
  • そんなときの解決策=Pre-Permission
    • システムが出すプッシュ許可ダイヤログの前に出す、自作の許可ダイヤログ
      • 1回しか出せないシステムのプッシュ許可ダイヤログを無駄に出さなくて済む
      • どんなプッシュを送るのかを理解してもらうことができる
    • 簡単な工夫で双方が幸せになるのでやってみては?
  • おまけ:iOS10のNotification
    • メディアを添付できる
    • フォアグラウンドで通知を表示できる
    • 一度登録した通知を更新できる
    • ユーザがプッシュ許可ダイヤログでONにしたかOFFにしたかわかる

一応実装の話もスライドに入れ込んでいます。

ちなみにスライド5枚目でいつもプッシュ通知を許可しているかどうかを会場アンケート取ってみたのですが、驚いたことに「ほぼいつもOKにしている」という方が半数程度。。。まぁ誰かがつぶやいていたように、「それは開発者だから」だと思いたいw一応、事前に調べていた情報では、許可率は35〜50%程度とのことでした。

TestFlightのProvisioningProfile @hikaru_satohさん

  • 概要
    • InHouseなipaを作りたい(Enterprise Programはお高い)
  • 用意するもの、やり方
    • 丁寧に書かれているのでスライドを参照!
  • Tips
    • この方法でTestFlightしたアプリのProvisioningの有効期限は1年くらい
    • Xcode7のFreeProvisioningは実際に接続した端末のUUIDしかProvisioningに記述されていなかった
    • iOS8.3以降のiPhoneではipa内のProvisioningをMacにエクスポートできないのでこの方法はダメ
    • iOS9.2.1では通信キャプチャからProvisioningを取得してみたが、書き換えがうまくいかなかった
  • やってみる時は自己責任で!!!

スライドにかなり細かく手順が書かれているので、試して見たい方は必見です!ちなみになすの着ぐるみを着て発表していたので、slackにはなすが溢れていました。

API DiffsからiOS10を妄想する @Yutaroさん

  • 上からふんわりとした要求が来て、それに対応しているうちによくわからないコードが増える
  • やりたいこと、できることをきちんと共有できていれば標準APIで解決できたはず
  • 目標:API DiffベースでiOS10でできそうなこと等を正しく理解すること
  • 気になったこと
    • Interests, InterestsUI
      • SiriとMapsに関わるFramework(SiriKit)
    • UserNotifications, UserNotificationsUI
      • 通知許可されたことをCallbackハンドルできる
      • フォアグラウンドでも通知表示できる
      • 通知をカスタマイズできる
    • UIKit
      • UIColor:DisplayP3に対応したイニシャライザの登場
      • UITabBarItem:TabBarItemに付けるバッジの色を変更できる
      • UIViewPropertyAnimator:アニメーションのPause等ができる
  • 宣伝
    • PyConJP2016ぜひ来てください!

Notificationに関しては私も発表で少し触れましたが、かなりできることが広がっていると思います。早くiOS10が出て、世の中でiOS10が主流の時代になってほしいものです。。。

個人開発者が運用経験から得た知見 @kohei_tabataさん

  • ユーザサポート
    • メールよりチャットのサポートの方がいい?
      • 一時はメールサポートしていたものの、ユーザに届かないことがあった
      • →チャットで対応し、返信時にはプッシュでお知らせ
      • helpshift!(CS用のチャットSDK
      • (Zendeskは自分でユーザ管理をしなければいけない)
    • PCのメタファーが通じない?
      • 「ファイル」「フォルダ」が通じなかった
      • 将来スマホしか知らない人も出てくるかもしれないので注意が必要
  • マーケティング
    • 高評価のレビューばかりを増やす方法
      • ヘビーユーザにのみレビューを依頼
      • そうでないユーザにはhelpshiftでフィードバックを依頼
    • ユーザサポートで一番必要なのはサポート?
      • 個人運用なので問い合わせに即時対応できない
      • が、レスポンスが遅れても怒られることが少ない
      • →問い合わせで不満を吐き出したことによって負の感情が緩和された?
      • →はけ口を用意しておくとレビューが荒れないかも

スライド中に出てくるレビュー改善の記事は勉強になると思うので見ておくべきだと思います。この「満足している人にのみレビューを書いてもらう」という手法は、zozotownでも使われていると聞きました。確かにこれならいいレビューが期待できそうですね!

Making of App Previews @Motoki Naritaさん

  • App Previewsのこと
    • 自身がリリースしている「リボカメ」でも使用
  • 基本的な流れ
    • 絵コンテ作成
      • 流れを把握できるように書く
      • 全体の流れと、必要な映像を明らかにする
      • BGM探しのおすすめはaudiojungle
      • ムービーには規約があるのでそれを参照しつつ
    • キャプチャ
      • Yosemite以降のQuickTimeで画面収録可
      • 絵コンテで洗いだした必要な映像を収録する
    • 編集
    • レンダリング
      • バイスファミリーごとに用意すればOK(WWDC2016にて)
  • 対応すると良いこと
    • ユーザにイメージが伝わりやすい
    • 小さなこだわりも見せることができる

最後数分はLiveCodingならぬLiveEditingということで動画編集の様子を見せていただきました。鮮やかでした。。。

ちなみにApple審査で「どんなアプリかわからないよ!」「じゃあムービー付けたから見てよ!」って審査通過したという例があるそうです(このへんの話は以前こちらに書きました)。

時代を逆行したObjective-C++の話 @hirose_yudaiさん

docs.google.com

  • Objective-C++=Objective-CC++が共存できる
  • Objective-C++を使えそうな場面
    • C++のライブラリを使いたい
    • Foundation, UIKitを使いたい
  • ファイルの作り方
    • CocoaTouchClassをNew File
    • 出来上がった.mファイルを.mmに直す

実際のコードはスライドにてご確認ください。

そういえば1年くらい前、それがObjective-C++とは知らず、.mmファイルの実装書いてました。普通のiOSアプリです。ファイル生成した後に.mmに変え忘れて「なんでエラーになるの??」となったのはいい思い出(遠い目

ゲストTalk

チーム開発で大事にしていること @susieyyさん

  • 自己紹介
    • iPhone発表時期当初からiOSアプリ開発をしているWantedlyのエンジニア
    • syncというwantedlyの中でもスタートアップのアプリを開発中
  • sync
    • 4回リジェクト、ということもあった
    • Swift2.0への移行は1週間くらいかかった
  • マネジメント
    • セルフマネジメントな進捗管理
    • マネージャー、ディレクターはいない
  • オーナーシップ
    • 作っているプロダクトを自分ごととして思えるように
  • コミュニケーション
    • 皆対等に意見を交わす
    • MTGであったことをiPadで書いて、そのままslackやGitに載せたり
    • いつでも気軽に質問、相談できる雰囲気ができている
  • Dogfooding
    • まず自分たちがファンになる
  • エンジニアリング
    • 自分たちで問題を発見、認識し、ソリューションに落としこむ
  • デザイナー
    • 作りたいのは絵ではなくプロダクト
    • →ZEPLINを使ってエンジニアリング
  • カルチャー
    • Simple is Not Easy
      • ユーザにいっぱい届けたいと思うと機能を入れがちになる
      • その時、これって本当にシンプル?と考えて立ち戻る
    • Code Wins Arguments
      • 机上で話すと判断しにくいからA案B案両方作る
    • User First
      • ユーザが満足するであろうと思うものを提供することに価値がある
      • 会社的な目標、制約はあるけど、それって本当にユーザに価値になるのかを考える

ご本人がこの発表内容についてまとめたブログ記事はこちらになります。

チームでプロダクトを作るということはどういうことなのか、チームで作るときに何が大切なのかを考えさせられる内容でした。どれもすごくためになる話なのでぜひスライドと上記記事を読んでみてください!!!

感想とか

  • dots.女子部コアスタッフの一員として運営をしたことはあるのですが、ちゃんと主催したのは今回は初めてのことでした。そのためいろいろ不安はあったのですが、ピーク時は108/50人の方にお申込みをしていただくことができました。本当にありがたいです!

  • 何かあると笑ってくれたりする、とてもいい雰囲気が流れていて良かったです。

  • キャンセル忘れ、サイレントキャンセルは地味にテンション下がるのでやめましょう!

  • スタッフ側で出た意見、及び皆様からのアンケート結果を元に振り返りを行った結果の一部をslackのrequestチャンネルに載せました。次回以降に生かしていきます。

  • vol.2は2,3ヶ月後かなと思ってます。あと別の小さめの勉強会もやりたいなと思ってます。またその時になったらTwitterで匂わせておこうかなと思ってます。

togetter

2016/06/28(火) iOS Creators' Meetup vol.1 #oi_study - Togetterまとめ

まとめ枠の方の記事

まとめ枠の方にこのイベントのことについて書いていただきました!ありがたい!(掲載していただいた方が増えたら追記します)

dev.classmethod.jp