アプリなどを開発するブログ

React Native / Swift / Ruby on Railsなどの学習メモ。


FireChatが流行ってる。Multipeer Connectivityの記事まとめ

革新的なiOSチャットアプリ「FireChat」が話題に WIRED

http://wired.jp/2014/03/31/apple-multipeer-connectivity/

興味深いのは「近所」(Nearby)というオプションだ。
ここで、アップル(「iOS 7.0」以降)の「Multipeer Connectivity」フレームワークが使われているのだ。
Multipeer Connectivityは、近くにいるほかのアプリユーザーとメッセージを共有できるピア・ツー・ピア機能だが(近く写真にも対応)、Wi-Fiや携帯電話網につながっていなくても利用できる。

そう、データ接続がなくてもメッセージの送受信ができるのだ。
FireChatは、従来の(同一LAN内の)Wi-Fi接続のほかに、ピア・ツー・ピアのBluetoothWi-Fiを使って、各機器が近くにいるほかのユーザーと直接接続できるようにすることで、この芸当を成し遂げている。
ほかのユーザーと直接つながるため、Wi-Fiや携帯ネットワークとの接続は必要ない。

Multipeer Connectivityがつくりだすのは、ワイヤレスのメッシュネットワークだ。FireChatのクリストフ・ダリゴールトは、「ワイヤレスのメッシュネットワークがもつ可能性については20年ほど前から語られてきたし、DARPAは巨額も費やしてきた。けれども一般消費者向け製品としては、これまで大規模なかたちでは構築できなかった」

しかし、アップルのMultipeer Connectivityなら、大規模なメッシュネットワークを活用できるかもしれない。iOS機器を使う人は大量にいるからだ。

何これヤベーじゃん。と思って調べてたら、AirDropの仕組みってことすね。
メッシュネットワーク作れるなら、早速何かつくりてーー!!と思って色々調べてみることに。

Multipeer Connectivity Framework の記事

第 3 回・iOSでMultipeerConnectivityを実装してみよう!

http://www.gaprot.jp/pickup/ios7/vol3/

P2P 通信を手軽に実現する Multipeer Connectivity Framework を使ってみる

http://dev.classmethod.jp/references/ios-multipeer-apiusage/

ローカルP2Pアプリをつくるためにググりまくった結果

http://qiita.com/somtd@github/items/045536da81dbde425b07

Multipeer Connectivityを試してみた

http://iorisomo.hatenablog.com/entry/2014/03/01/150924

[iOS 7 SDK] Multipeer Connectivity framework で Peer-to-Peer Connectivity

https://hirooka.pro/?p=3264

iOS7アプリ同士の近距離通信どれがいい?

http://www.slideshare.net/norihiroarita/bluetooth-32023063

が、こちらの記事によるとメッシュネットワークの構築は現段階では無理そう。

第 3 回・iOSでMultipeerConnectivityを実装してみよう!

http://www.gaprot.jp/pickup/ios7/vol3/

ざんねん。
でも近くにいる人同士で圏外でもテキストやデータをやりとりできる仕組みは、
何か面白いもんが作れそうである。

あとは、複数のiPhoneを連動させてなんかやるとか面白そう。
以下やってみたいこと。

1. バレットタイム撮影

iPhone同士のお互いの位置関係を自動検出できれば、
iPhoneバレットタイム撮影とかできるかもしれない。
どうすれば位置関係を検出できるだろうか。

2. みんなのiPhoneが自動オーケストラ演奏

至近距離で同じアプリを立ち上げた人達のiPhone
勝手にハーモニーを奏で出す。
いいかも。
ディスプレイに映る映像もそれぞれの楽器や奏者の映像になってたり、
音色に併せて抽象的なアニメーションになっててもいいかも。

3. その場にいる人達でインスタント写真/動画共有

屋内で圏外だったりする場合でも、そのアプリを通すとサクッと写真が共有できたら
いいかも。
ただし、Multipeer Connectivityはバックグラウンド実行ができないので、
写真を送受信してる間はアプリを立ち上げておかないといけないので、
そこだけネックではある。

色々おもしろい使い道はありそうである。
あー未来って面白いなぁ。