I’ve gone and done it: I have written my own blog software in Rails. It’s been a fun way to practice.
It took an embarrassingly long time – over two calendar weeks from initial conception to initial deployment. Only three or four days of actual work, of course, thanks to this and that and the day job, but that hardly makes it less embarrassing, since everyone knows that a blog takes only fifteen minutes to build with Rails.
I have wondered about the pros and cons of this marketing strategy. On the one hand, I don’t doubt that working in Rails is incredibly efficient once you get the hang of it. (In fact, well over half of my time building this blog has been spent working out the CSS, learning how to write firewall rules, migrating my deployment recipes from older to newer versions of Deprec, practicing with the stock Rails testing facilities… you know, the learning curve. I can definitely imagine building apps like this one inside of a day once I know what I’m doing – especially if I outsource the design to someone with actual training. :)
But people have a terrible tendency to equate efficiency with simplicity. They think that, because DHH can use Rails to build a blog in fifteen minutes, their cat should be able to build a blog with Rails.
When I watch DHH and other Rails wizards at work, I’m reminded of poets – who write fewer words than journalists, but sweat more, because every word counts for so much. But when I watch the marketing campaign, I think of the theremin, the first musical instrument that could be played without being touched. When it was introduced by RCA in America in the late 1920s, the marketing copy emphasized its ease of use:
Having made the enjoyment of music universally possible, RCA takes another tremendous step – making possible not merely the enjoiment of other people’s music, but the actual creation and performance of one’s own music! Now, for the first time in the history of music, anyone, without musical knowledge or training of any sort; anyone, without even the ability to read notes; without tiresome or extended “practice”; without keys, or bow, or reed, or string, or wind, – without material media of any kind – anyone can make exquisitely beautiful music with nothing but his own two hands!
Um, yeah. It turns out that the theremin is astoundingly difficult to play:
Still, the strangest irony of the RCA Theremin was its purported ease of operation. To the average consumer, the freedom of space was really a disorienting weightlessness. Even a fretless fingerboard or a slide trombone had something to hang on to – a point of reference. The theremin called for the acute, inner ear of a singer to sense the location of each note before sounding it, but without any advantage of a physical sensation in the vocal cords or breath. [A] survey revealed that untrained performers preferred a keyboard orientation, with fixed pitch increments. Adding to the list of hindrances, the theremin was capable of playing only slow music, and it required an accompanying instrument or recording. For a device intended to replace the parlor piano, these were serious defects.
Rails allows you to build a website with a minimum of typing (“nothing but your own two hands”). Yet you must have a deep understanding of the Rails design philosophy, and of the underlying technologies, and of the problem domain. I know that the process of learning Rails would be a lot more daunting if I hadn’t cut my teeth on earlier Web programming frameworks.