A few friends and I just wrote a book together: The ASP.NET 2.0 Anthology: 101 Essential Tips, Tricks & Hacks.
I met K. Scott Allen, Jon Galloway, and Phil Haack through their excellent blogs. That online friendship carried over into real life. We always thought it'd be fun to work on something together, and when the book project materialized, we took it on. It was a natural fit for a group of established bloggers who have suffered the slings and arrows of three versions of ASP.NET; we have war stories to share.
But do not buy this book.
Why buy what you can get for free? As long as you have a blog, live in the US or Canada, and promise to write a review of the book, I'll mail you a free review copy. (I apologize to my international readers, but the international mailing process is just too onerous.) Shoot me an email containing a link to your blog, and your mailing address, and I'll send out the book. I have five to send, plus my fellow authors might have a few additional copies to contribute. I sent as many as I could on a first come, first served basis.
But there's another, more important reason you shouldn't buy this book. It's a technical book tied to a specific technology, and I'm not sure those kinds of books have a future. Don't get me wrong. This blog was founded on the concept of a recommended developer reading list. I have a deep respect for books and authors. I recommend books all the time-- but never highly technical books. I stock my shelves with books about timeless concepts such as design, process, people, and craftsmanship. Do highly technical books tied to a specific technology have any reason to exist in an era of ubiquitous, high speed internet access? I wonder. I think they're increasingly irrelevant, and almost by definition out of date by the time they manage to hit bookshelves.
I think back to the highly-rated technical books I bought on Amazon in 2002 when I was learning .NET. Embarrassingly, I never even cracked open most of those books. I spent the majority of my time learning by browsing articles on the web, downloading and modifying code. Maybe I'm too impatient, but I found the internet such an effective and immediate companion that the books I bought couldn't possibly compete. I realized five years ago that technical books were almost obsolete. I don't see anything today that would cause me to change my mind; if anything, the rate of obsolescence has accelerated.
As I went through the book writing process for the very first time, I also found that being an author isn't nearly as glamorous as one might imagine.
In short, do not write a book. You'll put in mountains of effort for precious little reward, tangible or intangible. In the end, all you will have to show for it is an out-of-print dead tree tombstone. The only people who will be impressed by that are the clueless and the irrelevant.
As I see it, for the kind of technical content we're talking about, the online world of bits completely trumps the offline world of atoms:
And here's the best part: you can always opt to create a print version of your online content, and instantly get the best of both worlds. But it only makes sense in that order. Writing a book may seem like a worthy goal, but your time will be better spent channeling the massive effort of a book into creating content online. Every weakness I listed above completely melts away if you redirect your effort away from dead trees and spend it on growing a living, breathing website presence online.
That said, some people are quite successful writing technical books. Did I mention that I co-wrote a technical book with my friends? Many people find such books quite useful.
Unfortunately, I'm not one of them.
Update: Charles Petzold has posted his thoughts on the current state of technical book publishing. Needless to say, it's highly recommended, as Charles has a lifetime's worth of experience on this topic.
I'm surprised that there's been no mention of Safari Bookshelf yet.
It strikes an interesting balance between the 2 options discussed, and brings its own limitations, but worth a mention here.
Despite all your praise of whatever resources are available online for free and the efficiency of Google, I've yet to read a Code Complete or Pragmatic Programmer written by anyone on a web site/blog, and have yet to read a webpage with quality information for free that isn't either 1) paid for by a commercially interested party so that you use their stuff more (e.g. MS) or 2) full of mind-poisoning crap adverts everywhere that obscure the information to some extent and provide distractions.
If you want to focus specifically on something I think books are still a very strong option, especially the timeless ones. Again, surprised that despite singing the virtues of such books you go and contribute to something of the opposite nature!
Gaurav Sharma on October 5, 2007 2:12 AMConsidering the points you mentioned in your article, as long as your publisher isn't the rightsholder, why not just release the book electronically using a Creative Commons license or the GNU FDL, assuming the book's co-authors are okay with it? Then, set up a Paypal (or similar) address for accepting donations for the book. See also Mark Pilgrim (although I don't think he accepts donations).
Christopher Parker on October 5, 2007 2:25 AMAs someone who learned .NET mostly from reading books, I've found that I've developed a far more comprehensive understanding of the breadth and depth of the .NET framework than the vast majority of developers I've met. There's simply no easier way to get a comprehensive look at all facets of a platform that by reading a series of books that were written to cover the technology end-to-end. Blog entries tend to focus on scenarios that developers commonly encounter in their daily lives as developers, but you won't get a well-rounded perspective without reading books.
Paul Schofield on October 5, 2007 2:29 AMJeff,
How did you come to the decision of selecting a publisher? Or did the publisher select you? Anyway, I don't know much about SitePoint (seems fairly new), but did you consider OReilly? There's hardly a bad book published by OReilly.
Kevin
Kevin Le on October 5, 2007 2:36 AMAs someone who learned .NET mostly from reading books
This is a valid point; there are certainly different learning styles. Mine isn't the "correct" one.
I've yet to read a Code Complete or Pragmatic Programmer written by anyone on a web site/blog
I completely agree, but sometimes the expansiveness of a book gets in the way-- most people have something they need to do right now, and they want a specific answer to the specific problem or situation at hand. What they don't want is chapters of background, however well written and useful. Websites are extraordinarily good at providing those kinds of "just in time" answers. It's a very effective system with a strong positive feedback loop.
Plus, who wants to dig through a book index to find something? How archaic. It's almost like technical books *only* work if you're willing to sit down and read entire chapters (or more) at once.
Jeff Atwood on October 5, 2007 2:47 AM"Anyone can write a book." or as perhaps it should read, "Anyone can get a book published"
We were discussing this at a reading group me and my friends started recently. There are several projects for online books, and with the internet truly anyone can publish their own book, which I think is a bad thing. Not anyone can get a book physically published, a large amount of crap does get published but that doesn't mean anyone can get published. If, as with the internet, anyone can get published there is going to be so much more crap to wade through before you hit gold.
Congrats on the book btw ;)
[ICR] on October 5, 2007 3:01 AMHi Jeff,
I would be very appreciative of the publisher adding a 'Search Inside' function to the book page on Amazon, or does this cost a lot of money?
best of luck with it, anyways
bill
bil on October 5, 2007 3:09 AMif .. anyone can get published there is going to be so much more crap to wade through before you hit gold
But that's the big lie of book publishing, particularly technical book publishing. Publishers *don't* screen for quality, they just throw as much out there as they can, and pray that the 1% blockbusters will generate enough revenue to cover the other 99%. That's how their system works. They won't say that of course, but that's the economic reality driving the industry.
The online model, where there is no pretension of screening for quality, is ultimately a better system. There's a (nearly) infinite amount of content to choose from, and we have an ace in the hole that doesn't exist for dead-tree books -- Google automatically sorts the best stuff to the top for us through the miracle of PageRank/TrustRank.
Sure, 99.99% of the web is crap compared to 90% of books, but through the miracle of modern web search engines, you'll never need to see that 99.9% online or even know it exists. The odds of picking up a mediocre book off the shelf are much greater than the odds of getting a mediocre link in the top 3 search results.
Jeff Atwood on October 5, 2007 3:12 AMYeah, books are increasingly irrelevant. So are most forms of print media for that matter.
Even the portability factor of physical media is becoming less of an advantage with the advanced handhelds that we have access to now.
kettch on October 5, 2007 3:39 AMIt's a technical book tied to a specific technology, and I'm not sure those kinds of books have a future.
I for one hope they do have a future. I taught myself how to program (in the good old days of Access 2.0 VBA) using technical books. I grant you that times have changed and the amount of good technical content available on the Internet has increased dramatically, but there is just something about reading an actual book. Have you ever tried curling up on the sofa with a good web page to read? Doesn't really have the same effect.
Jay on October 5, 2007 3:42 AMIndeed, IMHO, this is a very funny way to marketing the book ;-)
Carfield Yim on October 5, 2007 3:52 AMHmmm, I'd agree with you up to a point. I also use the web as my first stop for information about how to solve whatever problem I'm working on. However, I do feel much happier with a big fat reference book to hand, as this lets me instantly get all the details on a particular approach that I may have identified online. There's so many times a webpage has said "use $BLAH", which is fine, and then the book has provided the information I need to get $BLAH working in my code. Guess it's very much a matter of what works for each individual, but I hope they don't stop printing books anytime soon!
Jim Millen on October 5, 2007 4:11 AMI like the online content. It has indeed unbeatable advantages.
But I also like a good book a lot, be it geeky technical or just plain technical.
The way you're holding a book, and the page by page interface, results in a different manner of information absorbtion. It's hard to find the correct words for it, but some of the keywords could be : relaxed and tangible.
A book also give you an extra monitor immediately, albeit a very specialised one.
And it's still way better than a monitor for quality of image. Supercrisp with only ambient lighting needed.
+ Kyoto factor : it doesn't consume any power while reading it.
I enjoy reading books. I usually buy at least one technical book per month.
Asd on October 5, 2007 4:12 AMI like both technical books and online resources.
Online resources are faster, and usually better for finding code snippets. Books are better for explaining things and taking you all the way from never-coded-PHP-before to being able to write applications. I think only the Java Trails do an equivalent job online, and even they aren't that good.
Whenever I need to learn a new subject, I buy a book. When I already know something, but need to look something up, I go online.
Bill Kerney on October 5, 2007 4:15 AMI agree, books are great if you need to learn how to {fill in new technology here}. This is because they give you context to build on.
Online pages are good when you need to solve a problem or advance your knowledge in an area you are already proficient. This is because you already have the context and something is just not working right or needs an upgrade.
Stephen on October 5, 2007 4:43 AMThe "curling up with a good book on the sofa" argument that gets cited a lot of times this discussion comes up is imo void - the place to read programming or technical books just isn't the sofa. It's just unreasonable to assume anything other than the users desktop (physical) is the place where technical documentations are read in the vast vast majority of cases.
Other advantages of digital media over books: Cutpaste, Ctrl-F, takes roughly 5 seconds to get (and usually for free, too!) and you can instantly link your friends without having to wait for a week for them to go out and buy the same book you are holding.
J. Stoever on October 5, 2007 4:45 AMSending a copy to Mr Petzold? ;)
Kevin Dente on October 5, 2007 4:58 AMJeff I am curious. I've heard before that writing a book is much like programming: With a goal, driven by a creative process, coorporative issues etc. How would you say it relates now having tried it?
Casper Bang on October 5, 2007 5:08 AMHmmmm.....I've got quite a few highly technical books tied to specific technologies that I still find useful to open on a semi-regular basis.
The C Programming Language - KR.
The C++ Programming Language - Stroustrup.
The C++ Standard Library - Josuttis.
Generic Programming and the STL - Austern.
Programming Perl - Wall.
Python in a Nutshell - Martelli.
I guess you just need to pick your specific technologies carefully.
{troll}So, anything not by Microsoft then{/troll}
Karellen on October 5, 2007 5:31 AMWriting a book doesn't pay.
My wife wrote a technical book. It did horrible (even she will admit it). However, it did pay - an advance on royalties. For aspiring tech authors, just do the math. Break your salary down by the hour, and then estimate how long it will take you to write the book. Divide and determine if the scale/rate is the same. For most authors, it is just like freelancing after hours.
Anyone can write a book.
I disagree. Although a lack of rock-star talent might not exclude you from getting published, not everyone can write a book. Quite analogous to the field of programming as a whole.
Brian Reindel on October 5, 2007 5:44 AMSorry Jeff, you're way off base on this one. The "Writing Stuff Statically On Other Stuff" technology has existed relatively unchanged for millennia. You're awfully presumptive to declare it outmoded (even for a single category of communication!) based on this not even half-a-century old technology we're currently using.
I'll go out on a limb and say technology books are the single best resource for an overview on a specific technology topic. Sure, if I know all about a particular framework, I can just search the internet for any specifics. But what if I see a technology and ask "what the hell is that?" and "do I want to use that?" and "how do I start using that?". I've tried to use the internet to answer questions like those, but most often I go around in circles and waste hours upon hours reading blog posts in fractured english or "Getting Started" wiki pages that do everything but get me started. Eventually I get to the point where I say, screw it, this is worth the $45.00 and the trip to Barnes and Noble.
Why? Because books are a single, relatively authoritative (relative to blog posts), easy to navigate resource that the internet does not yet match. That's not to say that occasionally someone writes an excellent online reference to a technology, but if you're using the magical search engine that doesn't force you to plow through outdated, or erroneous, or unreadable, or too specific web postings, I'd like to know what it is!
So in closing, books FTW.
CynicalTyler on October 5, 2007 6:00 AMFor me, books aren't just about the content. It's also about the format. I hate staring at a screen all day to grok a technology. A good book on the subject helps to save my eyes. When e-readers gain traction, I will only read from paper when an electronic version isn't available.
I *am* impressed by authors, assuming the book isn't utter trash. You say anyone can write a book. Maybe that's true, but with that logic anyone could run 5 miles if they just put in the effort. Even if I have no interest in the book topic at all, I am impressed by the effort behind it. You said it yourself: "writing a book is hard work."
Anyways, to each their own. Well done on the book (and this blog) - I hope it sells well.
Kent Boogaart on October 5, 2007 6:02 AMNot sure I agree with the blanket "technical books are obsolete"...
While I completely agree with the sentiment as far as learning to program goes, I've found a couple of technical books that serve as a definitive source of information - highly detailed stuff like 'Inside SQL Server' simply isn't available online, nor would I trust blog or forum posts to be accurate anyway..
I guess it comes down to the 'Encyclopedia vs Wikipedia' argument - definitive knowledge is very hard to find in a medium where anyone and everyone has a voice.
chrisb on October 5, 2007 6:08 AMI'm going to assume that your arguments apply only to technical books, because they don't hold up for books in general. (With an editor, your blog post probably wouldn't come across sounding as such! ;)
The reasons you mention regarding authoring a book not being that glamourous are well known to people who look into writing a book. "Anyone can write a book" is often used as some kind of argument against writing when it is clearly a truism; people have known this since literacy became widespread. That writing is hard work and doesn't pay are also well known aspects to the job. Anyone who believes that crafting thousands of sentences and paragraphs in some fluid manner is easy has romanticized things far too much ("The grass is greener over there, right?"). When pressed, I doubt many people truly believe that the opposite of what you say is true.
Frankly, lots of writing doesn't lend itself to online reading just yet. Mathematical treatises and deep explorations of topics are awful to read online for extended periods of time (I'll take the $10 printing of The Origin of Species over the Project Gutenberg version any day). Reading creates our own internal wiki, if you will, and no number of links can capture that. Sometimes it's best to give you the ability to capture visceral memories regarding where that link is almost instantaneously. Physical books provide this right now. Online reading doesn't.
Not to say that it won't. I'm not foolish enough to think that it never will, but I'm also not arrogant enough to assert that reading on my laptop is as enjoyable as carting around a text. While flipping through pages is a helluva lot faster than scrolling through PDFs or waiting for a page to load, if something like digital paper delivers on its promises, I won't feel bad about carting around the digital versions of my books.
An anecdote on technical books: I recently picked up The LaTeX Companion. In the mere month that I've had it, it's been more valuable than searching the Internet and online help sources has been for the past 8 years. It explains things coherently and provides insight into the commands. However, I believe this case is an outlier. Nevertheless, technical books aren't dead yet -- and in my experience, they are usually much more enjoyable to read than random blog postings and poorly formatted documentation.
(This may be behind a pay wall for you and if it is, contact me and I'll gladly send you a copy. It's a good read about the future of books: http://www.walrusmagazine.com/articles/2007.09-media-apocalypse-soon/)
Geoff Wozniak on October 5, 2007 6:32 AMJeff,
Thanks for the comments.
Maybe it is more accurate to say many specific technologies books aren't 'keepers'. I have, like you, some of the venerated programming books that will grace my shelves for years to come (Code Complete!). I just picked up 'Java, Concurrency in Practice' a week ago knowing full well that it isn't going to last forever. Writing good multi-threaded, scalable, server software can be a difficult task and this book from Brian Goetz is supposed to be the 'bible' on Java concurrency. The practices and concepts will be outmoded by whatever comes after Java 6 (since it is written squarely aimed at 5 with a peek at 6), but it suits my purposes well and the 'net doesn't contain the wealth of pointed information on the topic that I need to do a good job.
So, some are keepers, some will fade to obscurity. If I had to write an application that was ASP 2.0, I might consider grabbing a book if I couldn't find one or two really good web primers on the topic.
Just sayin'.
g
Garret on October 5, 2007 6:33 AMI just ordered this book on Amazon and didn't even realize that you were one of its authors! I'm currently working on a project to convert an ASP web application to ASP.NET 2.0. I'm not finding a lot of helpful information on the Internet. Yesterday I worked out how to allow the user to change the web site's theme but I had to cobble together two techniques because I could not find a complete example. And I can't find any decent sample code for web parts because everyone just repeats the same basic tutorials which don't serve any useful purpose. I bought your book because I hope it provides something more than simplistic article fodder.
I noticed that Amazon now allows video reviews and I definitely want to create some videos about my favorite books because it is an excellent way to get the attention of an author.
Robert S. Robbins on October 5, 2007 6:41 AMKudos, Jeff. I appreciate the amount of time and effort you put into this blog. I'm going to pick up a copy of the book because not doubt it is of high quality too!
Always a fan of coding horror,
Matt
Hey Now Jeff,
Congrats on the book.
Coding Horror Fan,
Catto
So when's the ASP.NET 3.0 (Beta 2) edition coming out? If I buy it will I be able to get a discount on the ASP.NET 3.0 (Final) edition?
Rick Cabral on October 5, 2007 7:31 AM"Anyone can write a book."
Yeah, but the ones who do get beaucoup consulting gigs, speaking fees and opportunities to network.
Joe Grossberg on October 5, 2007 7:35 AMThank you for an honest, well-written article. A lot of what you say is correct. Most technical books have a useful shelf-life of 24 to 30 months, and many are toast when the next version of the product comes out. But it you are lucky, smart, talented and experienced, you might get to write a timeless tome, such as Design Patterns: Elements of Reusable Object-Oriented Software, by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides (1995), or The Pragmatic Programmer: From Journeyman to Master (1999) by Andrew Hunt and David Thomas.
William F. Slater, III on October 5, 2007 8:04 AMYou should setup your amazon.com page, so people can read inside of your book (i.e. see the table of contents).
I think that is the best feature of amazon.com is seeing the TOC and a sample chapter from the book.
I may buy this book (against your suggestions) just because I'm a huge fan of your blog and K Scott Allen's blog and I want to see what kind of book writers you guys are.
Billkamm on October 5, 2007 8:07 AManyone who says 'anyone can write a book' has never watched the jerry springer show! :)
Steve on October 5, 2007 8:38 AMI have half of a bookshelf worth of technical books behind me (I didn't buy them, my employer did). The only one I've ever cracked open is an O'Reilly "XML in a Nutshell" book, and that one only about 3-4 times. Yes, technical books are completely and totally worthless.
Mattkins on October 5, 2007 8:39 AMAny chance you've got the post-publication case of "I finally finished this pig and I never want to see another book again" blues? It's taken me months to get over that state after finishing co-authoring the 1300 pages of "Windows Developer Power Tools."
Yes, I'm biased, but I believe tech books will always have a solid place. Everyone learns differently, everyone groks different media. I can remember references in a book read years ago, but I can't find that *#^@||!! blog post I ran across last week that solved my issue with blocked progress bar updates (and solved world hunger at the same time).
In any case, congrats on finishing up a great-looking book. You're a great writer, you got great co-writers, and you had a great publishing house put out the book.
Jim Holmes on October 5, 2007 8:40 AMGranted, searching the web for information is nice.
But me -- I like print. One -- it gets my eyes away from starting at a screen ALL THE TIME.
Second, I like the fact that a book is a concise collection of information: table of contents, glossary, etc. It contains reference that won't mislead me into going to a forum post where someone asks a question but has no answer, or where the 'answers' are guesses or otherwise don't work.
Books, for me, are a good springboard to get information/ideas, and then to extend that and find further uses and examples jump off that springboard and into the waters of the net.
N on October 5, 2007 8:44 AMWhat if my blog is really unpopular? :)
TM on October 5, 2007 9:03 AMJeff, maybe you can also put the name of each author's blog on the cover too? Maybe you could do this when the first edition sells out and Sitepoint issues a second edition... :-)
The logic is that I read Coding Horror every day for a while before I *learned* it was written by Jeff Atwood, so I think the "Coding Horror" brand may have more insta-recognition than the "Jeff Atwood" brand. :-)
Congrats on finishing your book! I'm amazed at your prolific high-quality output.
Bob Hiler on October 5, 2007 9:32 AMYou say: "But that's the big lie of book publishing, particularly technical book publishing. Publishers *don't* screen for quality, they just throw as much out there as they can, and pray that the 1% blockbusters will generate enough revenue to cover the other 99%. That's how their system works. They won't say that of course, but that's the economic reality driving the industry."
I think that's true for many publishers, but in the end they're just hurting themselves by diluting the one thing they have to offer: editorial judgement. The big fight is for attention, and publishers who care about content get more attention, because their readers come to trust them.
Crap, I just bought this book 2 days ago :)
Congrats on the book!
Kindler on October 5, 2007 9:55 AMThe late Richard Brautigan once imagined a library where anyone could place her book, no matter how good or bad the critics might consider it. It would be a place where others could go and look on the shelf for something that suited them at that point in their journey. It's a pretty dream and I'm glad to see it has come true via the internet.
Blogs are unedited, non-juried writings that serve special needs and they work very well.
JeffK on October 5, 2007 10:10 AMCongrats on your book.
Why are you limiting reviewers to people who have blogs!? Can I review your book and *you* post my review?
Anyway, your book is not available in any stores. (At least in my area. Barnes Noble, Borders and Powells (largest independent bookstore in the US)
Abdu on October 5, 2007 11:00 AMI agree that "technical books tied to a specific technology" rarely have a future. I strongly and vigorously disagree that "technical books" have no future.
Books that deal with computer science and computer engineering -- that are not tied to a single technology -- emphatically have a future. My books about algorithms, software requirements, and software testing are well-used.
The other extreme are the definitions of technology. My book with the complete specification for SQL-99 was heavily used when I worked for a database company.
I might be this emphatic because I'm in the middle of writing a book about statistics for computer scientists. But I don't think that I am wrong. We'll find out when the book is published, and the sales figures come in.
Chip Uni on October 5, 2007 11:09 AMGod damn, you feel me?
Congratulations on the book. I may even buy it if someone gives it a better review than you just did.
Eam on October 5, 2007 11:12 AMSome information is best left to the web, but I always enjoy the book worth buying and the tactile sensation of turning a page, making notes, and reading while sitting on the toilet.
Steve on October 5, 2007 11:38 AMI agree that the web has supplanted books for many things.
However, for jump starting into a new technology, nothing is better than a well written technical book that is organized, brings the key things you need to know together, and gives you a foundation for going to more direct on-line sources of knowledge.
Nothing is more frustrating than trying to learn a system or framework from web documentation, when most of it is cultural, or spread out among blogs, articles, and very occasionally purpose written documentation. You miss out on key concepts or assumptions that would make the rest make sense.
SAJ on October 5, 2007 11:43 AMI recently pulled my dusty copy of "The Peter Norton Programmer's Guide to the IBM-PC" from my basement bookshelves. After reading the blog on your new book, I wondered if your blog would exist today or exist even in the next couple of years if it had not been for this 1980's "technical" book.
What strikes you about the Norton book is the absolute unadulterated passion he put into that book. The humble yet thunderous accomplishment of propelling the state of electronic computing forward.
I've not read your book. However, if it was written in one iota of the same vein as Peter Norton's you've done a great service to yourself and to your fellow human beings.
Joe the Rose on October 5, 2007 12:53 PMTech books dead? Not here, not yet. Maybe it's my librarian background but I regularly use a small set of tech reference books, including O'Reilly's "JavaScript: The Definitive Guide", which FAR exceeds any online JS resource I've ever found. IMHO, it's a must-have for serious JS developers.
ChrisL on October 5, 2007 1:47 PMwhen dealing with royalties, contract for GROSS royalties, not net.
You, as the writer should be part of the publishers expenses. As you said, you're not really helping anyone with this since it's all freely available in some fashion on the web. Make the publisher pay you whether they met their margin or not, their margins are not your problem.
Next time, don't let them fool you into the net royalties game, because their executives are getting paid up front before you get the royalties.
If you got a lump sum up front, then you should have worked in small gross percent, with a much larger percentage of the net. even a 1gross/5net split (per writer) plus a lump sum would be more advantageous than a pure net gamble.
IMHO of course ;)
steve b on October 6, 2007 2:26 AMLeigh, did you read the two comments on that post you linked? They're exactly what I'm talking about:
--
On the other hand, if I page through another ASP.Net book that describes DataGrid binding without truly diving into how to really get into it (a very difficult task), I'm gonna freakin puke.
Granted there are some good books out there. I just haven't seen one that starts at the advanced level and assume that I understand the basic stuff. I keep seeing books that talk about string concatenation and stringbuilder. Its almost insulting.
Unfortunately, those types of books dont appeal to a large audience, and therefore all we get is entry-level rehash.
--
You do have a valid point.
Now why are such advanced books are not written? Simply because not enough people buy them. You would love such a book, but that kind of book does not sell enough copies to justify the effort. Such a book would end up costing $80 for a 400 page treatise.
In such instances, you have to contend with blog posts, user manuals, and word of mouth. So what you end up with is a lot of conflicting information, and no book to guide you through the mess.
It is a tough choice unfortunately!! A possible solution is to setup a subscription based website where advanced content, and direct contact/communication with authors is possible. But an advanced book in the shrinking sales numbers world - is IMO not gonna happen.
--
In other words, online wins. Like I've been saying all along.
Jeff Atwood on October 6, 2007 3:08 AMDuring my studies I had great help from Bruce Eckel's "Thinking in C++" which is freely available on the net http://www.mindviewinc.com/
It is an exemple of that books can be helpful if published in the correct format (digital)
Carl-Johan on October 6, 2007 8:22 AM@Jeff -
I agree with most of your views, but you are way off on this one. Books are still the foundation and cornerstone of learning; I don't care what field it is. Online learning via the first couple of search hits to blogs and other un-edited material just fills in the gaps. I've met way too many developers that do their core learning via Google U and it shows in their shallow level of understanding. No depth; all copy/paste quicky knowledge.
Sahil Malik sums it up in true Sahil fashion in his 2005 post on this very subject with a reference to the infamous Bill Vaughn who has a timeless term for it:
http://codebetter.com/blogs/sahil.malik/archive/2005/07/13/129140.aspx
Is it books "tied to a specific technology" or those tied to a specific product that have a limited future?
Some good books about core technologies have a long shelf life, such as Ralph Kimball's data warehousing book and Joe Celko's SQL books. Data Warehouse Toolkit and SQL for Smarties have been selling since the '90s. They are currently Amazon.com bestsellers in the database category.
Neither book rides a wave generated by the latest product release or technology du jour.
Hey Jeff,
Thank you for my Wumpus, it arrived today. I had almost given up hope of it ever coming.
Cheers
Alex
"The bar to publishing a book is nonexistent"
I think you're narrow-mindedly referring to technical books, of which this statement is true.
Novels, on the other hand, are a bit different.
Brent on October 7, 2007 1:03 PMIf a host pulls the plug, the general feeling is "oh shit, did someone back all of this up?". If an author dies, the book is still there. hen there's the whole right-to-read stuff, and if books become like that, then the paper version is superior. Plus, it's available second-hand.
It's too bad that the Wiki books section isn't that expansive yet. I'm a big fan of Thinking In Java - the HTML version is superior, and I agree fully with "you can't grep dead trees".
When providing a book in electronic form that everyone's going to read anyway, don't lock it up in a database on a site or in some proprietary PDF with "usage rights". Throw it out there as zip file of HTML files, as torrent, spread out over several filehosts, make it absolutely ubiquitous and easy to locate. It's not the space that's a problem.
Rob Janssen on October 8, 2007 4:13 AMHaving authored and coauthored seven books, the first one published in 2000, I know firsthand of the decrease in sales figures technical trade books have experienced over the past several years. And, yes, the economics of writing a computer trade book are dismal when compared to writing for a magazine or working a 9-5 job, as I previously blogged about: http://scottonwriting.net/sowblog/posts/146.aspx
There will always be people who buy technical books, though, because there are certain properties of the medium that are more advantageous in certain situations than online resources. It's like radio - 50 years ago, everyone listened to the radio and used it as their main source of information and entertainment. Today, with TV and the Internet, that's hardly the case, but it's also clear that there still is a place for radio and it still draws in significant audiences.
I think the area that has been hardest hit and will see the greatest decline is technical books geared toward intermediate to advanced developers. Most skilled developers will turn to online sources for obvious reasons. Technical books will do best in the beginner market. It's a lot easier to say to a person who has .NET experience, "Oh, just go to Google to find out how to do X," but for someone who's totally new to .NET (or perhaps even totally new to programming), the web's resources are far too disjointed to provide a sound learning environment. For them, a well-written book is a better option and will provide a more structured learning environment.
As I've seen book sales decline, I've decided never to write a book geared toward intermediate or advanced developers. I plan on continuing to write for one audience: the beginner who's learning ASP.NET from scratch.
Scott Mitchell on October 8, 2007 8:48 AMCongrats on the book.
Craig Nicholson on October 8, 2007 10:18 AMJeff -
Yes, I did read the two comments on Sahil's post I linked to. I don't see how this "proves" online wins.
What I'm saying (and I believe was summarized by Sahil and Bill Vaughn), is that blog posts and other "incomplete" information garnered online often times can give you those small chunks of advanced information not found in books necessarily.
I still contend, and it seems echoed in comments on this post, is that many many people still use books to get off the ground and get their head around a technology initially. Then they fill in the gaps with online resources, be it blogs, whitepapers etc..
Leigh Kendall on October 8, 2007 11:23 AM Sure, 99.99% of the web is crap compared to 90% of books... The odds
of picking up a mediocre book off the shelf are much greater than
the odds of getting a mediocre link in the top 3 search results.
That's another big lie from the same industry that gave us Harry Potter--99.99% of books are crap too. But who buys books that way, just picking one up off the shelf? At the very least read a review on Amazon first.
Petzold has a great response to this post:
a href="http://www.charlespetzold.com/blog/2007/10/081247.html"http://www.charlespetzold.com/blog/2007/10/081247.html/a
Stephan on October 9, 2007 3:40 AMI got the book the other day and I've found quite a few nice tricks in there that have been immediately applied to current projects. My one question has come on compressing viewstate; I used the exact code from the book and found that my viewstate actually grew slightly. Am I missing something here? I assume it's probably a theoretical issue (i.e. it only helps at size xxxx of viewstate and up) but this seems like a good place to ask :)
Tom on October 10, 2007 7:57 AMSorry, just wanted to clarify something...when I used the GZip compression on the viewstate, the hidden __VSTATE field is about 446 bytes long, whereas uncompressed the __VIEWSTATE field is 330 bytes. It's just a simple form with one or two controls on it.
Tom on October 10, 2007 8:23 AM1. Writing a book is hard work.
2. Writing a book doesn't pay.
3. Anyone can write a book.
4. Very few books succeed.
Couldn't these facets apply to any creative endeavor, including pet websites/coding projects?
This is one of the posts which has a lot of points I have to disagree with because choosing a technical book to read is very much like choosing a book in any other field. If I do not like author's presentation style, language (totally helpy English without any zing) and simplistic examples, I am not going to buy the book. A book that really stands out in recent years is "Domain-driven design" - it is so well-written that it can actually be read with gusto. O'Reilly's books are generally very good and to the point but also disposable. On the opposite side we have "fire starters" from Wrox (I am sorry guys but content in those books seems copied from some help file. Helpy English reveals it).
Publishing one's work has more to do with recognition in the community (or with the client audience if you are a consultant) than with making money. Actually, money making becomes a side-effect once you sell your consulting services. Let's face it: no book can solve any technical challenge by itself.
Blogs and electronic publishing without peer review results in as much crap online as in print. In fact, online world is no different than printed world; only 2-5% of content is really good e.g. it contains original insight or at least one original idea.
Sam on October 17, 2007 10:35 AMJust got your book off Amazon and so far I think it's great. I have read other ASP.net books, but I love the way you guys give explinations and examples that aren't over your head for a beginner and aren't dumbed down for those that do have some experience.
Keith Schwerin on October 17, 2007 11:09 AMJohn Resig's thoughts on Programming Book Profits:
http://ejohn.org/blog/programming-book-profits/
Jeff Atwood on February 27, 2008 12:38 PMwhy not send an ebook to people fortunate enough not to live in america?
Simon on February 6, 2010 10:14 PMAs a co-author of a technical book I really have to question all your numbers in this post. Here's some stats from my experience.
Most technical books don't have a second printing - so you're going to have a print run of 5 to 7 thousand.
On a technical book figure you will see 5-7% of the cover price. Our book sold for $50, so that's about $2.50 - $3.50 per book sold.
Publishers know this going in - they're not going to publish a book that won't at least cover costs. I'd really like to see some evidence on the "1% of books support 99%"
Also see this post with more numbers ...
http://www.sarken.org/index.php/2006/03/28/tech-book-royalties/
I'd estimate that you'll bring in around $5000 over the next 2-3 years. ($40*0.7*7000/4 - assuming an even author split).
Gordon Fischer on February 6, 2010 10:14 PMIn retrospect, I think it's unfortunate that the book's title says "ASP.NET 2.0" instead of just ASP.NET. Some of the best tips have worked since ASP.NET 1.0, and there's much that will be postdated by ASP.NET 3.5 - sure, there's the listview and LINQ for data access, but most of the core info is unchanged.
Version aside, I think it is worthwhile to buy books about a specific technology. All of my greatest technical leaps have come from reading really good books - Fritz Onion's ASP.NET book, several CSS / web design books, and a few key SQL books, for instance. Blogs are good for keeping up or finding specific information, but they rarely do a good job at going deep AND wide at a consistent quality level to really teach something.
I've started buying books again lately, and have been really happy about it. Last night I wanted to check up on how I'm using Javascript and AJAX in my current project, and it was nice to re-read K. Scott Allen's chapter on that after a day of random advice on from the far corners of the universe.
Jon Galloway on February 6, 2010 10:14 PMI've used to do the same as Jeff and others here - buy lots of technical books and then not even read some. Safari really saved me from myself. Having such a huge libary availiable online and _searchable_ is great and has completly replaced by specific tech book buying. I still sometimes buy and enjoy timeless concept books but I'm more picky. This is an area the web often doesn't cover. Sometimes you just can't beat a really good book.
I still think specific tech books have some worth but for me only when presented through something like Safari, not as dead trees on my shelf. As a FOSS developer they often provide the missing manual that you wish came in the box, only there was no box, just a download and a very messy wiki.
Mark Addison on February 6, 2010 10:14 PMJeff, your comments about publishers ignoring technical book quality is misdirected.
The problem is neither with technical book publishers nor even with books, it is an endemic problem in computer science. This problem extends beyond books into peer-reviewed journal papers on computer science research, which are typically of appallingly poor quality compared to scientific research papers.
If you look at technical books on other subjects, such as computational physics, you find that publishers are far more pedantic about quality. Also, books on these subjects are typically several times as expensive as the cheapest computer books.
As the author and publisher of books on the intersection between computers and science, I can tell you that our technical book market is thriving and suffers to a much lesser degree from from these quality issues or from theft (be it plagiarism or bittorrent).
Cheers,
Jon.
Well, it is 2010, and I just bought 8 technical books tied to largely version-specific technology. I don't consider myself old-fashioned, since I mostly use online resources; but for thought and contemplation, paper still works by taking me away from the computer, other obligations, and perhaps, a backlit screen. I'm interested to see how much these are addressed by non-backlit eBook readers, vs. iPad 3G, which has all the disadvantages of a computer except for portability.
Orbfish on June 9, 2010 2:21 PMHi Jeff,
The link to "less than 1% of books are actually successful" resolves to a python mailing list posting about RDF that does not seem to be apropos to the #4 paragraph above, which starts with:
"Bruce Eckel says less than 1% of books are actually successful. At best, 99% of books will have a brief peak of sales-- hopefully enough to earn back your advance-- and then crash directly into irrelevance and permanent out-of-print obscurity. "
Thanks,
Brent
The big advantage of books is that they have copyright dates on 'em. Sites and blogs very frequently don't bother to apply dates to their content or worse, they constantly set a very recent date to make all their material look fresh.
Also, authored material tends to be more accountable for stuff like facts and poorly implemented plagiarism where some daft idiot's rewording of other material has made it completely incomprehensible or just wrong. Third, when I read a book, I know odds are pretty good that the author has at least been casually vetted by whether they actually have something resembling useful expertise on the subject.
Granted if you're not a complete rookie on a given subject you'll be able to separate the BS from the good stuff pretty fast online but I tend to start with books when learning a new core set of technology for those reasons.
I agree with Jeff on the smartest approach being to blog/write for the web first and THEN publish a book version. That way the material stays yours and the publisher becomes a partner rather than somebody who acts like they're doing you a favor. Unless you're behind the next young adult fiction sensation, writing as a general profession has become a fairly challenging way to make a living.
I disagree on language-specific texts being less useful. If you already knew functional languages like scheme or F# you'd be in a good position to learn JavaScript in-depth but there's still a lot of nuance and goofiness to the language and the typical environments that it gets executed in such that more generalized patterns and practices frequently tend to be awkward fits at best (not that that's stopped a whole host of folks from attempting to ram circular pegs into square holes).
Erik Reppen on August 3, 2011 11:04 AMThe comments to this entry are closed.
|
|
Traffic Stats |