Funded! This project was successfully funded on June 5, 2012.

Photo-main
Play
00:00
00:00

A screencast series focusing on rigorous, professional Javascript development.

We did it! We didn't just reach our funding goal, we destroyed it. Thank you, backers, for your amazing support! I'm thrilled to be able to produce this screencast and the many additional goals you funded. If you didn't get a chance to back this project, keep an eye on letscodejavascript.com for new information!

Here are the goals we reached:

  • $12,000: Project funded!
  • $14,750: Professional site design! (details in update #4)
  • $17,000: Three episodes per week, not two! (details in update #6)
  • $21,000: Increased hosting capacity! (details in update #6)
  • $28,000: Let's Play TDD distilled! (details in update #6)
  • $29,750: More student registrations! (details in update #7)

We raised over $39,000! The extra money will be used towards additional web design and polish, hosting capacity, and--if everything goes well--more seasons. See update #8 for the grand vision of where I hope this project will go.

ABOUT THIS PROJECT

"This is great! I came across your [Java] series couple days ago, from another HN post. I'm not a Javascript beginner, but needless to say, I love your approach of teaching and this is the first project I ever supported on Kickstarter. I hope to learn a thing or two. Good job."  - hrayr on Hacker News

"Thanks so much for [the Java] series... What an incredible resource! I really wish this had been around when I was trying to teach myself TDD. I read dozens of TDD books, blogs, samples, and everything else I could get my hands on, but I don't think I've ever run across another resource like this." - covaithe on Reddit

"Hey, it's Jim! I've been to one of his classes - it's provocative stuff, really changed the way I think about development." - jes5199 on Hacker News

"I've been watching his Java videos and they're really good. Helped me get my head around TDD." - kevdunleavy on Reddit

"Thanks for the [Java] series. It is incredible. I especially love the 'warts and all' approach to coding you practice." - enry_straker on Reddit

"It's really nice to see someone work in a language I'm not proficient in and work up to a decent sized program. It fills in gaps a book and documentation can't." - anonymous on Reddit

Javascript Needs Test-Driven Development

If you've programmed in Javascript, you know that it's an... interesting... language. Don't get me wrong: I love Javascript. I love its first-class functions, the intense VM competition among browser makers, and how it makes the web come alive. It definitely has its good parts.

It also has some not-so-good parts. Whether it's browser DOMs, automatic semicolon insertion, or an object model with a split personality, everyone's had some part of Javascript bite them in the ass at some point. That's why using test-driven development is so important.

What is Test-Driven Development?

Test-driven development (TDD) is a technique for ensuring that your code does what you think it does. It's particularly relevant for Javascript, with its cross-browser incompatibilities and hidden gotchas. With TDD, you express your intentions twice: once as a test, and once as production code. If the two approaches don't match, your tests fail, and you've caught a bug.

TDD is a great way of catching the majority of programming errors. It's not perfect, of course--in particular, it can't tell you when your assumptions are wrong--but it's very good at catching the kinds of bugs Javascript is prone to. When done well, TDD also helps you document your code, improve your design, and guard against future mistakes. For details, check out the Test-Driven Development chapter of my book.

Who am I?

I'm James Shore. I've been building applications using test-driven development and other Agile techniques for over 12 years. I'm a recipient of the Agile Alliance's Gordon Pask Award for Contributions to Agile Practice and I wrote a book called The Art of Agile Development.

For the last year and a half, I've been producing a screencast series called Let's Play: Test-Driven Development. My goal was to show how test-driven development works for real, outside of the classroom. It's been a big success: we have over 100,000 views on YouTube and many people have told me how helpful it's been to them.

There's just one problem: it features Java and Swing. Although we've had some great conversations about design and architecture, and shed light in some dark corners with the GUI testing and incremental design episodes, today's applications live on the web. It's time to bring Let's Play TDD's success to a more relevant platform.

Let's Code: Test-Driven Javascript

This new screencast series focuses on rigorous, professional web development. That means test-driven development, of course, and also techniques such as build automation, continuous integration, refactoring, and evolutionary design. We'll support multiple browsers and platforms, including iOS, and we'll use Node.js on the server. The application itself will be a real-time multi-user drawing application, developed from scratch and taken as far as possible in the time available.

The series consists of three channels. The "Live" and "Caffeinated" channels are a live recording of the application as it's developed, with commentary, similar to my current Let's Play TDD screencast. I'll edit out dead-ends and time spent in research so each episode is focused and meaningful. Each "Live" episode is about 15 minutes long. The "Caffeinated" episodes contain the same content, sped up 50%, so they're about 10 minutes long.

The "Lessons Learned" channel is for people without a lot of time to spare. Each episode provides a distilled look at a specific topic, such as automating Lint, testing a Node.js server, or automating cross-browser testing. The goal is to provide maximum information in minimum time--preferably less than 5 minutes per episode.

What You Get

You're backing a 40-episode season of Let's Code: Test-Driven Javascript. That's 32 "Live" videos, 32 "Caffeinated" videos, and 8 "Lessons Learned" videos. All videos will be DRM-free, viewable on the web and downloadable, and all source code will be included. All funds go toward developing the series; if we raise more than we need, I'll create additional channels, release more episodes, or add other goodies.

The "Live" and "Caffeinated" videos will each come out twice a week, and the "Lessons Learned" videos will come out twice per month. The first episode will air in late June or early July and the whole season will take about four months to air in total.

How Kickstarter Works

Between now and June 5th, you can make a pledge to back this project, ranging from one dollar on up. When you pledge, you can choose one of the rewards listed on the right, up to the amount you pledged. To make a pledge, click the green "Back This Project" button on the top-right of this page. You can change your pledge amount and reward selection any time before the project ends at 5pm Pacific time on June 5th.

Assuming we reach our goal of $12,000, you can keep pledging until our June 5th deadline. Your credit card won't be charged until the project ends on June 5th. Once it does end, your credit card will be charged and I'll start the real work of building the Let's Code Javascript website, recording screencasts, and delivering rewards to backers. I'll post regular updates about my progress, which backers will receive by email and you can also find on the Updates tab.

If we don't reach our goal by 5pm on June 5th, your credit card will not be charged. I won't produce the screencasts or deliver any rewards. We'll all be sad pandas. So here's hoping we reach the goal!

(For more information about how Kickstarter works, see the Kickstarter FAQ.)

Thanks for Your Support!

Javascript is a great language and it's being used for ever-more-complex applications. These complex applications need rigorous techniques like test-driven development. With this series, I hope to develop and spread that knowledge further. With your help, we can do it. Thanks for your support!

FAQ

  • Very suitable! We're building a web application from scratch, so if you already know how to program, it should be pretty easy to absorb knowledge about Javascript as we go. For Javascript's more esoteric bits, like closures or object prototypes, I'll be talking through my design thoughts on the Live channel and encouraging discussion in the forum.

    Last updated:
  • In the past, I've used jsTestDriver & QUnit on the client, and Mocha & NodeUnit on the server. Once the project is funded, I'm going to take a second look at all those frameworks (plus Jasmine and whatever else looks promising) and make a decision. Whatever decision I make, I'll want it to be something that can be changed, as the Javascript ecosystem is changing incredibly rapidly these days. I'll also talk through my decision-making process on the Live channel.

    Last updated:
  • WebStorm, for its built-in refactoring support. http://www.jetbrains.com/webstorm/

    As with the test framework, I expect that the choice of editor is something I'll re-evaluate occasionally. Light Table looks interesting, for example: http://www.kickstarter.com/projects/306316578/light-table

    Last updated:
  • I plan to make subscriptions available to the general public after I've fulfilled my commitments to backers. Enter your email at http://letscodejavascript.com, and I'll send you an email when you can sign up.

    Last updated:
  • Sure! If you want to buy licenses for a specific number of users, just choose the closest multi-user option and add the following amount to your pledge for each additional license:

    3 - 7 USERS: Choose the 3-user pack ($100) and add $33.25 per additional user.

    8 - 20 USERS: Choose the 8-user pack ($250) and add $31.50 per additional user.

    21 - 55 USERS: Choose the 21-user pack ($625) and add $29.75 per additional user.

    55 OR MORE USERS: Choose the 55-user pack ($1,500) and add $27.30 per additional user.

    For example, if you want 35 users, choose the 21-user pack ($625) and add $29.75 each for the additional 14 users ($416.50 for all 14) for a total pledge of $1041.50.

    Be sure to keep a note of how many additional users you selected for your records. I'll follow up with you after funding completes, or you can contact me now at jshore@jamesshore.com if you have questions.

    Last updated:
  • No problem. Just add $5 to your pledge for each license you want to convert to early access. Keep a note for your records about the number of licenses you converted and I'll follow up with you after funding completes.

    NOTE: this option is for multi-user packs only and is not available for the $25 "starving student" reward.

    Last updated:
879
Backers
$39,331
pledged of $12,000 goal
0
seconds to go
Headshot-print-bw.medium

See full bio

  • Pledge $5 or more
    You selected

    3 backers

    BUY ME A BEER: You love the idea, but you don't want the videos. That's okay. I'll toast you as I drink one of Portland's fine microbrews.

    Estimated delivery:
  • Pledge $10 or more
    You selected

    30 backers

    FIRST MONTH: Get the first 8 "Live" & "Caffeinated" episodes and the first 2 "Lessons Learned" episodes. Viewable on the web & downloadable. DRM-free. Source code included.

    Estimated delivery:
  • Pledge $25 or more
    You selected

    190 backers Limited (10 left of 200)

    STARVING STUDENT: You are starving and/or a student. Get the whole series: 32 "Live" & "Caffeinated" episodes and 8 "Lessons Learned" episodes. Viewable on the web & downloadable. DRM-free. Source code included. HONOR SYSTEM: Please save this reward for the people who really need it! I won't be checking up on you, but you'll know if you cheated. AND YOU'LL FEEL BAD ABOUT IT.

    Estimated delivery:
  • Pledge $35 or more
    You selected

    321 backers

    FULL SEASON: Get the whole season: 32 "Live" & "Caffeinated" episodes and 8 "Lessons Learned" episodes. Viewable on the web & downloadable. DRM-free. Source code included.

    Estimated delivery:
  • Pledge $40 or more
    You selected

    265 backers

    EARLY ACCESS: Get access to videos as soon as they're ready! Regular viewers will get videos on a set schedule (such as one every Tuesday and Thursday); you'll get to see them the instant they're uploaded. Includes the whole season: 32 "Live" & "Caffeinated" episodes and 8 "Lessons Learned" episodes. Viewable on the web & downloadable. DRM-free. Source code included. NOTE: videos will be recorded & uploaded in batches, over the course of several months.

    Estimated delivery:
  • Pledge $50 or more
    You selected

    21 backers

    HELP OUT A STUDENT: You get the "Early Access" reward AND I use the extra $10 in your pledge to make another "Starving Student" registration available. NOTE: This reward is automatically included with all "Early Access" rewards of $50 and more. I increase student registrations manually, so please allow up to 24 hours for new student registration slots to appear.

    Estimated delivery:
  • Pledge $75 or more
    You selected

    10 backers

    SITE SOURCE CODE: You get the "Early Access" reward AND you also get the source code to the LetsCodeJavascript.com web site. This is in addition to the source code that comes with the screencast. NOTE: This reward is also bundled with all "Early Access" rewards larger than $75. Some third party code may not be included, depending on license restrictions, and art assets are not included. No support is included.

    Estimated delivery:
  • Pledge $100 or more
    You selected

    11 backers

    GARAGE STARTUP (3-USER PACK): You and two of your best buds are going to change the world. To help you do it, you get three transferable logins for the "Full Season" reward.

    Estimated delivery:
  • Pledge $105 or more
    You selected

    15 backers Limited (35 left of 50)

    SIGNATURE EDITION: Get a signed copy of my book inscribed with a personal thank-you message, AND the "Early Access" reward. US shipping included. Add $10 for international shipping.

    Estimated delivery:
  • Pledge $250 or more
    You selected

    2 backers Limited (14 left of 16)

    SPONSOR AN EPISODE: I'll give a shout-out to you and your peeps at the beginning of a "Live" episode of my choice, including an NPR-style (brief & not excessively commercial) mention of your favorite product, company, or charity, AND you also get the "Early Access" reward.

    Estimated delivery:
  • Pledge $250 or more
    You selected

    2 backers

    TEAM ROOM (8-USER PACK): Your team is rocking the Javascript. Now you get some rockin' videos, too. You get eight transferable logins for the "Full Season" reward.

    Estimated delivery:
  • Pledge $500 or more
    You selected

    0 backers Limited (3 left of 3)

    SPONSOR A LESSON: I'll give a shout-out to you and your peeps at the beginning of a "Lessons Learned" episode of my choice, including an NPR-style (brief & not excessively commercial) mention of your favorite product, company, or charity, AND you also get the "Early Access" reward.

    Estimated delivery:
  • Pledge $625 or more
    You selected

    1 backer

    FUNDED STARTUP (21-USER PACK): Bubble? What bubble? You're living the dream! And what better way to live than with some sweet, sweet Javascript videos. You get 21 transferable logins for the "Full Season" reward.

    Estimated delivery:
  • Pledge $850 or more
    You selected

    0 backers Limited (3 left of 3)

    AN EVENING OUT: I'll treat you and your guest to an evening of fine dining and conversation at one of Portland's best restaurants. You also get the "Early Access" reward. NOTE: Travel to Portland is not included.

    Estimated delivery:
  • Pledge $1,000 or more
    You selected

    0 backers Limited (3 left of 3)

    BE A STAR: Appear as my remote pair programming partner on up to four consecutive "Live" videos AND get the "Early Access" reward. (Be sure you have time free this summer for recording.)

    Estimated delivery:
  • Pledge $1,500 or more
    You selected

    0 backers

    GOING CONCERN (55-USER PACK): You're pros. And pros know that coordinating large teams takes serious software development chops. These videos will help. You get 55 transferable logins for the "Full Season" reward.

    Estimated delivery:
  • Pledge $5,000 or more
    You selected

    1 backer Limited (2 left of 3)

    THE PERSONAL TOUCH: I come to your site and spend a day with your team(s) discussing Agile or Javascript-related topics of your choice. We'll create the agenda in advance; options include speaking, consulting, and coaching. AND you also get 21 transferable logins for the "Full Season" reward. PLEASE NOTE: Travel expenses are not included and will be billed separately. This reward is non-refundable but I will happily delay or reschedule as your business needs dictate, subject to mutually agreeable timeframes in the future.

    Estimated delivery:
Funding period

- (22 days)