What I learned from the first million
It’s almost impossible to avoid sounding pretentious when you’re telling your own success story, and I really am sorry for the way my writing sounds. Some of you may even chide me for such a relaxed definition of success. Say what you will, but for the past year, I’ve heard countless mom-and-pop recounts about this website given to older cousins, reunited classmates, and complete strangers (strangers to me, at least). Parent’s eat that stuff up. They love hearing how little kids find ways to make a bit of income, or how they are so lucky to have economically-applicable talent so long before most teenagers start thinking about their careers. All this, and the reverie of extraordinary overnight success, is quite pleasant to hear, but fundamentally ignores reality by reassigning to luck, credit rightfully due to hard work, befittingly so, as their stories are crafted to inspire, not teach. I felt like it was past time that I come up with my own explanation for the first million before grumbling about the shortcomings of those already spread around.
Write what you know, they say. Here are the few things I know: In 2012, you know, the year that just finished, RogerHub got more than 1.4 million page views, 89% of which were directed toward a single page. About halfway through the year, website costs grew to be more than I could handle, so I started putting Ads on the one page that received nearly all of the site’s traffic. This move has generated over a thousand dollars of revenue so far, and has kept the site running. The page mentioned is my “Final Grade Calculator”, something I made two years ago in 2010, and it’s popularity is largely caused by it’s high rank in Google search results1.
There are two categories of reactions I typically get from people who hear about my calculator for the first time. They are terribly predictable, because the two are essentially the same. The first lies somewhere between a four-function calculator and a rudimentary understanding of mathematics, and the second proposes that the page’s programming is so simple that there’s no way it could compete with any number of identical pages across the Internet. Despite the ostensible assertions that the site has no purpose nor any unique value, my trifling project which I had not a thought about for the half year after I published it has no problem earning visitors. I’ve spent some of my time since this past May puzzling out what led to this stroke of luck, and I’ve since then figured a thing or two out.
Before you become permanently convinced that I’m an egotistical fart for writing about nothing other than myself, I want to say that most of the things above just happened to me, and my choice is and has always been either to keep running or to shutdown, and I don’t claim to have employed any phenomenal skill in the choice-making2. However, getting to the top and staying there means more than simply writing a pretty web app. What if Costco installed a system that could record every product you ever looked at in their warehouses? Already, the sales and mail advertising data by themselves would be hugely revealing about human behavior. When you deal with large numbers of people, you get the rare opportunity to see behavioral patterns simply because nobody in the past has ever dealt with the exact same demographic at the same time period. It’s data that would otherwise be forever wasted. Here are a few things I’ve picked up along my experience that I think apply to much more than just programming:
- Expand yourself, and good things will come later. The calculator was never an overnight success. In fact, it took an entire year for the thing to get any significant traffic. But during that year, I made passive improvements to the site: I switched platforms to Wordpress, improved the semantics of the template documents, came up with several iterations of blog design, and simplified the commenting system to oblivion, just for the sake of improvement itself. Like a tree branch reaching out to its neighbor, growing in all directions will get you to the sky all the same. Sometimes, focusing too hard is the worst thing you can do.
- It’s little things that count, and by little things, I mean presentation code that far outweighs the program itself. I occasionally get the fan comment about providing the calculator’s source code or the email from some Chinese entrepreneur about integrating the calculator into his Android app. The issue is, you could write a single line of Python that does the exact same calculation with none of the user interface mess. You could write it in TI-Basic or Objective C. The calculator doesn’t take much time to maintain, but most of the time I do spend on it is spent improving the user interface. If you just consider the program by itself, it doesn’t merit a lot of notice and doesn’t make any sense at all. It’s the interface surrounding the program that keep visitors coming back.
- Ideals sound nice and easy, until you try putting them to use. Programming is highly dehumanizing of clients. It’s hard to think of visitors as human beings when all our protocols only define communication from device to machine. Something idealistic like a Free-speech comment policy is not as easily upheld when you’re dealing with entries in a relational database. With hundreds of unmoderated comments, it’s easy to remove or edit out anything you find disagreeable, but difficult to stick to your integrity and respond responsibly.
It has been several months since I wrote anything on this blog. College got in the way, and when my own final exams were over, the thought of hundreds of pairs of eyes per minute inundating the site really discouraged me from publishing at all. But Happy New Years, and I hope I can continue writing here somehow. I should be getting to sleep now.
- For those who don’t know and haven’t checked out the link already, the calculator takes your current course grade, your target course grade, and the weight of your final (as a percentage) and tells you the minimum you need to score on the final to reach your goal. ↩︎
- I’d also like to discuss the circumstances under which I got interested in computer at all, but I’ll save that for another time. ↩︎