Author: Randy Farmer and Bryce GlassPublisher: O'Reilly, 2010Pages: 336ISBN: 978-0596159795Aimed at: Web designers and developers who want to incorporate feedback Rating: 4Pros: Valuable advice based on real experienceCons: Could be improved by a different order of chaptersReviewed by: Lucy Black

Reputation systems are more complicated than you might expect - does this book do the idea justice?

I made a mistake reading this book - I started at the beginning of Chapter 1 and read several pages wondering how it was relevant to me.

But wait - the mistake wasn't mine - you should expect readers to start at the beginning. In this case the authors were the ones at fault - and it was the simple error of not repeating themselves.

You can discover what the book is about by reading the preface - or by reading this review - but if the book goes to a second edition please bear in mind that readers tend to skip prefaces in order to avoid all the unnecessary bits.

This book is aimed primarily at those who design, build and manage community website or commercial websites where customers submit feedback or write reviews. It cites as examples Facebook, Digg and Slashdot, Amazon and eBay and "especially media and gaming sites like iTunes and Xbox Live.

With these models in mind it becomes apparent what the book is going to do. It is also in the Preface that you'll find a simple distinction between "Reputation" - Information used to make a value judgement about an object or person and Karma - the reputation for a user.

The book is in three distinct parts with Part I: Reputation Defined and Illustrated, being the most theoretical and abstract which I considered a weakness. In fact, Chapter 1: Reputation Systems are Everywhere, doesn't even mention the Web in its opening eight pages. Only when I reached the second half of the chapter, where it starts to mention the Web, did it succeed in capturing my full attention.

Chapter 2 develops a "graphical grammar for reputation" and is fundamental to the rest of the book including the case history at the end which rounds the book out in a very practical way.

Part II starts to include examples to illustrate its points which is very welcome. In Chapter 3 the pros and cons of several approaches to computing reputation are discussed in the context of practical reputation system building blocks. These are further elaborated in Chapter 4: Common Reputation Models - and here too the casual reader will find it easier to follow because of the frequent references to well known websites such as eBay, Flickr.

Part III, is the heart of the book - which you might guess by the fact that it repeats the title "Building Web Reputation Systems. This part, which occupies over half of the total pages, goes through a logical sequence. It starts with Chapter 5: Planning Your System's Design, which includes deciding what you goals are and your choice of content control patterns. Chapter 6: Objects, Inputs, Scope, and Mechanism is on creating the model of the project while Chapter 7: Displaying Reputation considers how reputation will be used on your site including who will be able to see the reputation, how it will modify your site's output and whether the reputation is for content of for a person - and here it goes into the difference between reputation and karma. It then goes into choice of display formats and the mechanics of implementation.

There's plenty of practical advice here - including a section "Leadersboards Considered Harmful" which concludes a very useful chapter.

After Chapter 7 has explained various patterns for displaying reputation Chapter 8: Using Reputation: The Good, The Bad, and the Ugly, focuses on responding in order to improve the user experience by moving content - showcase the good stuff at the front, for example, and by achieving the right order in lists and search results. It also looks at reporting abuse. This is done with plenty of examples and lots of discussion.

Chapter 9: Application Integration, Test, and Tuning deals with putting the reputation model together with your application or website and the message is through and repeated testing and tuning which has to start early.

The book concludes with a real-life case study based on Yahoo! Answers Community Content Moderation. This makes interesting reading and gives a context for what has gone before. It left me wondering whether I might have got more from the rest of the book had I read it first - but of course with this type of book you wont just read once and set aside. You'll refer to it for help as the need arises - and there is an index that will help you locate specific information.

At the end of the day I realised I'd gleaned a lot of useful and practical advice but it would have been an easier experience with just a little reorganisation of the material.