I'm working on a side project to build a new web app idea of mine. For the sake of discussion, let's say this app displays a random photograph of a famous work of art. On a scale of 1 to 5, users are asked to rate how well they like each piece of art, and then are shown the next photo. Eventually, the app is able to get an sense of the person's style and is able to recommend artwork that he/she may find pleasing.
The whole concept is similar to Netflix. I understand how to do all the preference matching logic (although not as sophisticated as Netflix). But I'd like to find a way to do this without requiring that users create an account first. This is a novelty website that a typical user might use only a handful of times. Requiring registration is overkill and will likely drastically reduce it's utility. I'd like to allow people to begin rating artwork within five seconds of their initial pageview, yet maintain the integrity of the voting (since recommendations are predicated on how other people have rated the various pieces of artwork).
Can it be done?
Some ideas:
Thanks for the responses, guys! What I'm going to end up doing is this:
Allow a person to immediately start voting to catch their interest. However, their votes are held in a cookie and are not committed to the database.
Once the person rates 3 or 4 items, they're presented with a message that says "Hey, if you want to save your votes, please create an account now!" I'll give them the option of using OpenID, Facebook, or quickly creating a site-specific user account.
After their account is created, the data stored in the cookie is written to the database (as are future rankings).