Facebook アカウント交換アプリ「Hz」をリリースした

f:id:pika_shi:20160802004805p:plain

ボタンひとつ,たった 5 秒でその場の全員と Facebook アカウントを交換できる iOS アプリ 「Hz (ヘルツ)」 をリリースした.

アプリの概要

Hz では,5 人いても 10 人いても「誰か 1 人」がボタンをタップするだけで,その場の全員がお互いの Facebook アカウントを交換することができる.以下の動画を見れば,誰かがボタンをタップすると,タップした人のアカウントだけでなく,近くでただじっと待っているだけの人のアカウントまで取得できていることが分かると思う.

Facebook アカウント交換には大きく分けて以下の 2 つの問題点があると思っている.

1. 相手を探すのが面倒である

初対面の人と Facebook アカウントを交換するの,結構大変ではないだろうか.相手の名前聞いて入力し,検索結果に同じような名前の人がずらっと出てきてその中から探す… というアナログな手段が未だ主流となっている.「あっ,ローマ字で入力しないと出てこないかもです」とこれまで僕は何回言ってきただろう.最近は QR コードでの交換も提供されているが,知らない人も多い上に,カメラ立ち上げて撮影して… とこちらも結局面倒な作業が必要になる.

2. 1:1 でしか交換することができない

Facebook は基本的に 1:1 でしかアカウント交換することができない.つまり n 人いたら nC2 回の交換が必要になり,O(n^2) なので人が増えれば増えるほどコストがかかる.交流会や合コンなどで周囲の人とまとめてアカウントを交換したい時などはかなり面倒である.

Hz では,「誰かが 1 回」「ボタンをタップするだけ」でアカウントを交換することができ,これら 2 つの問題を同時に解決している.これ以上簡単にはできないのではないだろうか.


f:id:pika_shi:20160807093712p:plain

使用技術 (超音波通信)

Hz では,超音波通信を利用することで,スマートなアカウント交換を実現した.超音波通信では,人には聴こえない高周波の音に情報を載せ通信をおこなう.iOS では 20kHz くらいまでは出すことも聴くこともでき,Hz では 18kHz~20kHz あたりの周波数帯を利用している.

自分は超音波通信にかなり可能性を感じていて,近距離通信の中ではベストな通信手段だと思っている.近くの人と情報を共有するには Bluetooth によるペアリングや QR コードの読み取りなどが利用されることが多いが,決してどれも手軽とは言いがたい.また,LINE にはふるふるのような機能もあるが,GPS ベースなので精度は芳しくない.一方で,超音波は「音」なので Bluetooth のようなペアリングが当然必要なく,かつ QR コードのように 1 つずつ読み取る手間もかからない.さらに,超音波は周囲の人にしか届かないため,GPS と違って全然関係ない人に追加される心配もない.Hz は,超音波通信のこうような性質をうまく利用することで,従来より「簡単」でかつ「高精度」なアカウント交換を実現した.

ここに書いているような超音波通信への熱い思いは以前 Qiita にもまとめた.

超音波を用いた情報の送受信方法も↑の記事に書いているが,工夫した点は,iPhone の左右のスピーカーから別の周波数帯の音を出し,誤り訂正を容易にできるようにした点である.また,超音波が全ての情報の送受信を行っているのではなく,iPhone 同士がペアリングした後は WebSocket が情報の送受信を担っている.特許を出願するために弁理士と相談していたが,個人で支払うには高すぎて結局諦めた.

超音波通信が大きく普及しない理由は,標準のプロトコルが現時点で存在せず,サービスごとに規格を自ら考える必要があるからだろう.また,帯域がかなり制限されるため,普及したら普及したで超音波同士が干渉しあう気もするので,それも普及の妨げになっているのではないかと思う.ただ,LINE に超音波でアカウント交換できる機能が一瞬存在したり (すぐ消えたのでほとんどの人が知らない),JR の電車内ではずっと超音波が出てて,どの車両がどの程度混雑しているかを把握していたりと,徐々に利用事例が増えてきており,今後大きく普及する可能性は残っているだろう.

TechCrunch 編集長の西村さんも書かかれているとおり,ネットワーク外部性の強いアプリなので大きく普及することはないと思うが,超音波通信の可能性は示せたのではないかと思う.Facebook に公式でこのような機能が取り込まれてほしい.

開発に際して

週末にぼちぼちやっており,リリースまで 2 年くらいかかった.β 版は 2 年前の時点で完成していたが,そこから Swift に書きなおしたり,デザインを全面リニューアルしていたりするうちに,あっという間に時が過ぎていた.前職を退職してからは週末もあまり時間が全然とれずお蔵入りしかけたが,何とか世に出せてよかった.そして超音波通信自体も 2 年間で時代遅れになったりはしておらずホッとしている.以下の動画は 2 年前,アプリのレビュー時に提出したもの.機能自体は今と同じだがデザインが最高にダサい.


また,以前アイデア考案のデザインパターンをまとめたが,Hz は ② n-click を 1-click, 1-click を 0-click にする と ③ 最新技術や興味深い技術をサービスに落としこむ を用いている.

INTEMPO など,Adriablue で開発するプロダクトはアイデア先行でそれを技術に落としこむものが多く,一般のユーザにもウケがいいものが多いが,それ以外で作るもの,特にエンジニア同士で開発するものはどうしてもボトムアップでユーザに伝わりにくいプロダクトになってしまいがちであり,Hz もその一例である.ただ,エンジニアとしてこのようなテクノロジーありきのプロダクトを作るのがまたワクワクするのも事実.トップダウンボトムアップの両サイドから攻め,うまく融合することができた時に本当にインパクトの大きいサービスができると思うので,両者の視点から考える習慣を今後も続けていきたいと思う.