LIFULL Creators Blog

LIFULL Creators Blogとは、株式会社LIFULLの社員が記事を共有するブログです。自分の役立つ経験や知識を広めることで世界をもっとFULLにしていきます。

今年はフルスタックなイベントに! iOSDC Japan 2023参加レポ

こんにちは!LIFULL HOME’S iOSアプリエンジニアの山川・佐藤です。
今回は、2023年の9月1日(金) 〜 9月3日(日)の3日間で開催された、iOSに関連した技術をコアテーマにしたテックカンファレンス「iOSDC Japan 2023」に参加してきました。この記事では、3日間で行われたセッションの中から我々の印象に残ったセッションやイベントの様子について振り返ります。

iOSDC Japan 2023について

iOSDC Japan 2023会場の受付の様子 iOSDC Japanは2016年に初開催され、今年で8回目となるiOSエンジニア向けのテックカンファレンスになります。

iOSDC Japan 2023の公式サイトはこちら
https://iosdc.jp/2023/

本イベントのテーマは「コミュニケーション」であるということで、オフラインの会場ではスポンサー企業ブースでさまざまな企業の方と交流したり、セッションで登壇した人に質問したり議論ができる場が用意されています。今回からはポスターセッションも始まりました。
そして、コロナ禍中は様々な行動制限があってできなかったことが多かったそうですが、今年は「フルスペックなiOSDCが帰ってきた」ということで、ビールが飲み放題な懇親会も復活しました!🍺笑
このように、学べて楽しめる要素が盛りだくさんなイベントです!

印象に残ったセッション

Appleにおけるプライバシーの全容を把握する

Appleが近年力を入れているプライバシーに関して、Appleが考えるプライバシーの基本原則や開発者が対応しなければいけないことを一通りおさらいするといった内容でした。 例えば2021年には、ユーザの許可を得ずにユーザの行動を追跡することを禁止するポリシー「App Tracking Transparency(ATT)」が制定されました。これによって、アプリはユーザの行動を追跡するには予めユーザに取得する旨を伝えた上でトラッキングの許可をもらう必要が出てきました。また、WWDC2023ではXcode15が発表され、Privacy Manifestsが導入されます。この対応が2024年春までに必須になります。必要な対応の要点の一つにRequired reaspon APIというものがあり、アプリで利用するのに理由が必要なAPIがあればMainifestに設定しておかなければいけません。
このAPIにはUser DefaultsのAPIも含まれており、これを利用していないアプリはほとんどないだろうということで、弊社を含めた多くの企業で対応が求められそうです。早めのキャッチアップと対応が求められるので、随時関連情報は見ていきたいですね。(山川) speakerdeck.com

法改正を乗り越えるiOSアプリのリリース戦略

運営中のサービスにダイレクトな影響のある法改正が施行されることになった際のリリース戦略について、株式会社LUUPでの対応事例の紹介でした。 2023年7月1日に電動キックボードの走行ルールが大きく変わりました。法改正施行日が決まっている中で、対応項目の洗い出しや、ユーザーに新しい交通ルールを理解してもらう方法の検討、極力サービスを止めないためのスケジュール管理など、怒涛の半年間であったことが伝わってきました。 計画的に準備を進めた結果、法改正施行当日にリリース作業を行う必要もなく、見守るのみだったというお話が非常に印象的でした。
不動産業界でも、法律はもちろんのこと、公正取引委員会の表示規約が毎年改正されます。これに合わせて弊社のサービスでも対応が必要になってくるため、非常に参考になりました。(佐藤)

speakerdeck.com

SwiftUI + KMM 開発で見えたそれぞれの長所と短所

Kotlin Multiplatformを導入することでiOS / Androidのビジネスロジックを共通化し、UIレイヤーの実装のみを各OSに委ねるという開発方法が登場しました。 ※最近、タイトルにもある「KMM」という呼び方はKotlinを開発するJetBrains社より、公式に「KMP」であるとされたため、以降はKMPで統一します。

iOS側でKMPを導入する際にはいくつか課題があるとのことでした。その一つとして、KMPはObjective-Cのモジュールを生成するため、いくつかのSwiftの機能は利用できません。そのため、KMP側で複数のクラスを持つ階層構造のものを定義したとしても、Swiftで見ると深い階層は浅い階層のクラスのオブジェクトにまとめられてしまったりするそうです。とはいえ、他にも癖のある部分もあるものの、総合的に見ると開発体験は悪くないそうでした。
実は弊社でもKMPを導入してサービス開発し始めていたので興味深い内容だったため、貴重な事例を知れて非常に参考になりました。(山川)

speakerdeck.com

Human Interface Guidelinesから読み解く標準アプリの素晴らしい体験

AppleのHuman Interface Guidelines(以下、HIG)を読んだことはあるでしょうか?2023年6月に公式の日本語版も公開されましたが、全てを読むのはなかなか大変ですよね。そこで、既存のApple標準アプリからHIGの理解を深めてみようという内容でした。 例えば、設定アプリは項目が多いにも関わらず、一貫したパターンやグループ分けによって整理されています。常に前の画面に戻れるようになっていたり、UIがテキストサイズの変更に対応していたりと、様々な観点での工夫が施されています。標準アプリには、Appleの知見が凝縮されています。特に標準アプリのアップデートされた箇所は、新たな発見につながるため積極的に触っていきたいですね!
エンジニアだけでなく職種の壁を超えて、HIGを読んだり、標準アプリを研究しながら、サービスにとっての最適なUIを考えていきたいと思いました。(佐藤)

speakerdeck.com

こういうのは標準APIでいいよね

サービス内で利用している外部のライブラリ数が多かったので、不要なライブラリを削減してその結果どうなるのかを説明したセッションでした。そもそも利用されていない・利用用途が大きすぎる・標準APIで充分担保できるといった理由から、元は44あったライブラリを15にまで削減されていました。例えば非同期処理でPromiseKitやRxSwiftを使っている箇所も、近年だとCombineやSwift Concurrencyの標準APIで簡単に実装できるようになってきています。
ライブラリの棚卸しをすることでメンテナンス性が向上するだけでなく、ビルド速度やアプリのサイズも改善される副次的効果もあるので、継続的に外部ライブラリと標準の機能との比較をしてリファクタリングしていく視点を持つことは事業インパクトには繋がりづらく、地道な対応ではあるものの重要なのだと改めて感じました。(山川) speakerdeck.com

SwiftUIに適した新アーキテクチャの導入に挑む

SwiftUIを導入するためのリアーキテクチャの検討から導入までの軌跡と、新しいアーキテクチャ「SVVS」の紹介でした。 リアーキテクチャを実施するにあたり、技術的負債の洗い出し・課題とサービス戦略にあったアーキテクチャの検討・リアークテクチャの進め方の考察の3段階の準備が行われていました。この対応はiOSチームのメンバーで行い、共通認識を持つことを意識して進めていったそうです。 採用された「SVVS」は、Store、View、ViewStoreの3つのコンポーネントで形成されます。依存関係は、ViewからViewStateへの依存、ViewStateからStoreへの依存の一方向と非常にシンプルな構成です。データの流れもシンプルになり、データ不整合の発生を防止することも期待できます。
既知のアークテクチャにこだわらず、チーム内での課題や今後の運用のしやすさを考慮して新しいアーキテクチャを生み出す姿勢を見習っていきたいですね。(佐藤)

speakerdeck.com

イベントの雰囲気

トーク会場は4部屋あり、自由に行き来ができるようになっていました。 今回はオンラインでも生配信されており、なんと中にはオフラインで参戦しつつも別室のセッションを聴く強者までいました!

トーク会場には大きなスクリーンがあり、生配信もされていました
トーク会場の様子

Day1、 Day2に行われたLTでは、会場でサイリウムが配られ、それを振りながら応援していたのでライブのような雰囲気で楽しかったです。

LTでは会場の照明が落とされ、みんなでサイリウムを持ってLTを応援しました
LTはサイリウムをみんなでフリフリ!

スポンサーブースでは、各企業のiOSアプリや事業の紹介のほか、iOSエンジニアならではのソースコードレビューやUIKitとSwiftUIの利用状況に関するアンケート調査などを実施していました。それらの結果を見ながらワイワイ議論できるもの、オフラインならではの醍醐味ですね⭐️ また、スポンサー企業様から技術書やバスタオル、ルービックキューブ、知恵の輪、中濃ソース!?など、個性豊かなノベルティをたくさんいただきました。

スポンサー企業ブースも賑わっていました
スポンサー企業ブース

さらに、会場には軽食やドリンクも充実しており、その周りでは登壇者の方々に質問したり、ポスターセッションに参加したりと、コミュニケーションが活発に行われていました。

ロゴ入りのクッキーやお菓子、軽食などがたくさん用意されていました
ロゴ入りのお菓子も食べ放題!

X(旧:Twitter)でも楽しそうな投稿をしている方がちらほら見受けられました🤩

まとめ

たくさんのセッションを聴講して、各企業の取り組みや技術的なトレンドを肌で感じることができました。iOSアプリ開発は従来UIKitを用いた開発がメインでしたが、どの企業でもSwiftUIへの移行を開始したり、SwiftUIでゼロから開発を始める事例が多く、イベントを通してiOSの主流な採用技術も大きく変わってきていることを特に強く感じました。弊社iOSアプリチームでも今後SwiftUIがメインとなる実装がどんどん入ってくることが見込まれるため、今回得られた知見をもとに弊社でのアプリ開発に活かしていきたいです。

最後に、LIFULLでは一緒に働いていただける仲間を募集しています。単にサービス開発をするだけでなく、自分たちの知見を深め・スキルを伸ばす機会がたくさんある職場です。カジュアル面談も実施していますので、もし興味があればそちらもご覧ください。
※記事執筆時点ではアプリのエンジニアも募集していますよ😊

hrmos.co

hrmos.co

ベトナムの開発拠点とオンライン交流会(雑談会)を開催しました

プロダクトエンジニアリング部の二宮です。

私たちは「強い個人・最高のチームになることで、価値創造を加速させ続ける」というビジョンを掲げ、LIFULLのサービスをプロダクト開発でリードできる強い組織を目指しています。そして「最高のチーム」を目指すための取り組みをいくつか行なっています。

その活動の一環として、ベトナムの開発拠点のLFTV(LIFULL Tech Vietnam)とのハンガーフライト(雑談会)を開催しました。この記事では、その開催の背景と目的についてご紹介いたします。

  • ハンガーフライトについて
  • LFTVハンガーフライトの準備段階
  • 当日の様子と振り返り
  • まとめと展望
続きを読む

Conventional Commitsをチームで導入して得た知見

こんにちは! LIFULLエンジニアの吉永です。

普段はLIFULL HOME'SのtoC向けCRMチームにてエンジニアリングマネージャをやっています。

本日はチームでGitのコミットメッセージ書式をConventional Commitsに準拠するようにしてから得た知見を紹介したいと思います。

コミットメッセージに書式を導入することでどんなメリットがあるのか?導入前後でどんな変化があったのか?今後の展望についてご興味のある方に参考になれば幸いです。

アジェンダ

続きを読む

よく使うStimulusコントローラの紹介 vol.1

アクセシビリティ推進グループの中島です。

過去同グループの発信した記事の中で、弊社がJavaScriptライブラリとしてStimulusを採用していると何度か紹介させていただきました。

www.lifull.blog

今回はその中で、どんな粒度で、どんな機能のStimulusコントローラを書いているのか少しばかり紹介しようと思います。

(全て書くととても長くなってしまうのでvol.1としてますが、vol.2以降を書くかどうかは今の所わかりません。)

続きを読む

LIFULL HOME'S 賃貸基盤刷新におけるABテスト実施システムの構築

こんにちは。プロダクトエンジニアリング部の武井です。 普段はLIFULL HOME'Sの賃貸領域の開発をしています。

現在、LIFULL HOME'Sの賃貸領域ではシステムの基盤刷新を行っています。 詳細については以前の記事をご覧ください。

今回はこの基盤刷新に伴い、新たなABテスト実施システムを構築したので、その概要を紹介したいと思います。

続きを読む

学会イベント「人工知能学会全国大会(JSAI 2023)」参加報告

こんにちは、AI戦略室の清田です。

2023年3月に岐阜で開催されたDEIM 2023に続き、6月に熊本で開催された人工知能学会全国大会(JSAI 2023)に参加いたしました。

www.ai-gakkai.or.jp

今年は、恒例の「不動産とAI」をテーマとした企画セッションにも関わりましたので、その内容も合わせて報告します。

生成AIブームがAI研究コミュニティにもたらした影響

今回のJSAI 2023は、過去最高となる3,566名もの参加者があり、大盛況でした。 2022年に相次いで登場した生成AI技術を用いたサービス(Stable Diffusionなどの絵画生成、ChatGPTなどの自然言語生成)の影響で、AI研究が改めて大きな注目を集めていることを感じます。

ディープラーニングの登場などを受けて10年前ほどから始まった第3次AIブームは、ある程度の落ち着きを見せていましたが、「冬の時代」を迎える前に、第4次ブームが始まったのかもしれません。

生成AI技術は、大きな期待を集めている一方、著作権の問題、情報の信頼性の問題など、さまざまなリスクが指摘されてもいます。

私がオブザーバーとして関わっている人工知能学会 倫理委員会でも、マスメディアからの取材依頼などが多数入っている状況を受けて議論を行い、「人工知能学会としての大規模生成モデルに対してのメッセージ」を公表しました。

www.ai-gakkai.or.jp

本大会では、「日本は生成AIを起爆剤にできるのか」をテーマとした緊急企画セッション、「アートにおいても敗北しつつある人間 〜人の美意識もAIにハックされるのか?〜」と題した倫理委員会主催セッションなどが実施され、多くの参加者を集めていました。 その様子は、NHKなどのメディアでも報道され、生成AIへの社会からの関心の高さを実感しました。

www3.nhk.or.jp

生成AI技術をめぐっては、大規模言語モデルなどの技術面だけでなく、倫理や法律、収益の配分、人の創造性など、さまざまな課題が入り交じっていて、正しい理解に基づいた議論がなかなか成立しづらいように思います。

正しい理解に基づいた生産的な議論を成り立たせる上で、学会というコミュニティの役割に、大きな期待が寄せられています。 こうした役割を果たす上で、生成AIの開発に関わる各企業がより主体的に関わることが求められているように感じます。

企画セッション「少子高齢化と「住まい」産業のDXを考える」

LIFULLでは、名古屋で開催されたJSAI 2017から、継続的に「不動産とAI」をテーマとしたセッションを、同じ関心を持つ大学や企業の方々と共同で開催しています。

今回は、「少子高齢化と「住まい」産業のDXを考える」と題した企画セッションを開催しました。 少⼦⾼齢化の進展に伴う「住まい」の課題に取り組まれている方々をお招きし、さまざまな事例を共有いただきました。

不動産、AIにかかわる方々だけでなく、これからの時代に求められている新たな「住まい」の価値を追求されている方や、人々の行動データをさまざまな社会課題の解決に活用する取り組みをされている方も交えた議論を行うことで、「不動産とAI」の研究領域をさらに広げることを目指しました。

sites.google.com

LIDAR測量、簡易BIMによるリノベ・維持管理へのデータ活用

スターツ社の清水哲志様・城戸祐一様からは、既存建築物のリノベーションにかかる膨大な手間を、スマートフォンに搭載されたLiDAR(ライダー)機能を活用して作成された簡易BIMモデルを用いて削減する取り組みなどを発表いただきました。 (国土交通省の「令和4年度住宅生産技術イノベーション促進事業」として、LIFULLも開発に協力しています)

xtech.nikkei.com

リノベーション事業の最前線の話題

福岡を中心に築古ビルのリノベーションを多数手がけられているスペースRデザイン代表の吉原勝己様からは、「共感価値」によって、築数十年の築古ビルの資産価値を向上するという興味深い事例を発表いただきました。

www.reizensou.com

www.space-r.net

これらの事例は、本セッションに参加されていたAI研究者の方々からも驚きをもって受け止められました。

地⽅⾃治体における⾼齢社会デザインへのビッグデータ活⽤ソリューション事例

ヤフー社でビッグデータを活用したデータソリューション事業を担当されている大屋誠様からは、DS.INSIGHTを用いた分析事例をご発表いただきました。

パネルディスカッション

皆さまからのご発表を受けて、以下のようなテーマで多岐にわたる議論を行いました。

  • 既存ストックの価値を高めるためにAI技術が果たせる役割
  • 2025年問題にどのように向き合うべきか
  • 九州をフィールドとした協働の可能性

今回の議論は非常に刺激的で、お互いに接点の少なかった領域の人々どうしが対話を重ねることが、「住まい」産業の形を大きく変革するきっかけになるのではという大きな可能性を感じました。

来年に浜松で開催予定のJSAI 2024でも、引き続き「不動産とAI」をテーマとしたセッションを企画予定です。

多くの方々のご参加をお待ちしております!

おわりに

LIFULLでは、生成AI技術を活用したプロダクトの開発を加速するため、専門部署としてジェネレーティブAIプロダクト開発室を2023年5月に設置しました

www.lifull.blog

AI戦略室も引き続き研究開発に取り組んでおり、今後はジェネレーティブAIプロダクト開発室とともに連携して生成AIの活用に取り組んでいく予定です。

ChatGPTを活用した「AIホームズくん LINE版」、ChatGPTプラグインなど、国内不動産ポータルとして初めてとなるサービスを続々とリリースしています。

lifull.com

lifull.com

生成AI技術は強力な技術であるがために、ユーザーにとって多くの利便性をもたらす一方、使い方によってはユーザーの利益を損ねるリスクもあります。

AI戦略室では、『創造と革進で喜びを届ける』というチームビジョンを掲げ、AI技術シーズの創出と活用を通じて、多様な社会課題や事業課題の解決に挑戦しています。 今回のJSAI 2023への参加を通じて得られた生成AI技術をめぐるさまざまな課題を踏まえつつ、社会課題や事業課題の解決につながる活用のあり方を考えてまいりたいと思います。

AI戦略室では、共に成長しながら働く仲間を募集しています。ご興味をお持ちの方のご応募をお待ちしております!

hrmos.co

LLM活用促進に向けたPlatform Engineeringからのアプローチ

KEELチームの相原です。

今回は流行に乗ってLLM(Large Language Models)の話です。

とは言うもののLLMは単なる流行ではなく新たなパラダイムと言っていいでしょう。 解けるタスクの幅は未だ底が知れず、機械学習とは求められる能力も多少異なることからソフトウェアエンジニアである私の周りでも大きな変化が起きていると感じます。

LIFULLでもこの変化をコーポレートメッセージである「あらゆるLIFEを、FULLに。」の実現に繋げるべくジェネレーティブAIプロダクト開発室が新設され、一発目としてLIFULL HOME'SのChatGPT Pluginをリリースしました。

さて、我々KEELチームはKubernetesベースの内製PaaSであるKEELを開発・運用するチームです。

www.lifull.blog

我々にはプラットフォームというレバレッジの効くソフトウェアを通して「あらゆるLIFEを、FULLに。」の実現にスケーラブルに貢献する責任があります。

これまでKEELではコードジェネレータによるPaaS体験を軸に、可観測性やセキュリティ, デリバリーパイプライン, MLOpsから各種データストア・認証基盤に加えてアプリケーションの参考実装の提供に至るまで必要なことはすべてやってきました。

LLMという新たなパラダイムでも同様にプラットフォーマーとしてやれることがあるはずです。

Platform Engineeringからのアプローチということで、社内でのLLM活用を促進するためにこれまでやってきたことを紹介します。

  • ベクトルデータベースの提供
    • Redis
    • Qdrant
  • Embeddings APIのキャッシュプロキシの提供
  • ChatGPT Retrieval Pluginの構築
  • コマンドラインツールでのLLM活用
    • Conventional Commits形式のコミットメッセージの自動生成
  • 今後の展望
続きを読む