The Railroad, Then and Now

Jan 18th, 2007

Before I get started, I’d like to take a little time out for gratefulness. My oldest is almost two and a half, and one of the first things we’re working on teaching him to say is “Thank you.” He’s getting pretty good at it, but when it comes out, it sort of sounds like “tchoo”, like he’s sneezing. He may think for a while that the proper response to “Thank you” is “Gesundheit” instead of “You’re welcome.”

There are several people in this room that have greatly improved the quality of my life — thank you, Dave Thomas and Andy Hunt, for introducing me and the better part of the world to a little-known language out of Japan. Thank you, Matz, for spending so much time building a language that’s as much a friend as a tool. And thank you, David Heinemeier Hansson, for allowing me to make a fool of myself in front of over 200 people trying to pronounce your name.

So what about the railroad? I don’t know if David thought of this when he named Rails, but it provides for a lot of cool metaphors and name games. My favorite of late is steeldriven.org, where we learn about John Henry, “…the strongest, fastest, most powerful man working on the Rails.” I love that. This morning I’d like to explore a Rails metaphor of my own in seven points. It was ten, but then I heard that “less is less” is less than “less is more,” which really means it’s better, or something like that, so with apologies to Guy Kawasaki, here are my top seven thoughts on rails serving the long tail.

1. Wagging the Dog

Analogies are such great things — they really can help us gain a better understanding of something complex, by relating it to something simpler or more familiar. As with most everything else, though, there are good metaphors, and there are bad metaphors. My boss once described our old release process as being like a bowl of gravy with chunks floating in it, where you sort of had to go fishing for the right stuff, while the release process we were headed for was more like a box of candy, with all the right stuff already packaged and ready to go. I’ll let you decide whether you like that metaphor or not, but whenever I think about it, the gravy kind of bugs my stomach.

When I started mulling over the similarities between Ruby on Rails and the Transcontinental Railroad, I wasn’t sure how well the comparison would hang together. I think it was the potential that both created that originally made me put them together, plus the plain obviousness of it, but was it just sort of a nifty little name game, or was there something deeper to be dug out? The thing that really won me over to the analogy was actually a third player: the long tail. Chris Anderson is the brilliant guy who named this phenomenon, and as we learned with Ajax, naming something is often much more important than inventing or using it.

So what is the long tail1? Well, in any given market, say for instance the book market, you usually have a distribution of sales that looks something like this: a small set of hits in the body, where most of the money is made, with everything else making up a large set of non-hits along the tail, with most of them being largely unprofitable, at least compared to the hits. The long tail affect happens when, due to changes in the marketplace, that large set of non-hits becomes more important, to the point of equaling or surpassing the importance of the hits.

For instance, in books, one of the big marketplace changers has been Amazon recommendations. In his original Wired article on the long tailChris Anderson talks about how a book, originally published in 1988 with nothing but modest success, suddenly became very profitable in 1998 due to being tied though Amazon recommendations to the release of a hit, a related book that was selling well. Various extrapolations of Amazon sales-rank data also seem to indicate that Amazon is making as much if not more off of the long tail as they are off of the hits that a normal bookstore depends on.

The thing that fascinates me about the long tail is how it changes the game— like in The Absent-Minded Professor when he puts flubber on the home team’s basketball shoes. Suddenly it’s not so bad to be small— as a matter of fact, it’s a lot of fun.

2. Wide, Inaccessible Places

In the mid-1800’s, America was almost two separate nations— one on the east coast, and one on the west coast, separated by rugged, untamed land. California had been growing steadily, and then the gold rush hit, and all of the sudden it wasn’t growing anymore— it was exploding. Various businessmen saw the huge potential of connecting the east and the west overland, largely to make it easier to trade between the two, and they eventually convinced the government to finance a great race— one company building from the east, one from the west, both being paid by the mile in money and land. In 1869, the two tracks were connected at Promontory Summit, Utah, and the first Transcontinental Railroad (in the world, actually) was completed.

But the railroad did a lot more than just allow easier trade between east and west: it also opened up the interior to a level of settlement not previously possible. Points inland that would’ve previously taken weeks or months to reach by wagon suddenly became accessible to those who weren’t interested in being completely isolated from civilization, but who were willing to take some risks and work hard. If you like a good story, I’d recommend Little Britches by Ralph Moody. In it he recounts how his family moved out from the east coast to the Littleton, Colorado area via the railroad, and then carved out a new life for themselves.

The transcontinental railroad was to the real estate of inland America as iTunes is to the music marketplace of today. It enabled people to move away from the “hits” of the coasts to the “long tail” of the interior, and many jumped at the opportunity. The middle of the country exploded with growth, which while far from being painless still allowed many who never could have imagined owning land or being a business owner to do just that.

3. The (mis)Fortune 5,000,000

Now to tie it all together, with apologies to Jason Fried who wrote about the Fortune 5,000,000 in July. What do millions of people around the world have in common? They’re all poorly served by the hits in the body of the software tail. Who here actually needs more than 5% of the features in Word? Who knows even 5% of the features in their finance program, personal or business? Who gets distracted and distressed by the 95% they’re not using? I’m sure you all know how many problems these hits are causing for the parents, grandparents, siblings and friends you end up doing tech support for, like this guy (click the image to see the full movie):

My wife is part of a small co-op that goes and buys produce at wholesale prices at the local farmer’s market. She just joined recently and had her maiden voyage doing the buying, a responsibility that gets traded between the members. What manages each order? An Excel spreadsheet. How do they send in their orders? Yep, you guessed it, they send spreadsheets around. But it’s not just a simple spreadsheet: this thing has custom views (something I didn’t even know Excel had), a macro or two, and lots of opaque math thrown in.

After the head of the co-op came over to our house and showed Katie around the spreadsheet, a few nights of aggravation ensued, as the orders were compiled and Katie tried to figure out how the crazy thing worked. The watchword was, “Don’t change anything!” At some point in the past someone tried to remove some unused columns and the whole thing stopped working. The really crazy thing was, the spreadsheet didn’t even do the hard part of the problem — it was really nothing more than a lousy piece of graph paper, with the order balancing having to be done by hand.

This is but one drop in a sea of examples of this same type of difficulty. The hits of software are hits because they’ll solve just about any problem you can throw at them — but at what cost?

4. What happens when t approaches 0?

Thanks to Andy Hunt for his insightful blog post with this title— it really got me thinking. And as my wife struggled with her co-op order and vented to me about the issues involved, I could feel my fingers starting to itch. You know that itch— the one that says you’re going to be spending some late nights in front of the monitor. And so Coopedup was born. While I haven’t been able to spend much time on it yet, what with needing to get ready for this conference and all, before Ruby I probably wouldn’t have even considered it. Before Rails, I don’t know that I would’ve started it.

So what does happen when ‘t’, the cost of development, approaches 0? I don’t think it’s going to cause a gradual change in the kinds of software that’s made, how it’s made and for who it’s made. I think it’s going to cause a sudden change, and it’s going to catch a lot of people by surprise. Sort of the singularity meets software, if you will.

What’s not going to happen? The hits aren’t going to go away, though they may be forced to at least seem simpler. See for instance the ideas behind Office 12. Also, I don’t think users are going to be programming. While it will get easier, I just don’t think most average users will want to spend time doing it, or even be able to. The co-op spreadsheet is ample proof that end users stink at programming and aren’t willing to spend the time to not stink.

Here’s what is happening right before our eyes in the web space thanks to Rails: developers are spending less time fighting technology, and more time actually solving problems for users. With less development overhead, it makes more sense to do lots of little, specifically targeted applications, rather than large ones that will solve every problem you ever had and make julian fries! I believe that Rails is currently leading this technical space, and defining the way we think about it. Why? It came along at the right time, doing the right thing, and was actually marketed. But that’s really another talk…

5. From Disenfranchised to Passionate with Pocket Change

Lets go back to my wife for a minute. I know you all don’t like hearing about her as much as I like talking about her, but it is my talk after all. I’d say she, and the rest of the ladies in her co-op, are pretty disenfranchised. They have little to no means of affecting the software that they use, and no real choices to use something else. And there are literally millions of others like them out there— small business owners, hobbyists, clubs, families and civic groups. But that’s the other, more profound thing that I think is changing and will greatly change how our kids think about software— one day we’ll look around and see everybody commissioning software, not just people with lots of money or people who can do it themselves. Tickets to the interior are suddenly affordable, and everybody’s buying one.

While my procrastination is legendary, Rails makes it hard to not do things, and I’ll bet that when Coopedup is ready to go, I’m going to have some passionate users on my hands. Suddenly they have the power to control their own software, and my hope (and fear) is that they’re going to grab that power and not let go. I’m sure they won’t just passionately like it— they’ll probably also passionately dislike things about it. But that’s great, because they’ll actually be able to get things changed. Passionately hating something you can’t do anything about is a good way to get a big chip on your shoulder— and there are a lot of people walking around with software-induced chips.

So why not hop on the train and seek out better opportunities? Users aren’t the only ones who are disenfranchised by the state of software. Talking to developers, we’re tired of working on huge projects where we barely seem to make a dent, we’re tired of writing software that never gets used, and we’re tired of not having the power to create things that will be passionately loved. Rails is also our ticket to the interior, where we can set set up shop and start building something different.

Remember, the long tail really gets interesting when it becomes profitable and creating things for it is sustainable. Obviously, one person or a small group of people will not be able to afford to pay a 200 person, or a fifty person, or probably even a ten person company to build them that small piece of software they need to make their life easier. But one or two or three people could live very well off of doing things for small groups of people, small things that could even end up being useful for much larger groups.

There’s really no reason not to just do it, either. You don’t need a bunch of money, you don’t need a bunch of people, and you don’t need expensive tools. The raw materials are basically free, and all that’s needed is your time, which can be scraped out of the nights and weekends until you can support yourself at it. I recently built an app with a friend that turned out to be completely unprofitable. Due to a weird target market that we didn’t totally grasp beforehand, there ended up being no good way to sell the software. But we learned a ton, and relationships were formed that could very well grow in to something much more successful. And what am I out for it? Probably about two weeks worth of work, spread over a few months time. Look at the Rails Day contest. Look at the genesis of Typo. This really is a feasible thing to do, so enough excuses… lets start a revolution.

6. Gold-rushers and Homesteaders

I think there are and will continue to be two kinds of companies serving the long tail of software — gold rushers and homesteaders. The gold rushers are looking to make it big quickly. They’re only interested in potentially big ideas, even if they’re just starting out with a small target group. The end goal will be to sell out or get big. How do you know the gold rushers? Well, they might use a lot of exclamation marks. Speaking to results, you’ll look around in a year or two and they’ll either gone, have been absorbed, or are a hit themselves, no longer really serving the tail.

The other kind of company that will serve the tail is the homesteaders. These folks aren’t interested in going public, or being as famous as Bill Gates. What they’re after are smaller things: an opportunity to create something great (but not necessarily great big), profitability so that they can keep doing what they’re passionate about, flexibility in their life so they can work from wherever they want to, or just to drive a nice car that they don’t owe any money on. Some of them will be open to getting bigger if it makes sense, and some of them will be resistant to growing over a certain size. These folks are the homesteaders, the ranchers of the long tail. They’re happy to lay claim to some real estate, work it, and enjoy doing something they’re passionate about every day.

Beyond the bias I displayed in naming them, I’m not going to make any further moral judgements about these two types of businesses— I think both are feasible ways to work and live, and I’m sure different folks will prefer one over the other. As for me, I’m very interested in homesteading— building a bunch of small, sustainable businesses that serve niche markets well. I hope a conversation grows up around how to find, build, market and maintain small long tail software businesses. One advantage we have over the ranchers of the 1800’s is that there’s so much more space to lay claim to in software than there ever was in the interior of the United States.

There are already companies out there homesteading— 37signals is an obvious one, but you also have Jaded Pixel doing Shoppify, Firewheel Design with Blinksale, and 30 Second Rule with Your Elevator Pitch. Note that I’m not talking about consulting here— I think that a lot if not most long tail businesses will grow out of consulting, but users don’t want consulting— they want small, targeted applications that work and that they can tell their friends about. They want to own their data and they want to love the software, but they don’t want to hassle with running the software business.

Are you pumped? I am. I’m really, really excited about the possibilities that are in front of us. There’s so much opportunity in the air I think you could cut it with a knife, and it’s only going to grow. So go build something cool for your Mom or you brother or your neighbor or your friend. But finish reading first, ok?

7. Ruby is to Raw Energy, as Rails is to the Transcontinental Railroad

This talk isn’t really about Rails — it’s really about Ruby. A lot of the excitement around Ruby lately has been driven by Rails, and rightly so, but if you’re here, I’m going to assume that you know that Ruby is the real power behind Rails. Ruby enables Rails in a way that is difficult to duplicate in other languages. I have a good friend who’s building Sails, which is a Rails knock-off in Java, and a good one at that. The thing is, as he’ll tell you himself, it would’ve been really hard to conceive of the things he’s doing in Java if not for Rails already existing. The language just makes it too hard to think simply.

Rails is about the web. But what about the platforms that aren’t the web? I’m still waiting for the frameworks that will power the long tail revolution on them. Desktop applications will always be with us — you’ll pry my NetNewsWire and my TextMate from my dead, cold fingers. Developing a desktop application is still too hard, though, and I’m looking forward to the framework that will make it as easy as Rails makes developing a web application. I don’t think that framework will be written in .Net or Java, I don’t even really think it will be written in Python. I think Ruby is going to make it happen, and our lives, and the lives of software users, are going to be made better by it.

So who’s going to build the next framework? Perhaps we’ll see Ruby Wings or Interstate Ruby in the days ahead. But these other frameworks aren’t going to grow fully formed out of our heads— they’re going to be extracted as we use Ruby to serve the long tail of software. So don’t get boxed in to thinking that you have to do this using Rails— it’s the best thing I’ve found for doing web applications, but with Ruby at your fingertips, the possibilities extend far beyond the web.

So what’s it all come down to? Just as in the late 1800’s, there’s opportunity at the other end of the line. So come to the station, grab a boarding pass, and lets get going. There’s little to lose, and everything to be gained, for ourselves, and for those for whom we can do great things. See you there!