こんにちは。人事の大崎です。 当社は、先日の9月20日に「 ICカードリーダーアプリbyマネーフォワード 」をリリースしました。
このアプリの特徴はなんと言っても、 iOS13から対応したCore NFCの技術を利用 していることにくわえ、 当社のプロダクト初SwiftUI で実装されています。アプリリリースのタイミングが iOS13配信開始の約1時間後 、そしてiOSカードリーダーアプリとしてはいち早くリリースしたこともあり、 多くのユーザー、メディアの方から大きな反響 をいただきました。
今回は、そんなiOSカードリーダーアプリ開発の立役者である福岡拠点の河島さんに「裏話を聞きたい!」ということで、 私大崎は福岡まで飛んでいきました!
※Core NFC: Suicaを代表とする、かざすことで通信を行うNFC(Near Field Communication)のタグを検出し、そのデータを含むメッセージを読み取った上、書き込み可能なタグにデータを保存することができる技術。 ※SwiftUI: WWDC2019で発表された新しいアプリ開発のフレームワーク。シンプルでコードが書きやすいという特徴。
■話者 河島 圭介: 2018年4月入社。クラウド経費本部 開発部 モバイルアプリグループ リーダー
■インタビュー・写真:大崎淳(人事本部)
入社したのは「人の役に立つプロダクト作りがしたかったから」 大崎: 今日はよろしくお願いします。改めてアプリのリリースおめでとうございます!!いち早くリリースしたこともあり、ものすごい反響でしたね。
河島: ありがとうございます。自分が担当したアプリが公開されて、ここまで評価いただけたのは嬉しいですね。
大崎: そうですよね。アプリのお話に移る前に、まずは河島さんの入社経緯について聞かせてください。入社してどれぐらいですか?
河島: 18年4月にiOSアプリエンジニアとして入社したので、1年半弱です。
大崎: ちなみに入社のきっかけとは、、?
河島: もともと「マネーフォワード ME」のユーザーでずっと使っていました。だからマネーフォワードのことは知っていたんです。また、フリーランスとして活動していた際にも、「マネーフォワード クラウド」にお世話になって、めちゃくちゃ便利だなと思っていたんです。そうしたら、福岡に開発拠点を出すというニュースを見て、すぐに応募しました。もともと、 人の役に立つプロダクトに関わりたいと思っていた中で、自分が使っている便利なアプリを働きながら作れるって最高だな と思って。
待ちに待った1年越しのWWDCでの発表! 大崎: そうだったんですね。入社してからはずっと「 マネーフォワード クラウド経費 」のiOSアプリを担当されていたんですか?
河島: はい。「マネーフォワード クラウド経費」という経費精算用のプロダクトは、福岡拠点のエンジニアが開発をしています。私はそのiOS版をずっと担当していました。
大崎: 社内でも使っているので、いつもお世話になっています(笑)。とはいえ、どうしてカードリーダーを作ることになったんですか?
河島: 実は私が入社する前から、Android版のICカードリーダーはすでに存在していました。「マネーフォワード クラウド経費」は2016年1月リリースですが、Android版のICカードリーダーは2015年11月なので、実は先なんですよね。
大崎: そうだったんですね。
河島: 当初はPASMOなど、当社のアグリゲーション技術で自動連携ができない交通系ICカードの明細を連携できるように開発したようです。自動取得できないデータを連携できるので、今でも好評なんですよ。
大崎: なるほど。そうすると、みなさんiOS版でも出して欲しいという声が出てきそうですね。
河島: そうなんですよ。セールスの方々はクライアントの方から 「iOS版のカードリーダーも作って欲しい」と、ことある毎にご要望をいただいていた みたいでして。いろんな機能要望をビジネスサイドの方々からいただく中で、iOS版のICカードリーダーについては、多くの声が上がっていました。ユーザーの要望を叶えるような、便利なプロダクトを作りたい気持ちはある一方で、 作りたくても作れなかったんですね。
大崎: それはどうしてですか?
河島: Androidでは対応していたICカードの読み取りが、iOSは機能としてずっと対応していなかったんです。
大崎: そうだったんですね。じゃあ、もう対応する日がきたらすぐに作るぞ、と楽しみにしていたんですか?
河島: そうですね。実は昨年の2018年、WWDC(Appleが開催する新機能・新プロダクト発表会)の際にその機能が対応するという噂があったんです。 機運高まる、、、となったんですが、お見送りになったみたいで。
(2018年のWWDC当時のSlack)
大崎: だとすると、今年の6月のWWDCで満を持しての対応はもう歓喜だったんじゃないんですか?(笑)
河島:楽しみにしていたんですけど、SwiftUIの方が大々的に取り上げられていて、あんまり目立たずに発表されていた んですよね(笑)だから 詳細が分からず、果たして本当にできるのか分からなくて 。
(WWDC2019当時のSlack。河島さんが紹介している記事を書いた方も、個人で今回ICカードリーダーアプリをリリースしていました)
いよいよ開発へ!まずは個人でスモールに試してみる! 大崎: 正直、できるか分からない、、、という感じだったんですね。そこから開発に向けてどういう風に動き始めたんですか?
河島: すぐにでもやりたい想いがある一方、普段担当している「マネーフォワード クラウド経費」のiOS版の開発もありますし、 正直本当に読み取り機能ができるようになるのか分からないのでどうしようかな と迷っていたんです。ただ、タイミングに恵まれまして。
大崎: タイミングとは?
河島: WWDC2019でCoreNFCの内容が発表されたすぐ後に開発合宿が控えていたんですが、合宿には都合で参加できなかったんです。でもチャレンジをするというテーマだったので、せっかくなら 同じ期間に個人開発合宿のような形でICカードリーダーの開発にチャレンジしてみよう と。なんとなく、開発できそうな雰囲気は感じつつも、Android版ICカードリーダーアプリがどういう風に実装されていたのか詳しく知らなかったこと、アプリを実現するために必要なAPIも全部揃っているのかもわからなかったので、「やってみて調べないとわからないなー」という感じでした。だから 「仮組してみたらなんとなくわかるんじゃないかな」 という感じでチャレンジしてみようと。
大崎: それはめちゃくちゃタイミングよかったですね。たしかにいきなり開発に着手するより、調査も兼ねているのでハードルは低くなりますね。実際作ってみたらどうったんですか?
河島: 最低限検証したいことが上手くいったのでで、「あ、これいけるんじゃないか」って思ったんです。そこから、本格的にチャレンジすることにしました。この辺を含めた技術的な話は エンジニアブログに書いた ので、そちらもご覧ください。
ありがたいことに、弊社には既にAndroid版のコードが存在するので、参考にしながらICカードから明細を読み込むコードを書いてみたところ、実際に履歴を読み取ることができたので正式に開発プロジェクトがスタートしました。どうせ出すならiOS 13と同時にリリースした方がかっこいいだろうということで、チームで協力して急ピッチで作業を進めました。 (河島さんが実験してみた様子をSlackに上げたところ、事業部長の今井はじめ多くのメンバーが歓喜!)
SwiftUIでの開発はつまずきだらけだったけど、それでもリリースできたのはチームのおかげ 大崎: なるほど。アプリの開発面でもう1つ聞きたいのが、新しいフレームワークであるSwiftUIでの開発にチャレンジしたことですよね。開発合宿のときに、すでにSwiftUIにもチャレンジされていたんですか?
河島: いえ、まずはちゃんとICカードリーダーがiOS版で作れるかの検証だったので、そのときはSwiftUIではなかったんです。
大崎: そうだったんですね。でもなんでまたSwiftUIでチャレンジしようと思ったんですか?
河島: 正直、SwiftUI自体はまだまだ出たばかり、かつiOS13からの対応となるのでまだまだな部分も多く、不安はありました。その上、iOS13のリリースと同時に出すとなるとスピード感が必要です。 正直、今まで通りSwiftで作った方が情報も多く、進めやすいだろうなとも思っていました。
でも、逆を返せば、 iOS13からしか対応しない技術にチャレンジできるいいチャンス だと思ったんです。ちょっとだけチュートリアルをなぞってみたら、思ったよりコードが書きやすかったので、やってみようと決めたのもありますね。
大崎: このプロジェクトに関わる方々からの反応はいかがでしたか?6月のWWDCでの発表から、iOS13のリリースまで3ヶ月弱といった急ピッチでただでさえ大変なのに、SwiftUIを使うというのはさらに大変なチャレンジだと思うのですが。、
河島: これは本当にみなさんに感謝しているのですが、みなさんがものすごく後押ししてくれました。 「マネーフォワードクラウド 経費」の開発責任者で 、 福岡拠点長である黒田さんも「やってみたらいいんじゃない!」と背中を押してくれました。
福岡拠点長 黒田からのコメント 河島さんには1年くらいの間ずっと、「マネーフォワード クラウド経費」アプリのブラッシュアップや機能追加などで抜群の実績を出してもらっていました。一方で、新しい技術的チャレンジという機会がなかなか提供できていなかったんです。 だからこそこの絶好の機会に、ぜひチャレンジして欲しい と思って取り組んでもらいました。 東京本社から見ると福岡は小さな拠点なので、プロダクトで目立ったり、情報発信をしていかないと埋没してしまう。「 東京に負けないぞ! 」という気持ちでこれからもどんどん目立っていきたいと思っているので、こういった取り組みを福岡拠点から発信できてものすごく嬉しいですし、本社や他の拠点にも刺激になっていると思います。 実はAndroidのカードリーダーアプリを作ったときから、単純にこのアプリが個人的にめちゃ好き!なんです。だからこそ、もっと多くの方に使っていただきたくて広報とプレスリリースの件で連携したり、いろんな改善提案や反響をどんどん共有して、河島さんと一緒にいいアプリにしていくお手伝いをこれからもやっていきたいです。 河島: 加えて、 東京の本社にいる「 マネーフォワード ME 」のプロダクトオーナーである西方さん も、Appleとのやりとりをしている中でいろんな情報を提供してくれましたし、 デザイナーの大川さん もSwiftUI用に特殊なデザイン等々が必要だったにも関わらず、仕上げていただきました。
大崎: それは、心強いですね。
河島: そうなんです。そのおかげでチャレンジが加速して、リリース後のアップデートでは、 マネーフォワードのプロダクトとしてはじめてダークモードにも対応でき ました。また、対応カードもリリース当社は14種類でしたが、 要望の多かったnanacoや楽天Edy、WAONも追加して現在17種類まで対応 しています。
(対応種類を増やすべく、電子マネー図鑑なるもので動作検証をしているそうです。)
大崎: SwiftUIから、ダークモードから初物尽くしですね(笑)
河島: そうですね(笑)はじめてのことばかりで、大変だったからこそ、「ああ、普通にチャレンジせずに作ってれば良かったな」と正直思うこともありましたが、 周りのサポートのおかげで安心して進めることができました。
大崎: 河島さんを始めとしたチーム全体の成果ですね。
河島: そうですね。まだまだリリースしたばかりで、改善点がたくさんありますが、これからもいろんな方々と協力しながらチャレンジをして、みなさんにとってより便利なプロダクトに成長させていきたいです。
大崎: ありがとうございました!!!!ぜひ、みなさんも使ってみてください。
iOS版(今回ご紹介したもの)
Android版