Jeff start it, Chuck followed along with Jerry.
The world of books and authors is dead; Internet and piracy have killed it.
I disagree and encourage these authors to spend the time not writing books to read one: Waiting for Your Cat to Bark?
One cannot argue things have changed. There was a time I would buy two books for each subject - a reference and a tutorial. Now I may not buy a book at all and I'll never buy a reference book again. I am however always reading a book on programming; but my standards for selecting that book are very high.
It's not hard to see why reference books are doing poorly - if I need to look up something I can Google it, or go to a reference site like MSDN. Even looking up things like design patterns and implementations can be found on MSDN. Add in a wealth of blogs (i.e. the in-the-field perspective) and tons of example code and it just doesn't match what a static medium can provide. Jeff's book is a "tips" style reference book; really a collection of what could be blog posts.
Tutorial books are also suffering and many deserve to. The time is over for simply explaining the class or control, one per chapter, until the required page count is reached. This is really a reference book in disguise. Then there are the tutorial books with incorrect examples - I don't mean the missing semi-colon or two but examples with infinite loops and other system destroying functions. There is a worse level of tutorial book - beyond bad code - and that's the wrong approach tutorial book. Nothing is worse than reading an ASP.NET 2.0 book that teaches ASP.NET 1.1 event handling.
So what is an author to do? Let me explain by saying why I read Chuck's books. In a Petzold book you are guaranteed a few things; solid explanations of why and how the API/Framework works, realistic example programs demonstrating the concepts, and chapters designed to be read in one sitting with or without a keyboard handy. Chapters are carefully chosen and arranged and it shows.
I gave a presentation recently at my local .Net Users Group on WPF. Instead of opening up VS2008 Beta alongside Blend and attempting to wow my audience with XAML trickery I move though 10 WPF concepts in C# (no XAML) and explained how they were going to help the everyday application developer. At the end I let them know that much of what was covered was the first half of Petzold's Applications = Code + Markup. A number of members approached to look at my copy afterwards and write down the ISBN.
I think this highlights a key point in the breakdown. Publishers and Authors have become caught up in the Marketing and lost touch with the average developer. Most developers aren't busy writing SilverLight apps with VS2008 Beta or ditching years of Java for Ruby on Rails; most are doing the same work they have always done - business applications, eCommerce websites, and managing communications across company systems. (Also, many developers know that those books on the shelf now about SilverLight, even those to be released later this year, will be full of errors and omissions in the rush to "first")
Jerry makes the point that developers should be reading more books on things like memory management and the CLR garbage collector. While I agree with him in theory, a book on the CLR isn't going to make my list. As with most developers, I'm working in managed code and generally do not care about the garbage collector and how to optimize it. Maybe 1% of the code I write would be hit hard enough that I needed to learn more, and then it would be a specific case (and googled for the answer). Jerry does make a living in that 1% so it makes perfect sense for him to delve deep in these areas.
While 1% of my code may need to understand the CLR, I'm sure I can better myself as a programmer by learning more of it. So here is where I think authors need to pay attention: there are not books on the market that take a "programmer's" perspective into account. When I'm wearing my ASP.NET developer hat, I'm working with more of the framework than just System.Web.UI. I have a DAL and BLL to deal with, windows services for automation, IIS application pool settings, consuming XML-RPC services and dynamic image creation. These all are pretty common but there exists no book that covers these subjects. Instead I'd need to buy 3-5 books; read them all; and still lack anything written covering methods to pull the separate technologies together into one solution.
It's a shame to see the authors point at piracy as the reason sales are declining. This is a failed argument for the RIAA (and has been shown many times) and here with books it's an even worse argument. With a song the digital copy is perfect, both in quality and function. With a book, the quality of the copy maybe perfect but the function is not even close. There has yet to be a digital book reader invented that is as easy on the eyes and useful as the paper bound form.
I think there is a huge market still in programming books, but the landscape has changed and the old rules no longer apply. Different ways of writing, different ways of selling are needed. For those that are looking for a good book now, I can recommend a few:
