Skip to content

Instantly share code, notes, and snippets.

@sgrove
Created March 16, 2009 18:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sgrove/79978 to your computer and use it in GitHub Desktop.
Save sgrove/79978 to your computer and use it in GitHub Desktop.
I thought I'd jot down a few notes about our experience posting to <a href="http://news.ycombinator.com">hn</a>.
I had just finished "an acceptable code base" for <a href="http://www.chuwe.com">chuwe.com</a> (our Q&A site for the startup/smallbiz community) and decided that Sunday was the day. Actually, we decided Friday, but personnel issues pushed it back until Sunday.
Our goal was simple - it wasn't a "real" launch per se. We wanted to open the site, get mass feedback in one big jolt, then close it and continue with our original invite-only model.
A Short Crisis
In any case, we posted to HN - my first time showing personal code to so many people. It's difficult to tell if there will be any big problems ahead of time. To minimize the possibility, I followed BDD - we had functional-tests, unit-tests, etc. In fact, we had about a 1:1 code-to-test coverage ratio (whether that's meaningful or not, I don't know). Testing made refactoring fly by, it reassured me that things still worked, and just made me feel like a good little developer. In the end though, tests are just tests, and things will unexpectedly break.
One source of problems cropped up in that our development environment was ever so slightly different from our production environment. All the tests passed locally, but we hadn't set the tests to run on the production server. Accordingly, it turns out our sign up code was broken. Easily one of the most important items, I had worked to make sure that it was very smooth (username and password only - email optional). However, the site still sent out a confirmation email even if the field was blank. While the local mail server didn't have a problem with this (it quietly failed and went along), the production server was a much more stern mistress.
I signed up as a user on the production site, but I gave my email, so there was no problem. Shortly after posting however, my partner signed up without an email and we were greeted with four frightening words: "500 internal server error". After 20 minutes trying desperately to track it down with nearly no support from the error logs, someone recommended <a href="http://hoptoadapp.com/">hoptoad</a>. 5 minutes later the problem was fixed, tests re-run (even though I didn't feel quite so optimistic about them anymore), and the site updated immediately . Crisis averted.
Well, nearly averted. I had to go through and find the users who had tried to sign up, and email them an apology letting them know that things were fixed now, and thanking them for their interest and patience. I let each of them know in a custom email (no form letters) that we're real people, and if they had any problems we'd be all over them.
A few other minor things were broken as well, but they were mostly design related and I was able to push out updates without any big issues.
Feelings
Showing code so publicly felt like standing naked in front of a crowd. No more time for testing, no more time to polish. Any ugly bits I had were going to be seen.
What if something was wrong? What if something broke?
Easy. End of the world.
But "launching" so publicly tempered me. Things did break (as mentioned above), and people mentioned things they disliked in no uncertain terms. I took each as a problem to be solved. I worked as quickly as possible to update the site. And the world didn't end.
Results
A little less than 600 visitors came from posting to hackernews. A paltry amount for a tool I thought would be highly attractive to the hn community, but still enough to thrill this inexperienced team. Traffic dropped off accordingly each day thereafter, but that was expected and we got the feedback we had aimed for.
Area for improvement
I enjoy the "Ask HN" posts asking for feedback the most, and always check out each one (even if I don't comment). Also, I hate "linkbait" titles that polarize or mislead for clicks while inhibiting thoughtful discussion. Accordingly, I posted a boring title, "Ask HN: Review our startup (www.chuwe.com)".
That was a mistake. There's no information in that title, no hook. A much better title would have been "Chuwe.com: A stack overflow for the startup and smallbiz community." Immediately engaging to the kind of entrepreneur/programmer hybrids at hn.
Take away tip: Make your title catchy and targeted, without being gimmicky.
Also, the timing could have been better. I'm not sure exactly, but I believe the usage data for hn is available (in one way or another). I should have used that to post at a time that it would get maximum exposure. Although I'm just speculating speculation, Sunday afternoon is probably one of the slowest times on the site.
So in the end, we got the feedback we needed, I passed through the trial by fire and feel confident about things breaking in public (and my ability to fix them). We even struck up some good partnerships in the process. Thanks to the experience, our next foray into the world of social media should be a bit more successful.
> Sean
Rockin' Code Monkey
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment