ぱと隊長日誌

ブログ運用もエンジニアとしての生き方も模索中

デブサミ2018「【15-E-5】最新技術に挑戦し続けるLIFULL HOME'Sアプリの開発について」聴講メモ

はじめに

Developers Summit 2018 (Developers Summit 2018)
【15-E-5】最新技術に挑戦し続けるLIFULL HOME'Sアプリの開発について
スピーカー:高橋 庸介 さん [LIFULL]
の聴講メモです。

メモは口頭説明を中心にまとめています。資料を併せてご参照ください。

Twitterのつぶやきがtogetterでまとめられています。併せてご参照ください。
【デブサミ2018】15-E-5「最新技術に挑戦し続けるLIFULL HOME'Sアプリの開発について」 #devsumiE #devsumi - Togetter

【参考】としている個所は私が挿入しています(補足や参考資料など)。登壇者の講演内容ではありませんので、その旨ご了承ください。

聴講メモ

イデア評価 - 新技術アイデアを評価する

新技術は今月とか今期とかそういう短期目線ではなく、長期目線で提案する必要がある。

iOS版のHOME'Sアプリでマイページの最下部にいるホームズくんをタップすると…。
「そろえて!LIFULL」はエイプリルフール企画で作った。ブロックは社名にちなんでL/I/F/Uしか落ちない。攻略のコツは"F"を互い違いに組み合わせること。
LIFULLはこういう企画が通るぐらい提案のハードルが低い。

イデア評価 - 風土づくりにつながる活動

提案をしにくい組織でも社内勉強会などを行うことで新技術への認知度を高めることができる。

イデア評価 - モックで提案する

モック作りの速さは若さに比例している。新技術の発表後、モックを即作ってきていたりする。

また、ディレクターがモックできないの~?と煽り気味に聞いてくることもある。

Instant Apps

ネイティブアプリはインストールしてもらわないと良さが伝わらない。Instant Apps はこのギャップを埋める。

HOME'Sアプリはかなり大きいサイズになっている。賃貸検索だけでなく、やることリストのような他機能もあるため。

Instant Apps に対応する書き直しに1ヶ月かかった。前半に一人のエンジニアが全体設計を行い、後半にみんなでテストや動かない機能の対応に力を注いだ。

Tango - 早すぎた

TangoはGoogleのAR技術。でも、2018年3月1日にサポートが終了する。
新技術への挑戦にはこういうこともある。

【参考】
GoogleはTangoを収束し、ARCoreへ一本化する方針を明らかにしています。
Google、AR技術「Tango」サポート終了~1億台で動作する「ARCore」に移行 - ケータイ Watch

ARKit - WWDC後のブレスト

ARKitを利用した開発を検討していく中で問題になったのが、3D技術の分かるエンジニアがいないこと。でも、Tangoの担当者が助け舟を出してくれた。

ARKit - ホームズくんのモデルで可能になったこと

一般ユーザはARKitの使い方が分からない。例えば、床を認識させてください、とメッセージを出してもやり方が分からない。
これについて、アップルのガイドラインにはアプリの世界観の中でユーザフレンドリーに案内すること、とある。
LIFULLのアプリの場合、ホームズくんを活用した。まず、僕を探してね、とユーザを誘う。ユーザが戸惑って操作に時間がかかっているようであれば、床を探して、と案内し、さらにホームズくんと追いかけっこしてもらうことで床を認識させてもらうように誘導した。

【参考】
ARKitのガイドラインから該当すると思われる箇所を引用します。

If you must display instructional text, use approachable terminology. AR is an advanced concept that may be intimidating to some users. To help make it approachable, avoid referring to technical, developer-oriented terms like ARKit, world detection, and tracking. Instead, use friendly, conversational terms that most people will understand.

Augmented Reality - Technologies - iOS Human Interface Guidelines

AppleTV - ライブラリが対応していないなら自力で実装

AWSSDKを使えず自力実装を余儀なくされた。
issueは上がっているが、対応されていない。

技術的負債の返済 - iOS HOME'S Architecture

クリーンアーキテクチャを採用した。
ユースケースリポジトリプロトコルにのみアクセスしており、それ以下のレイヤーの影響を受けない。

【参考】
クリーンアーキテクチャの解説の翻訳記事。
クリーンアーキテクチャ(The Clean Architecture翻訳) | blog.tai2.net

検索テーマとは

HOME'Sアプリの検索条件は細かく設定できる半面、どんな検索条件にすればよいか迷いやすい。そこで、検索テーマという検索条件のレコメンドを導入した。

検索テーマの配信手段

RemoteConfigはConditionで条件をつけることができる。
これは例に挙げたようなOS対応だけでなく、ユーザの属性に合わせることもできる。例えば、若い人向けに新生活に向けたリコメンドを行うこともできる。
配信先の切り替えの難しさをSDKが吸収してくれる。また、導入も簡単。

所感

LIFULLの環境は恵まれています。それと比べれば、私やあなたの環境は制約されているかもしれません。でも、それで諦めてはいけません。制約の中でも変えられることはあり、チャレンジすることが必要です。発表前半にそのためのヒントがちりばめられていました。

私も少しずつ変えていくチャレンジをしていきます。