4 ms·
For a while, I wanted as an exercise to build a minimum viable product (http://venturehacks.com/articles/minimum-viable-product http://venturehacks.com/articles
by bravura 17y ago
For a while, I wanted as an exercise to build a minimum viable product (http://venturehacks.com/articles/minimum-viable-product http://venturehacks.com/articles/minimum-viable-product) very quickly. I also wanted to round out my web development experience, and take a project from start to completion (at least, deployed). So I participated in this event.
The day of the event, there were a handle of people on the channel who had no idea what to work on but wanted to hack something.
I was amazed to find a fellow who wanted to work with me, without knowing really anything about each other.
We just sat and coded for the entire day. I have no idea where he even lives or what he looks like.
But our work dynamic was great. We rarely stepped on each other's toes, we covered each others weaknesses, and we didn't have any arguments.
In sum total, we sat and developed an MVP and deployed it:
http://doubleblind.at
The goal is to see if enough people like to take this quiz and give us their email address, so we can get enough data to do interesting NLP and ML and bootstrap a collaborative filtering system.
We literally spent the first 6 hours (1/3rd of our entire effort) trying to get Twitter-Django-Oauth working, because we were convinced it was crucial. Instead, we should have considered alternatives (e.g. Friendfeed) earlier.
The organizers, who do browseology.com, created a new URL shortening service http://kiw.is http://kiw.is. It shortens your URL and it gives your reader a 10 second personalized message before delivering the final link to them. Cute idea, right? But it might not get any attention if it was released on its own. So co-announcing this microapp as part of a one day app event---especially if only one or two things get built and deployed---will get them more attention than it would otherwise.
Lessons learned:
1. Django deployment isn't that difficult.
2. If you want to find a collaborator who will actually build stuff (instead of just talking about building stuff), participate in a one-day-app event. It automatically disqualifies people who cannot or will not actually make the time to hack. It's also a good way to determine quickly whether you and someone can work together effectively.
3. Any time you feel that something is 100% (or very) necessary it for your success, that should be a red flag. Examine this assumption before investing too heavily into it.
4. Twitter-OAuth-Django integration is a PITA, and cost us several hours. Conversely, simple authentication with Friendfeed was a breeze.
5. If you want to promote a microapp, organize a hackday and roll your announcement into the overall press release.
I am also discussing this event in the Eric Ries's lean-startup-circle group (http://groups.google.com/group/lean-startup-circle/browse_thread/thread/2f934d1137dd9f3 http://groups.google.com/group/lean-startup-circle/browse_th...), if you are interested.
- joepestro 17y agoJust tried out doubleblind.at. It's neat! I've also seen quizzes that work under this principle where you attempt to guess what picture/status update is associated with a choice of 4 friends. I like your thumbs up/thumbs down approach and then seeing the final results.
- bravura 17y agoIf we can achieve critical mass (enough people take the test), we will be able to do more sophisticated results. We want to be able to email you a profile of your tastes, which we automatically infer.
- philfreo 17y agoIf you can, it'd be great to see the lessons you learned (or even some code) for Twitter-OAuth-Django.
- bravura 17y agoI used the directions in this blog for Django-OAuth-Twitter: http://agileweb.wordpress.com/2009/04/28/step-by-step-guide-to-use-sign-in-with-twitter-with-django/ http://agileweb.wordpress.com/2009/04/28/step-by-step-guide-... It took several hours to get us to authenticate. The next several hours we couldn't get it to serve requests, even ones that required no authentication. We kept coding hoping that the problem would magically go away, but that never really happens. It's conceivable that both of us were both doing something stupid, but it's also equally likely that the implementation was not simple. My collaborator, @ricree, has some refinements to these instructions on the blog post above, following on what he did to get the authentication working. I am asking him to write those up. But we could not, I stress, make nearly all subsequent API requests, even ones that didn't require authentication.