iOSにあるけどAndroidにない「P2Pのファイル転送」
iOSの便利な機能の1つに、無線でファイル転送できるAirDropをあげる人も多いと思います。Androidには、Android 4.0 ICSで実装されたAndroid Beamがありますが、端末の背面を合わせて使う必要がありAirDropと同じような感覚では使えません。
Googleは、Android Beamを改善した「Fast Share」を開発しています。
これはインターネットの接続を必要とせず、Wi-Fiを使うファイル転送でファイルサイズが大きくても短時間で転送できます。Fast Shareは、有効にしているデバイスをスキャンして転送相手を選んでファイル転送できます。受信側は、ファイルの受信を承諾するか拒否かを選択できます。
2019年6月29日の記事ですが、9to5Googleに開発段階のFast Shareの使い勝手が紹介されています。
Fast Shareは、Android 10に実装されるかと考えられていましたが、実装されておらずリリース時期は不明です。アプリとして実装される話もあり、OSのリリースタイミングとは関係なく開発を進めているのかもしれません。
OPPO、Vivo、Xiaomiの3社も協力して開発中
OPPO、Vivo、Xiaomiの3社もAirDropと似た使い勝手のファイル転送を実現するために「Peer-to-Peer Transmission Alliance」を発足して、ファイル転送の仕組みを開発しています。
これもインターネットへの接続を必要とせず、Wi-Fiを使うP2Pのファイル転送で、平均速度は20MB/秒を実現しています。この機能は、Vivoが2020年2月から発売するデバイスに搭載して展開していくことになっています。中国のスマホメーカ3社から始まった取り組みですが、AirDropのような仕組みがAndroidにないことに問題意識を持っていることは間違いありません。
真打ち「Snapdrop」の登場
1月30日、FossbytesがAirDropの代替となるサービス「SnapDrop」をリリースしました。オープンソースのファイル交換ソフトで、ウェブベースでオープな技術が開発されているので、OSに関係なく利用できてアプリをインストールする必要もありません。
Snapdropを使うには、お互いがサイトにアクセスしている必要があります。また、同じローカルネットワーク内に存在している必要もあります。利用条件はこれだけです。サイトにアクセスすると、レーダーのようなUIが表示されて転送相手が表示されます。AndroidでChromeを使ってサイトにアクセスしていれば、相手には「Android Chrome」の名前で表示されます。
使い方は簡単です。転送相手をクリックすると操作方法を選択するダイアログが表示されます。ファイルを選択するとファイル転送が開始されて、相手側がファイルを受信し終えるとファイルの保存ダイアログが表示されて、ローカルのストレージにファイルが保存できます。複数ファイルの送信にも対応しており、ファイルごとに保存ダイアログが表示されます。
使う前にWebブラウザーでサイトへアクセスする必要がありますが、奇をてらった操作をする必要は何がないのは好感が持てます。また、AirDropと似たような使い勝手で、1度でもこれを使ったことがあればすぐに使えます。
ただ、607MB程度の動画ファイルの転送には、進捗が10%程度のところで停まり、10分待っても進む気配はありませんでした。数MBの写真の転送であれば数十秒で終了するので、ファイルサイズの大きなファイルの転送には向かないのかもしれません。
Snapdropの開発はオープンソース
Snapdropはオープンソース開発されており、ソースはGitHubに公開されています。
ページには簡単ですが技術的なFAQがあり、たとえば、P2P接続確立のためにWebRTCの技術が使われていたり、ファイル転送には、サーバーを介することがなく直接転送していることなどが説明されています。サーバーが介してファイル送信しているのであれば、プライバシーの面で使うのを避けようと考える人もいるかもしれませんが、Snapdropは直接転送しているので安心して使えそうです。
また、Windows、Linux、macOSで動作するデスクトップアプリもあり、これのソースコードもGitHubに公開されています。
今週は、このあたりで、また来週。