The site looks really nice, and appears to have really great content. Signup achieved.
I just discovered that my demo video is recorded at too high a bitrate. It's at 2.8Mbit/s, compared to 1.3-1.8Mbit/s for subscriber videos. That's probably because I used my standard screencast encoding settings (which are set nice and high) for a video that has a lot more motion than my standard screencast.
Fixing this alone will probably do wonders for my conversion rate.
Thanks a million to tankbot for starting the conversation rolling and to alecthomas for helping me to troubleshoot it over email.
In researching this issue, I found recommendations that 2.5mbps is probably the most you should plan for in North America. I'm not sure how accurate or current that recommendation is, but since I was seeing problems at 2.8mbps, it seems reasonable. (It also might explain why I have such a large proportion of international subscribers.) That said, I'd really love to get my bitrate below 2.0mbps, because that's what my actual videos come in at.
I went into my video export settings and fiddled (and fiddled, and fiddled) and ended up finding a compromise that gave me 1.94mbps at the cost of slightly-visible artifacting during transitions. [1] Bingo! Uploaded, deployed, done.
Well, not entirely done. I'm still using my old settings for most videos, because it doesn't have any visible compression artifacts at all, at least not until you get out the magnifying glass. (I can get away with such high quality because, although my screencasts have more transitions and motion than average, they're still mostly unchanging text.) But I don't want to run into this problem again. It's embarrassing. And I like killing problems dead. DEAD!
So I modified my deploy script to run `ffprobe` and pull out the bitrate for each new video. If it exceeds 1750kbps, I get a warning. And if it exceeds 2000kbps, the script fails. [2] That'll do it.
Of course, the real root cause here is that I don't have visibility into client-side performance issues. Eventually, I'd like to modify the client-side code to report back playback experience. That would have detected this problem much sooner, and it will protect me against CDN/network issues as well, which are particularly hard for me to get visibility into.
Thanks again to tankbot and alecthomas for helping me find this problem.
[1] The settings I ended up with, in case you're curious:
Video encoding: H.264; 24 frames per second; 2250kbps max bit rate; "High" quality; Single-pass
Audio encoding: AAC; 44.1KHz audio (mono); "Normal" quality; 64kbps audio bit rate
[2] These thresholds are pretty conservative, and I'll increase them if necessary. I like starting with low thresholds because it gives me more visibility into what's going on, at the cost of requiring me to be a bit more hands-on until I get things dialed in.
If anybody else sees this issue, and you're willing to take a few minutes to help me troubleshoot it, please let me know. [email protected] . Thanks!
I am also a huge testing fanatic, and absolutely love that you're teaching using TDD from the first episode!
Consider me signed up and a paying customer!
My company does web dev and consulting, but we struggled with how to manage long-term support. So we developed an automated html5 testing platform and started writing custom UX tests for our clients' applications. This way, if they continue to develop new features or whatever, they have a way of quickly checking for breakages. It works so well that we've now opened it up as a service we offer outside of our development projects.
We get a little bit of cash for writing the tests, and a little bit of cash for hosting/maintenance/updates.
Here's a link: http://html5testing.co/
What do you use to drive the tests? I'm most familiar with Behat.
I'm not familiar with Behat. We're using Node.js.
Anyway, I'm sure you know the various scenarios, so my question is: how do you determine where to focus (or how to distribute) your efforts? Of course, the free trial signup rate becomes a limiting factor as your trail-to-paid rate approaches 1, but at this point, where do you see the best opportunity for improvement?
Here's how I decide what to do next: I have a big 6' folding table in my office that's covered in index cards. On the left-hand side are six columns: what I'm planning to work on this week (the current iteration), the next four weeks of commitments (mostly episode air dates), and any future commitments (such as my Christmas vacation with my family).
On the right hand side, I have five more columns: Attract, Convert, Hygiene, Delight, and Intelligence. Whenever I have an idea for something that I should do, it goes in one of those columns. If an idea column is full (some categories get two columns), then I have to throw out one of the existing cards before I can put a new one in.
All of the columns are full.
Every Monday, I calculate my velocity (Agile/XP-style) based on what I finished the week before. Then I look over my upcoming commitments and move everything that should be done this week into the current iteration. I try to stay about two weeks ahead of The Beast (that is, episode commitments), but I don't always succeed. Still, I have yet to miss an air date.
Then I look at the amount of points remaining and choose an idea from the right-hand half of the table to work on. Sometimes there's one I'm already working on--that goes into a special "On Deck" corner of the table--in which case I just generate story cards from that and slot them into the current iteration. If there's nothing on deck, though, I look over all my existing ideas and pick one.
I pick ideas primarily based on bang-for-buck. Is it relatively easy, do I think it will work, and will it give me useful information even if it doesn't work? But sometimes I pick small things that are bugging me or that I think would be satisfying to work on. Morale's important. And sometimes I choose things that are really big and risky but the time is right to do them.
tl;dr: dart board. ;-)
Here's a picture of the table: http://imgur.com/tmm9TvT
the one point i wanted to criticize was the lack of accounts page, not being able to view my billing information or the ability to cancel my account kind of scared me.
other than that your videos were high quality and course content was great.
Part of the time is spent adding titles, notes, and transitions (such as when I zoom out to show a web page), but the majority of the time is just spent going through the episode with a fine-tooth comb to strip out pauses, ums and other filler, and to speed past necessary but uninteresting work.
The monthly specials take a lot longer. I typically spend a full week on a 15-30 minute video. Sometimes longer. Editing probably takes 2-4 hours and the rest of the time is on scripting/outlining, animations, coding the examples, and so forth.
Thanks in advance for answers.
What happened to RailsCasts?
I've talked about Let's Code JavaScript on HN before; check out the previous thread [3] for some details about how I started and market the site.
Since simonswords82 was so generous with details about his business, I'll do the same. About 2% of the visitors to the site sign up for the free trial. That seems poor, although I don't have a lot of insight as to what the number "should" be. I do require a credit card in order to sign up for the trial. The trial automatically converts to a subscription after seven days.
About 70% of trial subscribers convert to a paid subscription. This seems pretty good to me, although I'd of course be happier if it was higher. Once they've subscribed, I lose about 25% of subscribers in the first month, and then the number drops asymptotically down to about 5% (of the initial total) per month. I'm reasonably happy with this as well. It's poor by the standards of a SaaS, where a churn rate of 1-2% is doable, but I think it's pretty good for a content site.
My most recent push was an inbound marketing campaign: I took one of my monthly specials and turned it into a dedicated site on object-oriented JavaScript [4]. That was very successful; it nearly doubled traffic in the first month (from 2,800 uniques in the previous month to 5,400) and looks like it will permanently add about 1,500 uniques per month. Trial rates went down slightly as a result, but overall subscriptions went up.
The biggest challenge for me is having lots of things I'd like to pursue, but not enough time to do them all. The Object Playground inbound marketing campaign was successful, but a lot of work. I recently released another special that might make a good inbound campaign (on large-scale JavaScript fundamentals: modularity and automated cross-browser unit testing), but I'm not sure it's worth the time it would take to create a marketing site for it on the scale of Object Playground.
For now I'm focusing on A/B testing various ideas for improving conversion. It takes less effort and potentially has longer-term impact. So far, I've improved the subscribe page [5] by adding testimonials and a better design. Next, I'll probably provide more opportunities for people to preview the series without signing up, as well as more obvious calls to action on the video pages. I also have some other plans in the works that I can't talk about yet. :-)
[1] My screencast is Let's Code: Test-Driven JavaScript, a series for professional JavaScript developers. It's available at http://www.letscodejavascript.com. I'd love to hear your feedback.
[2] My book is The Art of Agile Development. It's been out for over five years now, so it's nice to still be getting royalties from it.
[3] I talked about my experiences launching and marketing the screencast here: https://news.ycombinator.com/item?id=6038226
[4] My recent inbound marketing campaign was Object Playground, a tutorial and visualizer for object-oriented JavaScript: http://www.objectplayground.com.
[5] The Let's Code JavaScript subscribe page is at http://www.letscodejavascript.com/v3/subscribe.