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
150
Other Decks in Technology
See All in Technology
react-callを使ってダイヤログをいろんなとこで再利用しよう!
shinaps
1
240
会社紹介資料 / Sansan Company Profile
sansan33
PRO
6
380k
今!ソフトウェアエンジニアがハードウェアに手を出すには
mackee
12
4.7k
企業の生成AIガバナンスにおけるエージェントとセキュリティ
lycorptech_jp
PRO
2
160
BPaaSにおける人と協働する前提のAIエージェント-AWS登壇資料
kentarofujii
0
140
20250913_JAWS_sysad_kobe
takuyay0ne
2
180
Rustから学ぶ 非同期処理の仕組み
skanehira
1
130
品質視点から考える組織デザイン/Organizational Design from Quality
mii3king
0
200
roppongirb_20250911
igaiga
1
220
DDD集約とサービスコンテキスト境界との関係性
pandayumi
3
280
現場で効くClaude Code ─ 最新動向と企業導入
takaakikakei
1
240
要件定義・デザインフェーズでもAIを活用して、コミュニケーションの密度を高める
kazukihayase
0
110
Featured
See All Featured
Designing for Performance
lara
610
69k
We Have a Design System, Now What?
morganepeng
53
7.8k
Making Projects Easy
brettharned
117
6.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.9k
Building a Scalable Design System with Sketch
lauravandoore
462
33k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Code Review Best Practice
trishagee
70
19k
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
520
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Rebuilding a faster, lazier Slack
samanthasiow
83
9.2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
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