新しいアプリを作りました報告と、アプリから接続するサーバサイドの仕組みを楽したいという話

最近、アプリを出しました。正確にはアプリベースのクラウドサービスを出しました。本エントリがアプリ名での検索上位に出るのは避けたいのでアプリ名を即値記述するのは避けておきます。リンクだけにとどめておきますね。是非、使ってみてください。

icon_iOS7-02

どんなサービスかというと、自分の好きな飲食店や美容院、ホテルなどお店の情報を検索して「カード」として登録できます。そうすると自分専用の「カードホルダー」というところに溜まっていきますが、「カードのオモテ面」には、写真を含む、みんなで共有するお店の情報、「カードの裏面」には、来店履歴を表すスタンプや、自分だけの写真つきプライベートメモを書くことができたりします。

そうやってお店の体験を貯めていき、友達にいざ、自分が良いなと思ったお店を教えたい時に「あー店の名前を忘れてしまった」ということを防ぐことができます。飲み会で10秒名前を思い出せないと、話のターンは次の話題に行ってしまって、本来お店の情報が適切に伝わっていれば、もっとお客さんが増えたかもしれないのに、そこで失われてる機会損失が世界中で大量に生まれていると思うので、そこはITが解決すべき問題だと思いました。

ということで、このアプリは英語と日本語に対応していて、ワールドワイドでお店の検索ができます。お店の情報は、お店情報系のapiを使ってお店の検索や近隣情報を表示していますが、それだけじゃなく新しいお店とかは自分でも登録できるのですが、最低限必要な情報は、お店の名前と住所だけです。やってみていただくとわかるのですが住所もGPSから勝手に現在地を住所表示しているので、実は、お店の名前さえあれば、さくっと新しいお店を登録できます。というのもシステム的に後からお店を検索するのに本当に必要な情報は、「お店の名前」「ざっくりした住所」「緯度経度」だけだからです。

そしてお店の名前と住所から、食べログやYelp!のリンクを自動で検索して表示しているので、お店の評価や詳細情報などは、日本なら食べログ、海外ならYelp!を見てもらえれば良いと思います。もしお店が見つからなくても、編集画面から、ホントに簡単に登録することができます。

もし本アプリで新規に登録したカードに、開店、閉店時刻が入ってれば、「今、お店が開いてるか閉まってるか」を表示するし、Google Mapsアプリが入ってれば、Google Street Viewでお店の外観を表示したり、Mapsでナビしたり、電話番号を使って予約をしたりできたりと、細かいところで頑張っています。それに必要なお店の情報は後から必要に応じて登録してください。だれでも簡単に登録できますので、このアプリの認知が増えれば、小人さんや、お店の人が勝手に登録してくれるんじゃないかと期待しています。

お店の情報は、アプリ上で友達と「シェア」できます。facebookやtwitter、メールなどはもちろんのことLINEでも送れるし、あと、アプリ同士で、BluetoothまたはQRコードを使って、「カード」を渡すことができます。そうすることで、適切にお店の情報が伝達するし、アプリ同士のやりとりの場合は、カードを交換するとメッセージを送ることができます。LINEアカウントまではちょっと教えたくないなーという人でも、このアプリでなら渡せます。

おそらくお店の情報を伝えるときには、必ず「なぜそのお店が素晴らしいか」を伝えているハズで、その言葉こそが食べログのレビューよりも価値の高い情報になるんです。教えた人は友達に紹介したという満足感、教えられた人は、お店の情報を得るし、後でお店に行ったら「ありがとう!」とお礼を伝えると思うのですが、そういう行為を通じて双方のお店体験がより豊かなものになる、お店を通じたコミュニケーション創出アプリなのです。

icon_iOS7-02

情報過多、フロー情報優先のWebは、そろそろ限界だと思ってるので、基本的にリアルなコミュニケーションの充実に活路を見出したいと思っています。だからオンラインで完結する情報にKPIを求めたくない。Twitterクライアントを経験して、そういうのはFacebookとTwitterでいいじゃんと思っているので、ストック型のデータベースのレコード数で勝負したくなくて、リアルなコミュニケーションをどれだけ創出しているか?!に価値を見出したい、という思想で作られたアプリです。

もう、なんでもネットに情報公開&他人とシェアという時代は終わっています。あれはWeb2.0以降の事業者側の都合もだいぶ入っていて、何故なら情報は公開させないと、検索エンジン経由の広告収益が取れなかったからです。つまりCGMからの情報を原資として、検索エンジン経由で回収する、というのがWeb2.0のビジネスモデルです。だから、検索エンジン経由と、ユーザー専用画面で広告に表示される内容が変わったりします。

しかし、非公開の情報連携はビジネスにならないという考え方は、UIに制約が大きくて、これがどこまで公開されてるのか?がわからないスマホ時代にはなじまないです。そういう矛盾が冷蔵庫写真につながってしまうのです。

と、だいぶ余計なことを書いていますが、デザイン思考に習って、ここ2ヶ月ぐらいたくさんの人にヒアリングしてきましたが、こういうコンセプトはどちらかというと女性の人のほうが評価が高いようで、軽く説明すると、女性の方がこのサービスの本質を理解してくれるので、是非とも今後に期待しています。

男性も別に毎日の記録をしましょう!なんてことには使わなくて良いので、「マイ二郎リスト」とか「中本リスト」とか、数店舗でも良いのでお店のネタリストを作っていただいて、是非、友達との会話ネタとして使ってください。世の中、まだ女の子で二郎に行ったことがない人はたくさんいるので写真で自慢しましょう。中本も、結構武勇伝をしゃべれますよね(笑)

お店ごとに写真を登録できるので、「お店のアルバム」になるし、ダイエットの記録にも使えるようにタイムラインもつけようと思いますが、お店の情報の保存場所って、いまいちハマりが悪くありません?!カイさんは、はてブにお店情報を登録してるって言ってたけど、僕ははてブは、コメントコミュニケーションの場だし、pocketは非公開のWeb情報保存の場。Evernoteはそもそもマメな人が使うサービスだと思うのですね。食べログのリンクって、よくFacebook Messageとかで流れるけど、結局保存してないし。そういう時に、このアプリに登録しておいていただけると、いざというときに近隣のお店を表示しますので、アプリがあなたに変わって、素敵お店リストを管理しておいてくれます。

食べログアプリでいいじゃんという人は、とりあえず一度見てみてください。食べログは偉大すぎるので、ここまでシンプルにはできてないんじゃないかと思います。なにせ飲み会やカフェでの会話で使ってほしいと思ってるので、何より使い勝手、UIにはこだわっています。あと電波がつながってなくても、お店リストはちゃんと見えますし、Bluetoothでカード情報を渡すShurikenも3G回線不要です。お店の奥って電波つながらないこと多いからね。

ということで、とりあえず、もいちどリンク貼っておきますね。リンク

で、すいません。この記事にアクセスしているユーザーは先進ユーザーの人なので、念のため伝えておくと、もしインストールいただいた場合、9/21現在、iOS7で現在、写真撮影周りに若干の不具合が出ております。発売日にiPhone5s買ってみたら不具合に気が付きました。てっきりiOS7betaの不具合だと思って放置してたら、最終版もそういうスペックだったみたいで、こちらの不具合扱いになってしまいました。大変申し訳ございません。手元のソースではYAPCに参加する前と後に作業し、本日、修正済みなので、あとはiPad向けの修正を確認してApp storeの審査にsubmitします。iOS7はオートアップデートがあるのでダウンロードだけしておいていただければ、自動更新で修正されます。

icon_iOS7-02

さて、前置きが長くなってしまったが本題です。

今回のアプリは、フロントにObjective-CによるiPhone/iPadのネイティブアプリ。
サーバサイドにRuby on railsを使っています。バックエンドは、MySQLと検索エンジンにApache Solrを使っています。

アプリとサーバサイドを同時に作ってて思ったのですが、HTML + CSSに慣れてしまった開発者が、デザインにこだわって標準コントロールを使わないネイティブアプリを作るのはホントに地道で大変な作業なので、できればクライアントアプリの方に専念したい、と今回思いました。HTML + CSSはデザイナーやコーダーという方々にGUIの生産を委ねることができるわけですが、それを全部開発者が作るのは本当に【面倒くさい】です。HTMLバンザイ!

アジャイル的に進めてデザインガイドラインの仕様書もない状態で、Photoshopを使って、ボタンやグラデーションの色コードを取得するとか面倒くさすぎますね。

ですのでサーバサイドのセキュリティやスケーラビリティはできれば他の人にお任せしたい。また、アプリの開発者が、必ずしもサーバサイドができるわけではないので、最近聞く「モバイルSaas」ですかね。あぁいうのは良いですね。

でも完全にSaaSになってるとどうせ微妙に気が利かないと思うし、プラットフォームに足をひっぱられたくないので、それだったら、railsベースのモバイルアプリフレームワークがあって、自由な拡張可能な形のプラットフォームになっていたら、それはそれでいいんじゃないかと思いました。

今回の例で言うと、欲しい機能は、

・WebページCMS (PC/モバイルのランディングページ、WebViewで表示する画面)
・ソーシャル連携(いいねボタン、fbページ連携など。慣れてないと難しい)
・アプリとのapi(認証の仕組み、ユーザー管理、ユーザに紐づくデータ管理)
・データストア (ユーザーIDに対するKVSレベルのテーブルが複数つくれればOK)
・サーバサイド検索(データストアの情報を自然文と位置情報でソート)
・写真投稿機能 (apiとホスティング、公開、ユーザー情報で非公開)
・モバイルpush (Android、iPhone)
・カスタムロジックの組み込み

くらいかな。こういうのがもろもろ揃っててるRails拡張とかがあればいいんじゃないかなーと思いました。実際のところロジックの実装はスマホアプリ側にほとんど依存するので、サーバサイドってWebサービスよりはシンプルで良いので、割と作りやすいんじゃないかなぁ?!

もっと簡単で、誰でも使えますというSaasを作ってもいいんでしょうけど、多分、Objective-Cが書ける人には向いてないと思う。どっちも書けない人が使うってのはあると思いますけど、いずれにせよ、最初は、基本機能だけのスモールスタートで簡単に使えて、ユーザーが見込めた段階で、がっつり作りたければ、SDKを使うなどして慣れた開発環境で拡張できたらいいなーと思うわけです。

そういう意味では、Ruby On Railsとか、CakePHPの上に、こういう拡張機能があって、開発環境と実行環境がサービスとして提供されていて、カスタマイズしたければどうぞ、という流れで、スモールスタート&成長した時に困らないという二段階な事業計画に対応できるサービスだったらいいんじゃないかと思っています。

ということをYAPCの帰りに、すっかり立派な先輩?上司?になってしまった、ひろやんに会ったので、ペパボのSqaleとかがやってくれたらいいんじゃないかなーと思ったので書きなぐりですがpostします。もちろん、これは僕の思いつきなので、ニーズがあるかは、ちゃんとマーケティングしてください。

さて、この記事を読まれた方、もし、そういうサービスいいなーと思ったら、はてなブックマークのコメントなどにいただけるとありがたいし、そうじゃないよーという意見も参考までにお教えいただけたら幸いです。

関連記事:
モバツイ開発者のえふしん氏が新アプリ「ShopCard.me」をローンチ — 友達同士で店舗情報をカード形式で交換 | TechCrunch Japan

“本当に親しい友人”と店舗情報を共有–想創社がiPhoneアプリ「ShopCard.me」を公開 – CNET Japan

【PR】ご意見、感想などは是非、mstdn.fmのローカルタイムラインでお聞かせください