Establishing Community at the Heart of Your Site Building Social Web pplications ORE|LLY° Gavin bell
Web Development/Social Web Building Social Web Applications Gavin Bell s book is agem- it offers an excellent Building a web application that attracts and retains regular visitors is tricky enough, but creating a social application that encourages balance betueen designing visitors to interact with one another requires careful planning. This for people and under book provides practical solutions to the tough questions you'll face when building an effective community site--one that makes standing wbat's needed visitors feel like they' ve found a new home on the Web tecbmically--the ke If your company is ready to take part in the social web, this ingredients of amy successful book will help you get started. Whether you're creating a new site from scratch or reworking an existing site, Building Social social web application.” Web Applications helps you choose the tools appropriate for your -Elizabeth churchill audience so you can build an infrastructure that will promote interaction and help the community coalesce. You'll also learn Principal Research cientist. Yahoo! research about business models for various social web applications with examples of member-driven, customer-service-driven, and and vP of ACM SigCHI contributor-driven sites It willprovide botbpractical a Determine who will be drawn to your site, why they'll advice and an intellectual stay, and who they'll interact with framework to anyone n Create visual design that clearly communicates how your site works starting theirown project. n Build the software you need versus plugging in one-size- -Matt Biddulph fits-all, off-the-shelf apps C10, Dopplr n Manage the identities of your visitors and determine how to support their interaction n Monitor demand from the community to guide your Gavin Bell designs social choice of new functions eb products for the Nature Publishing Group. He has pre- n Plan the launch of your site and get the message out iously worked in advertising, publishing, and academia INTRODUCTORY INTERMEDIATE ADVANG O'REILLY° Previous web development experience is strongly recor oreilly.com Us$3499 CAN$43.99 ISBN:978-0-596-51875-2 Safari. for 45 days with purchase of 6m5
Building Social Web applications Gavin bell ORE|LLY° Beijing. Cambridge.Farnham. Koln.Sebastopol. Tai
Building Social Web Applications Gavin Bell Beijing Cambridge Farnham Köln Sebastopol Taipei Tokyo
Building Social Web Applications Copyright 2009 Gavin Bell. All rights reserved Printed in the United States of America Published by O'Reilly Media, Inc, 1005 Gravenstein Highway North, Sebastopol, C CA95472. O'Reilly books may be purchased for educational, business, or sales promotional use Online editions arealsoavailableformosttitles(http://mysafaribooksonline.com).Formoreinformationcontactour corporate/institutionalsalesdepartment:(800)998-9938orcorporate@oreilly.com. Editor: Simon St laurent Indexer: Lucie Haskins Editor: Loranah Dimant Cover Designer: Karen Montgomery Audrey Doyle Interior Designer: David Futato Proofreader: Loranah Dimant Illustrator: Robert romand ember 2009: First Edition Nutshell ok, the Nutshell Handbook logo, and the O'Reilly logo are registered trademarks of O'Reilly nc. Building Social Web Applications, the image of garden spiders, and related trade ks of O'Reilly Media, Inc Many of the designations used by manufacturers and sellers to distinguish their products are claimed as rademarks. Where those designations appear in this book, and O'Reilly Media, Inc was aware of a trademark claim. the d ions have been printed in caps or initial caps While every precaution has been taken in the preparation of this book, the publisher and author assume no responsibility for errors or omissions, or for damages resulting from the use of the information con- tained herein ISBN:9780-596-51875-2 IMI 1252956734
Building Social Web Applications by Gavin Bell Copyright © 2009 Gavin Bell. All rights reserved. Printed in the United States of America. Published by O’Reilly Media, Inc., 1005 Gravenstein Highway North, Sebastopol, CA 95472. O’Reilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://my.safaribooksonline.com). For more information, contact our corporate/institutional sales department: (800) 998-9938 or corporate@oreilly.com. Editor: Simon St.Laurent Production Editor: Loranah Dimant Copyeditor: Audrey Doyle Proofreader: Loranah Dimant Indexer: Lucie Haskins Cover Designer: Karen Montgomery Interior Designer: David Futato Illustrator: Robert Romano Printing History: September 2009: First Edition. Nutshell Handbook, the Nutshell Handbook logo, and the O’Reilly logo are registered trademarks of O’Reilly Media, Inc. Building Social Web Applications, the image of garden spiders, and related trade dress are trademarks of O’Reilly Media, Inc. Many of the designations used by manufacturers and sellers to distinguish their products are claimed as trademarks. Where those designations appear in this book, and O’Reilly Media, Inc. was aware of a trademark claim, the designations have been printed in caps or initial caps. While every precaution has been taken in the preparation of this book, the publisher and author assume no responsibility for errors or omissions, or for damages resulting from the use of the information contained herein. ISBN: 978-0-596-51875-2 [M] 1252956734
To Lucy Thank you for your support, encouragement, nd lou To Oscar and Max The "Daddy go work"days can stop now
To Lucy: Thank you for your support, encouragement, and love. To Oscar and Max: The “Daddy go work” days can stop now
Table of contents Preface cial Appli Building Applications Real-Time Services APIs and Their Importance Collective Intelligence: The New Artificial Intelligence 344555 ummary 2. Analyzing, Creating, and Managing Community Relationships Analyzing Your Users' Relationships Relationships with Baby Boomers to Gen-C'ers Behavior and Interaction-Based Relationships 789 Pros and Cons of Different Relationship Types Analyzing the Essence of Your Community's Needs 14 Apple and Its Many Communities Determining Your Site's Purpose Creating and Nurturing Relationships 18 3. Planning Your Initial Site 21 eciding What You Need Building a Web Application Choosing Who You Need Planning the Life cycle Expecting to Evolve with the Community 27 Keeping Your Application Simple Avoiding the Line Item Approach Getting to the Core Quickly 901 Taking Time to Plan
Table of Contents Preface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii 1. Building a Social Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Building Applications 3 The Distributed Nature of Seemingly Everything 4 Real-Time Services 4 APIs and Their Importance 5 Collective Intelligence: The New Artificial Intelligence 5 Summary 5 2. Analyzing, Creating, and Managing Community Relationships . . . . . . . . . . . . . . . . . 7 Analyzing Your Users’ Relationships 7 Relationships with Baby Boomers to Gen-C’ers 8 Behavior and Interaction-Based Relationships 9 Pros and Cons of Different Relationship Types 12 Analyzing the Essence of Your Community’s Needs 14 Apple and Its Many Communities 16 Determining Your Site’s Purpose 17 Creating and Nurturing Relationships 18 Summary 20 3. Planning Your Initial Site . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Deciding What You Need 21 Building a Web Application 23 Choosing Who You Need 24 Planning the Life Cycle 27 Expecting to Evolve with the Community 27 Keeping Your Application Simple 29 Avoiding the Line Item Approach 30 Getting to the Core Quickly 31 Taking Time to Plan 32 vii
Communicating During Development 33 Managing the development Cycle Feature Prioritization and the Release Cycle 34 Choosing a Development Methodology Collecting Audience Feedback Why Would People Continue to Visit Your Site? 36 4.〔 reating a Visual Impact.… 39 Dynamic Interactions The Power of Partial Page Reloads Designing Around Community-Generated Internal Pages Visual Design and navigation Page Types Designer Roles and Team Approaches 47485 Copywriting 5. Working with and Consuming Media Media Types Affect Consumption Styles Analyzing Consumption Patterns 53 Media Evolves and Consumption Styles Change 8 “ comment is free” Amazon: Reader Reviews Encourage Purcha New Services Respond to Evolving Needs Music Phote 64 Video Summary 66 6. Managing Change 69 Resistance Schema Theory 70 Web Communities and Change Internal Workflow 76 7. Designing for People Making Software for People Waterfalls Are Pretty to Look At 788 I Table of Contents
Communicating During Development 33 Managing the Development Cycle 34 Feature Prioritization and the Release Cycle 34 Choosing a Development Methodology 35 Collecting Audience Feedback 35 Why Would People Continue to Visit Your Site? 36 Summary 38 4. Creating a Visual Impact . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Dynamic Interactions 39 The Power of Partial Page Reloads 40 Designing Around Community-Generated Internal Pages 40 Visual Design and Navigation 41 Design First 47 Page Types 47 Designer Roles and Team Approaches 48 Copywriting 51 Summary 52 5. Working with and Consuming Media . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Media Types Affect Consumption Styles 53 Analyzing Consumption Patterns 54 Collecting Consumption Data 57 Media Evolves and Consumption Styles Change 58 “comment is free” 58 Amazon: Reader Reviews Encourage Purchases 60 New Services Respond to Evolving Needs 62 Music 62 Photos 64 Video 65 Summary 66 6. Managing Change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 Resistance 69 Schema Theory 70 Web Communities and Change 71 Internal Workflow 73 Community Managers 75 Summary 76 7. Designing for People . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77 Making Software for People 78 Waterfalls Are Pretty to Look At 78 viii | Table of Contents
79 Identify Needs with Personas and User-Centered Design Talking with Potential Users 8] Naming Influences Perspectives Common Techniques for UCD Running Interaction Design Projects Using Agile and UCD Methods eyond UCD 86 HCI and Information Architecture The Craftsman Approach Learning to Love Constraints Keeping Experiments Quick Figuring Out the Social Aspect Subjects, Verbs, and Objects Including You, Me, and Her Over There, Plus Him, Too Moving Quickly from Idea to Implementation Explaining to Others what You Are doing 98 Creating Service Functionality Document Calculating Content Size Don t let Your Users Drown in activity Implementing Search 102 Advanced Search 104 Inderstanding Activity and viewpoints Recipe Books: An Example Remembering the Fun 106 Twelve Ideas to Take Away 106 Summary 108 8. Relationships, Responsibilities, and Privacy We Are in a Relationship? Personal Identity and Reputation 110 Handling Public, Private, and gray Information Privacy and aggregate views 112 See But Dont Touch: Rules for Admins 114 Private by Default? 115 Setting Exposure Levels Managing Access for Content Reuse, Applications, and Other Developers 119 Content Reuse 120 Don' t Give Away Too Much Power 121 Licensing Content 122
Interaction Design 79 Identify Needs with Personas and User-Centered Design 80 Talking with Potential Users 81 Naming Influences Perspectives 82 Common Techniques for UCD 82 Running Interaction Design Projects 83 Using Agile and UCD Methods 84 Beyond UCD 86 HCI and Information Architecture 87 The Craftsman Approach 89 Learning to Love Constraints 90 Keeping Experiments Quick 92 Figuring Out the Social Aspect 92 Subjects, Verbs, and Objects 93 Including You, Me, and Her Over There, Plus Him, Too 95 Moving Quickly from Idea to Implementation 96 Explaining to Others What You Are Doing 98 Creating Service Functionality Documents 99 Calculating Content Size 99 Don’t Let Your Users Drown in Activity 101 Implementing Search 102 Member-Specific Search 103 Advanced Search 104 Understanding Activity and Viewpoints 104 Recipe Books: An Example 105 Remembering the Fun 106 Twelve Ideas to Take Away 106 Summary 108 8. Relationships, Responsibilities, and Privacy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 We Are in a Relationship? 109 Personal Identity and Reputation 110 Handling Public, Private, and Gray Information 110 Privacy and Aggregate Views 112 See But Don’t Touch: Rules for Admins 114 Private by Default? 115 Setting Exposure Levels 115 Managing Access for Content Reuse, Applications, and Other Developers 119 Content Reuse 120 Don’t Give Away Too Much Power 121 Licensing Content 122 Summary 122 Table of Contents | ix
〔 ommunity Structures, Software and Behavior…… Community Structures Publisher-Led 123 Interest-Led Product-Led 124 Supporting Social Interactions 125 Non-Text-Based Social Interaction 127 Competition: Making Games Social Content Creation and Collectives 131 Social Microblogging Who Is Sharing, and Why? 134 Competition Between Peers Skews Interaction Talking About Things That Are Easy to Discuss 134 How Are They Sharing? Being Semiprivate 135 festreaming and Social Aggregation Overfeeding on Lifestreams A Simple Core for Rapid Growth 139 Social Software Menagerie Blogg 141 Commenting Is not the Same As blo Groups 144 Group Formation Group Conversation 145 150 Collaboration Tools for Groups Social Platforms As a Foundation 151 Ning and White Label Social Software Growing Social Networks 153 10. Social Network Patterns .155 Sharing Social Objects 155 Relationships and Social Objects Determining the Right Social object 157 Deep and Broad Sharing 159 Capturing Intentionality Cohesion 163 Filtering lists by popularity 165 Filtering Lists to Show Recent Content 165 Calculating Popularity Across a Site 168 Commenting, Faving, and Rating x Table of Contents
9. Community Structures, Software, and Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123 Community Structures 123 Publisher-Led 123 Interest-Led 124 Product-Led 124 Supporting Social Interactions 125 Non-Text-Based Social Interaction 127 Competition: Making Games Social 130 Content Creation and Collectives 131 Social Microblogging 132 Who Is Sharing, and Why? 134 Competition Between Peers Skews Interaction 134 Talking About Things That Are Easy to Discuss 134 How Are They Sharing? 135 Being Semiprivate 135 Lifestreaming and Social Aggregation 135 Overfeeding on Lifestreams 137 A Simple Core for Rapid Growth 139 Social Software Menagerie 140 Blogging 141 Commenting Is Not the Same As Blogging 143 Groups 144 Group Formation 144 Group Conversation 145 Group Aggregation Tools 150 Collaboration Tools for Groups 150 Social Platforms As a Foundation 151 Ning and White Label Social Software 152 Growing Social Networks 153 Summary 154 10. Social Network Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155 Sharing Social Objects 155 Relationships and Social Objects 156 Determining the Right Social Object 157 Published Sites Expect Audiences 158 Deep and Broad Sharing 159 Capturing Intentionality 162 Cohesion 163 Filtering Lists by Popularity 165 Filtering Lists to Show Recent Content 165 Calculating Popularity Across a Site 168 Commenting, Faving, and Rating 169 x | Table of Contents