”PinQle”の内部と道のりと今後

157 view

こんにちは。
モバイルエンジニアのアベユウタです。

先日弊社コーポレートサイトより正式にPinQleのβ版のアナウンスをさせていただきました。

おでかけガイドアプリ「PinQle|ピンクル 」のβ版iOSアプリをリリースしました

そこでPinQleのβリリースまでの道のりと実装面の内部、そして今後の想定を少しだけお話ししようかと思います。

PinQle考案

きっかけは弊社取締役の坂井が
「旅行先とかでピンと来るやつ作りたい!」
と言ったのが最初でした。
※1もう少し具体的ではありましたがおおよそそんな感じです。
※2「ピンとクルやつ」からのインスピレーション(?)で「ピンクル」をそのままプロダクト名にしました。

それをあーだこーだ話しているうちにプロトタイプを作り始めたのが今年の3月頃でした。


↑最初のコミット履歴が3月くらいなので、あーだこーだ話していたのは2月くらいからだった気がします。

考案周りの深い話やユーザー向けのアプリに関することはおそらく坂井から詳細の話がもうすぐあるかと思いますので少々お待ちください。

さかしゅん -note-

開発者としての運用工数・開発工数

ざっくり内部的なお話しすると個人的に当初から考えていたのは、運用コストは抑えることを前提にプロダクトとしての構成を練っていたかなと思います。

弊社自社サービスの新潟直送計画では、かなりクライアント(出店者)目線でプロダクト自体が構成されています。
その結果1店舗出店するのに取材や商品撮影、ライティングやレタッチ、レビューなどかなり多くの関係者を巻き込んだフローを踏んでおり、結果人件費等々含めペイできるかどうかの瀬戸際の運営方法となっています。(遠方の取材で真夏や大雪の日なんて本当に辛そうです)

またクライアントからの要望(出品形態など)をなるべく取り入れる為、ECサイトを構成しているプログラム・コードが特定の人間しかメンテが難しい状態です。

その教訓を生かそうと考えた際に、構想段階である程度開発工数自体は膨らむ想定でしたが、開発の妥協を運用でカバーなんてことはなるべくしたくない思いが強かったので、運用コストを最小限に抑える方針のサービス構成・プロダクト・機能を開発する前提で、その中でも開発コスト(開発者の人材不足含め)との折り合いをつけるのを考えていました。

PinQleの内部構造

今回βリリースしたiOSアプリケーションと現在開発中のAndroidアプリケーション、管理側のWebアプリケーションの内部実装で言うと主な機能は以下で構成されています。

Language
【iOS】
– Swift
【Android】
– Kotlin
【Web】
– React+ES201x
– PHP(WP Plugin)

Backend
– Firebase Firestore
– Firebase Authentication
– Firebase Cloud Functions
– Google BigQuery(ML)

Mobile ClientSide
– Google Places
– Google Map
– Google Directions

Web ClientSide
– Google DataStudio
– WordPress(Plugin)

これだけ見ると大規模なように見えますが、(Googleの恩恵をふんだんに被ったおかげで)比較的構成自体はシンプルになると思っています。

基本的にモバイルアプリケーション側はGoogle Placesから受け取るPlace情報を基に構成し、それを補う形でFirestoreのデータを利用します。
またユーザーに纏わるデータ周辺も基本的にはFirestoreを使用します。(現状一部キャッシュとしてLocalDBを導入しています)
そのFirestoreのExportDataをBigQueryに読み込ませて解析させると言う流れになります。

またWebのクライアント側はWordPress Pluginと自前コンソールの2通りを想定しており、基本的にPlaceデータに関する操作はそれぞれのPlace(お店やスポットなど)の管理者で行える想定にしています。

弊社の管理ツールとしてはデータ集計にはDataStudioを使用しBigQueryのデータを可視化することで、データの利用やユーザー、Placeへのフィードバックが可能になると言う想定です。

確かに開発コストは弊社の既存プロダクトに比べると、嵩んでしまってはいますがそれと引き換えに運用コストに関しては弊社側では各プラットホームの必要最低限の管理コストで進行できる想定となっております。
(作りたいものの開発工数のある程度はGoogleの恩恵により軽減できましたが、それの実装・使用工数はエンジニアの力量でカバーします…)

今後の想定

まずはほとんどのプラットホームがまだリリースできていない状況なので、現在の想定での各プラットホームを開発していきます。
リリース次第コーポレートサイトやPinQle公式Twitter、Facebookでお知らせ致します。

また正式版では有料として計画しているPlace登録やイベント掲載・メディア情報掲載をベータ版の間でも募集していく流れになると思いますので、ご協力いただける店舗オーナー様、スポット管理者様、地方公共団体の担当者の方々を募集していきます。
(詳細は弊社コーポレートサイトお問い合わせフォームか担当者宛にお電話ください)

\ SNSでシェア /

WRITER

アベユウタ

モバイルエンジニア アベユウタ

2017年11月入社 制作部 所属

新潟市出身です。
iOS/Androidのモバイルアプリ開発が好きです。
好きな言語仕様はSwiftのProperty ObserversとKotlinのエルビス演算子です。

休日もパソコンカチカチしているタイプの人です。

Twitterによく出没します→@yutaabe200

TAGS