Building Social Web Applications (Gavin Bell)

Share/Save

Building Social Web Applications

ソーシャルウェブに関わる全ての人へ

ソーシャルウェブを作る前に、まずは本書の一読をお勧めする。コンシューマ向けサイトをつくるときに、ユーザ生成コンテンツ(User Generated Content)を取り入れることは当たり前になった。ユーザのプロフィールページ、記事へのコメント、レビューの投稿、5つ星による評価、ブックマーク、タグ付け。これらはみなユーザー生成コンテンツだ。このユーザ生成コンテンツをソーシャルオブジェクトとしてサイトの中核に据え、ソーシャルオブジェクトを媒介してユーザ同士をつなぐとソーシャルウェブになる。

ソーシャルウェブをつくるときには、そのサイトの存在意義を考える必要がある。なぜそれをつくるのか、市場ではどの位置を占めるのか、誰がそのサイトを使ってくれるのか、ユーザは何をしたいのか、中核となるソーシャルオブジェクトは何なのか。アジャイル開発だからといいながら、いきなりコードを書き始めても成功するソーシャルサイトにはならない。よく考えずに立ち上がるソーシャルサイトが多いが、Twitter や Flickr になれるのはごく一部である。同じ機能を持つように見えるのに、あるサイトは成功を収め、他の多くのサイトは名も知られずに消えていく。

いま成功しているサイトは、ユーザの声に耳を傾け続けたサイトだ。ユーザの求めるものを事前に知ることは難しい。できる限り小さくつくる。そしてユーザの行動を観察する。改善する。その繰り返ししか成功の道はない。サービス開始当初の Flickr は今とはまるで違うサイトだった。当初の機能を愛用するユーザの批判を受けながらも、その機能を廃止して脱皮を遂げたことが、Flickr飛躍の原動力となった。

機能をただ追加するのは簡単だ。でもそれではサイトの焦点がぼやける。スティーブ・ジョブズはいう。「自分たちが成し遂げたことと同じくらい、手を出さなかったことにも誇りを持っている。」それをやれるリソースがあるときに、何かをやらないというのは、それをやることよりも難しい。Flickrだって新旧2つの機能をメンテしようと思えばできた。しかし開発チームの速度は落ちていただろう。前に進むために、リリース済みの中核機能をあえて廃止した Flickr の決断は素晴らしい。

機能追加による複雑化の程度は予測が難しい。特に情報の表示制御が絡むと一気に複雑化する。ソーシャルアプリは通常でも、ログイン前、ログイン後の本人、ログイン後の他ユーザのページ、その他ユーザが閲覧ユーザと関係を持っている場合など、多様な表示制御がなされる。さらにグループコミュニケーション機能をつけると、グループの集約情報を載せるかどうかという制御も必要になる。簡単に考えがちだが、多くのページが影響されるので、開発としては軽い作業ではない。

APIも落とし穴になりやすい。本来は見えてはいけない情報がAPI経由では取得できてしまうというミスは多い。Flickrでも思わぬ事故が起きた。ユーザがAPIをどのように使い、それに対して他のユーザがどう反応するかというのは、なかなか見通せない。それでもAPIは重要だ。短期的なPVと広告収入の減少を嘆くのではなく、多くのユーザに使ってもらおう。インターネットに乗るのではなく、インターネットの一部になろう。ネットはユーザをあなたのサイトに連れてくるための道具ではない。あなたのサイトのコンテンツを配布するためのものだ。

機能やAPIといった技術的側面だけでなく、サイトのビジュアルデザインも大事だ。一目見て何ができるのかわかるようにつくらないといけない。ユーザが次の行動を決定するまでの時間は2-3秒。細かい説明など読まない。Twitter はレポート用紙に描かれたコンセプトスケッチから始まった。当初は Stat.us というサイトだった。名前こそ変わったが、その中核概念は今に活きている。データ設計も大事だが、ユーザインタフェースはデータベースへの CRUD 操作を単純に表出させたものであってはならない。データの都合ではなくユーザの都合に合わせること。

本書はオライリーのアニマルシリーズの中では異色の作といえるだろう。読者はオライリーの本に、あるひとつの狭い分野での深い深い内容を期待する。本書はソーシャルアプリという名の下にくくった、あらゆる話題を詰め込んでいる。プロジェクトマネジメントからデザイン、開発、マーケティング、ユーザサポートまで、触れていない話題を探す方が困難だ。本書だけではソーシャルアプリはつくれないが、本書なしでソーシャルアプリをつくるのは暗闇の中を進むようなものだ。

Building... だと普通は「構築」と訳されるが、ソーシャルアプリ入門、ソーシャルアプリ概論、はじめてのソーシャルアプリ、などとしても良いと思う。ソーシャルアプリに関わる全ての人が読者対象だ。書店ではおそらく他のオライリー本と共に並べられるので、エンジニアしか手に取ってくれないだろう。しかし本書には、ごくわずかのHTML以外、ソースコードが出てこない。通常のオライリー本とは違い、非技術者にも読んでもらいたい。今まで多くの企業や人、文献に分散されていたソーシャルアプリ開発のノウハウが、本書には詰まっている。

書誌情報

書名: Building Social Web Applications
著者: Gavin Bell
ページ数: 448ページ
出版社: O'Reilly Media, Inc. (2009/10発行)

Building Social Web Applications

裏表紙

訪問者を常に魅了しつづけるウェブアプリケーションをつくるのは難しい。人々が交わるソーシャルアプリケーションをつくるには綿密な計画が欠かせない。本書は、活きたコミュニティサイトをつくる際の課題に、経験に裏打ちされた解を提示する。ユーザーが、そのサイトを自分のホームだと感じてもらえるように。

ソーシャルウェブのビジネスに参入する足がかりを本書は与える。新サイトを作る場合にも、既存のサイトを改装する場合にも、対象とするユーザーに応じて道具を選び、ユーザーの交流を奨励して、コミュニティの融合を支援する基盤づくりを可能にする。さらに、メンバードリブン、カスタマーサービスドリブン、コントリビュータードリブンといった例を通じて、さまざまなソーシャルウェブアプリケーションのビジネスモデルを学ぶ。

* サイトを訪れるのは誰? 使い続けてくれるのはなぜ? 誰と交流するの?
* ユーザーを戸惑わせないためのビジュアルデザイン
* ゼロから開発するか、汎用的な既製品を利用するか
* ユーザーのアイデンティティ管理と交流の支援
* コミュニティの声に耳を傾けて次に作る機能を選ぶ
* サイトの立ち上げ計画とお披露目

著者について

ロンドンに住むウェブアプリケーション開発者。学術誌出版社の Nature で、ソーシャルネットワーク Nature Network、Nature Protocols の開発を主導する。Appleユーザー向けの雑誌で8年以上にわたって記事を書いている。書籍は、本書が処女作。趣味は山登り、俳句。一児の父。ホームページは http://gavinbell.com/

目次

第1章 ソーシャルアプリケーションをつくる
 アプリケーションをつくる
 The Distributed Nature of Seemingly Everything
第2章 コミュニティー内の関係を分析し、つくりだし、管理する
 ユーザーの関係を分析する
 コミュニティの本質的ニーズを分析する
第3章 サイトの初期計画
 なにが必要なのか
 ウェブアプリケーションを構築する
 必要なメンバー
 ライフサイクル計画
 開発中のコミュニケーション
 開発サイクルを管理する
 ユーザーからのフィードバックを集める
第4章 ビジュアルデザインの効果
 動的インタラクション
 デザインファースト
 コピーライティング
第5章 メディアを利用する
 メディアのタイプによって異なる消費スタイル
 メディアが進化すれば消費スタイルは変化する
 進化するニーズに応える新サービス
第6章 変化をなしとげる
 抵抗
 内部のワークフロー
 コミュニティマネージャー
第7章 参加者のための設計
第8章 関係、責務、プライバシー
第9章 コミュニティの構造、ソフトウェア、振る舞い
第10章 ソーシャルネットワークパターン
第11章 データを関係をモデリングする
第12章 アイデンティティを管理する
第13章 ナビゲーション、検索、アクティビティのためにサイトを構成する
第14章 ユーザー間につながりをつくる
第15章 コミュニティを管理する
第16章 アプリケーションを書く
第17章 API、システム間接続、その他の部分を構築する
第18章 立ち上げとマーケティング、そしてソーシャルアプリケーションの成長

Building Social Web Applications

概要

第1章 ソーシャルアプリケーションをつくる

なぜコミュニティをつくるのか。この問いにすぐ答えられないようであれば、サイトを訪れるユーザーもまた、答えられないであろう。マーケットの中に、まだ空いている場所をみつける競合分析も必要だが、アクティビティのフローを理解することもまた、必要だ。サイトは、ユーザーが一人で利用する場合にも有用でなくてはならない。それがサイトのコアのツールである。コミュニティは、その副産物として発生する。コミュニティをつくるときは、既存のコミュニティを活用すること。ゼロからつくるのは難しい。サイト側がコミュニティをつくることはできない。できることは、ただそれを奨励するのみだ。インターネットは、本質的に分散アーキテクチャである。ユーザーを囲い込むのではなくて、サイトのコンテンツとサービスを、他のサービスとの間に流通させること。

第2章 コミュニティー内の関係を分析し、つくりだし、管理する

ソーシャルアプリケーションであるかどうかにかかわらず、サイトを訪れるユーザーは、サイトとの間になんらかの関係を感じている。ソーシャルソフトウェアは、この関係をより深いものにする。ターゲットとするユーザーの種類は、育もうとするコミュニティに大きな影響を与える。例えば年齢はその一つだ。若いユーザーほど技術に親しんでいる。だからといって、年配のユーザーを対象にできないわけではない。手法を変える必要があるというだけだ。サイト運営側とユーザーとの間には様々な関係があり得る。例えばユーザーが掲示板に集まり、製品やコンテンツについてコメントするタイプのもの、誰もが新しいトピックを立ち上げられる掲示板タイプのもの、そしてユーザーを中心とするタイプのものという分け方がある。最後の一つがソーシャルネットワーク型であるのに対して、前者はインターネット上の他のサイトとのつながりが弱い島のようなものだ。とはいえ、ソーシャルタイプのサイトが万能であるわけでもない。★

in