Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
「freeeのモバイルチームを知ってくれ」freee技術の日発表資料 - 2023年
Search
sugiken
April 17, 2023
Technology
0
23k
「freeeのモバイルチームを知ってくれ」freee技術の日発表資料 - 2023年
2023年4月16日に開催されたfreee技術の日の発表資料です。
sugiken
April 17, 2023
Tweet
Share
More Decks by sugiken
See All by sugiken
[#1 Mita.ts] Prisma Schema から コード生成
sugikent
0
140
Other Decks in Technology
See All in Technology
Microsoft Build 2025 技術/製品動向 for Microsoft Startup Tech Community
torumakabe
2
310
製造業からパッケージ製品まで、あらゆる領域をカバー!生成AIを利用したテストシナリオ生成 / 20250627 Suguru Ishii
shift_evolve
PRO
1
140
ひとり情シスなCTOがLLMと始めるオペレーション最適化 / CTO's LLM-Powered Ops
yamitzky
0
440
データプラットフォーム技術におけるメダリオンアーキテクチャという考え方/DataPlatformWithMedallionArchitecture
smdmts
5
650
より良いプロダクトの開発を目指して - 情報を中心としたプロダクト開発 #phpcon #phpcon2025
bengo4com
1
3.1k
OpenHands🤲にContributeしてみた
kotauchisunsun
1
470
Clineを含めたAIエージェントを 大規模組織に導入し、投資対効果を考える / Introducing AI agents into your organization
i35_267
4
1.7k
Welcome to the LLM Club
koic
0
190
あなたの声を届けよう! 女性エンジニア登壇の意義とアウトプット実践ガイド #wttjp / Call for Your Voice
kondoyuko
4
480
2025-06-26_Lightning_Talk_for_Lightning_Talks
_hashimo2
2
100
米国国防総省のDevSecOpsライフサイクルをAWSのセキュリティサービスとOSSで実現
syoshie
2
1.2k
Fabric + Databricks 2025.6 の最新情報ピックアップ
ryomaru0825
1
150
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
694
190k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
Designing Experiences People Love
moore
142
24k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Faster Mobile Websites
deanohume
307
31k
Navigating Team Friction
lara
187
15k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
48
5.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Statistics for Hackers
jakevdp
799
220k
Transcript
freeeのモバイルチームを 知ってくれ sugiken 2023年4⽉16⽇
ここに円に切り抜いた画像を入れてく ださい sugiken 2019年 新卒⼊社 webエンジニアとして freee 会計に 携わる 2021年
社内の異動制度を利⽤しモバイルチームへ異 動し会計アプリの開発を担当 趣味は旅⾏とカラオケ モバイル船 モバイル会計ヨット
⽬次 1. チームの⽬標の話 2. 「モバイルならでは」を探す話 3. 技術の話
⽬標の話 1
freeeのモバイルチームを 知ってくれ そもそもなぜこのタイトルなのか
freeeのモバイルチームを 知ってくれ 「freee」って聞くとwebサービスのイメージで すよね?
freeeのモバイルチームを 知ってくれ まだまだfreeeモバイルチームの 知名度が低い!!
freeeのモバイルチームを 知ってくれ freeeモバイルチームは、 おもしろい!!
freee会計 freee開業 freee福利厚生 freeeアプリストア freee人事労務 freee会社設立 freee受発注 freeeプロジェクト管理 freee資金調達
freee申告 freeeカード freeeのモバイルアプリ freeeサイン
モバイル会計アプリ利用者数シェアNo.1 71% 他社 ※出典:リードプラス株式会社「主要3社のサービス利⽤者数のシェア(2021年7⽉~2022年6⽉のユニークユーザー数)」 https://localfolio.leadplus.co.jp/blog/industry-analysis-series_cloud-accounting-software
モバイルチームが今後3年で⽬指すところ スマートフォンだけで「だれもが⾃由に経営できる」世界の実現 • 個人事業主ユーザーが日々の経営や確定申告が超簡単にできる • 従業員ユーザーがサクッと勤怠管理や経費精算などのバックオフィス業務を簡単・確実 にできる • 統合型経営プラットフォームを実現するためにいくつかの新規アプリのリリース
「モバイルならでは」 の話 2
「モバイルならでは」を探す理由 • web版にはほぼ全ての機能があるので、極論web版で良い • みんなPCは持ってなくても、モバイル端末は持っている ◦ 特に業種ごとに傾向もある • モバイルにはモバイルの特性があり、体験の向上ができる
• モバイルの可能性を僕らが信じている
常に「モバイルならでは」 を探し続けている
⼤切にしていること 「ユーザーを知ること」
ユーザーを知るために - ユーザーインタビュー エンジニアも同席。ユーザーの声を聞きアイディアに活かす • いくつかのインタビュー形式 ◦ モックアップによる UI
の検証 ◦ インサイトを探るためのインタビュー 良い点 • 使われている機能/難しいと思われている機能などが分かる • やっぱり直接聞くと⼼に残る
ユーザーを知るために - タウンホールミーティング モバイルユーザーの⽅7⼈に集まっていただき、経営層からエンジニアまで直接話を 聞く会 本当にズバズバと、ユーザーさんの 本⾳を聞ける会だった
モバイルならではの価値ってなんだろう • 誰でも持ってる • 直感的な操作 • カメラなどのハード⾯ ◦ モバイル端末でのエッジ
OCR • NFC による交通系電⼦カード/マイナンバー読み 取り
ユーザーについてのいくつかのファクト • モバイルアプリのユーザー層は、明らかにPCメインのユーザーと異なる 属性 ◦ 例)年齢、業種 • "知識" がユーザーごとに異なってくる
◦ 「操作の分からない」と「知識の分からない」は別 ◦ 例)確定申告の⼀連の流れを知っているかどうか
「どんなユーザーか」 × 「モバイルならではの価値」
技術の話 3
freee モバイルチームの特徴 をドドドッと紹介
MoVibes - モバイルアプリ専⽤のデザインシステム • デザイナーがそれぞれのOS⽤に作成し、これを基に社内 UI ライブラ リ作成 •
UIの統⼀感/開発速度向上を⽬指している • 新規画⾯で徐々に導⼊中 実装⾯でよかったところ • デザイナーとの共通⾔語が持てる • ⾊やテキストのスタイル指定が楽 • Component の再利⽤による開発速度向上
SwiftUI の検証‧導⼊中 ⼤規模な導⼊ < 部分的な導⼊ UIHostingController を⽤いて部分的に導⼊をしたり、新画⾯は SwiftUI を積極採⽤している。
アプリケーション全体を SwiftUI 化していくのはもう少し先。マルチモ ジュール化なども並⾏しているので、それが落ちてついてから。 新規アプリでは、フルSwiftUI & The Composable Architecture
アクセシビリティ向上に全⼒ 「⾼いアクセシビリティは売れる」 • 1⼈でも使えない⽅がいると採⽤してもらえない可能性がある • すべてのユーザーにとって使いやすくなる やり⽅ • はじめに
◦ 「freeeアクセシビリティー‧ガイドライン」を基にモバイル⽤のチェックシー トを作成 • デザイン段階 ◦ 要素の⼤きさや⾊などチェック • 実装段階 ◦ PR ごとに、特にエンジニアとして担保したい箇所をチェック • QA 段階 ◦ VoiceOver などをオンにしてチェック
MobCore Kotlin Multiplatform Mobile の社内ライブラリ。 iOS/Android の両 OS をまたいでコードを共通化。
2020年から開発開始し、iOS/Android 両エンジニアで育てている。 ⽤途 • API response のモデル ◦ API のドキュメント的役割も果たしている ▪ OS 間で「えっ!?この property Nullable じゃないの?」みたいなのが避けられる • ドメインロジック ▪ 税額計算 ▪ 要素の表⽰条件 ▪ ユーザーの権限や設定を考慮した分岐 • Form モデル(画⾯の⼊⼒内容やそれに伴うロジック)
マルチモジュール化 不要なコードのビルドを避ける環境を作ると同時に機能間‧レイヤー間の依存 関係を整理‧明確化することで以下を⽬指す • 保守性‧拡張性の向上 • ビルド速度の改善による開発速度の向上 Android マルチモジュール化済み
iOS 現在: 巨⼤な App Target と数個の社内 SwiftPackage というモジュール構成 機能群(feature)ごとに分割していく予定
⾃分たちで効果測定 リリースした機能の効果検証を⾃分たちでやっている 設計段階で、取得するべきログを PdM と相談して決定し Redash で分析 ⾃分たちで DB
の設計‧構造を理解していくことで、さらなるドメイン理解にも つながる
課⾦周りめっちゃすごい 特徴 • 国内 toB SaaS の中でも有数のプラン数 • 最⼤
54,800円/年の⾼額サブスク カオス • IAP/IAB/web からのクレカ決済など多種多様な⽀払⼿段 • 1ユーザー でも複数の事業所を持てる ◦ どの IAP/IAB で、どの事業所に課⾦してるのかのハンドリングが必要
負債返済へ真摯な姿勢 毎⽇の業務に加えて毎⽉の改善デー(1⽇⾃由に負債返済の⽇)で みんなでガッと対応 最近取り組んでること • [Android] NonTransitiveR への移⾏ •
[iOS] CocoaPods/Carthage から SPM へ移⾏ • [iOS] Warning の解消 700over から 100 くらいに減少 • モバイル専⽤ API への移⾏ ◦ 現状 Mobile API は全部で175個!!!
Ruby も書きます! ⾃分たちで Ruby on Rails のコードを書いて API の実装をしている
良い点 • クライアントからサーバーサイドまで⾃分たちで完結できる • API に任せられるロジックは API に書こうと思える • 予想外の API スキーマの変更によるトラブルを減らすことができる
まとめ スマートフォンだけで「だれもが⾃由に経営できる」世界の実現」 そのために、 • ユーザーを知る • ユーザーのための開発をする • 新しい技術を果敢に取り組む
• 負債返済も忘れない
None