Small Is Good: A RepriseHow Social Applications Differ from Web ApplicationsAgile MethodologiesDeployment and Version ControlTesting Live Is Possible, but Use ConditionalityTest-Driven DevelopmentAutomated Builds Make Management EasierApplying Developer Tools to Social ApplicationsMaking Use of Flexible Development with Your CommunityInfrastructure and Web OperationsManaging OperationsDesigning Social ApplicationsUsing Prototypes, Not PicturesAssisting Developers with Use CasesDesigning in Good BehaviorsYour App Has Its Own Point of ViewHow Code Review Helps Reduce ProblemsThe Power and Responsibility of NamingBeing RESTfulBeyond the Web Interface, Pleasei18n, L10n, and Their Friend, UTF-8Bug Tracking and Issue ManagementTracking ToolsPrioritizing IssuesDifferentiating Bugs from Feature RequestsHandling SecurityRapid User InterfacesRapid PrototypingScaling and Messaging ArchitecturesAjax Helps with ScalingQueuing Non-Visible UpdatesReal Time Versus Near TimePolling Versus PushingXMPP MessagingExternal Processing: Scaling on the Fly and by the BatchPerformance TestingLanguages Don’t ScaleCache, Then ShardFast and Light Data StorageImplementing SearchIdentity and Management of User DataOpenID for IdentityWhat to Ask for on RegistrationWhen a User Chooses to LeaveAdmin UsersAccessing Content via OAuthFederationMaking Your Code Green and FastBuilding Admin Tools and Gleaning Collective IntelligenceSocial Network AnalysisMachine Learning and Big Data SetsReputation SystemsSummary