Tribal Media House Engineering Blog

Made in Tribal Media House !!!

外部ライブラリに依存しない Pure Swift な FMPhotoPicker を公開しました

こんにちは。トライバルメディアハウスの高田です。

 

このたび、トライバルメディアハウス(以下、トライバル)初のOSS(オープンソースソフトウェア)であるツール「FMPhotoPicker」をトライバル公式Githubアカウント(@tribalmedia)にて公開しました!

このブログでは、このツールがどんなものなのか、また開発背景についてご紹介したいと思います!

github.com

f:id:tribalmediahouse:20180815191447p:plain

 

FMPhotoPickerについて

「FMPhotoPicker」は、iOS版アプリのための画像選択・画像加工のツールです。

 

コンセプトとして大切にしたのは、私たちが展開しているメディア「Funmee!!(https://funmee.jp/)」のiOS版アプリ開発時に画像選択ツールや画像加工ツールを選定するうえで悩まされた「外部ライブラリとの依存関係を持たない」ということです。

また、コンフィグ周りも実用的なツールになるよう配慮をしました。

MITライセンスとして公開しています!どんどんご利用いただき、コントリビューションしてくださいませ!

 

具体的な使い方等は、READMEをご参照ください。

 

デジタルマーケティング会社がOSS貢献する事になった背景

今回、デジタルマーケティング会社であるトライバルがOSS活動をし、貢献するにあたり、悩んだり検討したことがいくつかありました。

 

トライバルでは、人類にオドロキと感動を提供するぞ! 人生をもっと熱狂させるぞ!!という熱い想いを持って、おもにデジタルマーケティング分野のご支援を行っており、私が所属するソリューション開発部では、プロダクト・ツールを中心にチームで開発・運用をしています。

 

そんなトライバルの数ある事業の一つに、「Funmee!! 」というメディアがあります。

このメディアサイトのiOS版アプリ開発にあたり、画像選択・画像加工の機能が必要となったのが、この「FMPhotoPicker」開発のきっかけでした。

 

当初は外部の有料ツールやライブラリを検討していましたが、いざ自社のプロダクトとして採用するとなると、いくつか問題点がありました。

  • 依存関係

これは開発者の定めではないでしょうか。さまざまな依存関係と上手くやっていくのは必要なことですが、“画像選択・画像加工をする”というシンプルな動作であるにも関わらず必要以上の依存関係に悩まされるのはもったいない、と考えました。

  • 適度な設定値

これも、あるあるではないでしょうか。過剰な設定値が必要であったり、設定値のインジェクションの難易度が高いというパターンは少なくありません。

自分たちが本当に欲しい機能を必要な大きさのスコープで振る舞ってくれるツールが欲しい、という想いが強くありました。

  • コスト

個人的に、素晴らしいツールにはガンガンと課金する課金厨ですが…会社のプロダクトとなると、そうはいきません。

私たちのプロダクトのライフサイクルやサービスの提供形式などを考慮すると、ツールの利用料を払うよりも自社で開発し、メンテナンスまで行う方がメリットが大きいと判断しました。

 

これらの理由から、画像選択・画像加工のツールを自分たちで実装することを決断しました。

この決断は、上記のメリット以外にも、OSSにすることで自分たちの資産にもなり、世の中の役にも立てる、というメンバーのモチベーション向上はもちろん、メンバーがOSS活動へさらに興味を持つようになるといったメリットもありました。

 

グローバルな視点でコラボレートしていくこと

 この「Funmee!!」iOS版アプリ開発にあたって、ベトナムにある現地法人「TMH Tech Lab.」のメンバーとチームを構成しているという点もトライバルらしいユニークな取り組みだと考えています。

 

日本とベトナムの開発チームが、自社ツール・OSSの開発を行うという国をまたいだコラボレーションはとても刺激的でしたし、このコラボチームをリードしてくれた来日3年目のベトナム人エンジニア Cong(コン)のナイスプレーにはとても助けられました。彼を中心とした素晴らしいメンバーのおかげで、良いOSSが作れたと思います。

 

また、UIについて、iPhone、 iOS、 Swiftの規約や推奨に従いながらにはなりますが、ベトナムの視点も交えながら議論し進められたのは、貴重な経験だったと思います。

 

今日は、pure Swiftで使える画像選択・画像加工ツール「FMPhotoPicker」の紹介と、その開発背景について書かせていただきました。

 

近日、第二弾のOSSも公開予定です! お楽しみに!!

 

トライバルでは、Swiftを書きたい! グローバルなチームで開発をしたい! 俺もOSS貢献したい! 人類を驚かせたい! というエンジニアを積極募集中です!

 

ご連絡お待ちしております!