Hacker News new | past | comments | ask | show | jobs | submit login
335k downloads of Learning Python The Hard Way (sheddingbikes.com)
119 points by bigiain on April 4, 2011 | hide | past | favorite | 52 comments



It's a pretty fast download. It's possible that folks are downloading the book every time they come back to read more of it.

To check this, you could see how strongly browsers with built-in PDF viewers are being overrepresented in the logs--especially compared to some control web page that doesn't link to Learning Python the Hard Way (an unrelated blog post, say). (The point of the control web page being to measure the effect of people interested in programming-related topics using classier browsers with built-in PDF viewers.)


Yes, there are probably people with embedded viewers that downloaded it several times not to mention all the HN and reddit users that read the article on the front page and downloaded it just to have a look, it's hard to tell exactly.

Regardless, it's still a huge number of downloads so congrats for that.


Hate that about Safari. Most of the time I certainly don't want to read a PDF in the browser.


  defaults write com.apple.Safari WebKitOmitPDFSupport -bool YES


If I am not wrong, Chrome behaves in a similar fashion too, right?


Yes, Chrome now includes a native PDF viewer - http://chrome.blogspot.com/2010/11/pdf-goodness-in-chrome.ht.... Works quite good, too, and is much faster than the Adobe Acrobat embedded reader. Though, usually when I click a PDF link I want to download it instead of viewing it in my browser.


Yes, and it can be disabled by navigating to chrome://plugins and disabling "Chrome PDF Viewer". Opening a PDF will just initiate a download.


I think if you were to release a new book, you should target it at $7-$12, rather than $1.

The hurdle of paying anything at all, is likely to stop many from going any further and on the opposite side, the people who are probably likely to still pay (they read your free book / know your rep) - are probably quite happy to pay a higher price than $1. Therefore limiting your price to $1 would lose you money.

e.g. Free price - 335,000 downloads - $0 sales.

$1 price - 26,000 downloads - $26,000 sales

$7 price - 13,000 downloads - $91,000 sales

- This is ultimately why you would have to experiment with pricing and see the effect on your sales cycle. Often a higher price yields a greater profit, as the number of sales doesn't drop as much as expected.


I agree that you should play around with price, but I also believe Zed could be leveraging his free tutorial to market another service later on.

For example, while this isn't an intro to python book, Michael Hartl's Ruby on Rails Tutorial I think provides an excellent revenue model for authors.

Basically he provides a free online tutorial that he cross-subsidizes with charging on the premium screencasts and pdf/hardbook editions. I read the tutorial myself in a few days as a beginner and eventually was convinced to buy the screencasts to get a better visual understanding. If it wasn't for the free text I would never have known about Michael's skills and would definitely not have paid for it.

You also have extremely experienced industry leaders providing free screencasts and podcasts educating others for free but in turn increasing their own exposure and overall deal-flow. In the case of coders, you could expect guys like Ryan Bates and Charles Wood to increase their consulting/speaking engagements, where in the case of vc's and angels like Mark Suster and Jason Calacanis I would expect better deal-flow of up and coming startups.

As such, before resorting to price elasticity, I like the general idea of working through cross-subsidization to figure out alternative revenue streams.


I suspect a few things are at play.

1. Free - it's free. People download stuff all the time if it's free.

2. Multiple downloaders - no doubt some people bookmark the page and refer to it online vs downloading, so they count multiple times.

3. Charging $1 - I think charging anything for it would probably have skewed the numbers way down - likely to less than 20k. What might offset that back up is the author's name - Zed's got quite a rep already, so people know what they're getting in to up front.


The book is for people who are not already programmers so it seems unlikely to me that Zed's reputation would be any sort of factor.

I agree that charging anything for it would have reduced the download count to about 10% of whatever the total is.


I'm sure most people who pick up this book to learn how to program do so on the recommendation of someone who both is a programmer and who knows who Zed is.


My friend recently came to me stating that he wanted to learn programming. I directed him to Zed's book.


But that doesn't mean it's just because of Zed's "star power" - I've recommended it to several people, but only because it's a good book.


I actually bought and read the book.

I was mostly interested in seeing what a self-published web-focused book would look like. I had read some of zeds other writings and work a bit with python.

It took me a few sessions to get through (and I didn't do the exercises), but its a pretty good book. Even though its tilted towards beginners, the really easy stuff is in the first half and you can skim through it.

The second half (chapter 27 and on) do a good job of covering thinking like a programmer, and builds up a basic text adventure.

From someone who has been a computer programmer for a long time, and read a lot of programming books, it was informative and entertaining.

If a third of a million people have downloaded it, at least a few are reading it, making programs, and finding out that its worth doing even if it isn't easy.


If you've been a programmer for a long time, then you're not in the book's target audience. It's aimed at raw beginners, and for them it's damn near perfect.


Imagine if he had made people sign up to his mailing list in exchange for the free download. Even if it reduced downloads by 50%, he would still have 168,000 people on his list that are actively looking for programming material.

His next book that he's charging $1 for? 168,000 prospects to start the ball rolling.

Or he could set up an auto responder and ask for donations a set amount of time after the download.

Your mailing list is one of your most valuable assets! Don't ignore it :)


Programmers are a very different crowd, they will give you throwaway accounts to get past e-mail barriers. They will mark you as spam in Gmail, lowering your reputation.

Don't push programmers stuff they don't want, let them reach you easily (RSS, twitter).


This isn't something they want? LPTHW is perhaps the best regarded intro to Python book I've heard tale of anywhere, and there's been 300k+ downloads of it in digital format.

Also worth considering is that it's probably newer programmers downloading it at this point. I know when it was first released EVERYbody downloaded a copy, to see what was what, but now that's worn off, I suspect the demographic is more 'those who need it', and are less experienced.


Agreed. I was one of those downloads, but I wouldn't have handed over an email address for the privilege.

One thing though... if I do opt-in for something, I wouldn't mark it as spam in a web mail client. That is strictly non-programmer behavior.


I'll mark your newsletter as spam in gmail if you don't provide an easy way for me to unsubscribe - preferably without having to remember my account info.


Good point. I still might start with a friendly email though.


I probably would just do that as more of a opt-in signup than a barrier. As much as your mouth waters at this, I'm more cognizant of how that short-term myopic goal undermines the long-term goal of universal education.


> But you bet your ass I'm writing some more of these and charging a enough to make $1 or $2 off each copy.

Do one on ZeroMQ and C and I will gladly pay you $30.


Yes to the C book. It seems because of the age of C that there is a gap in the literature for a more up-to-date book (one that would be pre-K&R).


Harbinson & Steele's "C: A Reference Manual" is updated to cover C99 in the 5th ed: http://www.careferencemanual.com/

Admittedly, probably not the best beginner's introduction, so there's still a gap there.


I second that. I already 'know' C, but it's mostly self-taught, and I feel like I'm missing a lot of the little tricks and some of the fundamentals.

Also, even if it only had a chapter on ZeroMQ, I'd be ecstatic. I've messed around with it a little, but a good review of it would be wonderful.


On the off-chance that you haven't seen it yet, the ZeroMQ guide got a lot better a while ago:

http://zguide.zeromq.org/page:all

It's surprisingly well-written, and I wish it had existed when I first tried to learn ZeroMQ.


I wonder how these statistics would look like if he really charged 1$ for each copy. It's risky to extrapolate, because people are surprisingly resistant to paying for stuff online, even if the price is extremely small.


That might be true, but it's worth at least looking at Apple's App Store, and noticing that if you make it easy enough, lots of people _are_ perfectly happy to pay 99c for 10 or 20 minutes worth of entertainment.

If Zed could find an easy enough way to let people give him just a little bit of money for his work, I suspect quite a lot of people would do so.


I think the barrier is that credit cards are pull and not push so people are hesitant to hand the capacity to pull over to very small operations which are often overseas and might be dodgy (or get hacked for that matter). Imagine if you made a purchase on a site and it gave you a string to then cut-and-paste into your e-banking (or you give them your ebank "email" and then you get an SMS confirm notice, which is closer to pull while still having that push feeling of control). Although, I am a little hesitant about SMS and banking now, having had to try to do some banking overseas and not being able to get the SMS confirm from a bank on a push (domestic paying of rent) operation.


Everybody mentions iTunes in this context, but nobody remembers there have been hundreds of failed companies that tried to sell MP3s online over the years. Apple is an exception, not the norm. They succeeded, thanks to the integrated platform and smooth user experience, but it doesn't mean that everybody will.


Hell, if I'm reading his twitterstream correctly, he's had 299 people pay him either $14.99 for a digital copy or $29.99 for a paper copy.

I don't know just how elastic the price/demand curve is (or what distorting effects the option of "free download" gives to that curve), but I could easily imagine more that a lot more than 10 times as many people might have chosen to pay ~$1.50 instead of ~$15.


The App store and iTunes are the first micro payment systems to really reach a mass market. It's so easy - click, and I get something.

If an app is 99 ct I am not going to go through the trouble to search for a torrent - I will just click on it, and not having to enter my cc details _yet again_ just makes it easier.

He could sell it in the iBook store no? Link from the web page directly to the iBooks store, done.


He could sell it in the iBook store no? Link from the web page directly to the iBooks store, done.

Don't forget the Kindle Store aswell.


Lulu was supposed to help me get the book into Amazon.com, but they totally and completely failed at this. All I can do is point people at my lulu page and that's it. If they got their act together and actually put the damn thing into Amazon so people could get it on the kindle it would have been much better.

When I do the second edition, I'm going to really hammer Lulu and Amazon on the PR angle until they get their act together for independent publishers.


> then I think everyone is seriously under evaluating the power of online publishing

Well actually I believe it is not so much "online publishing" than "free publishing" that is under evaluated, especially concerning programming books.

The thing is that when you want to teach yourself a programming language, there is a ton of free material online, so you don't want to go buy a hardcopy of a book (except some really exceptional material sucha as sicp, and others). It is especially true if it is not your first programming language, so you don't need all the "algorithm" stuff, and are just looking for a quick reference, some idioms, and a lot of code examples.

The only issue with the stuff you find online is that there seldom is a unique comprehensive source of information. You often have to jump between different tutorials in order to grasp certain concepts (can't help to mention the concept of monads in Haskell, which is a perfect illustration of what I'm saying).

So I'm not surprised that a tutorial covering many topics got so many hits..

> .. or charge about $1

Doesn't sound like a good idea. The problem is not with the price, but with the effort required to pay. I don't have a paypal account, and I don't plan to get one just to buy a tutorial, when I have tons of other ressources online. This is very different from the "apple apps" that cost one dollar: the cost is the same, but the effort required is much smaller.


The trouble with online tutorials is that they lack the cohesiveness of books. Usually they focus on how-to-do one single aspect and you lose the overall view of the subject as a whole.


Congratulations Zed - whether the numbers are inflated by multiple downloads or not, that is an absolutely amazing result, and hugely encouraging for others planning to publish tech books online. I suspect you underestimate how much of that is down to you being a particularly skilled author, however :-)

Have any other HNers had similarly big success publishing tech books online? Anyone make significant money doing so? Would be curious to see whether this is a new, relatively untapped market here :-)


There are 20K unique User-Agent strings in the logfile, which gives an extreme lower bound.

  $ cut -f12-100 -d' ' lpthw.Apr.04.2011.log | sed -e 's# "-"$##; s/^"//; s/"$//;' | \
  sort | uniq -c | sed -e 's/^ *//' | \
  sort -k1,1nr | tee ua.txt | wc -l
  20122
UA is still far from uniquely identifying so this is a gross underestimate. If the IP field were hashed instead of 0.0.0.0 a better estimate would be possible, but the order of magnitude of the claim (100k) seems right to me.


I've been watching the self-publishing world lately since reading Jon Konrath's blog here: http://jakonrath.blogspot.com/ and I have to say, why can't I get all the programming books I want for approximately $1-$5 per book in electronic format? I'd probably buy at least 1 book/week at that price!

So here's an idea for what I'd pay for, as a more technical reader: technical ebook purchasing for $1-$5 per book with the option of accessing the book via a distributed source control system. The purchase then entitles me to push errata, additions, etc. back to the author as well as to pull contributions, fixes, etc. from the readers. With each ebook major version release, I'd pay the purchase amount again to gain access to the new version. That new version may merely be all of the changes I've already had access to via source control, but payment then unlocks access to the next major branch. Patch review could even be offloaded to readers via up/down votes.

My main goal here is to counteract the short half life of the majority of most technical books, benefit from the other readers as much as possible and encourage current/potential authors with appropriate payment.

Call it an "o'reilly killer", or "gitbooks" or whatever.

Cheers Bill


I think that's taking the trend to a consumer-focused extreme that might not maximize the benefit to the author. I can see opening up your process for 50-250 "beta-testers" who need the information yesterday and are willing to put work into it. But for the most part, people willing to wait for and pay for a technical book are people who will trade money for decreased time cost. Hence a nicely packaged, structured, edited book. The bar of quality and trust is pretty high, because if either of those are compromised, then the reader is wasting time and might as well have self-taught.

I'd probably buy at least 1 book/week at that price!

I'm subscribed to the ebook deal of the day for O'Reilly (http://feeds.feedburner.com/oreilly/ebookdealoftheday), Apress (http://www.apress.com/info/dailydeal) and Manning (http://www.manning.com/free/dotd.html) and I've purchased about 1 ebook a week this year for between $5-20 each.


Perhaps you're right. I guess I'm being a little selfish in so far as what I've described is what I'd want, as a potential paying customer. I still want the structure and editing though, so I'm not sure how payment could be distributed to contributors, such as editors. Perhaps my model would be most applicable to those who self-publish without external contributors.

I've looked at the O'Reilly and others deals-of-the-day and ebook promotions and they almost always are to expensive, or are stale.


The ebook deals are about creating a new market (patient, price sensitive buyers)for existing products.

Your proposal is for entirely new products, and I think it's unlikely that the existing publishing companies will change enough to produce them. There is something to the idea, and would probably best be done by the communities surrounding open source products. Don't let this idea die.


While appreciate Zed's effort, I think he tried too hard to differentiate from Dive into Mark's one. I found the book mind numbing. It's Python the boring way, the first 70 pages are dedicated to displaying strings!


I used to teach an introduction to programming class, for people who've never programmed before, don't know what a string is, and are still having trouble wrapping their heads around the concept of even having a precise syntax, let alone figuring out what it does, or learning to translate their thoughts into programs. You've probably forgotten what that was like; I sure did, until I saw a classroom full of students struggling in the same ways, with textbooks that failed to help them out.

The parts you found boring are some of the most important parts, since they let someone figure out this "programming" thing and build up an understanding of the very basics.


If it's boring then it's not for you.


Zed did an awesome job. If I'll have a chance, I will do my best to deliver this book to my university's CS faculty, where newcomers are still being taugh with Delphi (d'oh).


Congrats on all those downloads. I have to say though, I think most people see it's free and just download it into their 'temp' or 'ebooks' folder and then forget about it. I know I used to do this when I was younger and learning new programming languages all the time.


Upload it to the AppStore for $1.99 just to test the waters.


Congrats, and kudos for adding to the knowledge pool for learners. You should consider making .mobi and .epub available as well.


Content and quality of that book is a large factor but so is the price tag of zero dollars.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: