00:00:37.100
I'm here to tell you the story of a Rails tutorial project.
00:00:42.540
And I just want to do a quick survey: how many people here have read the Rails Tutorial book or are familiar with it?
00:00:49.140
Okay, quite a lot of people. That's great! Now, a little bit of my background to set the stage for the Rails tutorial project.
00:00:59.340
I have a background in theoretical physics, and I conducted physics research in graduate school at Caltech, where I also taught classes in the core physics curriculum.
00:01:12.180
While in grad school, I got bitten by the entrepreneurial bug, and after graduating, I decided to pursue a different path instead of becoming an academic.
00:01:25.939
One of the influences for me was a series of essays by Paul Graham, including one titled 'How to Start a Startup.' Interestingly, Paul has a similar background; he earned a PhD in computer science from Harvard but chose not to become an academic.
00:01:37.799
One thing he discovered after graduating was that consulting was like turning water; it was easy, but he knew he would drown if he stopped.
00:01:49.680
So, he decided he wanted to solve his money problems by starting a startup.
00:01:55.140
I thought that seemed like a good idea. What happened with Paul's company was that he ended up selling it to Yahoo for a substantial amount of money, addressing his money problems.
00:02:12.420
I thought, 'Well, maybe I can solve my money problem and start a startup too.' The startup I began with one of my Caltech friends was a fantasy sports startup.
00:02:24.180
Unfortunately, for a variety of reasons, it didn't work out, including some factors beyond our control.
00:02:35.900
So I was left with another kind of money problem: I didn't have much money after the startup.
00:02:41.340
I had been in grad school, and you can do the math on how much money I had floating around.
00:02:54.000
After the first shutdown, one of my friends from Caltech approached me about writing a book on Rails, and I thought that would be a good idea.
00:03:04.680
Maybe if I wrote a book, it would help my career. We wrote this book together called 'RailsSpace.' I'd like to apologize for the title; this was my fault.
00:03:16.379
The title, 'RailsSpace: Building a Social Networking Website with Ruby on Rails,' led people to think it was about social networking.
00:03:22.860
In reality, it was just a Rails tutorial book using a social networking website as its example application.
00:03:35.760
Now, the publisher wanted to call it 'Ruby on Rails Tutorial,' which I thought was a boring and lame name.
00:03:42.860
So I talked them into 'RailsSpace.' That's my fault, but I think I might atone for that mistake.
00:03:50.760
Surprisingly, 'RailsSpace' was very well received. For maybe the first six months, it was considered one of the best Rails tutorials out there.
00:04:02.640
But then something happened: the REST revolution hit. When we started 'RailsSpace,' Rails was at version 1.1.
00:04:09.299
Those of you who are involved in Rails application development know that there was a significant shift in how Rails applications were structured.
00:04:22.019
We had some RESTful structured application code in the book, but most of the book wasn't RESTful, and it went out of date pretty quickly.
00:04:33.960
Even though it did well for a technical book, it wasn't enough to solve my money problem.
00:04:41.460
As a result, I decided to start another startup. It takes me a while to learn things; I guess I'm a slow learner.
00:04:53.280
I applied and was accepted into a program called Y Combinator, which was started by Paul Graham.
00:05:01.680
I'm not going to go into details; there were a few iterations. At one point, we had to focus on our pitch.
00:05:19.440
Some people say they are interested in hearing what the ideas were; if you're interested in that, I wouldn't want to talk about it. It was painful at times.
00:05:31.100
At the end of this entrepreneur program, they have a big demo day where you pitch to a large number of investors, including some of the biggest names in Silicon Valley.
00:05:42.000
Paul often told us to fear demo day, saying it was like facing a shark or a hippo.
00:06:00.560
I recall someone asking me, 'What was your book about again? Something related to social networks?' That's how 'RailsSpace' was born.
00:06:08.460
It was created out of desperation to have something to present on demo day, and it did get quite a bit of adoption.
00:06:15.060
For a time, it was one of the top most popular repositories on GitHub, even though it wasn't really a business.
00:06:28.020
We attracted some investor interest and were on the brink of raising a substantial amount of money around October 2008.
00:06:36.000
Do you remember what the market was doing in October 2008? It turns out that was a bad time to be near a funding round.
00:06:44.880
Our potential investors kind of gave us the runaround for a while, eventually saying they would be happy to fund us if we could prove we had a mature product with lots of traction.
00:06:54.360
For those of you who don't know, this is how they say no in Silicon Valley—it's a polite no.
00:07:01.080
Unfortunately, it left me in the same situation—I've got a looming money problem, and it's not working out.
00:07:18.600
I started to think about this and decided to analyze it from first principles.
00:07:24.599
There's a balance between risk and reward. On the low-risk side, you have a job, which is often viewed negatively in the entrepreneurial community, but actually solves an important problem.
00:07:39.719
On the high-risk side is a startup—it's really high risk but also potentially brings a high reward.
00:07:52.080
If things go well, you might end up like other companies, such as Heroku.
00:08:05.599
However, the reality is that if you start a startup, you're more likely to end up like my situation.
00:08:19.680
I began to reflect on this risk-reward balance and thought there are many good reasons to start a startup, but solving your money problem may not be one of them.
00:08:25.920
I figured there might be a sweet spot in between—a medium risk and medium reward situation.
00:08:39.719
If you want to end up like a pirate sitting on a pile of gold, but without facing failure, you need to consider your options.
00:08:46.080
I reflected on the core principle of startups: to make something people want. This is incredibly difficult; it's even a motto of Y Combinator.
00:09:04.920
Looking back, I realized I had made something that people wanted with 'RailsSpace.' It performed well, so I thought I could write another Rails tutorial book.
00:09:17.220
However, I knew a single technical book would not solve my money problem either.
00:09:34.860
My knowledge of the market for Rails educational products indicated a gap—a need for a long, comprehensive introduction to Rails.
00:09:50.880
I envisioned a series of screencasts that would be much more comprehensive than what had been created previously.
00:10:05.040
Drawing from my experience teaching the core physics curriculum at Caltech, I believed that becoming a confident Rails developer required about 20 hours of instruction.
00:10:10.980
I realized that because Rails 3 was on its way, there might be good timing to create these resources.
00:10:27.180
One of the first marketing principles I learned was the importance of addressing a market you understand deeply.
00:10:37.800
This implicit idea suggests that you should focus on what you're good at, and I knew I could write a good book based on my prior success with 'RailsSpace.'
00:10:52.440
I was also confident in creating screencasts, which is essentially teaching, and I had experienced considerable success in that domain.
00:11:06.360
There was another principle I adopted early on, which was later reinforced by someone very influential in my life: you should give something away.
00:11:26.140
This is a powerful marketing tool, and from the beginning, I wanted my book to be available for free as HTML.
00:11:32.960
I envisioned this not as charity but as a strategic business decision—having a free HTML book online would attract inbound links.
00:11:43.200
Additionally, because it’s free, people are much more likely to refer others to it, which is beneficial for search engine indexing.
00:11:54.080
Giving away a book could also generate good karma—people notice when you do good, and you can even receive heartwarming messages.
00:12:05.160
However, I recognized that as great as it was to give away free books online, it wouldn't solve my money problem.
00:12:16.180
So, I devised a plan: I would publish an HTML book for free, then create a PDF version of the same book and some screencasts.
00:12:27.940
I wasn't going to sell the book itself, but I had a vision here.
00:12:38.880
Yes, it's surprising to think about selling a PDF of a book available online for free, but people will buy it.
00:12:48.240
In order to realize this vision, I needed some tools to implement this dual-publishing model.
00:12:58.920
I wanted to start with a single source file and convert it to both an HTML book and to PDF.
00:13:06.420
After evaluating various options, I realized none met all my needs.
00:13:13.260
So, I rolled up my sleeves and wrote my own system called 'Polytechnic.'
00:13:22.680
Polytechnic is based on Donald Knuth's TeX typesetting engine, particularly using LaTeX—a series of programs built upon TeX for creating documents.
00:13:34.020
It then converts a selected subset of LaTeX to HTML.
00:13:39.960
I found existing solutions unsatisfactory, as they were often too general.
00:13:45.600
With Polytechnic, I created a tailored tool that met my needs.
00:13:52.020
One requirement was the ability to typeset code, and so I ensured the output in both webpage and PDF formats closely matched.
00:14:04.620
The online book is a 500-page PDF, and it's all available now at 'railstutorial.org.'
00:14:12.360
One of the reasons I chose LaTeX was because it allows for excellent mathematical typesetting.
00:14:20.579
I created a web page with nice typesetting using MathJax, which facilitated easy rendering.
00:14:31.500
As I developed 'Polytechnic,' I faced a challenge I must confess: I'm not an expert in academic computer science.
00:14:38.460
I struggled to navigate the complexities of writing a parser for a markup system, but I decided not to let that hinder me.
00:14:54.420
I found inspiration in simpler solutions, exemplified by the source code from Markdown, which encourages straightforward substitutions.
00:15:09.420
I didn't need to be a computer science genius—I just needed to keep things simple.
00:15:19.440
And so I began creating the 'Polytechnic' system, feeling confident from the outset.
00:15:26.220
But you can't just give away something; you also have to promote it.
00:15:36.960
Through practice, I learned how to market my products effectively.
00:15:42.240
I connected with an awesome individual, Peter Cooper, who launched the first four chapters of my book on Rails Inside.
00:15:57.720
If you're considering a similar route, remember: humans are social beings.
00:16:05.520
They are more likely to help if they have met you or someone gives them a personal introduction.
00:16:17.760
Conferences are an excellent opportunity for networking—everyone here has followed this rule.
00:16:26.940
The value of a conference lies not only in the talks but also in networking.
00:16:37.560
I also found success through frequent small launches, rolling out the first four chapters, then releasing one chapter each time.
00:16:54.600
Each release was an event where I would update my news feed, tweet, and submit to Hacker News.
00:17:07.200
But still, I faced the problem of not resolving my money issues.
00:17:12.000
I want to discuss the e-commerce tools I utilized. Selling products online can be paralyzing due to the multitude of choices.
00:17:24.540
I adopted a mantra: worry about it when you're rich. You will face the harsh reality of payment processing, but you will need to choose defaults.
00:17:43.620
I used PayPal for transactions and for making PDF downloads, I chose a simple payment tool.
00:17:55.080
Whenever it was time to launch the PDF, I launched 'Rails 3 Redux Tutorial'.
00:18:04.440
Remember, it's crucial to promote your product.
00:18:12.480
With an effective release on Ruby Inside, my book gained traction.
00:18:24.720
People were excited about my work; I even received posts about it on leading Ruby blogs.
00:18:32.640
However, I still grappled with not solving my immediate financial needs.
00:18:40.140
I discovered an unexpected truth: people would buy a PDF version of my book despite its availability online for free.
00:19:00.000
After the initial launch, I continually sold several PDFs daily, even months later.
00:19:11.700
As surprising as it sounded, many people expressed their desire to support my work.
00:19:25.920
One individual emailed me saying he’d purchased the PDF and later found it free online, requesting a refund.
00:19:38.940
I granted the refund, and what was inspiring was the back-and-forth conversation that came after.
00:19:49.560
He ultimately chose to buy it again, realizing its value enhanced his learning experience.
00:20:08.520
Thus, I solidified that people genuinely want to support your work when they find it valuable.
00:20:20.700
Now let’s talk about my flagship product: the screencasts. They represent the last part of my toolchain.
00:20:31.680
Making screencasts was straightforward, and to do so, I chose ScreenFlow, an amazing tool that offers everything you need.
00:20:41.160
I spent over two and a half months crafting over 15 hours of content, and when it came time to launch, the excitement was palpable.
00:20:52.500
The result was that people wanted to pay for my screencasts.
00:21:01.680
One day, I received an inquiry from a person in Nigeria regarding payment issues with PayPal.
00:21:14.400
Through our correspondence, I offered him a free link to my materials, hoping to resolve his situation.
00:21:26.160
To my surprise, he insisted on figuring out a way to pay, showcasing the absurd lengths people may go to support your work.
00:21:39.720
This experience ignited my belief that if you provide value, people will want to pay for it.
00:21:55.560
Now, reflecting on my approach: I have an HTML document freely available online, which contrasts with the sale of my PDF and corresponding screencasts.
00:22:12.960
Interestingly, this is a viable freemium model: by giving away the full book while selling the PDF and screencasts.
00:22:29.700
This model can apply to plenty of content types, but here’s a suggestion for folks involved in open-source software.
00:22:43.320
Open-source software often suffers from poor documentation; addressing this could enhance user experience.
00:22:55.560
I propose aligning financial incentives for producing quality documentation—it would create significant value.
00:23:09.960
The fundamental idea would involve creating and providing free HTML documentation or tutorials, then constructing a corresponding paid PDF and screencasts.
00:23:22.920
While you might notice my tools, one variable you may lack is my system—Polytechnic.
00:23:34.320
I aim to keep 'Polytechnic' private until it meets the standard of quality for the documentation it would support.
00:23:45.240
Fortunately, I have a model to write an article or book on using 'Polytechnic,' making it available for free and then producing a PDF and screencast from it.
00:23:57.600
Not only will 'Polytechnic' be useful for documentation, but it will also benefit from the business model it was developed around.
00:24:06.600
Finally, I'd like to acknowledge those who lent me support throughout this journey.
00:24:19.560
I appreciate Peter Cooper, Greg Pollock, Maddie... and Eddie, who have played critical roles in launching this project.
00:24:31.680
OB Fernandez offered invaluable help as the editor of the professional Ruby series.
00:24:53.820
Amy Hoy and Josh Boquet inspired me with their approach to information products.
00:25:07.290
Lastly, Derek Sivers, with his insights, greatly influenced my strategy, and then there’s my friend Evan Dork, who helped design 'RailsSpace.'
00:25:21.540
Publishing online allows for outreach and feedback; I received many corrections that helped improve the quality.
00:25:39.060
My time here today has been enjoyable, and I appreciate the chance to share my story. Thank you!
00:25:54.060
We have time for questions. Yes, thank you Michael; I found this very insightful. Why do people buy the PDF when it’s freely available online?
00:26:16.680
People prefer having a file they can take with them, which offers convenient offline access. They might also wish to store it on devices like their USB drive or Kindle.
00:26:50.100
In particular, I plan to support EPUB formats, providing even more access to different systems.
00:27:11.640
And about how many copies of the screencasts have I sold? I can't reveal exact numbers, but it’s several hundreds.
00:27:28.260
I've thought about broader publishing opportunities, inspired by various projects. While my focus remains on educational technical content, I consider scaling my work.
00:27:42.960
I believe the key is capturing my teaching methods effectively and providing scalable educational solutions.
00:27:56.640
Any further questions? It’s been a pleasure discussing this.
00:28:06.180
I appreciate your interest in aligning education with practical, engaging content delivery.
00:28:20.520
Thank you for the wonderful engagement, everyone!