Wednesday, August 08, 2007

Decided which Facebook app to make .. NEXT =)

This post is mainly meant for myself to organize my thoughts.

I finished my composing app mostly. I got around 200 people to install it, now I am waiting to see whether it is viral at all or not. Currently it is showing growth of 2% per day, but I'm not sure if it's really spreading at that rate, it could just be chance. Would be wonderful if it were true, because 2% increase per day is over a thousandfold increase per year. Personally I think the app sucks, but I've seen other apps get popular which suck even more, so I guess it's not totally impossible ;)

My friend made a great suggestion for the subject of the next app -- one which would let people take and make tests. It seems extremely viral, because it has two ways of spreading. Firstly, if a user creates a test, it seems very likely they would send it to their friends. Secondly, people always like to share with friends their test results and encourage them to also take the same test, so that the results can be compared. I'm amazed nobody has made this kind of app yet. I might feel paranoid about sharing this idea, but luckily nobody except you reads this blog.

There are tons of different types of tests, so I am now trying to decide which ones to include and which not. For example there are IQ tests where the question and possible answers are images ("which picture comes next in this series?"). Then there are knowledge tests where the question and answer are text ("what is the capital of Japan?"). Also there are image recognition quizzes ("which Simpsons character is this?") where the answers are text. Rarer, but possible would be reverse image quiz, where the question is text and the answer a multiple choice out of a set of images. Then there are multivariable quizzes which are a bit more complex ("answer this set of questions to discover which 24 character you are"). I think I came up with a way to create even multivariable quizzes that isn't all that confusing ...

Those were the different quiz types I could come up with, but there are also some features that could be included or left out. When answering a question, sometimes in quizzes additional information is provided about the correct answer ("what is the capital of Japan?" - "Tokyo" - "correct, did you know Tokyo is blah blah"). There could be time limits when answering. In addition to getting how many percent were correct, sometimes there is textual feedback ("80% - very good"). The questions could come in a predetermined order, or at random.

On implementation side the normal way to do this would be a straightforward HTML (well FBML) interface, but to make it faster it could be done with Flash or javascript. It's kind of annoying to wait for page loads after each question. I have done some scripts like these before, and the biggest problem I had was keeping track of which questions have already been displayed to the user (when random order) and making sure that no duplicate options are included in multiple choice questions. Why is that tricky? Well suppose there are two questions "what is the second largest city in the state of New York?" and "what type of animal is the wild Arni?". Both of the answers are "Buffalo". This means that randomly chosen multiple choice answers could contain two identical answers with different meanings, which should be avoided.