けーろぐ

iPhoneアプリ開発に関するtipsや優良記事、ソースコードなどの紹介。

ヤフーvsクラスメソッドに参加してきた

f:id:keeetaka:20140226014046p:plain
ヤフーvsクラスメソッドに参加してきました。
【iOS勉強会】ヤフー vs クラスメソッド「iOS 炎の7番勝負」を開催します(ビアバッシュ形式会費制) | Developers.IO

ぼっちでした。
趣旨:7つのテーマでヤフー側とクラスメソッド側がそれぞれiOS開発に関するテーマでプレゼンを一人5分で行い、参加者がどちらのプレゼンがよかったか判断するもの。
先行ヤフー、後攻クラスメソッドでそれぞれの代表者が発表。参加者は発表中に手持ちのスマホから採点ページヘ飛び、そこにあるボタンを押します。ボタンを押された数が、得点となります。

一人が発表5分間の間に1000回ボタンを押せば1000点をそのプレゼン発表者に与えるってわけです。おー!とかいいね!とか思ったり感じたら、このボタンを押すように指示されましたが、押すタイミングは会場が沸いたりした瞬間が多く、淡々と話す発表者には聞き入ってしまいボタンを押すのを忘れていたりと、本当にいいプレゼンに得点を与えられなかったことが残念です。

まあ会場を湧かせるエンターテイメント性というのもプレゼン、こういうイベントには必要だったりしますからこれはこれでいいのかもしれません。
ただ最後にどちらが良かったか、片方のみに投票するというシステムだったら結果はまた変わっていたかもしれないですね。

前置きが長くなりましたが・・・

いざ中身を。

1本目
ヤフー平松さん vs クラスメソッド平井さん

平松さんは爽やかな方でした。
twitterのアイコンから勝手におじさんだと思っていました、ごめんなさい。
内容はxcodeの便利な使い方といった感じでした。
例えば、よく使うコードはsnippetにして使いまわそうなどです。
平松さんはボタンを押させる為の話術、といいますかプレゼンの構成がお上手でした。
「ググっています。あ、ヤフっています」というヤフー社員ならではのセリフも会場の笑いを誘っていました。

その他にも便利なツールとしてDashを紹介されていました。
プラグインについて他にも知りたい人はこちら
iOSアプリ開発が捗るXcodeプラグイン - Qiita

やり方は簡単!
コードをCode Snippet Libraryまでドロップするだけです。
f:id:keeetaka:20140226021354p:plain
xcodeの右下にあるこれですね。
カスタムなコードスニペットの作成に関しては、以下の記事もオススメです。
Cocoaの日々: [iOS][Mac] Xcode4 : カスタムなコードスニペットの作成
Xcode4のコードスニペット機能を試す。 - Object for cutie

平井さんはプラグイン開発が主な内容でした。
クラスメソッドのブログでも詳しくまとめられています。
初めてのXcode 5 プラグイン開発 | Developers.IO
Quitaの便利なプラグインまとめ→
Xcode の便利プラグインまとめ - Qiita

自分でプラグインを作ったことがない人は殆どだと思うので、多くの人が自分でプラグインを作成するということに関心を抱いていたように感じました。

平井さんはモテたいという気持ちが強い開発者のようです。
モテたいからiOSアプリ開発を始めたとか。とにかく笑顔が素敵な方でした。

2本目
ヤフー佐野さん vs クラスメソッド諏訪さん

佐野さんはObjective-Cを好きになるTips & Runtime-Hack!という内容です。
slideshareにプレゼンの資料があがっています。

Objective-C が好きになる Tips & Hack

すごく聴きやすい声で恐らく聞き入っていた方が多いのではないでしょうか?
説明もとてもわかりやすかったです。

佐野さんはプレゼンではなくイベントの最後にiBeaconの夢のある使い方を話していたのも印象に残っています。
そちらの内容でもプレゼンしたかったそうです。笑
参考動画はこちら
Mommy Ring - 妊婦さんの電車利用をサポートするアプリ - YouTube


諏訪さんはクラスメソッドの子会社underscoreで働いており、Androidの開発やデザインなども手がけているそうです。
起動画面に使う画像をAsset Catalogで指定する方法などを話してくれました。
その他にも便利な機能がAseet Catalogにはあるそうです。皆さんも是非使ってみましょう!

詳しくはこちら
[iOS] Asset Catalog にまつわる今すぐ使える Tips 集 | Developers.IO

3本目
ヤフー西さん vs クラスメソッド掛川さん

西さん、ヤフーで黒帯という存在だそうです。ヤフーではある分野において突出した才能を持った人に黒帯認定をしているそうなのですが、西さんはiOS開発の黒帯だそうで・・・。
この5分というプレゼンでなく500分くらいのプレゼンを聞いてみたい気がします。笑

Singletonを中心に語って下さり、Singletonのメリットやデメリットを紹介してくれました。
デメリットを解消するには依存性の注入というアプローチを取るそうです。Typoonフレームワークを使えば解消できますがブロック構文などでも実装できるようです。専門的な内容なので改めてしっかり勉強したいと思いました。

西さんのスライドはこちら

あのパターンと仲良く付き合う 西磨翁 #yxcm

デザインパターンについて一から学ぶには英語ですがこちらがいいと思います。
iOS Design Patterns


掛川さんはiOSアプリのメンテナンス性を高めるための基本的な考え方について語ってくれました。
要点は絞られておりViewControllerから本来記述すべきてない処理を切り出す1点です。

iOSアプリのメンテナンスがしやすいように設計することの大切さを今一度考えさせられたような気がします。
もう一度ビューコントローラープログラミングガイドを読んでみるのもいいかもしれません。

第三本目の内容に関しては完全に勉強不足でした。

4本目
ヤフー佐藤さん vs クラスメソッド平屋さん

佐藤さんはデザイナーに対するアプリエンジニアの心構えについて話してくれました。
デザイナーの要求に対して細部まで応えよう。
また積極的に提案していくことも大事、まだアプリで何ができるかをデザイナーは知らないことが多いそうです。アプリ開発の細部までわかっているデザイナーはまだまだ少なく、経験が浅い人が多いのが実情なため、やはりコミュニケーションが大事。
エンジニアが押し付けるのではなく、助けあう姿勢が大事なんですね。

平屋さんはすごく落ち着いた方でした。
ユーザーに満足してもらうアプリをつくるためにを中心に話してくれました。
ユーザー目線に立つことの大切さですね。
ユーザーがどこでアプリを使うのか、どのような状況で使うのか。

平屋さんの話に関心を持った人は皆さん持っているとは思いますが、こちらの本がオススメです。

iPhoneアプリ設計の極意 ―思わずタップしたくなるアプリのデザイン

iPhoneアプリ設計の極意 ―思わずタップしたくなるアプリのデザイン

佐藤さんと仕事をしているデザイナーさんがここからここまで何pxなどと明記したデザイナーガイドというものを書いてくれるそうです。ヤフーではこういう仕組みになっているのでしょうか。
こういのを嫌がるデザイナーが多くて困ると参加者のエンジニアが話していて面白かったです。

5本目
ヤフー羽田さん vs クラスメソッド荒川さん

内定者対決だそうです。まとめさせていただきます。
お互いiBeaconの内容を語ってくれました。iBeaconには関心があったので、集中して聞いていました。質疑応答が一番盛り上がった回だったと思います。
iBeaconは基本的に店頭に設置してユーザーがそのiBeaconのスコープに入った時にクーポンが配られるといったマーケティング的な使い方、発想が主となっていますが、そのほかにも色々用途はありますよね。
佐野さんがお話していたようにユーザーが持ち、すれちがい通信のように用いたりと。
それにしてもアプリックスも本気
EE Timesで、アプリックスのBluetooth Smart対応Beaconに関する記事が報道 | 株式会社アプリックス
1個300円の"Beaconモジュール"で採用数を伸ばす戦略のようです。

アプリックスは、Bluetooth Smart対応ビーコンモジュールを1個300円という低価格設定で展開している。
Bluetoothによるビーコンは、アップルのiOS7が対応したことで新たなマーケティングツールとして注目を集めており、アプリックスでは、モジュールとともにセキュリティサービスなどを提供して拡大するビーコン関連需要の取り込みを図っていく。

しかしiBeaconの最大の問題点はセキュリティ面なので、どんなに面白い発想があってもここは・・・といった感じです。
荒川さんのプレゼンでは、逆にセキュリティを気にしない物を作るのもありだと思うと仰っていました。アプリックスがセキュリティ面を強化した新しいiBeaconを発売するらしいという噂?もあるそうです。

セキュリティの対策に関してプレゼン後荒川さんがツイートしてくれました。
f:id:keeetaka:20140226034142p:plain
リンクはこちら→
ビジネスニュース 企業動向:アプリックス、1個300円の“Beaconモジュール”で採用数伸ばす - EE Times Japan


荒川さんも羽田さんもプレゼンうまかったですね、特に羽田さんは非常に場慣れしてるように感じました。
現在、大学院生だそうで修論を先日終えたそうです、お疲れ様でした。

iBeaconに関する基本的な情報まとめ
超話題の「iBeacon」を徹底解説――O2Oの本命となるか!? | ビジネスネットワーク.jp
iOS 7の近距離通信iBeaconを使った新しいターゲットマーケティング手法が続々と登場 - GIGAZINE

P.S 現在、構想中のアプリにiBeaconを取り入れたらとても便利なものができると思うので、明日からiBeaconに関するコードをどんどん書いて色々テストしてみます。
楽しみです。しかし実際に大事なのはプレゼンでもあったように実地検証ですね。
もちろんその前にコードを書かないとです:(

6本目
ヤフー塚越さん vs クラスメソッド安達さん

塚越さんはリジェクト関連の話をしてくれました。
appleにせっかく完成したアプリを申請してもリジェクトされたら悲しいですよね?
ヤフーは123個ものアプリがリジェクトされたそうで・・・申請数は把握できてないのでリジェクトの割合は求められないそうです。

リジェクト例1)
→広告表示していないのに広告Librayが入っている
そのリジェクトされた理由を皆で共有できれば、知識にもなるし、皆が幸せになれる!といった旨のお話でした。残念ながらこのリジェクトされたアプリを共有するアプリは受賞されなかったそうです・・・。

塚越さんは平井さんのお話に乗っかり、iOSエンジニアのおかげかわかりませんが結婚しました、ということを言っていました。テーラードジャケットの良く似合うモテそうな方でした。笑

安達さんはUnit Testの利点、Kiwiの紹介、サーバーと切り離した非同期ユニットテストの紹介です。
自分はまだユニットテストの経験がないため、なかなか馴染みのない内容でしたのですぐに勉強しようと思います。
安達さんのサンプルはこちら。GitHubです。
UsrNameu1/KiwiTestStudy · GitHub

初学者はやはりappleのドキュメントから入るのがいいのでしょうか。
xcodeユニットテストのドキュメントがあるので、早速読んでみようと思います。
他にオススメのものがありましたらご紹介よろしくお願いします。
https://developer.apple.com/jp/devcenter/ios/library/documentation/UnitTesting.pdf


テストメソッドを自社名であるクラスメソッドと言い間違えている箇所で笑いを誘っていました。


7本目
ヤフー吉田さん vs クラスメソッド深澤さん
吉田さんのプレゼンは一番の盛り上がりを見せたのではないでしょうか?
世界で大人気の怪人百面相(有名人やキャラクターに変身できるアプリ。表情や頭の動きに合わせて変身できるのがウリ。)を手がけたそうで、顔認識システムを使って色々実験してくれました。
怪人百面相はこちら→怪人百面相

顔を右に傾けたら動画を再生させたり、左に傾けたら巻き戻ししたり。
一番おもしろかったのが顔をあげたら音量を上げることができるところです。逆に顔を下に向けると音量が下がるという。顔の振りのスピード?によってすごい勢いで音量が上がったり下がったりするのが面白いですね。

f:id:keeetaka:20140226031938p:plain

顔情報はUIに活用できる!!

このアイデアは色々な場面で使えそうですと。例えば料理中に手が離せない時に動きを検出して何かの動作を行わせたりと、アイデア次第では過去にない面白いアプリかつ実用的なアプリが作れるかもしれないという夢や期待を与えてくれる素晴らしいプレゼンだったと思います。
得票も最高得票数でした。

頭の動きも検出したり・・・
iOS 7 includes the ability to control your iPhone or iPad using head movements [video] | 9to5Mac

顔以外の認識もいまはできるようで・・・
iOS - 「顔以外」のものを画像認識する - Qiita

深澤さん
熱かったです。ももクロが大好きなそうです。

Q.どうしてあなたはiOSアプリ開発をしているのか?
Q.今、iOSアプリ開発をすることに満足しているのか?

この2つの質問を切り口に満足度についてお話してくれました。
やはり自分だけでなく周りを巻き込むのがより満足度を高められると。

深澤さんからの熱いメッセージ
行こうぜ!iOSアプリ開発の向こうへ!

以上で内容の紹介になります。
全部知っていたという人も、少しはかじっていたが詳しくは知らなかった、またはどれも知らなかった、色々な人が参加者にはいたと思います。ですがこういうイベントで接した分野は必ず復習したり、どんどん調べたりしてさらに物にしていきたいですね、参加して満足するだけじゃただの意識が高い人なので。

今回のイベントの模様はUSTREAMに録画として残されています。

Ustream.tv: ユーザー yhacks_jp: ヤフー vs クラスメソッド iOS tips 7番勝負 前編, ヤフー vs クラスメソッド iOS tips 7番勝負の前編です。 . Sites Web...


Ustream.tv: ユーザー yhacks_jp: ヤフー vs クラスメソッド iOS tips 7番勝負 中編, ヤフー vs クラスメソッド iOS tips 7番勝負の中編です。 . Web...


Ustream.tv: ユーザー yhacks_jp: ヤフー vs クラスメソッド iOS tips 7番勝負 後編, ヤフー vs クラスメソッド iOS tips 7番勝負の後篇です。 . Sites Web...


過去のヤフーでの勉強会動画もあったので後日見てみようと思います。

他の会社などの勉強会も動画が残っていたりしないのでしょうか?
もしいいものがあれば紹介お願い致します。

最後に宣伝のお手伝いを・・・
ヤフーの今日のプレゼンメンバー中心で執筆したもの↓
Amazon.co.jp: WEB+DB PRESS Vol.79: 成瀬 ゆい, そらは(福森 匠大), 西 磨翁, 小川 航佑, 佐藤 新悟, 塚越 啓介, 藤原 亮, 堀 哲也, 田村 孝文, 桑野 章弘, 松浦 隼人, 中村 俊之, 田中 哲, 福永 亘, 杉山 仁則, 伊藤 直也, 登尾 徳誠, 近藤 宇智朗, 若原 祥正, 松木 雅幸, 奥野 幹也, 後藤 秀宣, 羽二生 厚美, 笹田 耕一, 平河 正博, 東舘 智浩, 渡邊 恵太, 中島 聡, A-Listers, はまちや2, 川添 貴生, 山田 育矢, 伊藤 友隆, 村田 賢太, まつもと ゆきひろ, 佐野 岳人, 山口 恭兵, 千葉 俊輝, 平松 亮介, WEB+DB PRESS編集部: 本

クラスメソッドさんが発売予定のもの↓
f:id:keeetaka:20140226032757p:plain

長文失礼しました。
何か間違いや、追加したほうがいい情報、リンクなどがあればコメントよろしくお願いします!
ブログを書いていたら4時過ぎになってしまったので、寝ます。おやすみなさい(つ∀-)オヤスミー

[補足]
クラスメソッドさんのスライド一覧が公開されました。
【iOS勉強会】ヤフー vs クラスメソッド epilogue of classmethod | Developers.IO