--- layout: old_post title: rsync + subversion + Amazon S3 = dropbox permalink: /tatsuya/show/416-rsync-subversion-amazon-s3-dropbox ---

Google app engineのアカウントが申し込み間に合わなくてくやしいので、Dropboxについてでも書こう。 

rsync + Amazon S3 + subversion × 全自動 = dropbox

「気軽に複数PCでファイル共有できるオンラインストレージ」という触れ込みで登場したDropbox

Techcrunch - Dropbox: みんなが待ち望んでいたオンラインストレージソリューションかも

現在5GBまで無料のオンラインストレージで、実際のストレージにはAmazon S3を利用しているらしい。WindowsとMac用のクライントがあり、これが良くできていて

ファイルの変更を検知して全自動でオンラインストレージへ保存し続けてくれる。しかもソース管理ツール的な履歴機能付き、編集の衝突も検知して上手く回避してくれる。

さらに友人・知人と共有するSharedフォルダも作れてソーシャル的な展開も考えているみたい、試していないけど。

 

動作例

例えば、このフォルダへ

2403772842_f5fba53b41_o.jpg

普通にメモ帳でテキストを保存する

ファイルが自動でオンラインストレージに同期される!

 

履歴管理・衝突回避・その他

プログラマならこの辺が気になるだろうと思うので補足。

履歴機能もしっかりしている、普通に個人で書くコードくらいなら履歴管理まかせても良いくらい

さあここで大変!自宅と会社で編集したファイルが衝突した!!

衝突したファイルはリネームされて保存される。上書きされて消えた!ってことは起こらない。まあ現実的な対応かな、しいていうなら「衝突ファイル一覧」を見たいくらいかな、RSSとかで。

あと基本的にインストール後現れる「Dropbox」フォルダ以下が同期される、でもどうせならホームフォルダ辺りをこのDropbox以下にシンボリックリンクでリンクさせとくと超快適

 ・Windowsの場合 : file link -symbolic リンク先 リンク元

 ・Macの場合 : ln -s リンク元 リンク先

Macは普通だけど、Windowsにシンボリックリンクがあるのをこの件で調べて知った・・

 

Dropbox本当に細かい部分で気が利いていて良い、しかも何気に感動したのが全くストレスが無いこと。

今まで、WebDAVで複数PCを同期、なんて方法も試したけどどうも書き込み&読み込みが遅くストレスになって結局やめた。Box.net とか。

でもDropboxの場合、ユーザはローカルのHDDを普通に読み書きする、その後バックグラウンドでゆっくり同期を行っているんだ思う。

あくまでも我々はローカルHDDを読み書きするので、本当に存在を忘れるくらい快適。

 

ローカルHDDをキャッシュに使う、という発想はWebDAVになかったんだな、まあWebプロトコルのWebDAVとクライアントアプリケーションのDropboxでは性質が全く違うので当然なんだけど。

全データをオンラインに保存する時代になると、ローカルHDDは只のキャッシュになるんだなと思う。


全データをオンラインに保存する時代 =「アクセス権限制御」の時代

「データをブログに書く」じゃなくて、「もうウェブにはのってて、パブにするかどうか決めるだけで情報は出る」べきだと思っていた。この「パブにするインターフェイス」みたいなものが効率化すればいいと。このためには文字列一致検索なり、属性絞込みなりについて、最高のインターフェイスがあって、筋肉運動くらい自由で詳細に(あるいはペンとか本のページをくくるくらい自由に詳細に)権限管理ができるべきだった。

ウェブ3時代は「アクセス権限制御」の時代だと思えてきた - tokubo.com

以前この↑文章を読んで、色々考えていた世界がDropboxで実現しそうな感じ。実際は5GBなんてちんけな容量なので「世界の片鱗が見えた」くらいだけどそれでも大きな進歩だ。

自分の書いたテキスト、写真、楽曲、メール、ソースコード、コンフィグファイル、ブックマーク、ブラウザの履歴、コンピュータの操作履歴、、、全部オンラインストレージへ同期されていて

API経由で自由に加工可能な世界がきっと来る。

 

実際、@ITでのDropbox開発者へのインタビューでもAPIの話が出ていて

同社は現在すでにいくつかのオンラインサービス提供者と協力して、DropboxをWebアプリケーションから利用できるようAPIを整備している。となれば、例えばデジカメの写真をFlickrにアップロードするのに、Webブラウザや専用アプリケーションを用いる必要はなくなり、ふつうにフォルダにファイルをコピーするだけで、写真を公開できるようになる。逆に、Flickrにアップロードしたファイルを、ローカルのPCの画像編集ソフトを使ってダイレクトに編集ができるようになる。

http://www.atmarkit.co.jp/news/200704/09/dropbox.html

写真は全てオンラインに載ってて、あとは共有したい写真・フォルダを選びFlickrへ権限を与えるだけでデータがFlickrへ流れ・同期され公開される。「自分は全てFlickrで公開する」なんて人は全権限Flickrに与えるんだろう。

または編集したい写真はPicnik(オンライン写真編集サービス)で編集する。Picnikに権限を与えて自動処理・一括処理も可能だろう。これはBox.netとPicnikで既に実現されている

ほかのサービスとくっつけられるストレージサービスOpenBoxを自分でくっつける - bits and bytes


Dropboxで写真をオンラインと同期し、APIが用意されていれば

・Flickrに権限を与え写真共有

Evernoteに権限を与えておくことで画像検索

・Picnikに権限を与え写真編集

・基本のフロントエンドは今まで通りのアプリケーションでOK( iPhoto とか)

・ローカルHDDがキャッシュしているのでレスポンスもOK

 

音楽なら

Muxtapeに権限を与え、ミックステープ化&音楽共有

・オンライン楽曲編集サービスに権限を与える

・楽曲検索サービスに権限を与える

・基本のフロントエンドは今まで通りのアプリケーションでOK( iTunesとか)


テキストならさらに色々な二次加工・二次利用が可能だろう。

個人のライフログは全てオンラインに存在して、色々なサービスへ権限を与えることで過激に面白く加工してくれるんだろう、ブラウザのアクセス履歴はPathtraqへ、IMEの変換履歴はSocial IMEへ。


さらに、DropboxはWebDAVと違ってユーザを待たせない、というかシンボリックリンクや同期の設定等を済ませれば

普通に生活しているだけでオンラインストレージとデータが保存されている。あとはそれを見たい人 or 加工したいWebサービスへ権限を与えておくだけだ。

基本的にユーザの時間を邪魔しない、これは重要だと思う。

インターネットでどんなサービスを使うにしても、時間をかけないではできない。だからユーザが新しいサービスを使いはじめるには、今まで使っていた何かを止めないといけないし(自分はtumblrのdashboardをみはじめてdiggを見るのを止めた)、今使っているサービスを、新しいサービスを使うために使わなくなったりする(twitterをつかいはじめてmixiをやめた、とか)。

ゼロオーバーヘッド・ブロギングの時代

この話を見てから、悶々と考えていたゼロオーバーヘッドなサービス、Dropboxは何気に満たしているなと思う

今までもFTPを使ってファイルをサーバへアップロードすればオンラインストレージへ溜めておくことはできた、WebDAVでも良いけど、でも「全ファイル」するのはコストがかかりすぎてできなかったし誰もやろうと思わなかった。cronやスケジューラとスクリプトを頑張って書けば全自動も可能だろう、でもその手間は一般人にとって相当なコストだ。

でも現実に、近い将来全データをオンラインストレージへ保存することは可能になりつつある、これはAmazon S3でストレージ容量が劇的に下がったのも大きいだろうし、その土台はHDDやメモリ・CPUのチープ革命が支えてるんだろう。