MSPress offered me a free copy of their book Microsoft Windows SharePoint Services a few months ago if I would review it on my blog.  I figured I could use the book, and were no rules, deadlines, etc.  I don't really consider myself a sell-out since Microsoft supplies me with any MSPress books I need anyway.  I figured it was worth previewing since SharePoint is used in Visual Studio Team System project portals, I've been stymied by SharePoint in the past, and I figured it wouldn't hurt to have a copy of it in my office.

Here's my take on it after a few months of having it in my office:

  • If you want to learn the basics of sharepoint, step-by-step, and have a reference to fall back on, it can be great.  If you are hoping for really deep technical internals of sharepoint, this isn't the book for you.  Propeller heads might still like it for the following reason, however:
  • Sharepoint seems to be one of those things where when people can't figure it out they start looking around for a local expert to do it for them.  This book came in handy for me when one such coworker came to my office asking for help with sharepoint - I was able to be honest and tell him I didn't know what the answer is, but handed him the book.  The book has some nice heft and a flashy cover to it, so there's a at least the feeling that there is a good chance their question is in there, and we parted on a positive note.  I got the book back a week or so later, the problem was solved, so in that sense the book was worth having and I'll keep it handy. :)
  • It did not give me in-depth advice for a complex web services programming problem I had encountered earlier where MSDN and internet sites also came up short with helpful sample code and advice. Months before reading this book, I needed to write a custom web service that performed a custom query against a SharePoint list web service and then exposed that data in a common format for a management dashboard data collection type of thing.  Individuals on our team would report their status information using a SharePoint list, and I needed to use SharePoint's special internal query functionality (kind of like SQL but not exactly) to aggregate that data and report back through my custom C# web service (which wasn't hosted on SharePoint).  Here in the developer division, teams provide their status information through a common web service interface that all teams agree on, abstracting away the technical details of however that team gathers information.  Our team just happened to gather that information through a sharepoint list.  So I ended up writing that mostly by hand, trying to find reasons to be grateful for my job in the process.  I was certainly grateful when it was working.  So reading through the book, I checked to see if it could have helped those months earlier when I was faced with this challenge.  It wouldn't have.  However, on the plus side, the book is organized very cleanly so I didn't spend a lot of time looking for an answer that wasn't there.  I knew the answer would have to be in a certain section of the book, and when it wasn't there, I stopped looking.  I wish Internet search engines had some sort of "abandon hope" feature like that.  :)
  • On the inner covers it has a FAQ list and also a "Top Inside Tips" section that are handy for helping you avoid the pitfalls.  These were pure 'guru' type knowledge, if you did want to become the "go-to" person on your team for SharePoint, you could make yourself look pretty smart by studying just those.  
  • Visual Studio Team System integrates with SharePoint as the "project portal" for storing documents, so just skimming this book helped me fill in some gaps in my understanding.  It is more of a "reference" book than a read from cover-to-cover type of book, a lot of the material is walkthrough information and screenshots and step-by-step rather than giving you the understandings of the inner workings.  If you learn by following through steps, and feeling comfort in having predictable steps that you know are going to work every time, this book is for you.  If leaky abstractions drive you bonkers (or even if you've heard of that term before) and you like to understand a system first so you can algorithmically derive solutions, this book is not what you're looking for. 

Hope that helps!