try! swiftに参加しました(2日目)

3月2日から4日まで開催されたSwiftプログラミングのカンファレンス、try!swiftのレポート2日目です。

1日目はこちら
try! swiftに参加しました(1日目)

二日目になって体調もそこそこ良くなり、スピーチをしっかり見れるようになりました。
各スピーチの感想を記したいと思います。
例によってniwatakoさんの書き起こしを記します。
内容を知りたい方はそちらをご覧ください。

テスト可能なコードを書くということの2つの側面

内容

http://niwatako.hatenablog.jp/entry/2017/03/03/103125

テストする際にグローバル変数を減らし、テスト可能なコードを書くことについて発表していました。

意図せずにグローバル変数が入るということが新鮮でした。
自分のソースもリファクタリングで分けていても、グローバル変数に依存していた作りになっていたかもしれないです。
目からウロコのスピーチでした。

様々な場面でSwiftを使う

スライド

内容

http://niwatako.hatenablog.jp/entry/2017/03/03/120359

白ヤギコーポレーションのYusuke Ito ❦さんの発表です。
サーバーサイドSwiftを本番環境にて運営した知見を発表していました。

やはり、C言語のライブラリーをSwifにインポートすることで構築しているようです。
AWSのS3の接続やMysqlの接続、サイトのスクレイピングをする実例をみていると、まだまだ自分でしなきゃいけないことは多いがなんとかなるのではないかと思ってきました。
サーバーサイドSwiftでサイトを作りたい意欲が湧いてきました。

Yusuke Itoさんがその後の記事を書いたようです。
こちらもどうぞ try! Swift Tokyo 2017とその後

iOSにおけるDocument IndexingとApp Search

書き起こし http://niwatako.hatenablog.jp/entry/2017/03/03/124041

iOS9からホームから検索をしてダイレクトにアプリのそのページにアクセスできるような機能、App Searchが登場しました。
このスピーチではApp Searchでの実装方法を説明していました。

ECサイトを運営しているみたいで素早く商品ページにアクセスできるような実装方法になっていました。

感想ですが、iOS9で出たのは知っていたのですが、その後全然みかけなくてそのままでした。
網羅的な説明を聞いたのは初めてな気がします。
サイトと組み合わせたグローズハックするときにまた見返そう。

スタートアップのSwift

dpeshmoさんの自身のプロダクトをどのように改善していったかのスピーチです。

書き起こし http://niwatako.hatenablog.jp/entry/2017/03/03/124124

Hey! VINAという女性向けの友達と簡単に会う約束を取り付けられるコミュニティアプリをリリースしたそうです。

アプリはSwiftで作り、リリースしたところ、メディアに取り上げられて、事前登録だけで10万人を超える人気のアプリになったそうです。

ですが、サーバー耐えられずLAに限定したり、アプリ上のバグがあって、レビューの評価が下がってしまった。

そこでdpeshmoさんはSlackにチャンネルつくってユーザーコミュニティを作ってTestFlightで事前にユーザーからのフィードバックを得たそう。
さらに、Slackの呼びかけで技術者にきてもらってバグの原因も調査。
そしたらSwiftでよく見かけるエラー、nilに対してフォースアンラップをしたことによるバグと判明、それを修正したそう。

さらに、バックエンドで使用していたParseがサービス終了したので、新しくサーバーを構築してバックエンドを作った話をしていました。

dpeshmoさんすごい。
とりあえずリリースする行動力と、バグの大量発生でユーザーが困っている時に素早くSlackでコミュニティつくってフィードバックを得て、ついでに技術者も呼んでバグの内容を特定する。
言葉にすれば当たり前だけど、ちゃんと行動することはなかなかできないなと思った。
プロダクトづくりのお手本にしたい。
こんな風に行動していきたいと強く思いました。

オープンソースコミュニティをスケールさせる

書き起こし http://niwatako.hatenablog.jp/entry/2017/03/03/175203

オープンソースのiOSビルドツールfastlaneを開発しているFelix Krauseさんのスピーチです。
fastlaneでのgithubの開発コミュニティの運営方法のスピーチでした。

オープンソースの利用者が増えてくると、実際コードを書くよりもサポートに時間がかかるようになる。
あるissueは運営者にとっては多くのissueの1つだけど、投稿者にとってはそれが全て。だから、無下にしてはいけない。
けど全部を全部対応もできない。
ということで、エラーメッセージを改良した。
エラーに対して解決できるStackOverFlowのリンクや、改善コマンドを記すようにした。

issueを作る際に情報の欠落を補うbotを導入した。
二ヶ月経って解決しないと自動的にクローズにする仕組みなども導入した。

規模が大きくなるとプルリクを断る場面も多くなるがプラグインとして、サードパーティツールも導入できるようにした。

私の感想。 これを聞いて、カスタマーサポートと一緒だなと思いました。
規模が大きくなるに連れて、破壊的な変更もしにくくなるし、問い合わせも多くなるが、なるべくユーザーフレンドリーのコミュニティを運営する方法が話されたのだと思います。

プルリク送ると自動的にテストして、いいか悪いかをチェックするbotってgithubでできるんですね。
世の中すごい。

 さいごに

ゴミの受付

懇親会

二日目は、体調も良くなりボランティアスタッフの作業も手際よくできるようになったので、スピーチをしっかり聞けました。

「スタートアップのSwift」がtry!swiftの中では一番好きなスピーチになりました。
自分も頑張ろう。

懇親会はゴシック調のすてきな会場でビュッフェスタイルでした。
学生の方と話をしたりしてました。
今の学生すごい。話を聞いてたら自分よりも技術もってる人がいた。

充実した2日目でした。

そうそう、未だにレシーバーが2つ返って来てないそうです。
お持ちの方はぜひ運営に連絡してください!